JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
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:148
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:124
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:147
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:180
VectorPdfFactory::VectorPdfFactory
VectorPdfFactory(RooRealVar *m1, RooRealVar *m2, RooRealVar *hs, RooRealVar *h1, RooRealVar *h2, RooRealVar *Phi, RooRealVar *Phi1, RooRealVar *mZZ)
Definition: VectorPdfFactory.h:31