54 double q2 = (
q.mass2() );
56 double hf, kf, bpf, bmf;
59 parent->
getDaug( 0 )->
mass(), &hf, &kf, &bpf, &bmf );
61 double costhl_flag = 1.0;
63 if ( parent->
getId() == D0 || parent->
getId() == D0B || parent->
getId() == DP ||
64 parent->
getId() == DM )
65 { costhl_flag = -1.0; }
66 if ( parent->
getId() == DSP || parent->
getId() == DSM ) { costhl_flag = -1.0; }
67 hf = hf * costhl_flag;
70 p4b.
set( parent->
mass(), 0.0, 0.0, 0.0 );
80 ep_meson_b[0] = ( ( parent->
getDaug( 0 )->epsTensorParent( 0 ) ).cont2( p4b ) ).
conj();
81 ep_meson_b[1] = ( ( parent->
getDaug( 0 )->epsTensorParent( 1 ) ).cont2( p4b ) ).
conj();
82 ep_meson_b[2] = ( ( parent->
getDaug( 0 )->epsTensorParent( 2 ) ).cont2( p4b ) ).
conj();
83 ep_meson_b[3] = ( ( parent->
getDaug( 0 )->epsTensorParent( 3 ) ).cont2( p4b ) ).
conj();
84 ep_meson_b[4] = ( ( parent->
getDaug( 0 )->epsTensorParent( 4 ) ).cont2( p4b ) ).
conj();
93 double q2maxin = 1.0 / q2max;
97 ep_meson_bb[0] = ep_meson_b[0] * ( p4b );
98 ep_meson_bb[1] = ep_meson_b[1] * ( p4b );
99 ep_meson_bb[2] = ep_meson_b[2] * ( p4b );
100 ep_meson_bb[3] = ep_meson_b[3] * ( p4b );
101 ep_meson_bb[4] = ep_meson_b[4] * ( p4b );
106 if ( l_num == EM || l_num == MUM || l_num == TAUM )
109 tds0 = tdual.
cont2( ep_meson_b[0] ) - kf * ep_meson_b[0] - bpf * ep_meson_bb[0] * pp -
110 bmf * ep_meson_bb[0] * pm;
113 tds1 = tdual.
cont2( ep_meson_b[1] ) - kf * ep_meson_b[1] - bpf * ep_meson_bb[1] * pp -
114 bmf * ep_meson_bb[1] * pm;
117 tds2 = tdual.
cont2( ep_meson_b[2] ) - kf * ep_meson_b[2] - bpf * ep_meson_bb[2] * pp -
118 bmf * ep_meson_bb[2] * pm;
121 tds3 = tdual.
cont2( ep_meson_b[3] ) - kf * ep_meson_b[3] - bpf * ep_meson_bb[3] * pp -
122 bmf * ep_meson_bb[3] * pm;
125 tds4 = tdual.
cont2( ep_meson_b[4] ) - kf * ep_meson_b[4] - bpf * ep_meson_bb[4] * pp -
126 bmf * ep_meson_bb[4] * pm;
136 if ( l_num == EP || l_num == MUP || l_num == TAUP )
139 tds0 = tdual.
cont2( ep_meson_b[0] ) - kf * ep_meson_b[0] - bpf * ep_meson_bb[0] * pp -
140 bmf * ep_meson_bb[0] * pm;
143 tds1 = tdual.
cont2( ep_meson_b[1] ) - kf * ep_meson_b[1] - bpf * ep_meson_bb[1] * pp -
144 bmf * ep_meson_bb[1] * pm;
147 tds2 = tdual.
cont2( ep_meson_b[2] ) - kf * ep_meson_b[2] - bpf * ep_meson_bb[2] * pp -
148 bmf * ep_meson_bb[2] * pm;
151 tds3 = tdual.
cont2( ep_meson_b[3] ) - kf * ep_meson_b[3] - bpf * ep_meson_bb[3] * pp -
152 bmf * ep_meson_bb[3] * pm;
155 tds4 = tdual.
cont2( ep_meson_b[4] ) - kf * ep_meson_b[4] - bpf * ep_meson_bb[4] * pp -
156 bmf * ep_meson_bb[4] * pm;
164 else {
report(
ERROR,
"EvtGen" ) <<
"dfnb89agngri wrong lepton number\n"; }
167 amp.
vertex( 0, 0, l1 * tds0 );
168 amp.
vertex( 0, 1, l2 * tds0 );
170 amp.
vertex( 1, 0, l1 * tds1 );
171 amp.
vertex( 1, 1, l2 * tds1 );
173 amp.
vertex( 2, 0, l1 * tds2 );
174 amp.
vertex( 2, 1, l2 * tds2 );
176 amp.
vertex( 3, 0, l1 * tds3 );
177 amp.
vertex( 3, 1, l2 * tds3 );
179 amp.
vertex( 4, 0, l1 * tds4 );
180 amp.
vertex( 4, 1, l2 * tds4 );
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)