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.
Public Member Functions | Protected Member Functions | List of all members
RooSpinZero_5D_VH Class Reference

#include <RooSpinZero_5D_VH.h>

Inheritance diagram for RooSpinZero_5D_VH:
Inheritance graph
[legend]
Collaboration diagram for RooSpinZero_5D_VH:
Collaboration graph
[legend]

Public Member Functions

 RooSpinZero_5D_VH ()
 
 RooSpinZero_5D_VH (const char *name, const char *title, modelMeasurables const &_measurables, modelParameters const &_parameters, modelCouplings const &_couplings, RooSpin::VdecayType _Vdecay1=RooSpin::kVdecayType_Zll, RooSpin::VdecayType _Vdecay2=RooSpin::kVdecayType_Zll, TVar::VerbosityLevel verbosity_=TVar::ERROR)
 
 RooSpinZero_5D_VH (const RooSpinZero_5D_VH &other, const char *name=0)
 
virtual TObject * clone (const char *newname) const
 
virtual ~RooSpinZero_5D_VH ()
 
Double_t evaluate () const
 
Int_t getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
 
Double_t analyticalIntegral (Int_t code, const char *rangeName=0) const
 
- Public Member Functions inherited from RooSpinZero
 RooSpinZero ()
 
 RooSpinZero (const char *name, const char *title, modelMeasurables const &_measurables, modelParameters const &_parameters, modelCouplings const &_couplings, RooSpin::VdecayType _Vdecay1=RooSpin::kVdecayType_Zll, RooSpin::VdecayType _Vdecay2=RooSpin::kVdecayType_Zll, TVar::VerbosityLevel verbosity_=TVar::ERROR)
 
 RooSpinZero (const RooSpinZero &other, const char *name=0)
 
virtual ~RooSpinZero ()
 
virtual void printParameters () const
 
- Public Member Functions inherited from RooSpin
 RooSpin ()
 
 RooSpin (const char *name, const char *title, modelMeasurables const &_measurables, modelParameters const &_parameters, RooSpin::VdecayType _Vdecay1=RooSpin::kVdecayType_Zll, RooSpin::VdecayType _Vdecay2=RooSpin::kVdecayType_Zll, TVar::VerbosityLevel verbosity_=TVar::ERROR)
 
 RooSpin (const RooSpin &other, const char *name=0)
 
virtual ~RooSpin ()
 
void setVerbosity (TVar::VerbosityLevel verbosity_)
 
virtual void setDecayModes (RooSpin::VdecayType Vdecay1_, RooSpin::VdecayType Vdecay2_)
 
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 defaultIntegration ()
 
virtual void alwaysIntegrate (Int_t code=1)
 

Protected Member Functions

void evaluatePolarizationTerms (Double_t &A00term, Double_t &Appterm, Double_t &Ammterm, Double_t &A00ppterm, Double_t &A00mmterm, Double_t &Appmmterm, const Int_t code, int VGammaVpmode1=0, int VGammaVpmode2=0) const
 
- Protected Member Functions inherited from RooSpinZero
virtual void calculateAi (Double_t &a1Re, Double_t &a1Im, Double_t &a2Re, Double_t &a2Im, Double_t &a3Re, Double_t &a3Im, int VGammaVpmode1=0, int VGammaVpmode2=0) const
 
virtual void calculateAmplitudes (Double_t &A00Re, Double_t &A00Im, Double_t &AppRe, Double_t &AppIm, Double_t &AmmRe, Double_t &AmmIm, int VGammaVpmode1=0, int VGammaVpmode2=0) const
 
virtual Bool_t computeNeededAmplitude (int VGammaVpmode1, int VGammaVpmode2) const final
 
- Protected Member Functions inherited from RooSpin
virtual void calculatePropagator (Double_t &propRe, Double_t &propIm, Double_t mass, Int_t propType=1) const
 
virtual void calculateVffGVGA (Double_t &gV, Double_t &gA, RooSpin::VdecayType Vdecay, bool isGamma=false) const
 
