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

#include <RooSpin.h>

Inheritance diagram for RooSpin:
Collaboration diagram for RooSpin:

Classes

struct  modelMeasurables
 
struct  modelParameters
 

Public Types

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
}
 

Public Member Functions

 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 ()
 
virtual TObject * clone (const char *newname) const =0
 
virtual Double_t evaluate () const =0
 
virtual Int_t getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const =0
 
virtual Double_t analyticalIntegral (Int_t code, const char *rangeName=0) const =0
 
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)
 
virtual void printParameters () const
 

Protected Member Functions

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
 
virtual Bool_t computeNeededAmplitude (int, int) const
 

Protected Attributes

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

static constexpr Double_t GeVunit =1e-2
 

Detailed Description

Definition at line 25 of file RooSpin.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
prime_h1 
prime_h2 
prime_hs 
prime_Phi 
prime_Phi1 
prime_m1 
prime_m2 
prime_m12 
prime_Y 

Definition at line 38 of file RooSpin.h.

38  {
39  prime_h1=2,
40  prime_h2=3,
41  prime_hs=5,
42  prime_Phi=7,
43  prime_Phi1=11,
44  prime_m1=13,
45  prime_m2=17,
46  prime_m12=19,
47  prime_Y=23
48  };

◆ VdecayType

Enumerator
kVdecayType_Wany 
kVdecayType_GammaOnshell 
kVdecayType_Zll 
kVdecayType_Znn 
kVdecayType_Zuu 
kVdecayType_Zdd 
kVdecayType_Zud 

Definition at line 28 of file RooSpin.h.

28  {
36  };

Constructor & Destructor Documentation

◆ RooSpin() [1/3]

RooSpin::RooSpin ( )

Definition at line 36 of file RooSpin.cc.

36  : RooAbsPdf(),
38 {}

◆ RooSpin() [2/3]

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 
)

Definition at line 40 of file RooSpin.cc.

46  : RooAbsPdf(name, title),
47 
48 h1("h1", "h1", this),
49 h2("h2", "h2", this),
50 Phi("Phi", "Phi", this),
51 m1("m1", "m1", this),
52 m2("m2", "m2", this),
53 m12("m12", "m12", this),
54 hs("hs", "hs", this),
55 Phi1("Phi1", "Phi1", this),
56 Y("Y", "Y", this),
57 
58 mX("mX", "mX", this, (RooAbsReal&)*(_parameters.mX)),
59 gamX("gamX", "gamX", this, (RooAbsReal&)*(_parameters.gamX)),
60 mW("mW", "mW", this, (RooAbsReal&)*(_parameters.mW)),
61 gamW("gamW", "gamW", this, (RooAbsReal&)*(_parameters.gamW)),
62 mZ("mZ", "mZ", this, (RooAbsReal&)*(_parameters.mZ)),
63 gamZ("gamZ", "gamZ", this, (RooAbsReal&)*(_parameters.gamZ)),
64 mWprime("mWprime", "mWprime", this, (RooAbsReal&)*(_parameters.mWprime)),
65 gamWprime("gamWprime", "gamWprime", this, (RooAbsReal&)*(_parameters.gamWprime)),
66 mZprime("mZprime", "mZprime", this, (RooAbsReal&)*(_parameters.mZprime)),
67 gamZprime("gamZprime", "gamZprime", this, (RooAbsReal&)*(_parameters.gamZprime)),
68 Sin2ThetaW("Sin2ThetaW", "Sin2ThetaW", this, (RooAbsReal&)*(_parameters.Sin2ThetaW)),
69 vev("vev", "vev", this, (RooAbsReal&)*(_parameters.vev)),
70 gVprimeff_decay1_left("gVprimeff_decay1_left", "gVprimeff_decay1_left", this, (RooAbsReal&)*(_parameters.gVprimeff_decay1_left)),
71 gVprimeff_decay1_right("gVprimeff_decay1_right", "gVprimeff_decay1_right", this, (RooAbsReal&)*(_parameters.gVprimeff_decay1_right)),
72 gVprimeff_decay2_left("gVprimeff_decay2_left", "gVprimeff_decay2_left", this, (RooAbsReal&)*(_parameters.gVprimeff_decay2_left)),
73 gVprimeff_decay2_right("gVprimeff_decay2_right", "gVprimeff_decay2_right", this, (RooAbsReal&)*(_parameters.gVprimeff_decay2_right)),
74 
75 
76 Vdecay1(_Vdecay1), Vdecay2(_Vdecay2),
77 intCodeStart(1),
78 
79 verbosity(verbosity_)
80 {
81  setProxies(_measurables);
82 }

