50 double q2,
double M1,
double mb,
61 double M_res[] = {0.7758, 0.78259, 1.019456};
62 double Gamma[] = {0.1503, 0.00849, 0.00426};
64 double f_lept[] = {5.04, 17.1, -13.2};
65 double g_plus[] = {0.27, -0.27, -0.38};
66 g_plus[0] = g_plus[0] / sqrt( 2.0 );
67 g_plus[1] = g_plus[1] / sqrt( 2.0 );
69 double hatq2 = q2 / pow( M1, 2 );
71 double E = 0.5 * M1 * ( 1 - hatq2 );
75 double beta[] = {0.28, 0.30, 0.26, 0.33};
76 double Delta[] = {0.04, 0.04, 0.30, 0.30};
80 Fv = unit1 * beta[0] * fb * M1 / ( Delta[0] + E );
81 Ftvq0 = unit1 * beta[1] * fb * M1 / ( Delta[1] + E );
82 Fa = unit1 * beta[2] * fb * M1 / ( Delta[2] + E );
83 Ftaq0 = unit1 * beta[3] * fb * M1 / ( Delta[3] + E );
84 Ftv00 = unit1 * beta[1] * fb * M1 / ( Delta[1] + 0.5 * M1 );
85 Fta00 = unit1 * beta[3] * fb * M1 / ( Delta[3] + 0.5 * M1 );
94 ResSum = 2.0 * g_plus[2] * q2 /
95 ( f_lept[2] * ( unit1 * ( q2 - pow( M_res[2], 2 ) ) +
96 uniti * M_res[2] * Gamma[2] ) );
101 for (
int i = 0; i < 2; i++ ) {
103 2.0 * g_plus[i] * q2 /
104 ( f_lept[i] * ( unit1 * ( q2 - pow( M_res[i], 2 ) ) +
105 uniti * M_res[i] * Gamma[i] ) );
118 if (
abs( c7gam ) < 0.0000001 ) {
120 <<
"\n\n The function Evtbs2llGammaFFMNT::getPhotonFF" 121 <<
"\n Error: the Wilson coefficient C7gamma = 0!" 122 <<
" c7gam = " << c7gam << std::endl;
127 <<
"\n\n The function Evtbs2llGammaFFMNT::getPhotonFF" 128 <<
" mb = " << mb <<
" << 5 GeV!" << std::endl;
132 switch ( decay_id ) {
135 Ftv_WA = ( 16.0 / 3.0 ) * ( lambda_qu + lambda_qc ) *
136 (
a1 / c7gam ) * ( fb / mb );
137 Ftv = ( 1.0 + mq / mb ) * Ftv - Ftv_WA;
138 Fta = ( 1.0 - mq / mb ) * Fta;
144 Ftv_WA = ( 16.0 / 3.0 ) *
conj( lambda_qu + lambda_qc ) *
145 (
a1 / c7gam ) * ( fb / mb );
146 Ftv = ( 1.0 + mq / mb ) * Ftv + Ftv_WA;
147 Fta = ( 1.0 - mq / mb ) * Fta;
185 <<
"In the function EvtbTosllMSFF::getQuarkMass \n" 186 <<
"the parametr i not equal 1, 2, 3, 4 or 5! \n" 187 <<
"i =" << i << std::endl;
void getPhotonFF(int decay_id, double fb, EvtId parent, double q2, double M1, double mb, double mq, EvtComplex c7gam, EvtComplex a1, EvtComplex lambda_qu, EvtComplex lambda_qc, EvtComplex &Fv, EvtComplex &Fa, EvtComplex &Ftv, EvtComplex &Fta) override
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
Evt3Rank3C conj(const Evt3Rank3C &t2)
double getQuarkMass(int i) override
double abs(const EvtComplex &c)
static EvtId getId(const std::string &name)