BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtbTosllScalarAmp Class Reference

#include <EvtbTosllScalarAmp.hh>

+ Inheritance diagram for EvtbTosllScalarAmp:

Public Member Functions

 EvtbTosllScalarAmp (double c7, double c9, double c10)
 
void CalcAmp (EvtParticle *parent, EvtAmp &amp, EvtbTosllFF *formFactors)
 
 EvtbTosllScalarAmp (double c7, double c9, double c10)
 
void CalcAmp (EvtParticle *parent, EvtAmp &amp, EvtbTosllFF *formFactors)
 
- Public Member Functions inherited from EvtbTosllAmp
virtual void CalcAmp (EvtParticle *parent, EvtAmp &amp, EvtbTosllFF *formFactors)=0
 
double CalcMaxProb (EvtId parent, EvtId meson, EvtId lepton, EvtId nudaug, EvtbTosllFF *formFactors, double &poleSize)
 
EvtComplex GetC7Eff (double q2, bool nnlo=true)
 
EvtComplex GetC9Eff (double q2, bool nnlo=true, bool btod=false)
 
EvtComplex GetC10Eff (double q2, bool nnlo=true)
 
double dGdsProb (double mb, double ms, double ml, double s)
 
double dGdsdupProb (double mb, double ms, double ml, double s, double u)
 
virtual void CalcAmp (EvtParticle *parent, EvtAmp &amp, EvtbTosllFF *formFactors)=0
 
double CalcMaxProb (EvtId parent, EvtId meson, EvtId lepton, EvtId nudaug, EvtbTosllFF *formFactors, double &poleSize)
 
EvtComplex GetC7Eff (double q2, bool nnlo=true)
 
EvtComplex GetC9Eff (double q2, bool nnlo=true, bool btod=false)
 
EvtComplex GetC10Eff (double q2, bool nnlo=true)
 
double dGdsProb (double mb, double ms, double ml, double s)
 
double dGdsdupProb (double mb, double ms, double ml, double s, double u)
 

Detailed Description

Constructor & Destructor Documentation

◆ EvtbTosllScalarAmp() [1/2]

EvtbTosllScalarAmp::EvtbTosllScalarAmp ( double  c7,
double  c9,
double  c10 
)
inline

Definition at line 33 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtbTosllScalarAmp.hh.

33:_c7(c7),_c9(c9),_c10(c10){}

◆ EvtbTosllScalarAmp() [2/2]

EvtbTosllScalarAmp::EvtbTosllScalarAmp ( double  c7,
double  c9,
double  c10 
)
inline

Definition at line 33 of file BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtbTosllScalarAmp.hh.

33:_c7(c7),_c9(c9),_c10(c10){}

Member Function Documentation

◆ CalcAmp() [1/2]

void EvtbTosllScalarAmp::CalcAmp ( EvtParticle parent,
EvtAmp amp,
EvtbTosllFF formFactors 
)
virtual

Implements EvtbTosllAmp.

Definition at line 39 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtbTosllScalarAmp.cc.