◆ RooSpin() [3/3]

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

Definition at line 84 of file RooSpin.cc.

84  :
85  RooAbsPdf(other, name),
86 
87  h1("h1", this, other.h1),
88  h2("h2", this, other.h2),
89  Phi("Phi", this, other.Phi),
90  m1("m1", this, other.m1),
91  m2("m2", this, other.m2),
92  m12("m12", this, other.m12),
93  hs("hs", this, other.hs),
94  Phi1("Phi1", this, other.Phi1),
95  Y("Y", this, other.Y),
96 
97  mX("mX", this, other.mX),
98  gamX("gamX", this, other.gamX),
99  mW("mW", this, other.mW),
100  gamW("gamW", this, other.gamW),
101  mZ("mZ", this, other.mZ),
102  gamZ("gamZ", this, other.gamZ),
103  mWprime("mWprime", this, other.mWprime),
104  gamWprime("gamWprime", this, other.gamWprime),
105  mZprime("mZprime", this, other.mZprime),
106  gamZprime("gamZprime", this, other.gamZprime),
107  Sin2ThetaW("Sin2ThetaW", this, other.Sin2ThetaW),
108  vev("vev", this, other.vev),
109  gVprimeff_decay1_left("gVprimeff_decay1_left", this, other.gVprimeff_decay1_left),
110  gVprimeff_decay1_right("gVprimeff_decay1_right", this, other.gVprimeff_decay1_right),
111  gVprimeff_decay2_left("gVprimeff_decay2_left", this, other.gVprimeff_decay2_left),
112  gVprimeff_decay2_right("gVprimeff_decay2_right", this, other.gVprimeff_decay2_right),
113 
114  Vdecay1(other.Vdecay1), Vdecay2(other.Vdecay2),
115  intCodeStart(other.intCodeStart),
116 
117  verbosity(other.verbosity)
118 {}

◆ ~RooSpin()

virtual RooSpin::~RooSpin ( )
inlinevirtual

Definition at line 89 of file RooSpin.h.

89 {}

Member Function Documentation

◆ alwaysIntegrate()

void RooSpin::alwaysIntegrate ( Int_t  code = 1)
virtual

Definition at line 120 of file RooSpin.cc.

120  {
121  intCodeStart=1;
122  if (code%prime_h1==0)intCodeStart *= prime_h1;
123  if (code%prime_h2==0)intCodeStart *= prime_h2;
124  if (code%prime_hs==0)intCodeStart *= prime_hs;
125  if (code%prime_Phi==0)intCodeStart *= prime_Phi;
126  if (code%prime_Phi1==0)intCodeStart *= prime_Phi1;
127  if (code%prime_m1==0)intCodeStart *= prime_m1;
128  if (code%prime_m2==0)intCodeStart *= prime_m2;
129  if (code%prime_m12==0)intCodeStart *= prime_m12;
130  if (code%prime_Y==0)intCodeStart *= prime_Y;
131 }

◆ analyticalIntegral()

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

◆ calculateAmplitudeScale()

Double_t RooSpin::calculateAmplitudeScale ( int  VGammaVpmode1 = 0,
int  VGammaVpmode2 = 0 
) const
protectedvirtual

Definition at line 366 of file RooSpin.cc.

366  {
367  Double_t gV1=0, gV2=0, gA1=0, gA2=0;
368  if (VGammaVpmode1<2) calculateVffGVGA(gV1, gA1, Vdecay1, (VGammaVpmode1==1));
369  else calculateVprimeffR1R2(gV1, gA1);
370  if (VGammaVpmode2<2) calculateVffGVGA(gV2, gA2, Vdecay2, (VGammaVpmode2==1));
371  else calculateVprimeffR1R2(gV2, gA2);
372  Double_t ampScale = sqrt((pow(gV1, 2) + pow(gA1, 2))*(pow(gV2, 2) + pow(gA2, 2)));
373  return ampScale;
374 }