virtual void calculateVffR1R2 (Double_t &R1Val, Double_t &R2Val, bool isGammaV1=false, bool isGammaV2=false) const
 
virtual Double_t calculateAmplitudeScale (int VGammaVpmode1=0, int VGammaVpmode2=0) const
 
virtual void calculateVprimeffGVGA (Double_t &gV, Double_t &gA, int whichVprime) const
 
virtual void calculateVprimeffR1R2 (Double_t &R1Val, Double_t &R2Val) const
 
virtual void setProxies (modelMeasurables _measurables)
 
virtual void setProxy (RooRealProxy &proxy, RooAbsReal *objectPtr)
 
virtual Bool_t checkFundamentalType (const RooRealProxy &proxy) const
 

Additional Inherited Members

- Public Types inherited from RooSpin
enum  VdecayType {
  kVdecayType_Wany =-1, kVdecayType_GammaOnshell =0, kVdecayType_Zll =1, kVdecayType_Znn =2,
  kVdecayType_Zuu =3, kVdecayType_Zdd =4, kVdecayType_Zud =5
}
 
enum  {
  prime_h1 =2, prime_h2 =3, prime_hs =5, prime_Phi =7,
  prime_Phi1 =11, prime_m1 =13, prime_m2 =17, prime_m12 =19,
  prime_Y =23
}
 
- Protected Attributes inherited from RooSpinZero
RooRealProxy g1Val
 
RooRealProxy g2Val
 
RooRealProxy g3Val
 
RooRealProxy g4Val
 
RooRealProxy g1_primeVal
 
RooRealProxy g2_primeVal
 
RooRealProxy g3_primeVal
 
RooRealProxy g4_primeVal
 
RooRealProxy g1_prime2Val
 
RooRealProxy g2_prime2Val
 
RooRealProxy g3_prime2Val
 
RooRealProxy g4_prime2Val
 
RooRealProxy g1_prime3Val
 
RooRealProxy g2_prime3Val
 
RooRealProxy g3_prime3Val
 
RooRealProxy g4_prime3Val
 
RooRealProxy g1_prime4Val
 
RooRealProxy g2_prime4Val
 
RooRealProxy g3_prime4Val
 
RooRealProxy g4_prime4Val
 
RooRealProxy g1_prime5Val
 
RooRealProxy g2_prime5Val
 
RooRealProxy g3_prime5Val
 
RooRealProxy g4_prime5Val
 
RooRealProxy g1_prime6Val
 
RooRealProxy g2_prime6Val
 
RooRealProxy g3_prime6Val
 
RooRealProxy g4_prime6Val
 
RooRealProxy g1_prime7Val
 
RooRealProxy g2_prime7Val
 
RooRealProxy g3_prime7Val
 
RooRealProxy g4_prime7Val
 
RooRealProxy gzgs1_prime2Val
 
RooRealProxy gzgs2Val
 
RooRealProxy gzgs3Val
 
RooRealProxy gzgs4Val
 
RooRealProxy ggsgs2Val
 
RooRealProxy ggsgs3Val
 
RooRealProxy ggsgs4Val
 
RooRealProxy g1ValIm
 
RooRealProxy g2ValIm
 
RooRealProxy g3ValIm
 
RooRealProxy g4ValIm
 
RooRealProxy g1_primeValIm
 
RooRealProxy g2_primeValIm
 
RooRealProxy g3_primeValIm
 
RooRealProxy g4_primeValIm
 
RooRealProxy g1_prime2ValIm
 
RooRealProxy g2_prime2ValIm
 
RooRealProxy g3_prime2ValIm
 
RooRealProxy g4_prime2ValIm
 
RooRealProxy g1_prime3ValIm
 
RooRealProxy g2_prime3ValIm
 
RooRealProxy g3_prime3ValIm
 
RooRealProxy g4_prime3ValIm
 
RooRealProxy g1_prime4ValIm
 
RooRealProxy g2_prime4ValIm
 
RooRealProxy g3_prime4ValIm
 
