JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
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