◆ calculatePropagator()

void RooSpin::calculatePropagator ( Double_t &  propRe,
Double_t &  propIm,
Double_t  mass,
Int_t  propType = 1 
) const
protectedvirtual

Definition at line 133 of file RooSpin.cc.

133  {
134  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculatePropagator: Calling propagator with type " << propType << " and mass " << mass << endl;
135  // prop = -i / ((m**2-mV**2) + i*mV*GaV) = - ( mV*GaV + i*(m**2-mV**2) ) / ((m**2-mV**2)**2 + (mV*GaV)**2)
136  if (propType==0){ // Photon
137  propRe = 0.;
138  propIm = (mass!=0. ? -1./pow(mass, 2) : 0.);
139  propIm *= pow(GeVunit, -2);
140  }
141  else if (propType==1){ // Massive vector boson
142  Double_t mV, gamV;
143  getMVGamV(&mV, &gamV);
144  if (gamV>0){
145  Double_t denominator = pow(mV*gamV, 2)+pow(pow(mass, 2)-pow(mV, 2), 2);
146  propRe = -mV*gamV/denominator;
147  propIm = -(pow(mass, 2)-pow(mV, 2))/denominator;
148  propRe *= pow(GeVunit, -2);
149  propIm *= pow(GeVunit, -2);
150  }
151  else{
152  propRe = (mass==mV ? 1. : 0.);
153  propIm = 0.;
154  }
155  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculatePropagator: mV / gamV = " << mV << " / " << gamV << endl;
156  }
157  else if (propType==2){ // Higgs prop = i / ((m**2-mX**2) + i*mX*GaX) = - ( mX*GaX + i*(m**2-mX**2) ) / ((m**2-mX**2)**2 + (mX*GaX)**2)
158  if (gamX>0.){
159  Double_t denominator = pow(mX*gamX, 2)+pow(pow(mass, 2)-pow(mX, 2), 2);
160  propRe = mX*gamX/denominator;
161  propIm = (pow(mass, 2)-pow(mX, 2))/denominator;
162  propRe *= pow(GeVunit, -2);
163  propIm *= pow(GeVunit, -2);
164  }
165  else{
166  propRe = (mass==mX ? 1. : 0.);
167  propIm = 0.;
168  }
169  }
170  else if (propType==3){ // Massive vector boson Vprime
171  Double_t mV, gamV;
172  getMVprimeGamVprime(&mV, &gamV);
173  if (gamV>=0. && mV>=0.){
174  Double_t denominator = pow(mV*gamV, 2)+pow(pow(mass, 2)-pow(mV, 2), 2);
175  propRe = -mV*gamV/denominator;
176  propIm = -(pow(mass, 2)-pow(mV, 2))/denominator;
177  propRe *= pow(GeVunit, -2);
178  propIm *= pow(GeVunit, -2);
179  }
180  else if (mV<0.){
181  getMVGamV(&mV, &gamV);
182  calculatePropagator(propRe, propIm, mV, 0);
183  }
184  else{
185  propRe = 0;
186  propIm = 0;
187  }
188  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculatePropagator: mV / gamV = " << mV << " / " << gamV << endl;
189  }
190  else{
191  propRe = 1.;
192  propIm = 0.;
193  }
194  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculatePropagator: Final propagator = " << propRe << ", " << propIm << endl;
195 }

◆ calculateVffGVGA()

void RooSpin::calculateVffGVGA ( Double_t &  gV,
Double_t &  gA,
RooSpin::VdecayType  Vdecay,
bool  isGamma = false 
) const
protectedvirtual

Definition at line 196 of file RooSpin.cc.