RooRealProxy g4_prime4ValIm
 
RooRealProxy g1_prime5ValIm
 
RooRealProxy g2_prime5ValIm
 
RooRealProxy g3_prime5ValIm
 
RooRealProxy g4_prime5ValIm
 
RooRealProxy g1_prime6ValIm
 
RooRealProxy g2_prime6ValIm
 
RooRealProxy g3_prime6ValIm
 
RooRealProxy g4_prime6ValIm
 
RooRealProxy g1_prime7ValIm
 
RooRealProxy g2_prime7ValIm
 
RooRealProxy g3_prime7ValIm
 
RooRealProxy g4_prime7ValIm
 
RooRealProxy gzgs1_prime2ValIm
 
RooRealProxy gzgs2ValIm
 
RooRealProxy gzgs3ValIm
 
RooRealProxy gzgs4ValIm
 
RooRealProxy ggsgs2ValIm
 
RooRealProxy ggsgs3ValIm
 
RooRealProxy ggsgs4ValIm
 
RooRealProxy Lambda
 
RooRealProxy Lambda_zgs1
 
RooRealProxy Lambda_z1
 
RooRealProxy Lambda_z2
 
RooRealProxy Lambda_z3
 
RooRealProxy Lambda_z4
 
RooRealProxy Lambda_Q
 
RooRealProxy Lambda_z11
 
RooRealProxy Lambda_z21
 
RooRealProxy Lambda_z31
 
RooRealProxy Lambda_z41
 
RooRealProxy Lambda_z12
 
RooRealProxy Lambda_z22
 
RooRealProxy Lambda_z32
 
RooRealProxy Lambda_z42
 
RooRealProxy Lambda_z10
 
RooRealProxy Lambda_z20
 
RooRealProxy Lambda_z30
 
RooRealProxy Lambda_z40
 
RooRealProxy cz_q1sq
 
RooRealProxy cz_q2sq
 
RooRealProxy cz_q12sq
 
RooRealProxy gvvp1Val
 
RooRealProxy gvpvp1Val
 
RooRealProxy gvvp1ValIm
 
RooRealProxy gvpvp1ValIm
 
- Protected Attributes inherited from RooSpin
RooRealProxy h1
 
RooRealProxy h2
 
RooRealProxy Phi
 
RooRealProxy m1
 
RooRealProxy m2
 
RooRealProxy m12
 
RooRealProxy hs
 
RooRealProxy Phi1
 
RooRealProxy Y
 
RooRealProxy mX
 
RooRealProxy gamX
 
RooRealProxy mW
 
RooRealProxy gamW
 
RooRealProxy mZ
 
RooRealProxy gamZ
 
RooRealProxy mWprime
 
RooRealProxy gamWprime
 
RooRealProxy mZprime
 
RooRealProxy gamZprime
 
RooRealProxy Sin2ThetaW
 
RooRealProxy vev
 
RooRealProxy gVprimeff_decay1_left
 
RooRealProxy gVprimeff_decay1_right
 
RooRealProxy gVprimeff_decay2_left
 
RooRealProxy gVprimeff_decay2_right
 
RooSpin::VdecayType Vdecay1
 
RooSpin::VdecayType Vdecay2
 
Int_t intCodeStart
 
TVar::VerbosityLevel verbosity
 
- Static Protected Attributes inherited from RooSpin
static constexpr Double_t GeVunit =1e-2
 

Detailed Description

Definition at line 7 of file RooSpinZero_5D_VH.h.

Constructor & Destructor Documentation

◆ RooSpinZero_5D_VH() [1/3]

RooSpinZero_5D_VH::RooSpinZero_5D_VH ( )

Definition at line 4 of file RooSpinZero_5D_VH.cc.

4 : RooSpinZero(){}

◆ RooSpinZero_5D_VH() [2/3]

