|
EvtGen
2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
|
Go to the documentation of this file. 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)
|