38 {
39
46
47
48
50 double q2 = (
q.mass2() );
51
52 double f1v, f1a, f2v, f2a;
54
56 &f1a, &f2v, &f2a );
57
58 EvtVector4R p4b;
59 p4b.
set( parent->
mass(), 0.0, 0.0, 0.0 );
60
61 EvtVector4C temp_00_term1;
62 EvtVector4C temp_00_term2;
63
64 EvtVector4C temp_01_term1;
65 EvtVector4C temp_01_term2;
66
67 EvtVector4C temp_10_term1;
68 EvtVector4C temp_10_term2;
69
70 EvtVector4C temp_11_term1;
71 EvtVector4C temp_11_term2;
72
73 EvtDiracSpinor p0 = parent->
sp( 0 );
74 EvtDiracSpinor
p1 = parent->
sp( 1 );
75
78
91
102 temp_11_term2.
set( 1,
104
106 temp_00_term2.
set( 2,
109 temp_01_term2.
set( 2,
112 temp_10_term2.
set( 2,
115 temp_11_term2.
set( 2,
117
119 temp_00_term2.
set( 3,
122 temp_01_term2.
set( 3,
125 temp_10_term2.
set( 3,
128 temp_11_term2.
set( 3,
130
131 EvtVector4C l1, l2;
132
134 if ( l_num == EM || l_num == MUM || l_num == TAUM )
135 {
136
141 }
142 else
143 {
144 if ( l_num == EP || l_num == MUP || l_num == TAUP )
145 {
150 }
151 else {
report(
ERROR,
"EvtGen" ) <<
"Wrong lepton number" << endl; }
152 }
153
154 amp.
vertex( 0, 0, 0, l1.
cont( temp_00_term1 + temp_00_term2 ) );
155 amp.
vertex( 0, 0, 1, l2.
cont( temp_00_term1 + temp_00_term2 ) );
156
157 amp.
vertex( 0, 1, 0, l1.
cont( temp_01_term1 + temp_01_term2 ) );
158 amp.
vertex( 0, 1, 1, l2.
cont( temp_01_term1 + temp_01_term2 ) );
159
160 amp.
vertex( 1, 0, 0, l1.
cont( temp_10_term1 + temp_10_term2 ) );
161 amp.
vertex( 1, 0, 1, l2.
cont( temp_10_term1 + temp_10_term2 ) );
162
163 amp.
vertex( 1, 1, 0, l1.
cont( temp_11_term1 + temp_11_term2 ) );
164 amp.
vertex( 1, 1, 1, l2.
cont( temp_11_term1 + temp_11_term2 ) );
165
166 return;
167}
EvtVector4C EvtLeptonVACurrent(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 const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
static const EvtGammaMatrix & g5()
static EvtId getId(const std::string &name)
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
virtual EvtDiracSpinor sp(int) const
virtual void getbaryonff(EvtId parent, EvtId daught, double t, double m_meson, double *f1v, double *f1a, double *f2v, double *f2a)
void set(int, const EvtComplex &)
EvtComplex cont(const EvtVector4C &v4) const
void set(int i, double d)