52 bool particleMode(
true );
103 double m_dibaryon = sqrt( pSum.
mass2() );
111 if ( l_num == EM || l_num == MUM || l_num == TAUM ) {
119 }
else if ( l_num == EP || l_num == MUP || l_num == TAUP ) {
129 <<
"Wrong lepton number" << std::endl;
133 double sign1 = ( particleMode == true ) ? 1.0 : 1.0 * sameParity;
134 double sign2 = ( particleMode == true ) ? 1.0 : 1.0 * sameParity;
135 double sign3 = ( particleMode == true ) ? 1.0 : -1.0 * sameParity;
136 double sign4 = ( particleMode == true ) ? 1.0 : -1.0 * sameParity;
137 double sign5 = ( particleMode == true ) ? 1.0 : -1.0 * sameParity;
138 double sign6 = ( particleMode == true ) ? 1.0 : 1.0 * sameParity;
141 double f1( 0.0 ), f2( 0.0 ), f3( 0.0 ), f4( 0.0 ), f5( 0.0 );
142 double g1( 0.0 ), g2( 0.0 ), g3( 0.0 ), g4( 0.0 ), g5( 0.0 );
148 m_ffModel.getDiracFF( parent, m_dibaryon, FF );
150 if ( sameParity == 1 ) {
175 EvtVector4R gMtmTerms = g3 * p + g4 * pSum + g5 * pDiff;
176 EvtVector4R fMtmTerms = f3 * p + f4 * pSum + f5 * pDiff;
179 for (
int i = 0; i < N1; i++ ) {
185 for (
int j = 0; j < N2; j++ ) {
189 std::vector<EvtVector4C> hadCurrents =
194 g2 * sign2 * hadCurrents[1] +
195 sign3 * hadCurrents[2];
199 f2 * sign5 * hadCurrents[4] +
200 sign6 * hadCurrents[5];
203 if ( sameParity == 1 ) {
204 hadAmp = amp1 - amp2;
206 hadAmp = amp2 - amp1;
209 amp.
vertex( i, j, 0, l1 * hadAmp );
210 amp.
vertex( i, j, 1, l2 * hadAmp );
225 m_ffModel.getRaritaFF( parent, m_dibaryon, FF );
227 if ( sameParity == 1 ) {
252 EvtVector4R gMtmTerms = g3 * p + g4 * pSum + g5 * pDiff;
253 EvtVector4R fMtmTerms = f3 * p + f4 * pSum + f5 * pDiff;
257 for (
int i = 0; i < N1; i++ ) {
263 for (
int j = 0; j < N2; j++ ) {
267 for (
int k = 0; k < 4; k++ ) {
272 std::vector<EvtVector4C> hadCurrents =
277 g2 * sign2 * hadCurrents[1] +
278 sign3 * hadCurrents[2];
282 f2 * sign5 * hadCurrents[4] +
283 sign6 * hadCurrents[5];
286 if ( sameParity == 1 ) {
287 hadAmp = amp1 - amp2;
289 hadAmp = amp2 - amp1;
292 amp.
vertex( i, j, 0, l1 * hadAmp );
293 amp.
vertex( i, j, 1, l2 * hadAmp );
303 for (
int i = 0; i < N1; i++ ) {
308 for (
int k = 0; k < 4; k++ ) {
313 for (
int j = 0; j < N2; j++ ) {
317 std::vector<EvtVector4C> hadCurrents =
322 g2 * sign2 * hadCurrents[1] +
323 sign3 * hadCurrents[2];
327 f2 * sign5 * hadCurrents[4] +
328 sign6 * hadCurrents[5];
331 if ( sameParity == 1 ) {
332 hadAmp = amp1 - amp2;
334 hadAmp = amp2 - amp1;
337 amp.
vertex( i, j, 0, l1 * hadAmp );
338 amp.
vertex( i, j, 1, l2 * hadAmp );
virtual EvtRaritaSchwinger spRSParent(int) const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(const int i)