196  {
197  const Double_t atomicT3 = 0.5;
198  const Double_t atomicCharge = 1.;
199 
200  const Double_t gW = 2.*mW/vev;
201  const Double_t overallFactorZ = gW*0.5/sqrt(1.-Sin2ThetaW); // i*g/(2*cos(thetaW))
202  const Double_t overallFactorGamma = -gW*sqrt(Sin2ThetaW); // -i*e*Qf
203  const Double_t overallFactorW = gW*0.5/sqrt(2.); // i*g/(2*sqrt(2))
204 
205  const Double_t Q_up = 2.*atomicCharge/3.;
206  const Double_t Q_dn = -atomicCharge/3.;
207  const Double_t Q_l = -atomicCharge;
208  const Double_t Q_nu = 0;
209 
210  // gV = T3 - 2*Qf*sintW**2
211  const Double_t gV_up = atomicT3 - 2.*Q_up*Sin2ThetaW; // ~0.19
212  const Double_t gV_dn = -atomicT3 - 2.*Q_dn*Sin2ThetaW; // ~-0.35
213  const Double_t gV_l = -atomicT3 - 2.*Q_l*Sin2ThetaW;
214  const Double_t gV_nu = atomicT3 - 2.*Q_nu*Sin2ThetaW;
215 
216  // gA = T3
217  const Double_t gA_up = atomicT3;
218  const Double_t gA_dn = -atomicT3;
219  const Double_t gA_l = -atomicT3;
220  const Double_t gA_nu = atomicT3;
221 
222  if (Vdecay==RooSpin::kVdecayType_Zud){
223  if (!isGamma){
224  double yy_up = pow(gV_up, 2) + pow(gA_up, 2);
225  double yy_dn = pow(gV_dn, 2) + pow(gA_dn, 2);
226  double xx_up = gV_up*gA_up;
227  double xx_dn = gV_dn*gA_dn;
228  double yy = (2.*yy_up+3.*yy_dn)/5.;
229  double xx = (2.*xx_up+3.*xx_dn)/5.;
230  double discriminant = pow(yy, 2)-4.*pow(xx, 2);
231  gV = (yy+sqrt(fabs(discriminant)))/2.;
232  gA = pow(xx, 2)/gV;
233  gV = -overallFactorZ*sqrt(gV); // ~-0.28
234  gA = -overallFactorZ*sqrt(gA); // ~-0.5
235  }
236  else{
237  gV = overallFactorGamma*sqrt((2.*pow(Q_up, 2) + 3.*pow(Q_dn, 2))/5.);
238  gA = 0;
239  }
240  }
241  else if (Vdecay==RooSpin::kVdecayType_Zdd){
242  if (!isGamma){
243  gV = overallFactorZ*gV_dn;
244  gA = overallFactorZ*gA_dn;
245  }
246  else{
247  gV = overallFactorGamma*Q_dn;
248  gA = 0;
249  }
250  }
251  else if (Vdecay==RooSpin::kVdecayType_Zuu){
252  if (!isGamma){
253  gV = overallFactorZ*gV_up;
254  gA = overallFactorZ*gA_up;
255  }
256  else{
257  gV = overallFactorGamma*Q_up;
258  gA = 0;
259  }
260  }
261  else if (Vdecay==RooSpin::kVdecayType_Znn){
262  if (!isGamma){
263  gV = overallFactorZ*gV_nu;
264  gA = overallFactorZ*gA_nu;
265  }
266  else{
267  gV = overallFactorGamma*Q_nu;
268  gA = 0;
269  }
270  }
271  else if (Vdecay==RooSpin::kVdecayType_Zll){
272  if (!isGamma){
273  gV = overallFactorZ*gV_l;
274  gA = overallFactorZ*gA_l;
275  }
276  else{
277  gV = overallFactorGamma*Q_l;
278  gA = 0;
279  }
280  }
281  else if (Vdecay==RooSpin::kVdecayType_Wany){
282  if (!isGamma){
283  gV = overallFactorW;
284  gA = overallFactorW;
285  }
286  else{
287  gV = 0;
288  gA = 0;
289  }
290  }
291  else{
292  gV = 1;
293  gA = 0;
294  }
295  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculateVffGVGA( " << gV << " , " << gA << " , " << Vdecay << " , " << isGamma << " )" << endl;
296 }

◆ calculateVffR1R2()

void RooSpin::calculateVffR1R2 ( Double_t &  R1Val,
Double_t &  R2Val,
bool  isGammaV1 = false,
bool  isGammaV2 = false 
) const
protectedvirtual

Definition at line 297 of file RooSpin.cc.

297  {
298  R1Val=0; R2Val=0;
299  Double_t gV1=0, gV2=0, gA1=0, gA2=0;
300  calculateVffGVGA(gV1, gA1, Vdecay1, isGammaV1);
301  if (gV1!=0. || gA1!=0.) R1Val = 2.*gV1*gA1/(pow(gV1, 2) + pow(gA1, 2));
302  calculateVffGVGA(gV2, gA2, Vdecay2, isGammaV2);
303  if (gV2!=0. || gA2!=0.) R2Val = 2.*gV2*gA2/(pow(gV2, 2) + pow(gA2, 2));
304 }

