|
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. 34 double tmpa[8] = {14. / 23., 16. / 23., 6. / 23., -12. / 23., 35 0.4086, -0.4230, -0.8994, 0.1456}; 36 double tmph[8] = {2.2996, -1.0880, -3. / 7., -1. / 14., 37 -0.6494, -0.0380, -0.0186, -0.0057}; 38 double tmpp[8] = {0, 0, -80. / 203., 8. / 33., 39 0.0433, 0.1384, 0.1648, -0.0073}; 40 double tmps[8] = {0, 0, -0.2009, -0.3579, 0.0490, -0.3616, -0.3554, 0.0072}; 41 double tmpq[8] = {0, 0, 0, 0, 0.0318, 0.0918, -0.2700, 0.0059}; 42 double tmpg[8] = {313063. / 363036., 0, 0, 0, 43 -0.9135, 0.0873, -0.0571, -0.0209}; 45 {0, 0, 1. / 2., -1. / 2., 0, 0, 0, 0}, 46 {0, 0, 1. / 2., +1. / 2., 0, 0, 0, 0}, 47 {0, 0, -1. / 14., +1. / 6., 0.0510, -0.1403, -0.0113, 0.0054}, 48 {0, 0, -1. / 14., -1. / 6., 0.0984, +0.1214, +0.0156, 0.0026}, 49 {0, 0, 0, 0, -0.0397, 0.0117, -0.0025, +0.0304}, 50 {0, 0, 0, 0, +0.0335, 0.0239, -0.0462, -0.0112}}; 52 {0, 0, +0.8966, -0.1960, -0.2011, 0.1328, -0.0292, -0.1858}, 53 {0, 0, -0.1193, +0.1003, -0.0473, 0.2323, -0.0133, -0.1799}}; 54 for ( i = 0; i < 8; i++ ) { 61 for ( j = 0; j < 6; j++ ) 63 for ( j = 0; j < 2; j++ ) 85 if ( scheme == "NDR" ) 87 else if ( scheme == "HV" ) 91 << "ERROR: EvtWilsonCoefficients knows only NDR and HV schemes !" 101 double beta0 = 11. - 2. / 3. * n_f; 102 double beta1 = 51. - 19. / 3. * n_f; 103 double beta2 = 2857. - 5033. / 9. * n_f + 325. / 27. * n_f * n_f; 106 ( 1. - 2 * beta1 / beta0 / beta0 * log( lnratio ) / lnratio + 107 4 * beta1 * beta1 / beta0 / beta0 / beta0 / beta0 / lnratio / 109 ( ( log( lnratio ) - 0.5 ) * ( log( lnratio ) - 0.5 ) + 110 beta2 * beta0 / 8 / beta1 / beta1 - 5. / 4. ) ); 116 double epsilon = 0.00005, 121 double difference = 0; 122 double Lambda = mu * 0.9999999999; 123 double step = -mu / 20; 126 ( difference = fabs( alphaS( mu, n_f, Lambda ) - alpha ) ) >= epsilon; 129 << " Difference of alpha_S from " << alpha << " is " << difference 130 << " at Lambda = " << Lambda << std::endl; 149 << " Difference of alpha_S from " << alpha << " is " << difference 150 << " at Lambda = " << Lambda << std::endl; 151 if ( difference >= epsilon ) { 153 << " ERROR: Did not converge Lambda for alpha_s = " << alpha 154 << " , difference " << difference << " >= " << epsilon << " after " 155 << i << " steps !" << std::endl; 161 << " was found Lambda = " << Lambda << std::endl; 167 double Lambda = 0.2167, double M_W = 80.425 ) 173 double Lambda = 0.2167, double M_W = 80.425 ) 177 for ( i = 0; i < 8; i++ ) 178 myC1 += k[0][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 183 double Lambda = 0.2167, double M_W = 80.425 ) 187 for ( i = 0; i < 8; i++ ) 188 myC2 += k[1][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 193 double Lambda = 0.2167, double M_W = 80.425 ) 197 for ( i = 0; i < 8; i++ ) 198 myC3 += k[2][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 203 double Lambda = 0.2167, double M_W = 80.425 ) 207 for ( i = 0; i < 8; i++ ) 208 myC4 += k[3][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 213 double Lambda = 0.2167, double M_W = 80.425 ) 217 for ( i = 0; i < 8; i++ ) 218 myC5 += k[4][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 223 double Lambda = 0.2167, double M_W = 80.425 ) 227 for ( i = 0; i < 8; i++ ) 228 myC6 += k[5][i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 234 return EvtComplex( -0.5 * A( M_t * M_t / M_W / M_W ), 0 ); 239 return EvtComplex( -0.5 * F( M_t * M_t / M_W / M_W ), 0 ); 244 double M_t = 174.3, double M_W = 80.425 ) 248 for ( i = 0; i < 8; i++ ) 249 myC7eff += h[i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 250 myC7eff *= C2( mu, n_f, Lambda, M_W ); 251 myC7eff += pow( eta( mu, n_f, Lambda, M_W ), 16. / 23. ) * C7( M_t, M_W ); 253 ( pow( eta( mu, n_f, Lambda, M_W ), 14. / 23. ) - 254 pow( eta( mu, n_f, Lambda, M_W ), 16. / 23. ) ) * 261 double M_t = 174.3, double M_W = 80.425 ) 265 for ( i = 0; i < 8; i++ ) 266 myC8eff += g[i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] ); 267 myC8eff += pow( eta( mu, n_f, Lambda, M_W ), 14. / 23. ) * C8( M_t, M_W ); 273 double M_W = 80.425 ) 275 return EvtComplex( - Y( M_t * M_t / M_W / M_W ) / sin2W, 0 ); 279 double M_t = 174.3, double M_W = 80.425, 280 double ialpha = 137.036 ) 287 return ( x * ( 8 * x * x + 5 * x - 7 ) / 12 / pow( x - 1, 3 ) + 288 x * x * ( 2 - 3 * x ) * log( x ) / 2 / pow( x - 1, 4 ) ); 293 return ( x / 4 / ( 1 - x ) + x / 4 / ( x - 1 ) / ( x - 1 ) * log( x ) ); 298 return ( x * ( x - 6 ) / 8 / ( x - 1 ) + 299 x * ( 3 * x + 2 ) / 8 / ( x - 1 ) / ( x - 1 ) * log( x ) ); 304 return ( ( -19 * x * x * x + 25 * x * x ) / 36 / pow( x - 1, 3 ) + 305 x * x * ( 5 * x * x - 2 * x - 6 ) / 18 / pow( x - 1, 4 ) * log( x ) - 311 return ( x * ( 18 - 11 * x - x * x ) / 12 / pow( 1 - x, 3 ) + 312 x * x * ( 15 - 16 * x + 4 * x * x ) / 6 / pow( 1 - x, 4 ) * log( x ) - 318 return ( x * ( x * x - 5 * x - 2 ) / 4 / pow( x - 1, 3 ) + 319 3 * x * x / 2 / pow( x - 1, 4 ) * log( x ) ); 324 return ( C( x ) - B( x ) ); 329 return ( C( x ) + 1. / 4 * D( x ) ); 334 double sin2W = 0.23120, 335 double M_t = 174.3, double M_W = 80.425, 336 double ialpha = 137.036 ) 343 int n_f = 5, double Lambda = 0.2167, 344 double sin2W = 0.23120, 346 double M_W = 80.425 ) 348 return ( P0( ksi, mu, n_f, Lambda, M_W ) + 349 Y( M_t * M_t / M_W / M_W ) / sin2W - 4 * Z( M_t * M_t / M_W / M_W ) + 350 PE( mu, n_f, Lambda, M_W ) * E( M_t * M_t / M_W / M_W ) ); 354 double Lambda = 0.2167, double M_W = 80.425 ) 358 for ( i = 0; i < 8; i++ ) 359 myP0 += p[i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] + 1 ); 365 for ( i = 0; i < 8; i++ ) 366 myP0 += pow( eta( mu, n_f, Lambda, M_W ), a[i] ) * 367 ( r[ksi][i] + s[i] * eta( mu, n_f, Lambda, M_W ) ); 372 double Lambda = 0.2167, double M_W = 80.425 ) 375 double myPE = 0.1405; 376 for ( i = 0; i < 8; i++ ) 377 myPE += q[i] * pow( eta( mu, n_f, Lambda, M_W ), a[i] + 1 ); 411 << " +---------------------------------------" << std::endl; 413 << " | Table of Wilson coeficients:" << std::endl; 415 << " +---------------------------------------" << std::endl; 424 << " | C7eff0 = " << m_C7eff0 << std::endl; 427 << " | C8eff0 = " << m_C8eff0 << std::endl; 430 << " | C10 = " << m_C10 << std::endl; 432 << " +---------------------------------------" << std::endl; 435 << " +---------------------------------------" << std::endl; 437 << " | Scale = " << m_mu << " GeV" << std::endl; 439 << " | Number of effective flavors = " << m_n_f << std::endl; 441 << " | Corresponding to aS(M_Z)" 444 << " | Strong coupling constant = " << m_alphaS << std::endl; 446 << " | Electromagnetic constant = 1/" << m_ialpha << std::endl; 448 << " | Top mass = " << m_M_t << " GeV" << std::endl; 450 << " | W-boson mass = " << m_M_W << " GeV" << std::endl; 452 << " | Z-boson mass = " << m_M_Z << " GeV" << std::endl; 454 << " | Sinus squared of Weinberg angle = " << m_sin2W << std::endl; 456 << " +---------------------------------------" << std::endl; 458 << " | Intermediate functions:" << std::endl; 460 << " +---------------------------------------" << std::endl; 471 << " | C9~ = " << m_C9tilda << std::endl; 477 << " +--------------------------------------" << std::endl; 484 double x = 4. * z * z / shat; 486 return ( 8. / 27. - 8. / 9. * log( M_b / mu ) - 4. / 9. * log( shat ) + 489 return ( 8. / 27. - 8. / 9. * log( M_b / mu ) - 8. / 9. * log( z ) + 491 2. / 9. * ( 2. + x ) * sqrt( x - 1. ) * 2 * 492 atan( 1. / sqrt( x - 1. ) ) ); 495 8. / 27. - 8. / 9. * log( M_b / mu ) - 8. / 9. * log( z ) + 497 2. / 9. * ( 2. + x ) * sqrt( 1. - x ) * 498 ( log( fabs( sqrt( 1. - x ) + 1 ) / fabs( sqrt( 1. - x ) - 1 ) ) - 504 return ( 1. - 8. * z * z + 8. * pow( z, 6. ) - pow( z, 8. ) - 505 24. * pow( z, 4. ) * log( z ) ); 512 ( 1. - z ) * ( 1. - z ) + 526 o -= ( 2. / 3. ) * log( shat ) * log( 1. - shat ); 527 o -= log( 1. - shat ) * ( 5. + 4. * shat ) / ( 3. + 6. * shat ); 528 o -= log( shat ) * 2. * shat * ( 1. + shat ) * ( 1. - 2. * shat ) / 3. / 529 ( 1. - shat ) / ( 1. - shat ) / ( 1. + 2. * shat ); 530 o += ( 5. + 9. * shat - 6. * shat * shat ) / 6. / ( 1. - shat ) / 543 c += ( c9tilda + ksi * 4. / 9. * ( 3. * c1 + c2 - c3 - 3. * c4 ) ) * 545 c += hzs( z, shat ) * ( 3. * c1 + c2 + 3. * c3 + c4 + 3. * c5 + c6 ); 546 c -= 0.5 * hzs( 1, shat ) * ( 4. * c3 + 4. * c4 + 3. * c5 + c6 ); 547 c -= 0.5 * hzs( 0, shat ) * ( c3 + 3. * c4 ); 548 c += 2. / 9. * ( 3. * c3 + c4 + 3. * c5 + c6 ); 554 double M_W = 80.425 ) 557 return ( i1 * alpha_S * 558 ( 2. / 9. * pow( et, 14. / 23. ) * 559 ( 0.5 * F( M_t * M_t / M_W / M_W ) - 0.1687 ) - 572 for ( i = 0; i < ni; i++ ) 573 y += ki[i] * Gi[i] * Mi[i] / ( q2 - Mi[i] * Mi[i] - i1 * Mi[i] * Gi[i] ); 575 ( 3. * c1 + c2 + 3. * c3 + c4 + 3. * c5 + c6 ) );
double kappa(double z, double alpha_S)
EvtComplex Yld(double q2, double ki[], double Gi[], double Mi[], int ni, EvtComplex c1, EvtComplex c2, EvtComplex c3, EvtComplex c4, EvtComplex c5, EvtComplex c6, double ialpha)
double alphaS(double mu, int n_f, double Lambda)
EvtComplex C8(double M_t, double M_W)
double PE(double mu, int n_f, double Lambda, double M_W)
EvtComplex C2(double mu, int n_f, double Lambda, double M_W)
EvtComplex C5(double mu, int n_f, double Lambda, double M_W)
EvtComplex C6(double mu, int n_f, double Lambda, double M_W)
EvtComplex hzs(double z, double shat, double mu, double M_b)
EvtComplex C10(double sin2W, double M_t, double M_W, double ialpha)
EvtComplex C10tilda(double sin2W, double M_t, double M_W)
EvtComplex C4(double mu, int n_f, double Lambda, double M_W)
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
double Lambda(double alpha, int n_f, double mu, double epsilon, int maxstep)
EvtComplex P0(int ksi, double mu, int n_f, double Lambda, double M_W)
EvtComplex C9efftilda(double z, double shat, double alpha_S, EvtComplex c1, EvtComplex c2, EvtComplex c3, EvtComplex c4, EvtComplex c5, EvtComplex c6, EvtComplex c9tilda, int ksi)
void CalculateAllCoefficients()
EvtComplex C8eff0(double mu, int n_f, double Lambda, double M_t, double M_W)
EvtComplex C3(double mu, int n_f, double Lambda, double M_W)
EvtComplex C1(double mu, int n_f, double Lambda, double M_W)
EvtComplex C9(int ksi, double mu, int n_f, double Lambda, double sin2W, double M_t, double M_W, double ialpha)
EvtComplex C7eff0(double mu, int n_f, double Lambda, double M_t, double M_W)
EvtComplex C7b2sg(double alpha_S, double et, EvtComplex c2, double M_t, double M_W)
EvtComplex C9tilda(int ksi, double mu, int n_f, double Lambda, double sin2W, double M_t, double M_W)
void SetRenormalizationScheme(std::string scheme)
double eta(double mu, int n_f, double Lambda, double M_W)
EvtComplex C7(double M_t, double M_W)
double etatilda(double shat, double alpha_S)
double omega(double shat)
|