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.
ScalarPdfFactory.h
Go to the documentation of this file.
1 #ifndef SCALAR_PDF_FACTORY
2 #define SCALAR_PDF_FACTORY
3 
4 #include "RooSpinZero.h"
5 #include "SpinPdfFactory.h"
6 #include "RooFormulaVar.h"
7 #include "TString.h"
8 
9 
11 public:
13 
14  RooRealVar* g1Frac[7]; // f_a1 = 1.-sum_{i, i>1}{fabs(f_ai)}
15  RooRealVar* g2Frac[8];
16  RooRealVar* g3Frac[8];
17  RooRealVar* g4Frac[8];
18  RooRealVar* g1Phase[7]; // phi_a1=0
19  RooRealVar* g2Phase[8];
20  RooRealVar* g3Phase[8];
21  RooRealVar* g4Phase[8];
22 
23  RooRealVar* gzgs1Frac[1];
24  RooRealVar* gzgs2Frac[1];
25  RooRealVar* gzgs3Frac[1];
26  RooRealVar* gzgs4Frac[1];
27  RooRealVar* gzgs1Phase[1];
28  RooRealVar* gzgs2Phase[1];
29  RooRealVar* gzgs3Phase[1];
30  RooRealVar* gzgs4Phase[1];
31 
32  RooRealVar* ggsgs2Frac[1];
33  RooRealVar* ggsgs3Frac[1];
34  RooRealVar* ggsgs4Frac[1];
35  RooRealVar* ggsgs2Phase[1];
36  RooRealVar* ggsgs3Phase[1];
37  RooRealVar* ggsgs4Phase[1];
38 
39  RooRealVar* gvvp1Frac[1];
40  RooRealVar* gvvp1Phase[1];
41 
42  RooRealVar* gvpvp1Frac[1];
43  RooRealVar* gvpvp1Phase[1];
44 
45  RooFormulaVar* gFracSum; // sum_{i, i>1}{fabs(f_ai)}
46  RooFormulaVar* g1FracInterp[8]; // f_a1^interp = (f_a1<0 ? 0 : f_ai)
47  RooFormulaVar* g2FracInterp[8];
48  RooFormulaVar* g3FracInterp[8];
49  RooFormulaVar* g4FracInterp[8];
50 
51  RooFormulaVar* gzgs1FracInterp[1];
52  RooFormulaVar* gzgs2FracInterp[1];
53  RooFormulaVar* gzgs3FracInterp[1];
54  RooFormulaVar* gzgs4FracInterp[1];
55  RooFormulaVar* ggsgs2FracInterp[1];
56  RooFormulaVar* ggsgs3FracInterp[1];
57  RooFormulaVar* ggsgs4FracInterp[1];
58 
59  RooFormulaVar* gvvp1FracInterp[1];
60 
61  RooFormulaVar* gvpvp1FracInterp[1];
62 
63  RooRealVar* gRatioVal[4][8];
64  RooRealVar* gZGsRatioVal[4][1];
65  RooRealVar* gGsGsRatioVal[3][1];
66  RooRealVar* gVVpRatioVal[1][1];
67  RooRealVar* gVpVpRatioVal[1][1];
68 
69  ScalarPdfFactory(RooSpin::modelMeasurables const& measurables_, bool acceptance_=false, RooSpin::VdecayType V1decay_=RooSpin::kVdecayType_Zll, RooSpin::VdecayType V2decay_=RooSpin::kVdecayType_Zll, Bool_t OnshellH_=true);
71  RooSpin::modelMeasurables const& measurables_,
72  double gRatio_[4][8],
73  double gZGsRatio_[4][1],
74  double gGsGsRatio_[3][1],
75  double gVVpRatio_[1][1],
76  double gVpVpRatio_[1][1],
77  bool pmf_applied_=false, bool acceptance_=false,
79  );
80  virtual ~ScalarPdfFactory();
81 
82  virtual void makeCouplingsConst(bool yesNo=true);
83  virtual void addHypothesis(int ig, int ilam, double iphase=0, double altparam_fracval=0);
84  virtual void resetHypotheses();
85  virtual RooSpinZero* getPDF()=0;
86 
87 protected:
90  bool acceptance;
91 
92  double gRatio[4][8];
93  double gZGsRatio[4][1];
94  double gGsGsRatio[3][1];
95  double gVVpRatio[1][1];
96  double gVpVpRatio[1][1];
97 
98  virtual void initFractionsPhases();
99  virtual void initGVals();
100 
101  virtual void destroyFractionsPhases();
102  virtual void destroyGVals();
103 
104  virtual void initPDF()=0;
105  virtual void destroyPDF()=0;
106 
107 };
108 
109 
110 
111 
112 #endif
113 
114 
115 
ScalarPdfFactory::g4Phase
RooRealVar * g4Phase[8]
Definition: ScalarPdfFactory.h:21
ScalarPdfFactory::ScalarPdfFactory
ScalarPdfFactory(RooSpin::modelMeasurables const &measurables_, bool acceptance_=false, RooSpin::VdecayType V1decay_=RooSpin::kVdecayType_Zll, RooSpin::VdecayType V2decay_=RooSpin::kVdecayType_Zll, Bool_t OnshellH_=true)
Definition: ScalarPdfFactory.cc:8
ScalarPdfFactory::gzgs2Phase
RooRealVar * gzgs2Phase[1]
Definition: ScalarPdfFactory.h:28
ScalarPdfFactory::destroyPDF
virtual void destroyPDF()=0
RooSpin::kVdecayType_Zll
@ kVdecayType_Zll
Definition: RooSpin.h:31
ScalarPdfFactory::gVVpRatio
double gVVpRatio[1][1]
Definition: ScalarPdfFactory.h:95
ScalarPdfFactory::gzgs3FracInterp
RooFormulaVar * gzgs3FracInterp[1]
Definition: ScalarPdfFactory.h:53
ScalarPdfFactory::g2Phase
RooRealVar * g2Phase[8]
Definition: ScalarPdfFactory.h:19
SpinPdfFactory
Definition: SpinPdfFactory.h:9
ScalarPdfFactory::gzgs4Frac
RooRealVar * gzgs4Frac[1]
Definition: ScalarPdfFactory.h:26
ScalarPdfFactory::destroyFractionsPhases
virtual void destroyFractionsPhases()
Definition: ScalarPdfFactory.cc:624
ScalarPdfFactory::gZGsRatioVal
RooRealVar * gZGsRatioVal[4][1]
Definition: ScalarPdfFactory.h:64
ScalarPdfFactory::gvvp1FracInterp
RooFormulaVar * gvvp1FracInterp[1]
Definition: ScalarPdfFactory.h:59
ScalarPdfFactory::gvpvp1Frac
RooRealVar * gvpvp1Frac[1]
Definition: ScalarPdfFactory.h:42
ScalarPdfFactory::gzgs1FracInterp
RooFormulaVar * gzgs1FracInterp[1]
Definition: ScalarPdfFactory.h:51
ScalarPdfFactory::gvvp1Phase
RooRealVar * gvvp1Phase[1]
Definition: ScalarPdfFactory.h:40
ScalarPdfFactory::gzgs3Phase
RooRealVar * gzgs3Phase[1]
Definition: ScalarPdfFactory.h:29
ScalarPdfFactory::gZGsRatio
double gZGsRatio[4][1]
Definition: ScalarPdfFactory.h:93
ScalarPdfFactory::g3Frac
RooRealVar * g3Frac[8]
Definition: ScalarPdfFactory.h:16
ScalarPdfFactory::makeCouplingsConst
virtual void makeCouplingsConst(bool yesNo=true)
Definition: ScalarPdfFactory.cc:955
ScalarPdfFactory::ggsgs4Phase
RooRealVar * ggsgs4Phase[1]
Definition: ScalarPdfFactory.h:37
SpinPdfFactory.h
ScalarPdfFactory::gFracSum
RooFormulaVar * gFracSum
Definition: ScalarPdfFactory.h:45
ScalarPdfFactory::gzgs1Phase
RooRealVar * gzgs1Phase[1]
Definition: ScalarPdfFactory.h:27
ScalarPdfFactory::gzgs4Phase
RooRealVar * gzgs4Phase[1]
Definition: ScalarPdfFactory.h:30
ScalarPdfFactory::gRatio
double gRatio[4][8]
Definition: ScalarPdfFactory.h:92
ScalarPdfFactory::g2Frac
RooRealVar * g2Frac[8]
Definition: ScalarPdfFactory.h:15
ScalarPdfFactory::addHypothesis
virtual void addHypothesis(int ig, int ilam, double iphase=0, double altparam_fracval=0)
Definition: ScalarPdfFactory.cc:736
ScalarPdfFactory::g1Phase
RooRealVar * g1Phase[7]
Definition: ScalarPdfFactory.h:18
RooSpinZero
Definition: RooSpinZero.h:7
ScalarPdfFactory::parameterization
int parameterization
Definition: ScalarPdfFactory.h:88
ScalarPdfFactory::gvpvp1Phase
RooRealVar * gvpvp1Phase[1]
Definition: ScalarPdfFactory.h:43
ScalarPdfFactory::g2FracInterp
RooFormulaVar * g2FracInterp[8]
Definition: ScalarPdfFactory.h:47
ScalarPdfFactory::gvpvp1FracInterp
RooFormulaVar * gvpvp1FracInterp[1]
Definition: ScalarPdfFactory.h:61
ScalarPdfFactory::g3FracInterp
RooFormulaVar * g3FracInterp[8]
Definition: ScalarPdfFactory.h:48
ScalarPdfFactory::g4Frac
RooRealVar * g4Frac[8]
Definition: ScalarPdfFactory.h:17
ScalarPdfFactory::ggsgs2Frac
RooRealVar * ggsgs2Frac[1]
Definition: ScalarPdfFactory.h:32
ScalarPdfFactory::resetHypotheses
virtual void resetHypotheses()
Definition: ScalarPdfFactory.cc:890
ScalarPdfFactory::gRatioVal
RooRealVar * gRatioVal[4][8]
Definition: ScalarPdfFactory.h:63
ScalarPdfFactory::ggsgs4Frac
RooRealVar * ggsgs4Frac[1]
Definition: ScalarPdfFactory.h:34
ScalarPdfFactory::gzgs1Frac
RooRealVar * gzgs1Frac[1]
Definition: ScalarPdfFactory.h:23
RooSpinZero.h
ScalarPdfFactory::gvvp1Frac
RooRealVar * gvvp1Frac[1]
Definition: ScalarPdfFactory.h:39
ScalarPdfFactory::~ScalarPdfFactory
virtual ~ScalarPdfFactory()
Definition: ScalarPdfFactory.cc:45
RooSpinZero::modelCouplings
Definition: RooSpinZero.h:10
ScalarPdfFactory::g3Phase
RooRealVar * g3Phase[8]
Definition: ScalarPdfFactory.h:20
ScalarPdfFactory::gGsGsRatioVal
RooRealVar * gGsGsRatioVal[3][1]
Definition: ScalarPdfFactory.h:65
ScalarPdfFactory::ggsgs2FracInterp
RooFormulaVar * ggsgs2FracInterp[1]
Definition: ScalarPdfFactory.h:55
ScalarPdfFactory::g4FracInterp
RooFormulaVar * g4FracInterp[8]
Definition: ScalarPdfFactory.h:49
ScalarPdfFactory::g1FracInterp
RooFormulaVar * g1FracInterp[8]
Definition: ScalarPdfFactory.h:46
ScalarPdfFactory::gVpVpRatioVal
RooRealVar * gVpVpRatioVal[1][1]
Definition: ScalarPdfFactory.h:67
ScalarPdfFactory::pmf_applied
bool pmf_applied
Definition: ScalarPdfFactory.h:89
ScalarPdfFactory::g1Frac
RooRealVar * g1Frac[7]
Definition: ScalarPdfFactory.h:14
ScalarPdfFactory::gVpVpRatio
double gVpVpRatio[1][1]
Definition: ScalarPdfFactory.h:96
ScalarPdfFactory::ggsgs4FracInterp
RooFormulaVar * ggsgs4FracInterp[1]
Definition: ScalarPdfFactory.h:57
ScalarPdfFactory::ggsgs3Phase
RooRealVar * ggsgs3Phase[1]
Definition: ScalarPdfFactory.h:36
ScalarPdfFactory::acceptance
bool acceptance
Definition: ScalarPdfFactory.h:90
ScalarPdfFactory::ggsgs3Frac
RooRealVar * ggsgs3Frac[1]
Definition: ScalarPdfFactory.h:33
ScalarPdfFactory::couplings
RooSpinZero::modelCouplings couplings
Definition: ScalarPdfFactory.h:12
ScalarPdfFactory::gGsGsRatio
double gGsGsRatio[3][1]
Definition: ScalarPdfFactory.h:94
ScalarPdfFactory::initFractionsPhases
virtual void initFractionsPhases()
Definition: ScalarPdfFactory.cc:49
ScalarPdfFactory::getPDF
virtual RooSpinZero * getPDF()=0
RooSpin::modelMeasurables
Definition: RooSpin.h:50
ScalarPdfFactory::gzgs4FracInterp
RooFormulaVar * gzgs4FracInterp[1]
Definition: ScalarPdfFactory.h:54
ScalarPdfFactory::ggsgs2Phase
RooRealVar * ggsgs2Phase[1]
Definition: ScalarPdfFactory.h:35
ScalarPdfFactory::gzgs2FracInterp
RooFormulaVar * gzgs2FracInterp[1]
Definition: ScalarPdfFactory.h:52
ScalarPdfFactory::initPDF
virtual void initPDF()=0
ScalarPdfFactory::ggsgs3FracInterp
RooFormulaVar * ggsgs3FracInterp[1]
Definition: ScalarPdfFactory.h:56
RooSpin::VdecayType
VdecayType
Definition: RooSpin.h:28
ScalarPdfFactory::gVVpRatioVal
RooRealVar * gVVpRatioVal[1][1]
Definition: ScalarPdfFactory.h:66
ScalarPdfFactory::gzgs3Frac
RooRealVar * gzgs3Frac[1]
Definition: ScalarPdfFactory.h:25
ScalarPdfFactory
Definition: ScalarPdfFactory.h:10
ScalarPdfFactory::initGVals
virtual void initGVals()
Definition: ScalarPdfFactory.cc:476
ScalarPdfFactory::gzgs2Frac
RooRealVar * gzgs2Frac[1]
Definition: ScalarPdfFactory.h:24
ScalarPdfFactory::destroyGVals
virtual void destroyGVals()
Definition: ScalarPdfFactory.cc:694