RooSpinZero_5D_VH::RooSpinZero_5D_VH ( const char *  name,
const char *  title,
modelMeasurables const &  _measurables,
modelParameters const &  _parameters,
modelCouplings const &  _couplings,
RooSpin::VdecayType  _Vdecay1 = RooSpin::kVdecayType_Zll,
RooSpin::VdecayType  _Vdecay2 = RooSpin::kVdecayType_Zll,
TVar::VerbosityLevel  verbosity_ = TVar::ERROR 
)

Definition at line 5 of file RooSpinZero_5D_VH.cc.

12  : RooSpinZero(
13  name, title,
14  _measurables,
15  _parameters,
16  _couplings,
17  _Vdecay1, _Vdecay2,
18  verbosity_
19 )
20 {}

◆ RooSpinZero_5D_VH() [3/3]

RooSpinZero_5D_VH::RooSpinZero_5D_VH ( const RooSpinZero_5D_VH other,
const char *  name = 0 
)

Definition at line 23 of file RooSpinZero_5D_VH.cc.

25  : RooSpinZero(other, name)
26 {}

◆ ~RooSpinZero_5D_VH()

virtual RooSpinZero_5D_VH::~RooSpinZero_5D_VH ( )
inlinevirtual

Definition at line 22 of file RooSpinZero_5D_VH.h.

22 {}

Member Function Documentation

◆ analyticalIntegral()

Double_t RooSpinZero_5D_VH::analyticalIntegral ( Int_t  code,
const char *  rangeName = 0 
) const
virtual

Implements RooSpinZero.

Definition at line 213 of file RooSpinZero_5D_VH.cc.

