JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
TensorPdfFactory Class Referenceabstract

#include <TensorPdfFactory.h>

Inheritance diagram for TensorPdfFactory:
Collaboration diagram for TensorPdfFactory:

Public Member Functions

 TensorPdfFactory (RooSpin::modelMeasurables const &measurables_, RooSpin::VdecayType V1decay_=RooSpin::kVdecayType_Zll, RooSpin::VdecayType V2decay_=RooSpin::kVdecayType_Zll, Bool_t OnshellH_=true)
 
virtual ~TensorPdfFactory ()
 
virtual void makeCouplingsConst (bool yesNo=true)
 
virtual void addHypothesis (int ig, double initval, double iphase=0)
 
virtual void setTensorPolarization (int ig, double initval)
 
virtual void resetHypotheses ()
 
virtual RooSpinTwogetPDF ()=0
 
- Public Member Functions inherited from SpinPdfFactory
 SpinPdfFactory (RooSpin::modelMeasurables const &measurables_, RooSpin::VdecayType V1decay_=RooSpin::kVdecayType_Zll, RooSpin::VdecayType V2decay_=RooSpin::kVdecayType_Zll, Bool_t OnshellH_=true)
 
virtual ~SpinPdfFactory ()
 
virtual void getMVGamV (Double_t *mV=0, Double_t *gamV=0) const
 
virtual void getMVprimeGamVprime (Double_t *mV=0, Double_t *gamV=0) const
 
virtual void makeParamsConst (bool yesNo)
 
virtual void resetVdecay (RooSpin::VdecayType V1decay_, RooSpin::VdecayType V2decay_)
 
virtual void resetVdecayParams (Double_t mWval, Double_t gamWval, Double_t mZval, Double_t gamZval, Double_t Sin2ThetaWval, Double_t vevval)
 
virtual void resetVprimeffCouplings (Double_t gVprimeff_decay1[2], Double_t gVprimeff_decay2[2])
 
virtual void resetVprimeMasses (Double_t mWval, Double_t gamWval, Double_t mZval, Double_t gamZval)
 
virtual void resetHiggsMassWidth (Double_t mXval, Double_t gamXval=0.)
 
virtual void defaultIntegration ()
 
virtual void alwaysIntegrate (Int_t code=1)
 
void setVerbosity (TVar::VerbosityLevel verbosity)
 

Public Attributes

RooSpinTwo::modelCouplings couplings
 
- Public Attributes inherited from SpinPdfFactory
RooSpin::modelMeasurables measurables
 
RooSpin::modelParameters parameters
 

Protected Member Functions

virtual void initGVals ()
 
virtual void destroyGVals ()
 
virtual void initPDF ()=0
 
virtual void destroyPDF ()=0
 
- Protected Member Functions inherited from SpinPdfFactory
virtual void initMeasurables (RooSpin::modelMeasurables const &measurables_)
 
virtual void initMassPole ()
 
virtual void initVdecayParams ()
 
virtual void destroyMassPole ()
 
virtual void destroyVdecayParams ()
 

Additional Inherited Members

- Static Public Member Functions inherited from SpinPdfFactory
static void setVariableValue (RooRealVar *var, Double_t val)
 
- Protected Attributes inherited from SpinPdfFactory
RooSpin::VdecayType V1decay
 
RooSpin::VdecayType V2decay
 
Bool_t OnshellH
 
RooSpinPDF_base
 

Detailed Description

Definition at line 10 of file TensorPdfFactory.h.

Constructor & Destructor Documentation

◆ TensorPdfFactory()

TensorPdfFactory::TensorPdfFactory ( RooSpin::modelMeasurables const &  measurables_,
RooSpin::VdecayType  V1decay_ = RooSpin::kVdecayType_Zll,
RooSpin::VdecayType  V2decay_ = RooSpin::kVdecayType_Zll,
Bool_t  OnshellH_ = true 
)

Definition at line 8 of file TensorPdfFactory.cc.

8  :
9 SpinPdfFactory(measurables_, V1decay_, V2decay_, OnshellH_)
10 {
11  initGVals();
12 }

◆ ~TensorPdfFactory()

TensorPdfFactory::~TensorPdfFactory ( )
virtual

Definition at line 14 of file TensorPdfFactory.cc.

14  {
15  destroyGVals();
16 }

Member Function Documentation

◆ addHypothesis()

void TensorPdfFactory::addHypothesis ( int  ig,
double  initval,
double  iphase = 0 
)
virtual

Definition at line 56 of file TensorPdfFactory.cc.

56  {
57  if (ig>=(int)SIZE_GVV || ig<0) MELAerr << "Invalid g" << ig << endl;
58  else{
59  ((RooRealVar*)couplings.bList[ig][0])->setVal(initval*cos(iphase));
60  ((RooRealVar*)couplings.bList[ig][1])->setVal(initval*sin(iphase));
61  }
62 }

◆ destroyGVals()

void TensorPdfFactory::destroyGVals ( )
protectedvirtual

Implements SpinPdfFactory.

Definition at line 44 of file TensorPdfFactory.cc.

44  {
45  for (int v=0; v<(int)SIZE_GVV; v++){
46  for (int im=0; im<2; im++){
47  delete couplings.bList[v][im];
48  }
49  }
50  delete couplings.Lambda;
51 
52  delete couplings.f_spinz1;
53  delete couplings.f_spinz2;
54 }

◆ destroyPDF()

virtual void TensorPdfFactory::destroyPDF ( )
protectedpure virtual

