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.
SuperMELA.h
Go to the documentation of this file.
1 #ifndef MELA_SUPERMELA_H
2 #define MELA_SUPERMELA_H
3 
4 
5 #include <string>
6 #include <fstream>
7 #include <vector>
8 #include "Mela.h"
9 #include "MELACombinePdfs.h"
10 #include "RooRealVar.h"
11 #include "RooFormulaVar.h"
12 #include "RooFFTConvPdf.h"
13 #include "TLorentzVector.h"
14 
15 
16 
17 class SuperMELA{
18 public:
19  SuperMELA(double mH=125, std::string channel="4mu", double LHCsqrts=8.);
20  ~SuperMELA();
21  void init();
22 
23  double GetSigShapeSystematic(std::string parName);
24  double GetSigShapeParameter(std::string parName);
25 
26  void SetVerbosity(bool verb=true){ verbose_=verb; }
27  void SetDecayChannel(std::string myChan);
28  void SetMH(double myMH);
29  void SetPathToCards(std::string dirToCards);
30 
31  std::pair<double, double> M4lProb(double m4l);
32  std::pair<double, double> M4lProb(std::pair<double, double> const&);
33 
34 protected:
35  void splitLine(const std::string& rawoption, std::vector<std::string>& splitoptions, char delimiter);
37  std::string& str_mean_CB,
38  std::string& str_sigma_CB,
39  std::string& str_n_CB,
40  std::string& str_alpha_CB,
41  std::string& str_n2_CB,
42  std::string& str_alpha2_CB
43  );
44  void readBkgParsFromFile(std::vector<double>& apars);
46  double& str_mean_CB_err_e,
47  double& str_mean_CB_err_m,
48  double& str_sigma_CB_err_e,
49  double& str_sigma_CB_err_m
50  );
51 
52  void calc_mZZ_range(const double mHVal, double& low_M, double& high_M);
53  bool checkChannel();
54 
55  double mHVal_;
56  double sqrts_;
57  double lowMH_, highMH_;
58  std::string strChan_;
59  int ch_;
60  bool verbose_;
61  std::string pathToCards_;
62 
63  RooRealVar* m4l_rrv_;
64  RooRealVar* mH_rrv_;
65 
66  RooFormulaVar* n_CB_;
67  RooFormulaVar* alpha_CB_;
68  RooFormulaVar* n2_CB_;
69  RooFormulaVar* alpha2_CB_;
70  RooFormulaVar* mean_CB_;
71  RooFormulaVar* sigma_CB_;
72  RooFormulaVar* meanTOT_CB_;
73 
74  RooRealVar* mean_CB_err_;
75  RooRealVar* sigma_CB_err_;
76 
77  RooRealVar* corr_mean_sig;
78  RooRealVar* corr_sigma_sig;
79 
82  RooFFTConvPdf *sig_FFT_;
83  RooRealVar* mean_BW_;
84  RooRealVar* width_BW_;
86 
87  //qqZZ background m4l shape
88  RooRealVar* a0_qqZZ_;
89  RooRealVar* a1_qqZZ_;
90  RooRealVar* a2_qqZZ_;
91  RooRealVar* a3_qqZZ_;
92  RooRealVar* a4_qqZZ_;
93  RooRealVar* a5_qqZZ_;
94  RooRealVar* a6_qqZZ_;
95  RooRealVar* a7_qqZZ_;
96  RooRealVar* a8_qqZZ_;
97  RooRealVar* a9_qqZZ_;
98  RooRealVar* a10_qqZZ_;
99  RooRealVar* a11_qqZZ_;
100  RooRealVar* a12_qqZZ_;
101  RooRealVar* a13_qqZZ_;
104 
105 };
106 
107 
108 #endif
SuperMELA::verbose_
bool verbose_
Definition: SuperMELA.h:60
SuperMELA::sigma_CB_err_
RooRealVar * sigma_CB_err_
Definition: SuperMELA.h:75
SuperMELA::sqrts_
double sqrts_
Definition: SuperMELA.h:56
SuperMELA::a13_qqZZ_
RooRealVar * a13_qqZZ_
Definition: SuperMELA.h:101
SuperMELA::SuperMELA
SuperMELA(double mH=125, std::string channel="4mu", double LHCsqrts=8.)
Definition: SuperMELA.cc:18
SuperMELA::a11_qqZZ_
RooRealVar * a11_qqZZ_
Definition: SuperMELA.h:99
SuperMELA::readBkgParsFromFile
void readBkgParsFromFile(std::vector< double > &apars)
Definition: SuperMELA.cc:490
SuperMELA::~SuperMELA
~SuperMELA()
Definition: SuperMELA.cc:74
MELARelBWUFParam
Definition: MELACombinePdfs.h:134
SuperMELA::meanTOT_CB_
RooFormulaVar * meanTOT_CB_
Definition: SuperMELA.h:72
SuperMELA
Definition: SuperMELA.h:17
SuperMELA::norm_bkg_qqZZ_
double norm_bkg_qqZZ_
Definition: SuperMELA.h:103
SuperMELA::SetVerbosity
void SetVerbosity(bool verb=true)
Definition: SuperMELA.h:26
SuperMELA::a6_qqZZ_
RooRealVar * a6_qqZZ_
Definition: SuperMELA.h:94
SuperMELA::mean_CB_
RooFormulaVar * mean_CB_
Definition: SuperMELA.h:70
SuperMELA::SetMH
void SetMH(double myMH)
Definition: SuperMELA.cc:351
SuperMELA::readSigParsFromFile
void readSigParsFromFile(std::string &str_mean_CB, std::string &str_sigma_CB, std::string &str_n_CB, std::string &str_alpha_CB, std::string &str_n2_CB, std::string &str_alpha2_CB)
Definition: SuperMELA.cc:447
SuperMELA::a8_qqZZ_
RooRealVar * a8_qqZZ_
Definition: SuperMELA.h:96
SuperMELA::n_CB_
RooFormulaVar * n_CB_
Definition: SuperMELA.h:66
SuperMELA::highMH_
double highMH_
Definition: SuperMELA.h:57
SuperMELA::readSigSystFromFile
void readSigSystFromFile(double &str_mean_CB_err_e, double &str_mean_CB_err_m, double &str_sigma_CB_err_e, double &str_sigma_CB_err_m)
Definition: SuperMELA.cc:383
SuperMELA::sigma_CB_
RooFormulaVar * sigma_CB_
Definition: SuperMELA.h:71
SuperMELA::init
void init()
Definition: SuperMELA.cc:158
SuperMELA::qqZZ_pdf_
MELAqqZZPdf_v2 * qqZZ_pdf_
Definition: SuperMELA.h:102
SuperMELA::alpha2_CB_
RooFormulaVar * alpha2_CB_
Definition: SuperMELA.h:69
SuperMELA::norm_sig_CB_
double norm_sig_CB_
Definition: SuperMELA.h:85
SuperMELA::a0_qqZZ_
RooRealVar * a0_qqZZ_
Definition: SuperMELA.h:88
MELACombinePdfs.h
SuperMELA::SetPathToCards
void SetPathToCards(std::string dirToCards)
Definition: SuperMELA.cc:358
SuperMELA::a3_qqZZ_
RooRealVar * a3_qqZZ_
Definition: SuperMELA.h:91
SuperMELA::M4lProb
std::pair< double, double > M4lProb(double m4l)
Definition: SuperMELA.cc:552
SuperMELA::a4_qqZZ_
RooRealVar * a4_qqZZ_
Definition: SuperMELA.h:92
SuperMELA::splitLine
void splitLine(const std::string &rawoption, std::vector< std::string > &splitoptions, char delimiter)
Definition: SuperMELA.cc:363
SuperMELA::sig_FFT_
RooFFTConvPdf * sig_FFT_
Definition: SuperMELA.h:82
SuperMELA::norm_sig_FFT_
double norm_sig_FFT_
Definition: SuperMELA.h:85
SuperMELA::a5_qqZZ_
RooRealVar * a5_qqZZ_
Definition: SuperMELA.h:93
SuperMELA::a9_qqZZ_
RooRealVar * a9_qqZZ_
Definition: SuperMELA.h:97
SuperMELA::GetSigShapeSystematic
double GetSigShapeSystematic(std::string parName)
Definition: SuperMELA.cc:124
SuperMELA::mean_CB_err_
RooRealVar * mean_CB_err_
Definition: SuperMELA.h:74
SuperMELA::corr_mean_sig
RooRealVar * corr_mean_sig
Definition: SuperMELA.h:77
SuperMELA::a10_qqZZ_
RooRealVar * a10_qqZZ_
Definition: SuperMELA.h:98
SuperMELA::mH_rrv_
RooRealVar * mH_rrv_
Definition: SuperMELA.h:64
SuperMELA::GetSigShapeParameter
double GetSigShapeParameter(std::string parName)
Definition: SuperMELA.cc:140
SuperMELA::m4l_rrv_
RooRealVar * m4l_rrv_
Definition: SuperMELA.h:63
SuperMELA::mHVal_
double mHVal_
Definition: SuperMELA.h:55
SuperMELA::ch_
int ch_
Definition: SuperMELA.h:59
SuperMELA::calc_mZZ_range
void calc_mZZ_range(const double mHVal, double &low_M, double &high_M)
Definition: SuperMELA.cc:533
SuperMELA::lowMH_
double lowMH_
Definition: SuperMELA.h:57
SuperMELA::a7_qqZZ_
RooRealVar * a7_qqZZ_
Definition: SuperMELA.h:95
SuperMELA::a1_qqZZ_
RooRealVar * a1_qqZZ_
Definition: SuperMELA.h:89
SuperMELA::sig_BW_
MELARelBWUFParam * sig_BW_
Definition: SuperMELA.h:81
SuperMELA::corr_sigma_sig
RooRealVar * corr_sigma_sig
Definition: SuperMELA.h:78
SuperMELA::n2_CB_
RooFormulaVar * n2_CB_
Definition: SuperMELA.h:68
Mela.h
This is the "MELA" object that interfaces with the Fortran code in both MCFM-JHUGen and pure JHUGen.
SuperMELA::width_BW_
RooRealVar * width_BW_
Definition: SuperMELA.h:84
SuperMELA::strChan_
std::string strChan_
Definition: SuperMELA.h:58
MELAqqZZPdf_v2
Definition: MELACombinePdfs.h:18
SuperMELA::sig_CB_
MELADoubleCB * sig_CB_
Definition: SuperMELA.h:80
SuperMELA::a12_qqZZ_
RooRealVar * a12_qqZZ_
Definition: SuperMELA.h:100
SuperMELA::pathToCards_
std::string pathToCards_
Definition: SuperMELA.h:61
SuperMELA::SetDecayChannel
void SetDecayChannel(std::string myChan)
Definition: SuperMELA.cc:113
MELADoubleCB
Definition: MELACombinePdfs.h:102
SuperMELA::mean_BW_
RooRealVar * mean_BW_
Definition: SuperMELA.h:83
SuperMELA::a2_qqZZ_
RooRealVar * a2_qqZZ_
Definition: SuperMELA.h:90
SuperMELA::alpha_CB_
RooFormulaVar * alpha_CB_
Definition: SuperMELA.h:67
SuperMELA::checkChannel
bool checkChannel()
Definition: SuperMELA.cc:598