213  {
214  Double_t epsilon=1e-10;
215  Double_t m1_=m1; if (Vdecay1==RooSpin::kVdecayType_GammaOnshell) return epsilon;
216  Double_t m2_=m2; if (Vdecay2==RooSpin::kVdecayType_GammaOnshell) m2_=0;
217  if ((m12+m2_) > m1_ || (m2_ <= 0. && Vdecay2!=RooSpin::kVdecayType_GammaOnshell) || m1_ <= 0.) return epsilon;
218 
219  Double_t betaValSq = (1.-(pow(m12-m2_, 2)/pow(m1_, 2)))*(1.-(pow(m12+m2_, 2)/pow(m1_, 2)));
220  if (betaValSq<=0.) return epsilon;
221  Double_t betaVal = sqrt(betaValSq);
222 
223  Double_t term1Coeff = 1;
224  Double_t term2Coeff = 1;
225  term1Coeff = pow(m1_*GeVunit, -2);
226  if (Vdecay2!=RooSpin::kVdecayType_GammaOnshell) term2Coeff = 2.*m2_*GeVunit;
227 
228  Double_t value = 0;
229  for (int VGammaVpmode1=0; VGammaVpmode1<=2; VGammaVpmode1++){
230  for (int VGammaVpmode2=0; VGammaVpmode2<=2; VGammaVpmode2++){
231  if (!(
232  (VGammaVpmode1==0 && VGammaVpmode2==0 && Vdecay1!=RooSpin::kVdecayType_GammaOnshell && Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
233  ||
234  (VGammaVpmode1==0 && VGammaVpmode2==1 && Vdecay1!=RooSpin::kVdecayType_GammaOnshell)
235  ||
236  (VGammaVpmode1==1 && VGammaVpmode2==0 && Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
237  ||
238  (VGammaVpmode1==1 && VGammaVpmode2==1)
239  ||
240  (VGammaVpmode1==0 && VGammaVpmode2==2 && Vdecay1!=RooSpin::kVdecayType_GammaOnshell && Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
241  ||
242  (VGammaVpmode1==2 && VGammaVpmode2==0 && Vdecay1!=RooSpin::kVdecayType_GammaOnshell && Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
243  ||
244  (VGammaVpmode1==2 && VGammaVpmode2==2 && Vdecay1!=RooSpin::kVdecayType_GammaOnshell && Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
245  )) continue;
246  Double_t val_A00=0, val_App=0, val_Amm=0, val_A0p=0, val_A0m=0, val_Amp=0;
247  evaluatePolarizationTerms(val_A00, val_App, val_Amm, val_A0p, val_A0m, val_Amp, code, VGammaVpmode1, VGammaVpmode2);
248  value += val_A00 + val_App + val_Amm + val_A0p + val_A0m + val_Amp;
249  }
250  }
251  value *= betaVal*term1Coeff*term2Coeff;
252  return value;
253 }

◆ clone()

virtual TObject* RooSpinZero_5D_VH::clone ( const char *  newname) const
inlinevirtual

Implements RooSpinZero.

Definition at line 21 of file RooSpinZero_5D_VH.h.

21 { return new RooSpinZero_5D_VH(*this, newname); }

◆ evaluate()

Double_t RooSpinZero_5D_VH::evaluate ( ) const
virtual

Implements RooSpinZero.

Definition at line 161 of file RooSpinZero_5D_VH.cc.

161  {
162  Double_t epsilon=1e-15;
163  Double_t m1_=m1; if (Vdecay1==RooSpin::kVdecayType_GammaOnshell) return epsilon;
164  Double_t m2_=m2; if (Vdecay2==RooSpin::kVdecayType_GammaOnshell) m2_=0;
165  if ((m12+m2_) > m1_ || (m2_ <= 0. && Vdecay2!=RooSpin::kVdecayType_GammaOnshell) || m1_ <= 0.) return epsilon;
166 
167  Int_t code = intCodeStart;
169 
170  Double_t betaValSq = (1.-(pow(m12-m2_, 2)/pow(m1_, 2)))*(1.-(pow(m12+m2_, 2)/pow(m1_, 2)));
171  if (betaValSq<=0.) return epsilon;
172  Double_t betaVal = sqrt(betaValSq);
173 
174  Double_t term1Coeff = 1;
175  Double_t term2Coeff = 1;
176  term1Coeff = pow(m1_*GeVunit, -2);
177  if (Vdecay2!=RooSpin::kVdecayType_GammaOnshell) term2Coeff = 2.*m2_*GeVunit;
178 
179  Double_t value = 0;
180  for (int VGammaVpmode1=0; VGammaVpmode1<=2; VGammaVpmode1++){
181  for (int VGammaVpmode2=0; VGammaVpmode2<=2; VGammaVpmode2++){
182  if (!(
184  &&
185  (VGammaVpmode2==1 || Vdecay2!=RooSpin::kVdecayType_GammaOnshell)
186  )
187  ||
188  VGammaVpmode1==1
189  ||
190  (VGammaVpmode1==2 && VGammaVpmode2==1)
191  ||
192  !computeNeededAmplitude(VGammaVpmode1, VGammaVpmode2)
193  ) continue;
194  Double_t val_A00=0, val_App=0, val_Amm=0, val_A0p=0, val_A0m=0, val_Amp=0;
195  evaluatePolarizationTerms(val_A00, val_App, val_Amm, val_A0p, val_A0m, val_Amp, code, VGammaVpmode1, VGammaVpmode2);
196  value += val_A00 + val_App + val_Amm + val_A0p + val_A0m + val_Amp;
197  }
198  }
199  value *= betaVal*term1Coeff*term2Coeff;
200  return value;
201 }

◆ evaluatePolarizationTerms()

void RooSpinZero_5D_VH::evaluatePolarizationTerms ( Double_t &  A00term,
Double_t &  Appterm,
Double_t &  Ammterm,
Double_t &  A00ppterm,
Double_t &  A00mmterm,
Double_t &  Appmmterm,
const Int_t  code,
int  VGammaVpmode1 = 0,
int  VGammaVpmode2 = 0 
) const
protectedvirtual

Implements RooSpinZero.

Definition at line 28 of file RooSpinZero_5D_VH.cc.

33  {
34  const Double_t Pi = TMath::Pi();
35 
36  Double_t R1Val, R2Val;
37  calculateVffR1R2(R1Val, R2Val, VGammaVpmode1==1, VGammaVpmode2==1);
38  if (VGammaVpmode1==2 || VGammaVpmode2==2){
39  Double_t RVp1Val=0, RVp2Val=0;
40  calculateVprimeffR1R2(RVp1Val, RVp2Val);
41  if (VGammaVpmode1==2) R1Val=RVp1Val;
42  if (VGammaVpmode2==2) R1Val=RVp2Val;
43  }
44 
45  Double_t A00Re, A00Im, AppRe, AppIm, AmmRe, AmmIm;
46  calculateAmplitudes(A00Re, A00Im, AppRe, AppIm, AmmRe, AmmIm, VGammaVpmode1, VGammaVpmode2);
47 
48  Double_t A00 = A00Im*A00Im + A00Re*A00Re;
49  Double_t App = AppIm*AppIm + AppRe*AppRe;
50  Double_t Amm = AmmIm*AmmIm + AmmRe*AmmRe;
51 
52  Double_t phi00=atan2(A00Im, A00Re);
53  Double_t phipp=atan2(AppIm, AppRe)-phi00;
54  Double_t phimm=atan2(AmmIm, AmmRe)-phi00;
55 
56  Double_t A00_prefactor = 1.;
57  Double_t Amm_pp_prefactor = 1.;
58  Double_t A00mm_prefactor = 2.;
59  Double_t A00pp_prefactor = 2.;
60  Double_t Ammpp_prefactor = 2.;
61 
62  A00term = A00*A00_prefactor;
63  Appterm = App*Amm_pp_prefactor;
64  Ammterm = Amm*Amm_pp_prefactor;
65  A00ppterm = sqrt(A00*App)*A00pp_prefactor;
66  A00mmterm = sqrt(A00*Amm)*A00mm_prefactor;
67  Appmmterm = sqrt(Amm*App)*Ammpp_prefactor;
68 
69  if ((code % prime_h1)==0){
70  Double_t A00_h1int = 4./3.;
71  Double_t Ammpp_h1int = 8./3.;
72  Double_t A0m_h1int = Pi/2.*R1Val;
73  Double_t A0p_h1int = Pi/2.*R1Val;
74  Double_t Amp_h1int = 4./3.;
75 
76  if (A00term!=0) A00term *= A00_h1int;
77  if (Appterm!=0) Appterm *= Ammpp_h1int;
78  if (Ammterm!=0) Ammterm *= Ammpp_h1int;
79  if (A00ppterm!=0) A00ppterm *= A0p_h1int;
80  if (A00mmterm!=0) A00mmterm *= A0m_h1int;
81  if (Appmmterm!=0) Appmmterm *= Amp_h1int;
82  }
83  else{
84  if (A00term!=0) A00term *= (1. - pow(h1, 2));
85  if (Appterm!=0) Appterm *= (1. + pow(h1, 2) - 2.*h1*R1Val);
86  if (Ammterm!=0) Ammterm *= (1. + pow(h1, 2) + 2.*h1*R1Val);
87  if (A00ppterm!=0) A00ppterm *= sqrt(1. - pow(h1, 2))*(R1Val - h1);
88  if (A00mmterm!=0) A00mmterm *= sqrt(1. - pow(h1, 2))*(R1Val + h1);
89  if (Appmmterm!=0) Appmmterm *= (1. - pow(h1, 2));
90  }
91 
92  if ((code % prime_h2)==0){
93  Double_t A00_h2int = 4./3.;
94  Double_t Ammpp_h2int = 8./3.;
95  Double_t A0m_h2int = Pi/2.*R2Val;
96  Double_t A0p_h2int = Pi/2.*R2Val;
97  Double_t Amp_h2int = 4./3.;
98 
99  if (A00term!=0) A00term *= A00_h2int;
100  if (Appterm!=0) Appterm *= Ammpp_h2int;
101  if (Ammterm!=0) Ammterm *= Ammpp_h2int;
102  if (A00ppterm!=0) A00ppterm *= A0p_h2int;
103  if (A00mmterm!=0) A00mmterm *= A0m_h2int;
104  if (Appmmterm!=0) Appmmterm *= Amp_h2int;
105  }
106  else{
107  if (A00term!=0) A00term *= (1. - pow(h2, 2));
108  if (Appterm!=0) Appterm *= (1. + pow(h2, 2) + 2.*h2*R2Val);
109  if (Ammterm!=0) Ammterm *= (1. + pow(h2, 2) - 2.*h2*R2Val);
110  if (A00ppterm!=0) A00ppterm *= sqrt(1. - pow(h2, 2))*(R2Val + h2);
111  if (A00mmterm!=0) A00mmterm *= sqrt(1. - pow(h2, 2))*(R2Val - h2);
112  if (Appmmterm!=0) Appmmterm *= (1. - pow(h2, 2));
113  }
114 
115  if ((code % prime_hs)==0){
116  Double_t A_hsint = 2.;
117 
118  if (A00term!=0) A00term *= A_hsint;
119  if (Appterm!=0) Appterm *= A_hsint;
120  if (Ammterm!=0) Ammterm *= A_hsint;
121  if (A00ppterm!=0) A00ppterm *= A_hsint;
122  if (A00mmterm!=0) A00mmterm *= A_hsint;
123  if (Appmmterm!=0) Appmmterm *= A_hsint;
124  } // else *= 1
125 
126  if ((code % prime_Phi)==0){
127  Double_t A00mmpp_phiint = 2.*Pi;
128  Double_t A0p_phiint = 0;
129  Double_t A0m_phiint = 0;
130  Double_t Amp_phiint = 0;
131 
132  if (A00term!=0) A00term *= A00mmpp_phiint;
133  if (Appterm!=0) Appterm *= A00mmpp_phiint;
134  if (Ammterm!=0) Ammterm *= A00mmpp_phiint;
135  if (A00ppterm!=0) A00ppterm *= A0p_phiint;
136  if (A00mmterm!=0) A00mmterm *= A0m_phiint;
137  if (Appmmterm!=0) Appmmterm *= Amp_phiint;
138  }
139  else{
140  //if (A00term!=0) A00term *= 1.;
141  //if (Appterm!=0) Appterm *= 1.;
142  //if (Ammterm!=0) Ammterm *= 1.;
143  if (A00ppterm!=0) A00ppterm *= cos(Phi + phipp);
144  if (A00mmterm!=0) A00mmterm *= cos(Phi - phimm);
145  if (Appmmterm!=0) Appmmterm *= cos(2*Phi - phimm + phipp);
146  }
147 
148  if ((code % prime_Phi1)==0){
149  Double_t A_phi1int = 2.*Pi;
150 
151  if (A00term!=0) A00term *= A_phi1int;
152  if (Appterm!=0) Appterm *= A_phi1int;
153  if (Ammterm!=0) Ammterm *= A_phi1int;
154  if (A00ppterm!=0) A00ppterm *= A_phi1int;
155  if (A00mmterm!=0) A00mmterm *= A_phi1int;
156  if (Appmmterm!=0) Appmmterm *= A_phi1int;
157  }
158  // else *= 1
159 }

◆ getAnalyticalIntegral()

Int_t RooSpinZero_5D_VH::getAnalyticalIntegral ( RooArgSet &  allVars,
RooArgSet &  analVars,
const char *  rangeName = 0 
) const
virtual

Implements RooSpinZero.

Definition at line 203 of file RooSpinZero_5D_VH.cc.

203  {
204  Int_t code = intCodeStart;
205  if (checkFundamentalType(h1)){ if (matchArgs(allVars, analVars, h1)) code *= prime_h1; }
206  if (checkFundamentalType(h2)){ if (matchArgs(allVars, analVars, h2) || Vdecay2==RooSpin::kVdecayType_GammaOnshell) code *= prime_h2; }
207  if (checkFundamentalType(hs)){ if (matchArgs(allVars, analVars, hs)) code *= prime_hs; }
208  if (checkFundamentalType(Phi)){ if (matchArgs(allVars, analVars, Phi) || Vdecay2==RooSpin::kVdecayType_GammaOnshell) code *= prime_Phi; }
209  if (checkFundamentalType(Phi1)){ if (matchArgs(allVars, analVars, Phi1) || Vdecay2==RooSpin::kVdecayType_GammaOnshell) code *= prime_Phi1; }
210  if (code==1) code=0;
211  return code;
212 }

The documentation for this class was generated from the following files:
value
pymela::gHIGGS_KAPPA value("gHIGGS_KAPPA_TILDE", pymela::gHIGGS_KAPPA_TILDE) .value("SIZE_HQQ"
RooSpin::Phi
RooRealProxy Phi
Definition: RooSpin.h:110
RooSpinZero_5D_VH::RooSpinZero_5D_VH
RooSpinZero_5D_VH()
Definition: RooSpinZero_5D_VH.cc:4
RooSpin::m12
RooRealProxy m12
Definition: RooSpin.h:113
RooSpin::prime_h1
@ prime_h1
Definition: RooSpin.h:39
RooSpin::prime_Phi
@ prime_Phi
Definition: RooSpin.h:42
RooSpin::prime_Phi1
@ prime_Phi1
Definition: RooSpin.h:43
RooSpinZero::RooSpinZero
RooSpinZero()
Definition: RooSpinZero.cc:8
RooSpin::m1
RooRealProxy m1
Definition: RooSpin.h:111
RooSpinZero::computeNeededAmplitude
virtual Bool_t computeNeededAmplitude(int VGammaVpmode1, int VGammaVpmode2) const final
Definition: RooSpinZero.cc:583
RooSpin::calculateVprimeffR1R2
virtual void calculateVprimeffR1R2(Double_t &R1Val, Double_t &R2Val) const
Definition: RooSpin.cc:343
RooSpin::checkFundamentalType
virtual Bool_t checkFundamentalType(const RooRealProxy &proxy) const
Definition: RooSpin.cc:392
RooSpin::Vdecay2
RooSpin::VdecayType Vdecay2
Definition: RooSpin.h:136
RooSpin::intCodeStart
Int_t intCodeStart
Definition: RooSpin.h:138
RooSpin::kVdecayType_GammaOnshell
@ kVdecayType_GammaOnshell
Definition: RooSpin.h:30
RooSpinZero_5D_VH::evaluatePolarizationTerms
void evaluatePolarizationTerms(Double_t &A00term, Double_t &Appterm, Double_t &Ammterm, Double_t &A00ppterm, Double_t &A00mmterm, Double_t &Appmmterm, const Int_t code, int VGammaVpmode1=0, int VGammaVpmode2=0) const
Definition: RooSpinZero_5D_VH.cc:28
RooSpin::prime_h2
@ prime_h2
Definition: RooSpin.h:40
RooSpin::m2
RooRealProxy m2
Definition: RooSpin.h:112
RooSpin::h2
RooRealProxy h2
Definition: RooSpin.h:109
RooSpinZero::calculateAmplitudes
virtual void calculateAmplitudes(Double_t &A00Re, Double_t &A00Im, Double_t &AppRe, Double_t &AppIm, Double_t &AmmRe, Double_t &AmmIm, int VGammaVpmode1=0, int VGammaVpmode2=0) const
Definition: RooSpinZero.cc:477
RooSpin::hs
RooRealProxy hs
Definition: RooSpin.h:114
RooSpin::GeVunit
static constexpr Double_t GeVunit
Definition: RooSpin.h:141
RooSpin::Vdecay1
RooSpin::VdecayType Vdecay1
Definition: RooSpin.h:135
RooSpin::h1
RooRealProxy h1
Definition: RooSpin.h:108
RooSpin::calculateVffR1R2
virtual void calculateVffR1R2(Double_t &R1Val, Double_t &R2Val, bool isGammaV1=false, bool isGammaV2=false) const
Definition: RooSpin.cc:297
RooSpin::prime_hs
@ prime_hs
Definition: RooSpin.h:41
RooSpin::Phi1
RooRealProxy Phi1
Definition: RooSpin.h:115