◆ calculateVprimeffGVGA()

void RooSpin::calculateVprimeffGVGA ( Double_t &  gV,
Double_t &  gA,
int  whichVprime 
) const
protectedvirtual

Definition at line 320 of file RooSpin.cc.

320  {
321  const Double_t gW = 2.*mW/vev;
322  const Double_t overallFactor = gW*0.5/sqrt(1.-Sin2ThetaW);
323 
324  Double_t gL=0, gR=0;
325  switch (whichVprime){
326  case 1:
329  break;
330  case 2:
333  break;
334  default:
335  break;
336  };
337 
338  gV=(gL+gR)/2.*overallFactor;
339  gA=(gL-gR)/2.*overallFactor;
340 
341  if (verbosity>=TVar::DEBUG) MELAout << "RooSpin::calculateVprimeffGVGA( " << gV << " , " << gA << " , " << whichVprime << " )" << endl;
342 }

◆ calculateVprimeffR1R2()

void RooSpin::calculateVprimeffR1R2 ( Double_t &  R1Val,
Double_t &  R2Val 
) const
protectedvirtual

Definition at line 343 of file RooSpin.cc.

343  {
344  R1Val=0; R2Val=0;
345  Double_t gV1=0, gV2=0, gA1=0, gA2=0;
346  calculateVprimeffGVGA(gV1, gA1, 1);
347  if (gV1!=0. || gA1!=0.) R1Val = 2.*gV1*gA1/(pow(gV1, 2) + pow(gA1, 2));
348  calculateVprimeffGVGA(gV2, gA2, 2);
349  if (gV2!=0. || gA2!=0.) R2Val = 2.*gV2*gA2/(pow(gV2, 2) + pow(gA2, 2));
350 }

◆ checkFundamentalType()

Bool_t RooSpin::checkFundamentalType ( const RooRealProxy &  proxy) const
protectedvirtual

Definition at line 392 of file RooSpin.cc.

392  {
393  RooAbsArg* arg = proxy.absArg();
394  return (dynamic_cast<RooRealVar*>(arg)!=0);
395 }

◆ clone()

virtual TObject* RooSpin::clone ( const char *  newname) const
pure virtual

◆ computeNeededAmplitude()

virtual Bool_t RooSpin::computeNeededAmplitude ( int  ,
int   
) const
inlineprotectedvirtual

Reimplemented in RooSpinZero.

Definition at line 156 of file RooSpin.h.

156 { return true; }

◆ defaultIntegration()

virtual void RooSpin::defaultIntegration ( )
inlinevirtual

Definition at line 102 of file RooSpin.h.

102 { intCodeStart=1; }

◆ evaluate()

virtual Double_t RooSpin::evaluate ( ) const
pure virtual

◆ getAnalyticalIntegral()

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

◆ getMVGamV()

void RooSpin::getMVGamV ( Double_t *  mV = 0,
Double_t *  gamV = 0 
) const
virtual

Definition at line 305 of file RooSpin.cc.

305  {
307  if (mV!=0) (*mV)=mW;
308  if (gamV!=0) (*gamV)=gamW;
309  }
311  if (mV!=0) (*mV)=mZ;
312  if (gamV!=0) (*gamV)=gamZ;
313  }
314  else{
315  if (mV!=0) (*mV)=0;
316  if (gamV!=0) (*gamV)=0;
317  }
318 }

◆ getMVprimeGamVprime()

void RooSpin::getMVprimeGamVprime ( Double_t *  mV = 0,
Double_t *  gamV = 0 
) const
virtual

Definition at line 351 of file RooSpin.cc.

351  {
353  if (mV!=0) (*mV)=mWprime;
354  if (gamV!=0) (*gamV)=gamWprime;
355  }
357  if (mV!=0) (*mV)=mZprime;
358  if (gamV!=0) (*gamV)=gamZprime;
359  }
360  else{
361  if (mV!=0) (*mV)=0;
362  if (gamV!=0) (*gamV)=0;
363  }
364 }

