41 {
42
43
44
47 double q2 = (
q.mass2());
48
49 double fp,f0,ft;
51 double parentmass = parent->
mass();
52
55 q2,
56 mesonmass,
57 fp,f0,ft);
58
60 bool btod = false;
61 bool nnlo = true;
67 ) btod = true;
68
69
71 p4b.
set(parent->
mass(),0.0,0.0,0.0);
72
75
78
80
82
85
89
90
91 double mbhat=4.4/(parentmass);
92
93 double mkhat=mesonmass/(parentmass);
94 double shat=q2/(parentmass*parentmass);
95
96 double fm=(f0-fp)*(1-mkhat*mkhat)/shat;
97
99 aprime = c9eff*fp+2.0*mbhat*c7eff*ft/(1+mkhat);
101 bprime = c9eff*fm-2*mbhat*c7eff*ft*(1-mkhat)/shat;
102
104 cprime = c10eff*fp;
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
132 }
133 else{
134 if (antileptons.contains(l_num)){
135
136 T1=aprime*phat+bprime*qhat;
137 T2=cprime*phat+dprime*qhat;
138
147
156
157 }
158 else{
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}
EvtVector4C EvtLeptonACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
ostream & report(Severity severity, const char *facility)
****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
void vertex(const EvtComplex &)
static EvtId getId(const std::string &name)
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
void set(int i, double d)
EvtComplex GetC7Eff(double q2, bool nnlo=true)
EvtComplex GetC10Eff(double q2, bool nnlo=true)
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)