Implements SpinPdfFactory.

Implemented in TensorPdfFactory_ppHVV.

◆ getPDF()

virtual RooSpinTwo* TensorPdfFactory::getPDF ( )
pure virtual

Implemented in TensorPdfFactory_ppHVV.

◆ initGVals()

void TensorPdfFactory::initGVals ( )
protectedvirtual

Implements SpinPdfFactory.

Definition at line 17 of file TensorPdfFactory.cc.

17  {
18  couplings.Lambda = new RooRealVar("Lambda", "Lambda", 1000.);
19 
20  for (int v=0; v<(int)SIZE_GVV; v++){
21  for (int im=0; im<2; im++){
22  TString strcore;
23  double initval = 0;
24  TString strapp = "Val";
25  if (im==1) strapp.Append("Im");
26  strapp.Prepend(Form("%i", v+1));
27 
28  strcore = "g";
29  strcore.Append(strapp);
30  RooRealVar* gVal = new RooRealVar(strcore, strcore, initval, -1e15, 1e15);
31  gVal->removeMin();
32  gVal->removeMax();
33  couplings.bList[v][im] = (RooAbsReal*)gVal;
34  }
35  }
36 
37  for (int f=0; f<2; f++){
38  TString strcore = Form("f_spinz%i", f+1);
39  RooRealVar* fVal = new RooRealVar(strcore, strcore, 0., 0., 1.);
40  if (f==0) couplings.f_spinz1 = (RooRealVar*)fVal;
41  else couplings.f_spinz2 = (RooRealVar*)fVal;
42  }
43 }

◆ initPDF()

virtual void TensorPdfFactory::initPDF ( )
protectedpure virtual

Implements SpinPdfFactory.

Implemented in TensorPdfFactory_ppHVV.

◆ makeCouplingsConst()

void TensorPdfFactory::makeCouplingsConst ( bool  yesNo = true)
virtual

Implements SpinPdfFactory.

Definition at line 78 of file TensorPdfFactory.cc.

78  {
79  couplings.Lambda->setConstant(true); // The user is not allowed to change this value!
80 
81  // Set fqq, fz2
82  couplings.f_spinz1->setConstant(yesNo);
83  couplings.f_spinz2->setConstant(yesNo);
84 
85  // Set the b decay couplings
86  for (int ig=0; ig<(int)SIZE_GVV; ig++){
87  for (int im=0; im<2; im++){
88  if (dynamic_cast<RooRealVar*>(couplings.bList[ig][im])!=0) ((RooRealVar*)couplings.bList[ig][im])->setConstant(yesNo);
89  }
90  }
91 }

◆ resetHypotheses()

void TensorPdfFactory::resetHypotheses ( )
virtual

Implements SpinPdfFactory.

Definition at line 70 of file TensorPdfFactory.cc.

70  {
71  for (int ig=0; ig<(int)SIZE_GVV; ig++){
72  for (int im=0; im<2; im++) ((RooRealVar*)couplings.bList[ig][im])->setVal(0.);
73  }
74  ((RooRealVar*)couplings.f_spinz1)->setVal(0.);
75  ((RooRealVar*)couplings.f_spinz2)->setVal(0.);
76 }

◆ setTensorPolarization()

void TensorPdfFactory::setTensorPolarization ( int  ig,
double  initval 
)
virtual

Definition at line 63 of file TensorPdfFactory.cc.

63  {
64  if (ig>2 || ig<=0) MELAerr << "Cannot set f_spinz" << ig << ". Please st f_spinz1 or f_spinz2 only." << endl;
65  else{
66  if (ig==1) ((RooRealVar*)couplings.f_spinz1)->setVal(initval);
67  else ((RooRealVar*)couplings.f_spinz2)->setVal(initval);
68  }
69 }

Member Data Documentation

◆ couplings

RooSpinTwo::modelCouplings TensorPdfFactory::couplings

Definition at line 12 of file TensorPdfFactory.h.


The documentation for this class was generated from the following files:
TensorPdfFactory::couplings
RooSpinTwo::modelCouplings couplings
Definition: TensorPdfFactory.h:12
RooSpinTwo::modelCouplings::Lambda
RooRealVar * Lambda
Definition: RooSpinTwo.h:12
SIZE_GVV
@ SIZE_GVV
Definition: raw_couplings.txt:158
RooSpinTwo::modelCouplings::f_spinz1
RooRealVar * f_spinz1
Definition: RooSpinTwo.h:13
TensorPdfFactory::initGVals
virtual void initGVals()
Definition: TensorPdfFactory.cc:17
RooSpinTwo::modelCouplings::f_spinz2
RooRealVar * f_spinz2
Definition: RooSpinTwo.h:14
SpinPdfFactory::SpinPdfFactory
SpinPdfFactory(RooSpin::modelMeasurables const &measurables_, RooSpin::VdecayType V1decay_=RooSpin::kVdecayType_Zll, RooSpin::VdecayType V2decay_=RooSpin::kVdecayType_Zll, Bool_t OnshellH_=true)
Definition: SpinPdfFactory.cc:8
TensorPdfFactory::destroyGVals
virtual void destroyGVals()
Definition: TensorPdfFactory.cc:44
MELAStreamHelpers::MELAerr
MELAOutputStreamer MELAerr
globalc::f
double complex, dimension(2) f
Definition: reductionC.F90:50
RooSpinTwo::modelCouplings::bList
RooAbsReal * bList[SIZE_GVV][2]
Definition: RooSpinTwo.h:11