◆ printParameters()

void RooSpin::printParameters ( ) const
virtual

Reimplemented in RooSpinZero, and RooSpinTwo.

Definition at line 397 of file RooSpin.cc.

397  {
398  MELAout << "mX: " << mX << endl;
399  MELAout << "gamX: " << gamX << endl;
400  MELAout << "mW: " << mW << endl;
401  MELAout << "gamW: " << gamW << endl;
402  MELAout << "mZ: " << mZ << endl;
403  MELAout << "gamZ: " << gamZ << endl;
404  MELAout << "mWprime: " << mWprime << endl;
405  MELAout << "gamWprime: " << gamWprime << endl;
406  MELAout << "mZprime: " << mZprime << endl;
407  MELAout << "gamZprime: " << gamZprime << endl;
408  MELAout << "Sin2ThetaW: " << Sin2ThetaW << endl;
409  MELAout << "vev: " << vev << endl;
410  MELAout << "gVprimeff_decay1_left: " << gVprimeff_decay1_left << endl;
411  MELAout << "gVprimeff_decay1_right: " << gVprimeff_decay1_right << endl;
412  MELAout << "gVprimeff_decay2_left: " << gVprimeff_decay2_left << endl;
413  MELAout << "gVprimeff_decay2_right: " << gVprimeff_decay2_right << endl;
414 }

◆ setDecayModes()

virtual void RooSpin::setDecayModes ( RooSpin::VdecayType  Vdecay1_,
RooSpin::VdecayType  Vdecay2_ 
)
inlinevirtual

Definition at line 98 of file RooSpin.h.

98 { Vdecay1=Vdecay1_; Vdecay2=Vdecay2_; }

◆ setProxies()

void RooSpin::setProxies ( modelMeasurables  _measurables)
protectedvirtual

Definition at line 378 of file RooSpin.cc.

378  {
379  setProxy(h1, (RooAbsReal*) _measurables.h1);
380  setProxy(h2, (RooAbsReal*) _measurables.h2);
381  setProxy(Phi, (RooAbsReal*) _measurables.Phi);
382  setProxy(m1, (RooAbsReal*) _measurables.m1);
383  setProxy(m2, (RooAbsReal*) _measurables.m2);
384  setProxy(m12, (RooAbsReal*) _measurables.m12);
385  setProxy(hs, (RooAbsReal*) _measurables.hs);
386  setProxy(Phi1, (RooAbsReal*) _measurables.Phi1);
387  setProxy(Y, (RooAbsReal*) _measurables.Y);
388 }

◆ setProxy()

void RooSpin::setProxy ( RooRealProxy &  proxy,
RooAbsReal *  objectPtr 
)
protectedvirtual

Definition at line 389 of file RooSpin.cc.

389  {
390  if (objectPtr!=0) proxy.setArg((RooAbsReal&) *objectPtr);
391 }

◆ setVerbosity()

void RooSpin::setVerbosity ( TVar::VerbosityLevel  verbosity_)

Definition at line 376 of file RooSpin.cc.

376 { this->verbosity=verbosity_; }

Member Data Documentation

◆ gamW

RooRealProxy RooSpin::gamW
protected

Definition at line 121 of file RooSpin.h.

◆ gamWprime

RooRealProxy RooSpin::gamWprime
protected

Definition at line 125 of file RooSpin.h.

◆ gamX

RooRealProxy RooSpin::gamX
protected

Definition at line 119 of file RooSpin.h.

◆ gamZ

RooRealProxy RooSpin::gamZ
protected

Definition at line 123 of file RooSpin.h.

◆ gamZprime

RooRealProxy RooSpin::gamZprime
protected

Definition at line 127 of file RooSpin.h.

◆ GeVunit

constexpr Double_t RooSpin::GeVunit =1e-2
staticconstexprprotected

Definition at line 141 of file RooSpin.h.

◆ gVprimeff_decay1_left

RooRealProxy RooSpin::gVprimeff_decay1_left
protected

Definition at line 130 of file RooSpin.h.

◆ gVprimeff_decay1_right

RooRealProxy RooSpin::gVprimeff_decay1_right
protected

Definition at line 131 of file RooSpin.h.

◆ gVprimeff_decay2_left

RooRealProxy RooSpin::gVprimeff_decay2_left
protected

