JHUGen MELA  v2.4.1
Matrix element calculations as used in JHUGen. MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website https://spin.pha.jhu.edu/ and papers cited there for more details, and kindly cite those papers when using this code.
MELADifermionResolutionModel.cc
Go to the documentation of this file.
1 #include <fstream>
2 #include <string>
3 #include <vector>
4 #include <cassert>
5 #include "TGraph.h"
7 
8 
9 MELADifermionResolutionModel::MELADifermionResolutionModel(TVar::Production prod_, float sqrts_, TString filename, TString extraName) :
10 valid(false),
11 prod(prod_),
12 sqrts(sqrts_),
13 varReco(0),
14 splineFactory(0),
15 recoBW(0)
16 {
17  TFile* finput = TFile::Open(filename, "read");
18  if (finput!=0){
19  TGraph* tg = (TGraph*)finput->Get("tg_recoBW");
20  if (tg!=0){
21  TString appendName = extraName + TVar::ProductionName(prod);
22  varReco = new RooRealVar(Form("%s_varReco", appendName.Data()), "", 0.1, sqrts*1000.);
23  splineFactory = new MELANCSplineFactory_1D(*varReco, appendName);
26  valid=(recoBW!=0);
27  }
28  finput->Close();
29  }
30 }
32  // Do not delete recoBW. It is owned by splineFactory.
33  delete splineFactory;
34  delete varReco;
35 }
37  float result = -1;
38  if (recoBW!=0){
39  if (val<0.){ /*result=-1;*/ }
40  else if (val<0.1) result=0;
41  else{
42  varReco->setVal(val);
43  result = recoBW->getVal();
44  result /= 2.*val; // Result is BW(s), not BW(m)
45  }
46  }
47  return result;
48 }
50 
MELADifermionResolutionModel.h
MELADifermionResolutionModel::getVal
float getVal(float val)
Definition: MELADifermionResolutionModel.cc:36
MELADifermionResolutionModel::recoBW
MELAFuncPdf * recoBW
Definition: MELADifermionResolutionModel.h:15
MELADifermionResolutionModel::splineFactory
MELANCSplineFactory_1D * splineFactory
Definition: MELADifermionResolutionModel.h:14
TVar::ProductionName
TString ProductionName(TVar::Production temp)
Definition: TVar.cc:64
MELANCSplineFactory_1D
Definition: MELANCSplineFactory_1D.h:12
mela.prod
prod
Definition: mela.py:806
MELADifermionResolutionModel::valid
bool valid
Definition: MELADifermionResolutionModel.h:10
MELADifermionResolutionModel::isProduction
bool isProduction(TVar::Production prod_)
Definition: MELADifermionResolutionModel.cc:49
MELADifermionResolutionModel::sqrts
float sqrts
Definition: MELADifermionResolutionModel.h:12
MELADifermionResolutionModel::MELADifermionResolutionModel
MELADifermionResolutionModel(TVar::Production prod_, float sqrts_, TString filename, TString extraName)
Definition: MELADifermionResolutionModel.cc:9
MELADifermionResolutionModel::varReco
RooRealVar * varReco
Definition: MELADifermionResolutionModel.h:13
MELANCSplineFactory_1D::setPoints
void setPoints(TTree *tree)
Definition: MELANCSplineFactory_1D.cc:21
MELADifermionResolutionModel::~MELADifermionResolutionModel
~MELADifermionResolutionModel()
Definition: MELADifermionResolutionModel.cc:31
MELADifermionResolutionModel::prod
TVar::Production prod
Definition: MELADifermionResolutionModel.h:11
sqrts
double sqrts
Definition: TMCFM.hh:290
TVar::Production
Production
Definition: TVar.hh:60
MELANCSplineFactory_1D::getPDF
MELAFuncPdf * getPDF()
Definition: MELANCSplineFactory_1D.h:37