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.
MELACombinePdfs.h
Go to the documentation of this file.
1 #ifndef MELACOMBINEPDFS_H
2 #define MELACOMBINEPDFS_H
3 
4 #include "RooAbsPdf.h"
5 #include "RooRealProxy.h"
6 #include "RooCategoryProxy.h"
7 #include "RooAbsReal.h"
8 #include "RooAbsCategory.h"
9 
10 #include "TDirectory.h"
11 #include "TH2F.h"
12 
13 #include <iostream>
14 #include <fstream>
15 #include <string>
16 
17 /*** MELA ***/
18 class MELAqqZZPdf_v2 : public RooAbsPdf {
19 public:
22  const char *name, const char *title,
23  RooAbsReal& _m4l,
24  RooAbsReal& _a0,
25  RooAbsReal& _a1,
26  RooAbsReal& _a2,
27  RooAbsReal& _a3,
28  RooAbsReal& _a4,
29  RooAbsReal& _a5,
30  RooAbsReal& _a6,
31  RooAbsReal& _a7,
32  RooAbsReal& _a8,
33  RooAbsReal& _a9,
34  RooAbsReal& _a10,
35  RooAbsReal& _a11,
36  RooAbsReal& _a12,
37  RooAbsReal& _a13
38  );
39  MELAqqZZPdf_v2(const MELAqqZZPdf_v2& other, const char* name=0);
40  virtual TObject* clone(const char* newname) const { return new MELAqqZZPdf_v2(*this, newname); }
41  inline virtual ~MELAqqZZPdf_v2(){}
42 
43 protected:
44 
45  RooRealProxy m4l;
46  RooRealProxy a0;
47  RooRealProxy a1;
48  RooRealProxy a2;
49  RooRealProxy a3;
50  RooRealProxy a4;
51  RooRealProxy a5;
52  RooRealProxy a6;
53  RooRealProxy a7;
54  RooRealProxy a8;
55  RooRealProxy a9;
56  RooRealProxy a10;
57  RooRealProxy a11;
58  RooRealProxy a12;
59  RooRealProxy a13;
60 
61 
62  Double_t evaluate() const;
63 };
64 
65 class MELAggZZPdf_v2 : public RooAbsPdf {
66 public:
69  const char *name, const char *title,
70  RooAbsReal& _m4l,
71  RooAbsReal& _a0,
72  RooAbsReal& _a1,
73  RooAbsReal& _a2,
74  RooAbsReal& _a3,
75  RooAbsReal& _a4,
76  RooAbsReal& _a5,
77  RooAbsReal& _a6,
78  RooAbsReal& _a7,
79  RooAbsReal& _a8,
80  RooAbsReal& _a9
81  );
82  MELAggZZPdf_v2(const MELAggZZPdf_v2& other, const char* name=0);
83  virtual TObject* clone(const char* newname) const { return new MELAggZZPdf_v2(*this, newname); }
84  inline virtual ~MELAggZZPdf_v2(){}
85 
86 protected:
87 
88  RooRealProxy m4l;
89  RooRealProxy a0;
90  RooRealProxy a1;
91  RooRealProxy a2;
92  RooRealProxy a3;
93  RooRealProxy a4;
94  RooRealProxy a5;
95  RooRealProxy a6;
96  RooRealProxy a7;
97  RooRealProxy a8;
98  RooRealProxy a9;
99 
100  Double_t evaluate() const;
101 };
102 class MELADoubleCB : public RooAbsPdf {
103 public:
104  MELADoubleCB();
105  MELADoubleCB(
106  const char *name, const char *title,
107  RooAbsReal& _x,
108  RooAbsReal& _mean,
109  RooAbsReal& _width,
110  RooAbsReal& _alpha1,
111  RooAbsReal& _n1,
112  RooAbsReal& _alpha2,
113  RooAbsReal& _n2
114  );
115  MELADoubleCB(const MELADoubleCB& other, const char* name=0);
116  virtual TObject* clone(const char* newname) const { return new MELADoubleCB(*this, newname); }
117  inline virtual ~MELADoubleCB(){}
118  Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const;
119  Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const;
120 
121 protected:
122 
123  RooRealProxy x;
124  RooRealProxy mean;
125  RooRealProxy width;
126  RooRealProxy alpha1;
127  RooRealProxy n1;
128  RooRealProxy alpha2;
129  RooRealProxy n2;
130 
131  Double_t evaluate() const;
132 };
133 
134 class MELARelBWUFParam : public RooAbsPdf {
135 public:
138  const char *name, const char *title,
139  RooAbsReal& _m4l,
140  RooAbsReal& _mH,
141  RooAbsReal& _scaleParam,
142  Double_t _widthSF=1.
143  );
144  MELARelBWUFParam(const MELARelBWUFParam& other, const char* name=0);
145  virtual TObject* clone(const char* newname) const { return new MELARelBWUFParam(*this, newname); }
146  inline virtual ~MELARelBWUFParam(){}
147 
148 protected:
149 
150  RooRealProxy m4l;
151  RooRealProxy mH;
152  RooRealProxy scaleParam;
153  Double_t widthSF;
154 
155  Double_t evaluate() const;
156 };
157 
158 
159 
160 #endif
MELAqqZZPdf_v2::m4l
RooRealProxy m4l
Definition: MELACombinePdfs.h:45
MELADoubleCB::evaluate
Double_t evaluate() const
Definition: MELACombinePdfs.cc:2031
MELADoubleCB::getAnalyticalIntegral
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Definition: MELACombinePdfs.cc:2052
MELADoubleCB::mean
RooRealProxy mean
Definition: MELACombinePdfs.h:124
MELADoubleCB::alpha2
RooRealProxy alpha2
Definition: MELACombinePdfs.h:128
MELAqqZZPdf_v2::a3
RooRealProxy a3
Definition: MELACombinePdfs.h:49
MELAggZZPdf_v2::a9
RooRealProxy a9
Definition: MELACombinePdfs.h:98
MELAqqZZPdf_v2::evaluate
Double_t evaluate() const
Definition: MELACombinePdfs.cc:1930
MELAqqZZPdf_v2::a5
RooRealProxy a5
Definition: MELACombinePdfs.h:51
MELADoubleCB::analyticalIntegral
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Definition: MELACombinePdfs.cc:2057
MELAggZZPdf_v2
Definition: MELACombinePdfs.h:65
MELARelBWUFParam::MELARelBWUFParam
MELARelBWUFParam()
Definition: MELACombinePdfs.h:136
MELARelBWUFParam::clone
virtual TObject * clone(const char *newname) const
Definition: MELACombinePdfs.h:145
MELARelBWUFParam
Definition: MELACombinePdfs.h:134
MELARelBWUFParam::mH
RooRealProxy mH
Definition: MELACombinePdfs.h:151
MELAggZZPdf_v2::a2
RooRealProxy a2
Definition: MELACombinePdfs.h:91
MELAqqZZPdf_v2::a6
RooRealProxy a6
Definition: MELACombinePdfs.h:52
MELAqqZZPdf_v2::a4
RooRealProxy a4
Definition: MELACombinePdfs.h:50
MELAqqZZPdf_v2::a1
RooRealProxy a1
Definition: MELACombinePdfs.h:47
MELAggZZPdf_v2::a1
RooRealProxy a1
Definition: MELACombinePdfs.h:90
MELARelBWUFParam::evaluate
Double_t evaluate() const
Definition: MELACombinePdfs.cc:2125
MELADoubleCB::width
RooRealProxy width
Definition: MELACombinePdfs.h:125
MELAqqZZPdf_v2::a0
RooRealProxy a0
Definition: MELACombinePdfs.h:46
MELAqqZZPdf_v2::a7
RooRealProxy a7
Definition: MELACombinePdfs.h:53
MELAggZZPdf_v2::evaluate
Double_t evaluate() const
Definition: MELACombinePdfs.cc:1990
MELAqqZZPdf_v2::clone
virtual TObject * clone(const char *newname) const
Definition: MELACombinePdfs.h:40
MELAggZZPdf_v2::m4l
RooRealProxy m4l
Definition: MELACombinePdfs.h:88
MELADoubleCB::alpha1
RooRealProxy alpha1
Definition: MELACombinePdfs.h:126
MELAggZZPdf_v2::a5
RooRealProxy a5
Definition: MELACombinePdfs.h:94
MELAqqZZPdf_v2::a2
RooRealProxy a2
Definition: MELACombinePdfs.h:48
MELADoubleCB::MELADoubleCB
MELADoubleCB()
Definition: MELACombinePdfs.cc:1998
MELAggZZPdf_v2::~MELAggZZPdf_v2
virtual ~MELAggZZPdf_v2()
Definition: MELACombinePdfs.h:84
MELAggZZPdf_v2::a8
RooRealProxy a8
Definition: MELACombinePdfs.h:97
MELAggZZPdf_v2::clone
virtual TObject * clone(const char *newname) const
Definition: MELACombinePdfs.h:83
MELAggZZPdf_v2::a7
RooRealProxy a7
Definition: MELACombinePdfs.h:96
MELAggZZPdf_v2::MELAggZZPdf_v2
MELAggZZPdf_v2()
Definition: MELACombinePdfs.h:67
MELADoubleCB::~MELADoubleCB
virtual ~MELADoubleCB()
Definition: MELACombinePdfs.h:117
MELAggZZPdf_v2::a6
RooRealProxy a6
Definition: MELACombinePdfs.h:95
MELADoubleCB::n2
RooRealProxy n2
Definition: MELACombinePdfs.h:129
MELAqqZZPdf_v2::a11
RooRealProxy a11
Definition: MELACombinePdfs.h:57
MELADoubleCB::x
RooRealProxy x
Definition: MELACombinePdfs.h:123
MELAggZZPdf_v2::a0
RooRealProxy a0
Definition: MELACombinePdfs.h:89
MELADoubleCB::clone
virtual TObject * clone(const char *newname) const
Definition: MELACombinePdfs.h:116
MELAggZZPdf_v2::a3
RooRealProxy a3
Definition: MELACombinePdfs.h:92
MELADoubleCB::n1
RooRealProxy n1
Definition: MELACombinePdfs.h:127
MELAqqZZPdf_v2::a13
RooRealProxy a13
Definition: MELACombinePdfs.h:59
MELARelBWUFParam::scaleParam
RooRealProxy scaleParam
Definition: MELACombinePdfs.h:152
MELARelBWUFParam::widthSF
Double_t widthSF
Definition: MELACombinePdfs.h:153
MELAqqZZPdf_v2
Definition: MELACombinePdfs.h:18
MELAqqZZPdf_v2::MELAqqZZPdf_v2
MELAqqZZPdf_v2()
Definition: MELACombinePdfs.h:20
MELAqqZZPdf_v2::a10
RooRealProxy a10
Definition: MELACombinePdfs.h:56
MELAggZZPdf_v2::a4
RooRealProxy a4
Definition: MELACombinePdfs.h:93
MELAqqZZPdf_v2::~MELAqqZZPdf_v2
virtual ~MELAqqZZPdf_v2()
Definition: MELACombinePdfs.h:41
MELAqqZZPdf_v2::a9
RooRealProxy a9
Definition: MELACombinePdfs.h:55
MELAqqZZPdf_v2::a12
RooRealProxy a12
Definition: MELACombinePdfs.h:58
MELARelBWUFParam::m4l
RooRealProxy m4l
Definition: MELACombinePdfs.h:150
MELADoubleCB
Definition: MELACombinePdfs.h:102
MELAqqZZPdf_v2::a8
RooRealProxy a8
Definition: MELACombinePdfs.h:54
MELARelBWUFParam::~MELARelBWUFParam
virtual ~MELARelBWUFParam()
Definition: MELACombinePdfs.h:146