35 double ,
double* f1,
double* f2,
36 double* f3,
double* g1,
double* g2,
double* g3 )
44 if ( ( parent == LAMB && daught == PRO ) ||
45 ( parent == LAMBB && daught == PROB ) ) {
52 double tplus = ( MLamB + MPro ) * ( MLamB + MPro );
53 double tminus = ( MLamB - MPro ) * ( MLamB - MPro );
54 double t0 = tplus - sqrt( tplus - tminus ) * sqrt( tplus + 6 );
55 double z = ( sqrt( tplus - q2 ) - sqrt( tplus - t0 ) ) /
56 ( sqrt( tplus - q2 ) + sqrt( tplus - t0 ) );
57 double z0 = ( sqrt( tplus ) - sqrt( tplus - t0 ) ) /
58 ( sqrt( tplus ) + sqrt( tplus - t0 ) );
71 double F1 = ( f10 / ( 1.0 - q2 / ( 5.325 * 5.325 ) ) ) *
72 ( 1.0 + bf1 * ( z - z0 ) );
73 double F2 = ( f20 / ( 1.0 - q2 / ( 5.325 * 5.325 ) ) ) *
74 ( 1.0 + bf2 * ( z - z0 ) );
75 double G1 = ( g10 / ( 1.0 - q2 / ( 5.723 * 5.723 ) ) ) *
76 ( 1.0 + bg1 * ( z - z0 ) );
77 double G2 = ( g20 / ( 1.0 - q2 / ( 5.723 * 5.723 ) ) ) *
78 ( 1.0 + bg2 * ( z - z0 ) );
80 *f1 = F1 - ( MLamB + MPro ) * F2 / MLamB;
82 *f3 = MPro * ( F2 ) / MLamB;
83 *g1 = G1 - ( MLamB - MPro ) * G2 / MLamB;
85 *g3 = -MPro * G2 / MLamB;
89 <<
"Only Lb -> p transitions allowed in EvtLb2plnuLCSRFF.\n";
97 double*,
double*,
double*,
double*,
double*,
101 <<
"Not implemented :getraritaff in EvtLb2plnuLCSRFF.\n";
109 <<
"Not implemented :getscalarff in EvtLb2plnuLCSRFF.\n";
114 double*,
double*,
double* )
117 <<
"Not implemented :getvectorff in EvtLb2plnuLCSRFF.\n";
122 double*,
double*,
double* )
125 <<
"Not implemented :gettensorff in EvtLb2plnuLCSRFF.\n";
130 double*,
double*,
double* )
133 <<
"Not implemented :getbaryonff in EvtLb2plnuLCSRFF.\n";
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f) override
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
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f) override
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
void getdiracff(EvtId parent, EvtId daught, double q2, double mass, double *f1, double *f2, double *f3, double *g1, double *g2, double *g3) override
static double getMass(EvtId i)
static EvtId getId(const std::string &name)