36 double ,
double* f1,
double* f2,
37 double* f3,
double* g1,
double* g2,
double* g3 )
47 double F1, F2, F3, G1, G2, G3;
49 if ( parent == LAMB || parent == LAMBB ) {
53 if ( daught == LAMCP || daught == LAMCM ) {
65 double aLp2 = aLp * aLp;
66 double aLLp2 = 0.5 * ( aL2 + aLp2 );
70 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
73 double w = 0.5 * ( MLamB * MLamB + MLamC * MLamC - q2 ) / MLamB /
76 double I = pow( aL * aLp / aLLp2, 1.5 ) *
77 exp( -rho2 * ( w * w - 1. ) );
80 F1 =
I * ( 1.0 + ( md / aLLp2 ) * ( ( aLp2 / mq ) + ( aL2 / mQ ) ) );
81 F2 = -
I * ( ( md / mq ) * ( aLp2 / aLLp2 ) -
82 aL2 * aLp2 / ( 4. * aLLp2 * mq * mQ ) );
83 F3 = -
I * md * aL2 / ( mQ * aLLp2 );
85 G1 =
I * ( 1.0 - ( aL2 * aLp2 ) / ( 12. * aLLp2 * mq * mQ ) );
86 G2 = -
I * ( md * aLp2 / ( mq * aLLp2 ) +
87 ( aL2 * aLp2 ) / ( 12. * aLLp2 * mq * mQ ) *
88 ( 1. + 12. * md * md / aLLp2 ) );
89 G3 =
I * ( md * aL2 / ( mQ * aLLp2 ) +
90 md * md * aL2 * aLp2 / ( mq * mQ * aLLp2 * aLLp2 ) );
102 else if ( daught == LAMC1P || daught == LAMC1M ) {
112 double aL2 = aL * aL;
113 double aLp2 = aLp * aLp;
114 double aLLp2 = 0.5 * ( aL2 + aLp2 );
118 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
121 double w = 0.5 * ( MLamB * MLamB + MLamC * MLamC - q2 ) / MLamB /
124 double I = pow( aL * aLp / aLLp2, 2.5 ) *
125 exp( -rho2 * ( w * w - 1. ) );
128 F1 =
I * aL / 6.0 * ( 3.0 / mq - 1.0 / mQ );
129 F2 = -
I * ( 2.0 * md / aL - aL / ( 2.0 * mq ) +
130 2. * md * md * aL / ( mQ * aLLp2 ) -
131 ( md * aL / ( 6. * mq * mQ * aLLp2 ) ) *
132 ( 3. * aL2 - 2. * aLp2 ) );
133 F3 =
I * 2. * md * md * aL / ( mQ * aLLp2 );
135 G1 =
I * ( 2.0 * md / aL - aL / ( 6. * mQ ) +
136 ( md * aL / ( 6. * mq * mQ * aLLp2 ) ) *
137 ( 3. * aL2 - 2. * aLp2 ) );
138 G2 =
I * ( -2. * md / aL + aL / ( 2. * mq ) + aL / ( 3. * mQ ) );
139 G3 =
I * aL / ( 3. * mQ ) *
140 ( 1.0 - ( md / ( 2. * mq * aLLp2 ) ) * ( 3. * aL2 - 2. * aLp2 ) );
165 double ,
double* f1,
double* f2,
166 double* f3,
double* f4,
double* g1,
167 double* g2,
double* g3,
double* g4 )
175 double F1, F2, F3, F4, G1, G2, G3, G4;
177 if ( parent == LAMB || parent == LAMBB ) {
181 if ( daught == LAMC2P || daught == LAMC2M ) {
191 double aL2 = aL * aL;
192 double aLp2 = aLp * aLp;
193 double aLLp2 = 0.5 * ( aL2 + aLp2 );
197 double rho2 = 3. * md * md / ( 2. * k2 * aLLp2 );
200 double w = 0.5 * ( MLamB * MLamB + MLamC * MLamC - q2 ) / MLamB /
203 double I = -( 1. / sqrt( 3. ) ) * pow( aL * aLp / aLLp2, 2.5 ) *
204 exp( -rho2 * ( w * w - 1. ) );
207 F1 =
I * 3.0 * md / aL *
208 ( 1.0 + ( md / aLLp2 ) * ( ( aLp2 / mq ) + ( aL2 / mQ ) ) );
209 F2 = -
I * ( ( 3. * md * md / mq ) * ( aLp2 / ( aLLp2 * aL2 ) ) -
210 5. * aL * aLp2 * md / ( 4. * aLLp2 * mq * mQ ) );
211 F3 = -
I * ( 3. * md * md * aL / ( mQ * aLLp2 ) + aL / ( 2. * mQ ) );
214 G1 =
I * ( 3.0 * md / aL -
215 ( aL / ( 2. * mQ ) ) *
216 ( 1. + 3. * md * aLp2 / ( 2. * aLLp2 * mq ) ) );
217 G2 = -
I * ( ( 3. * md * md / mq ) * ( aLp2 / ( aLLp2 * aL ) ) +
218 aL * aLp2 * md / ( 4. * aLLp2 * aLLp2 * mq * mQ ) *
219 ( aLLp2 + 12. * md * md ) );
220 G3 =
I * aL / ( mQ * aLLp2 ) *
221 ( aLLp2 / 2. + 3. * md * md +
222 aLp2 * md / ( mq * aLLp2 ) * ( aLLp2 + 6. * md * md ) );
223 G4 = -
I * ( aL / mQ + md / ( mq * mQ ) * aLp2 * aL / aLLp2 );
254 <<
"Not implemented :getscalarff in EvtBaryonPCRFF.\n";
259 double*,
double*,
double* )
262 <<
"Not implemented :getvectorff in EvtBaryonPCRFF.\n";
267 double*,
double*,
double* )
270 <<
"Not implemented :gettensorff in EvtBaryonPCRFF.\n";
275 double*,
double*,
double* )
278 <<
"Not implemented :getbaryonff in EvtBaryonPCRFF.\n";
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf) override
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
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
void getdiracff(EvtId parent, EvtId daught, double q2, double mass, double *f1, double *f2, double *f3, double *g1, double *g2, double *g3) override
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f) override
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
static EvtId getId(const std::string &name)
EvtComplex exp(const EvtComplex &c)
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f) override
static double getMass(EvtId i)