36 double ,
double* f1,
double* f2,
37 double* f3,
double* g1,
double* g2,
58 double F1, F2, F3, G1, G2, G3;
60 if ( ( parent == LAMB && daught == PRO ) ||
61 ( parent == LAMBB && daught == PROB ) ||
62 ( parent == LAMB && daught == LAMCP ) ||
63 ( parent == LAMBB && daught == LAMCM ) ) {
74 if ( ( parent == LAMB && daught == LAMCP ) ||
75 ( parent == LAMBB && daught == LAMCM ) ) {
81 double aLp2 = aLp * aLp;
82 double aLLp2 = 0.5 * ( aL2 + aLp2 );
86 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
89 double w = 0.5 * ( MLamB * MLamB + MLamq * MLamq - q2 ) / MLamB / MLamq;
91 double I = pow( aL * aLp / aLLp2, 1.5 ) *
exp( -rho2 * ( w * w - 1. ) );
94 F1 =
I * ( 1.0 + ( md / aLLp2 ) * ( ( aLp2 / mq ) + ( aL2 / mQ ) ) );
95 F2 = -
I * ( ( md / mq ) * ( aLp2 / aLLp2 ) -
96 aL2 * aLp2 / ( 4. * aLLp2 * mq * mQ ) );
97 F3 = -
I * md * aL2 / ( mQ * aLLp2 );
99 G1 =
I * ( 1.0 - ( aL2 * aLp2 ) / ( 12. * aLLp2 * mq * mQ ) );
100 G2 = -
I * ( md * aLp2 / ( mq * aLLp2 ) +
101 ( aL2 * aLp2 ) / ( 12. * aLLp2 * mq * mQ ) *
102 ( 1. + 12. * md * md / aLLp2 ) );
103 G3 =
I * ( md * aL2 / ( mQ * aLLp2 ) +
104 md * md * aL2 * aLp2 / ( mq * mQ * aLLp2 * aLLp2 ) );
113 }
else if ( ( parent == LAMB && daught == N1440 ) ||
114 ( parent == LAMBB && daught == N1440B ) ||
115 ( parent == LAMB && daught == N1710 ) ||
116 ( parent == LAMBB && daught == N1710B ) ) {
127 double aL2 = aL * aL;
128 double aLp2 = aLp * aLp;
129 double aLLp2 = 0.5 * ( aL2 + aLp2 );
133 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
136 double w = 0.5 * ( MLamB * MLamB + MLamq * MLamq - q2 ) / MLamB / MLamq;
138 double I = sqrt( 1.5 ) * pow( aL * aLp / aLLp2, 1.5 ) *
139 exp( -rho2 * ( w * w - 1. ) );
142 F1 = (
I / ( 2. * aLLp2 ) ) *
143 ( ( aL2 - aLp2 ) - ( md / ( 3. * aLLp2 ) ) *
144 ( ( aLp2 / mq ) * ( 7. * aL2 - 3. * aLp2 ) +
145 ( aL2 / mQ ) * ( 7. * aLp2 - 3. * aL2 ) ) );
147 F2 = -
I * ( aLp2 / ( 6. * mq * aLLp2 * aLLp2 ) ) *
148 ( 7. * aL2 - 3. * aLp2 ) * ( md - ( aL2 / ( 4. * mQ ) ) );
150 F3 =
I * ( aL2 * md / ( 6. * mQ * aLLp2 * aLLp2 ) ) *
151 ( 7. * aLp2 - 3. * aL2 );
153 G1 =
I * ( ( aL2 - aLp2 ) / ( 2 * aLLp2 ) -
154 ( aL2 * aLp2 * ( 7. * aL2 - 3. * aLp2 ) ) /
155 ( 72. * aLLp2 * aLLp2 * mq * mQ ) );
157 G2 = -
I * ( aLp2 / ( 6. * mq * aLLp2 * aLLp2 ) ) *
158 ( ( 7. * aL2 - 3. * aLp2 ) * ( md + ( aL2 / ( 6. * mQ ) ) ) +
159 ( 7. * md * md * aL2 * ( aL2 - aLp2 ) / ( mQ * aLLp2 ) ) );
161 G3 = -
I * ( aL2 * md / ( 6. * mQ * aLLp2 * aLLp2 ) ) *
162 ( ( 7. * aLp2 - 3. * aL2 ) -
163 ( 7 * md * aLp2 * ( aL2 - aLp2 ) / ( mq * aLLp2 ) ) );
173 }
else if ( ( parent == LAMB && daught == N1535 ) ||
174 ( parent == LAMBB && daught == N1535B ) ||
175 ( parent == LAMB && daught == N1650 ) ||
176 ( parent == LAMBB && daught == N1650B ) ||
177 ( parent == LAMB && daught == LAMC1P ) ||
178 ( parent == LAMBB && daught == LAMC1M ) ) {
188 if ( ( parent == LAMB && daught == LAMC1P ) ||
189 ( parent == LAMBB && daught == LAMC1M ) ) {
194 double aL2 = aL * aL;
195 double aLp2 = aLp * aLp;
196 double aLLp2 = 0.5 * ( aL2 + aLp2 );
200 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
203 double w = 0.5 * ( MLamB * MLamB + MLamq * MLamq - q2 ) / MLamB / MLamq;
205 double I = pow( aL * aLp / aLLp2, 2.5 ) *
exp( -rho2 * ( w * w - 1. ) );
208 F1 =
I * aL / 6.0 * ( 3.0 / mq - 1.0 / mQ );
209 F2 = -
I * ( 2.0 * md / aL - aL / ( 2.0 * mq ) +
210 2. * md * md * aL / ( mQ * aLLp2 ) -
211 ( md * aL / ( 6. * mq * mQ * aLLp2 ) ) *
212 ( 3. * aL2 - 2. * aLp2 ) );
213 F3 =
I * 2. * md * md * aL / ( mQ * aLLp2 );
215 G1 =
I * ( 2.0 * md / aL - aL / ( 6. * mQ ) +
216 ( md * aL / ( 6. * mq * mQ * aLLp2 ) ) *
217 ( 3. * aL2 - 2. * aLp2 ) );
218 G2 =
I * ( -2. * md / aL + aL / ( 2. * mq ) + aL / ( 3. * mQ ) );
219 G3 =
I * aL / ( 3. * mQ ) *
220 ( 1.0 - ( md / ( 2. * mq * aLLp2 ) ) * ( 3. * aL2 - 2. * aLp2 ) );
231 <<
"Only Lb -> N*+ transitions allowed in EvtLb2BaryonlnuFF.\n";
239 double,
double* f1,
double* f2,
double* f3,
240 double* f4,
double* g1,
double* g2,
241 double* g3,
double* g4 )
258 double F1, F2, F3, F4, G1, G2, G3, G4;
261 if ( ( parent == LAMB && daught == N1520 ) ||
262 ( parent == LAMBB && daught == N1520B ) ||
263 ( parent == LAMB && daught == N1700 ) ||
264 ( parent == LAMBB && daught == N1700B ) ||
265 ( parent == LAMB && daught == N1875 ) ||
266 ( parent == LAMBB && daught == N1875B ) ||
267 ( parent == LAMB && daught == LAMC2P ) ||
268 ( parent == LAMBB && daught == LAMC2M ) ) {
278 if ( ( parent == LAMB && daught == LAMC2P ) ||
279 ( parent == LAMBB && daught == LAMC2M ) ) {
284 double aL2 = aL * aL;
285 double aLp2 = aLp * aLp;
286 double aLLp2 = 0.5 * ( aL2 + aLp2 );
290 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
293 double w = 0.5 * ( MLamB * MLamB + MLamq * MLamq - q2 ) / MLamB / MLamq;
295 double I = -( 1. / sqrt( 3. ) ) * pow( aL * aLp / aLLp2, 2.5 ) *
296 exp( -rho2 * ( w * w - 1. ) );
299 F1 =
I * 3.0 * md / aL *
300 ( 1.0 + ( md / aLLp2 ) * ( ( aLp2 / mq ) + ( aL2 / mQ ) ) );
301 F2 = -
I * ( ( 3. * md * md / mq ) * ( aLp2 / ( aLLp2 * aL2 ) ) -
302 5. * aL * aLp2 * md / ( 4. * aLLp2 * mq * mQ ) );
303 F3 = -
I * ( 3. * md * md * aL / ( mQ * aLLp2 ) + aL / ( 2. * mQ ) );
306 G1 =
I * ( 3.0 * md / aL -
307 ( aL / ( 2. * mQ ) ) *
308 ( 1. + 3. * md * aLp2 / ( 2. * aLLp2 * mq ) ) );
309 G2 = -
I * ( ( 3. * md * md / mq ) * ( aLp2 / ( aLLp2 * aL ) ) +
310 aL * aLp2 * md / ( 4. * aLLp2 * aLLp2 * mq * mQ ) *
311 ( aLLp2 + 12. * md * md ) );
312 G3 =
I * aL / ( mQ * aLLp2 ) *
313 ( aLLp2 / 2. + 3. * md * md +
314 aLp2 * md / ( mq * aLLp2 ) * ( aLLp2 + 6. * md * md ) );
315 G4 = -
I * ( aL / mQ + md / ( mq * mQ ) * aLp2 * aL / aLLp2 );
328 else if ( ( parent == LAMB && daught == N1720 ) ||
329 ( parent == LAMBB && daught == N1720B ) ||
330 ( parent == LAMB && daught == N1900 ) ||
331 ( parent == LAMBB && daught == N1900B )
343 double aL2 = aL * aL;
344 double aLp2 = aLp * aLp;
345 double aLLp2 = 0.5 * ( aL2 + aLp2 );
349 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
352 double w = 0.5 * ( MLamB * MLamB + MLamq * MLamq - q2 ) / MLamB / MLamq;
354 double I = ( 1. / sqrt( 5. ) ) * pow( aL * aLp / aLLp2, 3.5 ) *
355 exp( -rho2 * ( w * w - 1. ) );
358 F1 = -
I * ( md / 2. ) * ( ( 5. / mq ) - ( 3. / mQ ) );
360 F2 =
I * ( md / aL ) *
361 ( ( 6. * md / aL ) - ( 5 * aL / ( 2. * mq ) ) +
362 ( 6. * md * md * aL ) / ( aLLp2 * mQ ) -
363 ( md * aL * ( aL2 - 2. * aLp2 ) ) / ( 2 * aLLp2 * mq * mQ ) );
365 F3 = -
I * ( md / mQ ) * ( 1 + ( 6. * md * md ) / aLLp2 );
367 F4 =
I * ( 2. * md / mQ );
370 ( ( 6. * md * md / aL2 ) - md / ( 2. * mQ ) +
371 md * md * ( 11. * aL2 - 6. * aLp2 ) / ( 6. * aLLp2 * mq * mQ ) );
373 G2 =
I * ( 6 * md * md / aL2 - 5 * md / ( 2.0 * mq ) - ( 2 * md ) / mQ +
374 5 * aL2 / ( 12.0 * mq * mQ ) -
375 ( 2 * md * md * aL2 ) / ( 3.0 * aLLp2 * mq * mQ ) );
378 ( ( md / ( 2. * mQ ) ) - 5 * aL2 / ( 24.0 * mq * mQ ) -
379 md * md * ( 5 * aL2 - 2 * aLp2 ) / ( 4.0 * mq * mQ * aLLp2 ) );
381 G4 = -
I * 5. * aL2 / ( 6. * mq * mQ );
396 <<
"Only Lb -> N*+ transitions allowed in EvtLb2BaryonlnuFF.\n";
407 <<
"Not implemented :getscalarff in EvtLb2BaryonlnuFF.\n";
412 double*,
double*,
double* )
415 <<
"Not implemented :getvectorff in EvtLb2BaryonlnuFF.\n";
420 double*,
double*,
double* )
423 <<
"Not implemented :gettensorff in EvtLb2BaryonlnuFF.\n";
428 double*,
double*,
double* )
431 <<
"Not implemented :getbaryonff in EvtLb2BaryonlnuFF.\n";
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f) override
void getdiracff(EvtId parent, EvtId daught, double q2, double mass, double *f1, double *f2, double *f3, double *g1, double *g2, double *g3) override
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf) override
static EvtId getId(const std::string &name)
EvtComplex exp(const EvtComplex &c)
void getraritaff(EvtId parent, EvtId daught, double q2, double mass, double *f1, double *f2, double *f3, double *f4, double *g1, double *g2, double *g3, double *g4) override
static double getMass(EvtId i)
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f) override