Definition at line 132 of file RooSpin.h.

◆ gVprimeff_decay2_right

RooRealProxy RooSpin::gVprimeff_decay2_right
protected

Definition at line 133 of file RooSpin.h.

◆ h1

RooRealProxy RooSpin::h1
protected

Definition at line 108 of file RooSpin.h.

◆ h2

RooRealProxy RooSpin::h2
protected

Definition at line 109 of file RooSpin.h.

◆ hs

RooRealProxy RooSpin::hs
protected

Definition at line 114 of file RooSpin.h.

◆ intCodeStart

Int_t RooSpin::intCodeStart
protected

Definition at line 138 of file RooSpin.h.

◆ m1

RooRealProxy RooSpin::m1
protected

Definition at line 111 of file RooSpin.h.

◆ m12

RooRealProxy RooSpin::m12
protected

Definition at line 113 of file RooSpin.h.

◆ m2

RooRealProxy RooSpin::m2
protected

Definition at line 112 of file RooSpin.h.

◆ mW

RooRealProxy RooSpin::mW
protected

Definition at line 120 of file RooSpin.h.

◆ mWprime

RooRealProxy RooSpin::mWprime
protected

Definition at line 124 of file RooSpin.h.

◆ mX

RooRealProxy RooSpin::mX
protected

Definition at line 118 of file RooSpin.h.

◆ mZ

RooRealProxy RooSpin::mZ
protected

Definition at line 122 of file RooSpin.h.

◆ mZprime

RooRealProxy RooSpin::mZprime
protected

Definition at line 126 of file RooSpin.h.

◆ Phi

RooRealProxy RooSpin::Phi
protected

Definition at line 110 of file RooSpin.h.

◆ Phi1

RooRealProxy RooSpin::Phi1
protected

Definition at line 115 of file RooSpin.h.

◆ Sin2ThetaW

RooRealProxy RooSpin::Sin2ThetaW
protected

Definition at line 128 of file RooSpin.h.

◆ Vdecay1

RooSpin::VdecayType RooSpin::Vdecay1
protected

Definition at line 135 of file RooSpin.h.

◆ Vdecay2

RooSpin::VdecayType RooSpin::Vdecay2
protected

Definition at line 136 of file RooSpin.h.

◆ verbosity

TVar::VerbosityLevel RooSpin::verbosity
protected

Definition at line 139 of file RooSpin.h.

◆ vev

RooRealProxy RooSpin::vev
protected

Definition at line 129 of file RooSpin.h.

◆ Y

RooRealProxy RooSpin::Y
protected

Definition at line 116 of file RooSpin.h.


