39 {
40
47
54
55
56
59 double q2 = (
q.mass2());
60
61 double a1f,a2f,vf,a0f,a3f;
63
66 q2,
67 m_meson,
68 &a1f,
69 &a2f,
70 &vf,
71 &a0f);
72
73 double costhl_flag = 1.0;
74
77 costhl_flag = -1.0;
78 }
79 if(parent->
getId()==DSP||parent->
getId()==DSM) {
80 costhl_flag = -1.0;
81 }
82 vf = vf * costhl_flag;
83
85 p4b.
set(parent->
mass(),0.0,0.0,0.0);
86
88
90
93
94 a3f = ((
m_b+m_meson)/(2.0*m_meson))*a1f -
95 ((
m_b-m_meson)/(2.0*m_meson))*a2f;
96
98 if (l_num==EM||l_num==MUM||l_num==TAUM){
99
101
105
106 tds.
addDirProd((a0f-a3f)*2.0*(m_meson/q2)*p4b,p4b-p4meson);
107
112 }
113 else{
114 if (l_num==EP||l_num==MUP||l_num==TAUP){
116
120
121 tds.
addDirProd((a0f-a3f)*2.0*(m_meson/q2)*p4b,p4b-p4meson);
122
127 }
128 else{
129 report(
ERROR,
"EvtGen") <<
"Wrong lepton number"<<endl;
130 }
131 }
132
136
137
140
143
146
147 return;
148}
*********DOUBLE PRECISION m_pi INTEGER m_lenwt !max no of aux weights INTEGER m_phmax !maximum photon multiplicity ISR FSR *DOUBLE COMPLEX m_Pauli4 DOUBLE COMPLEX m_AmpBorn DOUBLE COMPLEX m_AmpBoxy DOUBLE COMPLEX m_AmpBorn1 DOUBLE COMPLEX m_AmpBorn2 DOUBLE COMPLEX m_AmpExpo2p DOUBLE COMPLEX m_Rmat DOUBLE COMPLEX m_BoxGZut !DOUBLE COMPLEX m_F1finPair2 !DOUBLE PRECISION m_Vcut DOUBLE PRECISION m_Alfinv DOUBLE PRECISION m_Lorin1 DOUBLE PRECISION m_Lorin2 DOUBLE PRECISION m_b
****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
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
ostream & report(Severity severity, const char *facility)
EvtTensor4C dual(const EvtTensor4C &t2)
void vertex(const EvtComplex &)
static EvtId getId(const std::string &name)
virtual EvtVector4C epsParent(int i) const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
virtual void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
EvtVector4C cont1(const EvtVector4C &v4) const
static const EvtTensor4C & g()
EvtTensor4C & addDirProd(const EvtVector4R &p1, const EvtVector4R &p2)
EvtComplex cont(const EvtVector4C &v4) const
void set(int i, double d)