22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtParticle.hh"
25#include "EvtGenBase/EvtGenKine.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtReport.hh"
28#include "EvtGenBase/EvtTensor4C.hh"
29#include "EvtGenBase/EvtVector4C.hh"
30#include "EvtGenBase/EvtDiracSpinor.hh"
31#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
32#include "EvtGenBase/EvtId.hh"
33#include "EvtGenBase/EvtAmp.hh"
34#include "EvtGenBase/EvtSemiLeptonicFF.hh"
57 double q2 = (
q.mass2());
71 double costhl_flag = 1.0;
77 if(parent->
getId()==DSP||parent->
getId()==DSM) {
80 hf = hf * costhl_flag;
83 p4b.
set(parent->
mass(),0.0,0.0,0.0);
106 double q2maxin=1.0/q2max;
110 ep_meson_bb[0]=ep_meson_b[0]*(p4b);
111 ep_meson_bb[1]=ep_meson_b[1]*(p4b);
112 ep_meson_bb[2]=ep_meson_b[2]*(p4b);
113 ep_meson_bb[3]=ep_meson_b[3]*(p4b);
114 ep_meson_bb[4]=ep_meson_b[4]*(p4b);
120 if (l_num==EM||l_num==MUM||l_num==TAUM){
122 tds0=tdual.
cont2(ep_meson_b[0])
124 -bpf*ep_meson_bb[0]*pp-bmf*ep_meson_bb[0]*pm;
127 tds1=tdual.
cont2(ep_meson_b[1])
129 -bpf*ep_meson_bb[1]*pp-bmf*ep_meson_bb[1]*pm;
132 tds2=tdual.
cont2(ep_meson_b[2])
134 -bpf*ep_meson_bb[2]*pp-bmf*ep_meson_bb[2]*pm;
137 tds3=tdual.
cont2(ep_meson_b[3])
139 -bpf*ep_meson_bb[3]*pp-bmf*ep_meson_bb[3]*pm;
142 tds4=tdual.
cont2(ep_meson_b[4])
144 -bpf*ep_meson_bb[4]*pp-bmf*ep_meson_bb[4]*pm;
154 if (l_num==EP||l_num==MUP||l_num==TAUP){
156 tds0=tdual.
cont2(ep_meson_b[0])
158 -bpf*ep_meson_bb[0]*pp-bmf*ep_meson_bb[0]*pm;
161 tds1=tdual.
cont2(ep_meson_b[1])
163 -bpf*ep_meson_bb[1]*pp-bmf*ep_meson_bb[1]*pm;
166 tds2=tdual.
cont2(ep_meson_b[2])
168 -bpf*ep_meson_bb[2]*pp-bmf*ep_meson_bb[2]*pm;
171 tds3=tdual.
cont2(ep_meson_b[3])
173 -bpf*ep_meson_bb[3]*pp-bmf*ep_meson_bb[3]*pm;
176 tds4=tdual.
cont2(ep_meson_b[4])
178 -bpf*ep_meson_bb[4]*pp-bmf*ep_meson_bb[4]*pm;
187 report(
ERROR,
"EvtGen") <<
"dfnb89agngri wrong lepton number\n";
****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 conj(const Evt3Rank3C &t2)
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 EvtTensor4C epsTensorParent(int i) const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
virtual void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
void CalcAmp(EvtParticle *parent, EvtAmp &, EvtSemiLeptonicFF *FormFactors)
EvtVector4C cont2(const EvtVector4C &v4) const
void set(int i, double d)