The documentation for this class was generated from the following files:
TVar::ERROR
@ ERROR
Definition: TVar.hh:49
RooSpin::vev
RooRealProxy vev
Definition: RooSpin.h:129
RooSpin::kVdecayType_Zll
@ kVdecayType_Zll
Definition: RooSpin.h:31
RooSpin::Phi
RooRealProxy Phi
Definition: RooSpin.h:110
RooSpin::setProxy
virtual void setProxy(RooRealProxy &proxy, RooAbsReal *objectPtr)
Definition: RooSpin.cc:389
RooSpin::prime_hs
@ prime_hs
Definition: RooSpin.h:41
RooSpin::calculateVffGVGA
virtual void calculateVffGVGA(Double_t &gV, Double_t &gA, RooSpin::VdecayType Vdecay, bool isGamma=false) const
Definition: RooSpin.cc:196
RooSpin::prime_m2
@ prime_m2
Definition: RooSpin.h:45
RooSpin::kVdecayType_Zdd
@ kVdecayType_Zdd
Definition: RooSpin.h:34
RooSpin::kVdecayType_Zuu
@ kVdecayType_Zuu
Definition: RooSpin.h:33
RooSpin::m12
RooRealProxy m12
Definition: RooSpin.h:113
RooSpin::calculatePropagator
virtual void calculatePropagator(Double_t &propRe, Double_t &propIm, Double_t mass, Int_t propType=1) const
Definition: RooSpin.cc:133
RooSpin::getMVprimeGamVprime
virtual void getMVprimeGamVprime(Double_t *mV=0, Double_t *gamV=0) const
Definition: RooSpin.cc:351
RooSpin::Sin2ThetaW
RooRealProxy Sin2ThetaW
Definition: RooSpin.h:128
RooSpin::m1
RooRealProxy m1
Definition: RooSpin.h:111
RooSpin::mX
RooRealProxy mX
Definition: RooSpin.h:118
RooSpin::mZ
RooRealProxy mZ
Definition: RooSpin.h:122
RooSpin::prime_m1
@ prime_m1
Definition: RooSpin.h:44
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
MELAStreamHelpers::MELAout
MELAOutputStreamer MELAout
RooSpin::prime_h2
@ prime_h2
Definition: RooSpin.h:40
RooSpin::gVprimeff_decay2_right
RooRealProxy gVprimeff_decay2_right
Definition: RooSpin.h:133
RooSpin::verbosity
TVar::VerbosityLevel verbosity
Definition: RooSpin.h:139
RooSpin::calculateVprimeffGVGA
virtual void calculateVprimeffGVGA(Double_t &gV, Double_t &gA, int whichVprime) const
Definition: RooSpin.cc:320
RooSpin::gamZ
RooRealProxy gamZ
Definition: RooSpin.h:123
RooSpin::Y
RooRealProxy Y
Definition: RooSpin.h:116
RooSpin::Vdecay2
RooSpin::VdecayType Vdecay2
Definition: RooSpin.h:136
RooSpin::prime_m12
@ prime_m12
Definition: RooSpin.h:46
RooSpin::intCodeStart
Int_t intCodeStart
Definition: RooSpin.h:138
RooSpin::kVdecayType_GammaOnshell
@ kVdecayType_GammaOnshell
Definition: RooSpin.h:30
RooSpin::mWprime
RooRealProxy mWprime
Definition: RooSpin.h:124
RooSpin::mZprime
RooRealProxy mZprime
Definition: RooSpin.h:126
RooSpin::m2
RooRealProxy m2
Definition: RooSpin.h:112
RooSpin::h2
RooRealProxy h2
Definition: RooSpin.h:109
RooSpin::gVprimeff_decay1_right
RooRealProxy gVprimeff_decay1_right
Definition: RooSpin.h:131
RooSpin::gamWprime
RooRealProxy gamWprime
Definition: RooSpin.h:125
RooSpin::kVdecayType_Znn
@ kVdecayType_Znn
Definition: RooSpin.h:32
RooSpin::gamW
RooRealProxy gamW
Definition: RooSpin.h:121
RooSpin::kVdecayType_Zud
@ kVdecayType_Zud
Definition: RooSpin.h:35
RooSpin::mW
RooRealProxy mW
Definition: RooSpin.h:120
RooSpin::hs
RooRealProxy hs
Definition: RooSpin.h:114
RooSpin::prime_h1
@ prime_h1
Definition: RooSpin.h:39
RooSpin::gVprimeff_decay1_left
RooRealProxy gVprimeff_decay1_left
Definition: RooSpin.h:130
RooSpin::GeVunit
static constexpr Double_t GeVunit
Definition: RooSpin.h:141
RooSpin::getMVGamV
virtual void getMVGamV(Double_t *mV=0, Double_t *gamV=0) const
Definition: RooSpin.cc:305
RooSpin::gVprimeff_decay2_left
RooRealProxy gVprimeff_decay2_left
Definition: RooSpin.h:132
TVar::DEBUG
@ DEBUG
Definition: TVar.hh:51
RooSpin::setProxies
virtual void setProxies(modelMeasurables _measurables)
Definition: RooSpin.cc:378
RooSpin::prime_Phi1
@ prime_Phi1
Definition: RooSpin.h:43
RooSpin::Vdecay1
RooSpin::VdecayType Vdecay1
Definition: RooSpin.h:135
RooSpin::kVdecayType_Wany
@ kVdecayType_Wany
Definition: RooSpin.h:29
RooSpin::h1
RooRealProxy h1
Definition: RooSpin.h:108
RooSpin::gamZprime
RooRealProxy gamZprime
Definition: RooSpin.h:127
RooSpin::prime_Y
@ prime_Y
Definition: RooSpin.h:47
RooSpin::gamX
RooRealProxy gamX
Definition: RooSpin.h:119
RooSpin::Phi1
RooRealProxy Phi1
Definition: RooSpin.h:115