41 {
42
43 //Add the lepton and neutrino 4 momenta to find q2
44
45 EvtVector4R q = parent->getDaug(1)->getP4()
46 + parent->getDaug(2)->getP4();
47 double q2 = (q.mass2());
48
49 double fp,f0,ft;
50 double mesonmass = parent->getDaug(0)->mass();
51 double parentmass = parent->mass();
52
53 formFactors->getScalarFF(parent->getId(),
54 parent->getDaug(0)->getId(),
55 q2,
56 mesonmass,
57 fp,f0,ft);
58
59 EvtId daught = parent->getDaug(0)->getId();
60 bool btod = false;
61 bool nnlo = true;
62 if (daught == EvtPDL::getId(std::string("pi+")) ||
63 daught == EvtPDL::getId(std::string("pi-")) ||
64 daught == EvtPDL::getId(std::string("pi0")) ||
65 daught == EvtPDL::getId(std::string("eta")) ||
66 daught == EvtPDL::getId(std::string("eta'"))
67 ) btod = true;
68
69
70 EvtVector4R p4b;
71 p4b.set(parent->mass(),0.0,0.0,0.0);
72
73 EvtVector4C l11,l12;
74 EvtVector4C l21,l22;
75
76 EvtVector4C a11,a12;
77 EvtVector4C a21,a22;
78
79 EvtId l_num = parent->getDaug(1)->getId();
80
81 EvtVector4C T1,T2;
82
83 EvtVector4R phat=p4b/parentmass;
84 EvtVector4R qhat=q/parentmass;
85
86 EvtComplex c7eff = EvtbTosllAmp::GetC7Eff(q2,nnlo);
87 EvtComplex c9eff = EvtbTosllAmp::GetC9Eff(q2,nnlo,btod);
88 EvtComplex c10eff = EvtbTosllAmp::GetC10Eff(q2,nnlo);
89
90 //double mbhat=1;
91 double mbhat=4.4/(parentmass);
92 //double mkhat = 0.15;
93 double mkhat=mesonmass/(parentmass);
94 double shat=q2/(parentmass*parentmass);
95
96 double fm=(f0-fp)*(1-mkhat*mkhat)/shat;
97
98 EvtComplex aprime;
99 aprime = c9eff*fp+2.0*mbhat*c7eff*ft/(1+mkhat);
100 EvtComplex bprime;
101 bprime = c9eff*fm-2*mbhat*c7eff*ft*(1-mkhat)/shat;
102
103 EvtComplex cprime;
104 cprime = c10eff*fp;
105 EvtComplex dprime;
106 dprime = c10eff*fm;
107
108 static EvtIdSet leptons("e-","mu-","tau-");
109 static EvtIdSet antileptons("e+","mu+","tau+");
110
111 if (leptons.contains(l_num)){
112
113 T1=aprime*phat+bprime*qhat;
114 T2=cprime*phat+dprime*qhat;
115
116 l11=EvtLeptonVCurrent(parent->getDaug(1)->spParent(0),
117 parent->getDaug(2)->spParent(0));
118 l21=EvtLeptonVCurrent(parent->getDaug(1)->spParent(1),
119 parent->getDaug(2)->spParent(0));
120 l12=EvtLeptonVCurrent(parent->getDaug(1)->spParent(0),
121 parent->getDaug(2)->spParent(1));
122 l22=EvtLeptonVCurrent(parent->getDaug(1)->spParent(1),
123 parent->getDaug(2)->spParent(1));
124 a11=EvtLeptonACurrent(parent->getDaug(1)->spParent(0),
125 parent->getDaug(2)->spParent(0));
126 a21=EvtLeptonACurrent(parent->getDaug(1)->spParent(1),
127 parent->getDaug(2)->spParent(0));
128 a12=EvtLeptonACurrent(parent->getDaug(1)->spParent(0),
129 parent->getDaug(2)->spParent(1));
130 a22=EvtLeptonACurrent(parent->getDaug(1)->spParent(1),
131 parent->getDaug(2)->spParent(1));
132 }
133 else{
134 if (antileptons.contains(l_num)){
135
136 T1=aprime*phat+bprime*qhat;
137 T2=cprime*phat+dprime*qhat;
138
139 l11=EvtLeptonVCurrent(parent->getDaug(1)->spParent(1),
140 parent->getDaug(2)->spParent(1));
141 l21=EvtLeptonVCurrent(parent->getDaug(1)->spParent(0),
142 parent->getDaug(2)->spParent(1));
143 l12=EvtLeptonVCurrent(parent->getDaug(1)->spParent(1),
144 parent->getDaug(2)->spParent(0));
145 l22=EvtLeptonVCurrent(parent->getDaug(1)->spParent(0),
146 parent->getDaug(2)->spParent(0));
147
148 a11=EvtLeptonACurrent(parent->getDaug(1)->spParent(1),
149 parent->getDaug(2)->spParent(1));
150 a21=EvtLeptonACurrent(parent->getDaug(1)->spParent(0),
151 parent->getDaug(2)->spParent(1));
152 a12=EvtLeptonACurrent(parent->getDaug(1)->spParent(1),
153 parent->getDaug(2)->spParent(0));
154 a22=EvtLeptonACurrent(parent->getDaug(1)->spParent(0),
155 parent->getDaug(2)->spParent(0));
156
157 }
158 else{
159 report(ERROR,"EvtGen") << "Wrong lepton number\n";
160 }
161 }
162
163 amp.vertex(0,0,l11*T1+a11*T2);
164 amp.vertex(0,1,l12*T1+a12*T2);
165 amp.vertex(1,0,l21*T1+a21*T2);
166 amp.vertex(1,1,l22*T1+a22*T2);
167
168}
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition: KKsem.h:33
EvtVector4C EvtLeptonACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
ostream & report(Severity severity, const char *facility)
static EvtId getId(const std::string &name)
EvtComplex GetC9Eff(double q2, bool nnlo=true, bool btod=false)
virtual void getScalarFF(EvtId parent, EvtId daught, double t, double mass, double &fp, double &f0, double &ft)

◆ CalcAmp() [2/2]

void EvtbTosllScalarAmp::CalcAmp ( EvtParticle parent,
EvtAmp amp,
EvtbTosllFF formFactors 
)
virtual

Implements EvtbTosllAmp.


The documentation for this class was generated from the following files: