JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
RooSpinZero_5D_VH Class Reference

#include <RooSpinZero_5D_VH.h>

Inheritance diagram for RooSpinZero_5D_VH:
Collaboration diagram for RooSpinZero_5D_VH:

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
RooSpin::prime_hs
@ prime_hs
Definition: RooSpin.h:41
RooSpinZero_5D_VH::RooSpinZero_5D_VH
RooSpinZero_5D_VH()
Definition: RooSpinZero_5D_VH.cc:4
RooSpin::m12
RooRealProxy m12
Definition: RooSpin.h:113
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::prime_Phi
@ prime_Phi
Definition: RooSpin.h:42
RooSpin::checkFundamentalType
virtual Bool_t checkFundamentalType(const RooRealProxy &proxy) const
Definition: RooSpin.cc:392
RooSpin::prime_h2
@ prime_h2
Definition: RooSpin.h:40
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::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::prime_h1
@ prime_h1
Definition: RooSpin.h:39
RooSpin::GeVunit
static constexpr Double_t GeVunit
Definition: RooSpin.h:141
RooSpin::prime_Phi1
@ prime_Phi1
Definition: RooSpin.h:43
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::Phi1
RooRealProxy Phi1
Definition: RooSpin.h:115