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.
VectorPdfFactory.h
Go to the documentation of this file.
1 #ifndef VECTOR_PDF_FACTORY
2 #define VECTOR_PDF_FACTORY
3 
4 #include <cmath>
5 #include "TVar.hh"
6 #include "RooSpinOne_7D.h"
7 #include "RooRealVar.h"
8 #include "RooAbsPdf.h"
9 #include "TF1.h"
10 
11 
13 
14 public:
15 
16  RooRealVar* mZ;
17  RooRealVar* gamZ;
18 
19  RooRealVar* R1Val;
20  RooRealVar* R2Val;
21 
23 
24  RooRealVar* g1Val;
25  RooRealVar* g2Val;
26 
27  RooRealVar* aParam;
28 
30 
31  VectorPdfFactory(RooRealVar* m1,RooRealVar* m2,RooRealVar* hs,RooRealVar* h1,RooRealVar* h2,RooRealVar* Phi,RooRealVar* Phi1,RooRealVar* mZZ){
32 
33  // Parameters
34  mZ = new RooRealVar("mZ","mZ",91.188);
35  gamZ = new RooRealVar("gamZ","gamZ",2.5);
36 
37  // related to tensor structure of V decays
38  R1Val = new RooRealVar("R1Val","R1Val",0.15);
39  R2Val = new RooRealVar("R2Val","R2Val",0.15);
40 
41  // dimensionless couplings
42  g1Val = new RooRealVar("g1Val", "g1Val", 0.0);
43  g2Val = new RooRealVar("g2Val", "g2Val", 0.0);
44 
45  // random paramter (?)
46  aParam = new RooRealVar("aParam","aParam",0.0);
47 
48  PDF = new RooSpinOne_7D("PDF","PDF", *mZZ, *m1, *m2, *h1, *h2,*hs, *Phi, *Phi1,
49  *g1Val, *g2Val, *R1Val, *R2Val, *aParam, *mZ, *gamZ);
50 
51  };
52 
54 
55  delete g1Val;
56  delete g2Val;
57 
58  delete aParam;
59 
60  delete mZ;
61  delete gamZ;
62 
63  delete R1Val;
64  delete R2Val;
65 
66  delete PDF;
67 
68  };
69 
70  int configure(TVar::Process model_){
71 
72  switch (model_){
73  case TVar::H1plus: makePseudoZprime(); return 0; break;
74  case TVar::H1minus: makeZprime(); return 0; break;
75  case TVar::SelfDefine_spin1 : return 0; break;
76  default: makeZprime(); return 1; break;
77  }
78 
79  };
80 
81 
82  void makePseudoZprime(){ // NEED TO CALCULATE NORMALIZATIONS
83 
84  g1Val->setVal(0.0);
85  g2Val->setVal(1.0);
86 
87  };
88 
89  void makeZprime(){ // NEED TO CALCULATE NORMALIZATIONS
90 
91  g1Val->setVal(1.0);
92  g2Val->setVal(0.0);
93 
94  };
95 
96  void makeParamsConst(bool yesNo=true){
97  if(yesNo){
98 
99  g1Val->setConstant(kTRUE);
100  g2Val->setConstant(kTRUE);
101 
102  gamZ->setConstant(kTRUE);
103  mZ->setConstant(kTRUE);
104  R1Val->setConstant(kTRUE);
105  R2Val->setConstant(kTRUE);
106 
107  }else{
108 
109  g1Val->setConstant(kFALSE);
110  g2Val->setConstant(kFALSE);
111 
112  gamZ->setConstant(kFALSE);
113  mZ->setConstant(kFALSE);
114  R1Val->setConstant(kFALSE);
115  R2Val->setConstant(kFALSE);
116  }
117  };
118 
119  void setZZ4fOrdering(bool flag=true){ PDF->setZZ4fOrdering(flag); }
120 
121 };
122 
123 #endif
124 
125 
TVar::H1plus
@ H1plus
Definition: TVar.hh:149
VectorPdfFactory::R1Val
RooRealVar * R1Val
Definition: VectorPdfFactory.h:19
VectorPdfFactory::~VectorPdfFactory
~VectorPdfFactory()
Definition: VectorPdfFactory.h:53
VectorPdfFactory::g1Val
RooRealVar * g1Val
Definition: VectorPdfFactory.h:24
TVar::Process
Process
Definition: TVar.hh:125
VectorPdfFactory::makePseudoZprime
void makePseudoZprime()
Definition: VectorPdfFactory.h:82
VectorPdfFactory
Definition: VectorPdfFactory.h:12
RooSpinOne_7D::setZZ4fOrdering
void setZZ4fOrdering(Bool_t flag=true)
Definition: RooSpinOne_7D.cc:460
TVar::H1minus
@ H1minus
Definition: TVar.hh:148
VectorPdfFactory::gamZ
RooRealVar * gamZ
Definition: VectorPdfFactory.h:17
VectorPdfFactory::aParam
RooRealVar * aParam
Definition: VectorPdfFactory.h:27
RooSpinOne_7D
Definition: RooSpinOne_7D.h:18
VectorPdfFactory::configure
int configure(TVar::Process model_)
Definition: VectorPdfFactory.h:70
VectorPdfFactory::makeZprime
void makeZprime()
Definition: VectorPdfFactory.h:89
VectorPdfFactory::PDF
RooSpinOne_7D * PDF
Definition: VectorPdfFactory.h:22
VectorPdfFactory::g2Val
RooRealVar * g2Val
Definition: VectorPdfFactory.h:25
VectorPdfFactory::VectorPdfFactory
VectorPdfFactory()
Definition: VectorPdfFactory.h:29
VectorPdfFactory::setZZ4fOrdering
void setZZ4fOrdering(bool flag=true)
Definition: VectorPdfFactory.h:119
VectorPdfFactory::R2Val
RooRealVar * R2Val
Definition: VectorPdfFactory.h:20
VectorPdfFactory::makeParamsConst
void makeParamsConst(bool yesNo=true)
Definition: VectorPdfFactory.h:96
TVar.hh
RooSpinOne_7D.h
VectorPdfFactory::mZ
RooRealVar * mZ
Definition: VectorPdfFactory.h:16
TVar::SelfDefine_spin1
@ SelfDefine_spin1
Definition: TVar.hh:181
VectorPdfFactory::VectorPdfFactory
VectorPdfFactory(RooRealVar *m1, RooRealVar *m2, RooRealVar *hs, RooRealVar *h1, RooRealVar *h2, RooRealVar *Phi, RooRealVar *Phi1, RooRealVar *mZZ)
Definition: VectorPdfFactory.h:31