11 #include <gsl/gsl_sf_dilog.h>
12 #include <gsl/gsl_sf_zeta.h>
13 #include <gsl/gsl_sf_clausen.h>
14 #include <boost/bind.hpp>
20 if (
SM.
ModelName().compare(
"StandardModel") != 0 &&
SM.
ModelName().compare(
"FlavourWilsonCoefficient") != 0) std::cout <<
"\nWARNING: b to s gamma not implemented in: " +
SM.
ModelName() +
" model, returning Standard Model value.\n" << std::endl;
22 if (obsFlag > 0 and obsFlag < 3)
obs = obsFlag;
23 else throw std::runtime_error(
"obsFlag in bsgamma can only be 1 (BR) or 2 (BR_CPodd)");
39 w_INT = gsl_integration_cquad_workspace_alloc (100);
70 return d + d4/6. +
log(1. - d);
80 return 3./2. * d2 - 2. * d3 + d4;
90 double Li2 = gsl_sf_dilog(d);
92 return 109./18. * d + 17./18. * d2 - 191./108. * d3 + 23./16. * d4
93 + 79./18. *
log(1. - d) - 5./3. * Li2
105 double Li2 = gsl_sf_dilog(d);
107 return 187./108. * d + 7./18. * d2 - 395./648. * d3 + 1181./2592. * d4
108 + 133./108. *
log(1. - d) - Li2/2.
120 double Li2 = gsl_sf_dilog(d);
122 return 35./162. * d + 1./72. * d2 - 89./1944. * d3 + 341./7776. * d4
123 + 13./81. *
log(1. - d) - Li2/18.
155 double zeta3 = gsl_sf_zeta_int(3);
167 double pi2=M_PI*M_PI;
170 else return 16./9. * ( ( 5./2. - pi2/3. - 3.*zeta3
171 + ( 5./2. - 3./4.*pi2 )*L + L2/4. + L3/12. )*z
172 + ( 7./4. + 2./3.*pi2 - pi2*L/2. - L2/4. + L3/12. )*z2
173 + ( -7./6. - pi2/4. + 2*L - 3./4.*L2 )*z3
174 + ( 457./216. - 5./18*pi2 - L/72. - 5./6.*L2 )*z4
175 + ( 35101./8640. - 35./72.*pi2 - 185./144.*L - 35./24.*L2 )*z5
176 + ( 67801./8000. - 21./20.*pi2 - 3303./800.*L - 63./20.*L2 )*z6 +
177 gslpp::complex::i()*M_PI*( ( 2. - pi2/6. + L/2. + L2/2. )*z
178 + ( 1./2. - pi2/6. - L + L2/2. )*z2
179 + z3 + 5./9.*z4 + 49./72.*z5 + 231./200.*z6) );
193 double pi2=M_PI*M_PI;
196 else return -8./9. * ( ( -3. + pi2/6. - L )*z - 2./3.*pi2*
pow(z,3./2.)
197 + ( 1./2. + pi2 -2.*L - L2/2. )*z2
198 + ( -25./12. - pi2/9. - 19./18.*L + 2.*L2 )*z3
199 + ( -1376./225. + 137./30.*L + 2.*L2 + 2./3.*pi2 )*z4
200 + ( -131317./11760. + 887./84.*L + 5.*L2 + 5./3.*pi2 )*z5
201 + ( -2807617./97200. + 16597./540.*L + 14.*L2 + 14./3.*pi2 )*z6 +
202 gslpp::complex::i()*M_PI*( -z + ( 1 - 2.*L )*z2
203 + ( -10./9. + 4./3.*L )*z3 + z4 + 2./3.*z5 + 7./9.*z6) );
208 double Xb = -0.16844083981858157;
218 return -761./729. - 4.*M_PI/9./
sqrt(3.) - 16./27.*Xb +
a(1.)/6. + 5.*
b(1.)/3. + 2.*
b(z) - 148./243.*
gslpp::complex::i()*M_PI;
220 return 56680./243. + 32.*M_PI/3./
sqrt(3.) + 128./9.*Xb - 16.*
a(1.) + 32.*
b(1.) + 896./81.*
gslpp::complex::i()*M_PI;
222 return 5710./729. - 16.*M_PI/9./
sqrt(3.) - 64./27.*Xb - 10./3.*
a(1.) + 44./3.*
b(1.) + 12.*
a(z) + 20.*
b(z)
227 std::stringstream out;
229 throw std::runtime_error(
"Bsgamma::r1(): index " + out.str() +
" not implemented");
235 if (t<4)
return -2. * atan(
sqrt(t/(4.-t)) ) * atan(
sqrt(t/(4.-t)) );
250 double t1 = (1. -
delta(E0));
253 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
257 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
270 double t1 = (1. -
delta(E0));
273 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
277 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
290 double t1 = (1. -
delta(E0));
293 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
297 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
310 double t1 = (1. -
delta(E0));
313 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
317 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
330 double t1 = (1. -
delta(E0));
333 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
337 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
350 double t1 = (1. -
delta(E0));
353 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
357 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
370 double t1 = (1. -
delta(E0));
373 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
377 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
390 double t1 = (1. -
delta(E0));
393 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
397 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
410 double t1 = (1. -
delta(E0));
413 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
417 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
430 double t1 = (1. -
delta(E0));
433 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
437 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
450 double t1 = (1. -
delta(E0));
453 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
457 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
470 double t1 = (1. -
delta(E0));
473 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
477 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
490 double t1 = (1. -
delta(E0));
493 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
497 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
510 double t1 = (1. -
delta(E0));
513 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
517 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
530 double t1 = (1. -
delta(E0));
533 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
537 if (gsl_integration_cquad(&
INT, t1, 1., 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
550 double t1 = (1. -
delta(E0));
553 if (gsl_integration_cquad(&
INT, 0., t1, 1.e-2, 1.e-1,
w_INT, &
avaINT, &
errINT, NULL) != 0)
return std::numeric_limits<double>::quiet_NaN();
569 return 4. * d * (18. - 33.*d + 2.*d2 + 13.*d3 - 6.* d2 * (2. + d) *
log(d))
583 return (-2. * d * (72. + 39.*d - 76.*d2 - 35.*d3
584 + 6.*d*(18. + 13.*d + 2.*d2)*
log(d))) / (243.*(d - 1.));
597 double l1d =
log(1. - d);
598 double Li2 = gsl_sf_dilog(d);
600 return -136./27. * d - 724./81. * d2 + 20./27. * d3
601 + (-8./9. + 16./9. * d - 8./9. * d2) * l1d* l1d
602 + (32./27. * d + 76./27. * d2 - 16./81. * d3) * ld
603 + (-104./27. - 80./9. * d + 40./9. * d2 + (32./27.
604 + 32./9. * d - 16./9. * d2) * ld) * l1d
605 + (-64./27. * d - 152./27. * d2 + 32./81. * d3
606 + (-64./27. - 64./9. * d + 32./9. * d2) * l1d) *
log(
Ms/
Mb_kin)
607 + (32./27. + 32./9. * d - 16./9. * d2) * Li2;
620 double l1d =
log(1. - d);
621 double Li2 = gsl_sf_dilog(d);
623 return -340./243. * d - 104./81. * d2 + 16./729. * d3
624 + (-4./27. + 8./27. * d - 4./27. * d2) * l1d* l1d
625 + (8./27. * d + 4./9. * d2) * ld
627 + (-268./243. - 40./27. * d + 20./27. * d2 + (8./27.
628 + 16./27. * d - 8./27. * d2) * ld
629 + (-16./27. - 32./27. * d + 16./27. * d2) *
log(
Ms/
Mb_kin)) * l1d
630 + (8./27. + 16./27. * d - 8./27. * d2) * Li2;
684 return 0.0039849625073434735;
698 return 0.012330977673588935;
712 return 0.06375940011749558;
726 return 0.11932481422855279;
739 double d =
delta(E0);
741 double Pi2 = M_PI*M_PI;
742 double st0 =
sqrt(1. - 4.*z);
743 double std =
sqrt( (1. - d - 4.*z) * (1. - d) );
744 double L0 =
log( ( 1. + st0 ) / ( 2.*
sqrt(z) ) );
745 double Ld =
log( (
sqrt(1. - d) +
sqrt(1. - d - 4.*z) ) / ( 2.*
sqrt(z) ) );
748 return -2./27. + (2.*Pi2 - 7.)/9. * z + 4.*(3. - 2.*Pi2)/9. * z * z
749 + 4./3. * z * (1. - 2.*z) * st0 * L0
750 - 8./9. * z * (6.*z*z - 4.*z + 1.) * L0*L0 + 4./3. * Pi2 * z * z *z;
751 }
else return -2./27. * d * (3. - 3.*d + d2) + (2.*Pi2 - 7.)/9. * z * d * (2. - d)
752 + 4.*(3. - 2.*Pi2)/9. * z * z * d
753 + 4./3. * z * (1. - 2.*z) * ( st0 * L0 - std * Ld )
754 + 4./3. * z * d * std * Ld
755 - 8./9. * z * (6.*z*z - 4.*z + 1.) * ( L0*L0 - Ld*Ld )
756 - 8./9. * z * d * (2. - d - 4.*z) * Ld * Ld;
762 throw std::runtime_error(
"Bsgamma::Phi27_1_im(): z can not be greater than 1/4");
764 double d =
delta(E0);
766 double st0 =
sqrt(1. - 4.*z);
767 double std =
sqrt( (1. - d - 4.*z) * (1. - d) );
768 double L0 =
log( ( 1. + st0 ) / ( 2.*
sqrt(z) ) );
769 double Ld =
log( (
sqrt(1. - d) +
sqrt(1. - d - 4.*z) ) / ( 2.*
sqrt(z) ) );
772 return 8./9. * M_PI * z * ( (1. - 4. * z + 6. * z2)* (L0-Ld) - 3./4. * (1. - 2. * z) * (st0-std)
773 + d * (2. - d - 4. * z) * Ld - 3./4. * d * std );
775 return 8./9. * M_PI * z * ( (1. - 4. * z + 6. * z2) * L0 - 3./4. * (1. - 2. * z) * st0 );
792 + 1./18. * d * ( 1./2. - 1./2.*d2 + 1./3.*d3 - 1./15.*d4 );
809 + 4./9. * d * ( 4./3. - d2 + 1./2.*d3 - 1./15.*d4 );
822 - 2./27. * d * ( 4./3. - d2 + 1./2.*d3 - 1./15.*d4 );
830 return -4./3. *
Int_b3(E0) + 1./9. * d * (1. - d + 1./3.*d2) + 1./4.*
ff7_sMP(E0);
874 + 8./9. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
887 - 8./27. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
895 return 16./9. * d * ( 1. - d + 1./3.*d2) + 4. *
ff7_sMP(E0);
915 + 2./81. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
923 return 8./3. * (
Int_b3(E0) - 2.*
Int_c3(E0)) - 8./27. * d * ( 1. - d + 1./3.*d2)
939 return -2./3.*
pow(
log(d),2.) - 7./3.*
log(d) - 31./9. + 10./3.*d + d2/3. - 2./9.*d3 + d*(d - 4.)*
log(d)/3.;
948 double Li2 = gsl_sf_dilog(1. - d);
950 double pi2=M_PI*M_PI;
952 return 8./9.*( Li2 - pi2/6. - d*
log(d) + 9./4.*d - d2/4. + d3/12.);
961 double Li2 = gsl_sf_dilog(1. - d);
963 double pi2=M_PI*M_PI;
965 return 1./27.*( -2.*
log(
Mb_kin/
Ms)*( d2 + 2.*d + 4.*
log(1. - d) ) + 4.*Li2 - 2./3.*pi2 - d*(2. + d)*
log(d)
966 + 8.*
log(1. - d) - 2./3.*d3 + 3.*d2 +7*d);
971 if (i > 8 || j>8 || i<1 || j<1)
throw std::runtime_error(
"Bsgamma::Kij_1(): indexes (i,j) must be included in (1,..,8)");
975 if (i > j) {temp=i; i=j; j=temp;}
977 double gamma_i7[8] = {-208./243., 416./81., -176./81., -152./243., -6272./81., 4624./243., 32./3., -32./9.};
1020 K_ij[6][6] = -182./9. + 8./9.*M_PI*M_PI - gamma_i7[6]*2.*Lb + 4.*
Phi77_1(E0);
1025 return K_ij[i-1][j-1];
1077 p21 += (C0[i]*C0[j]).real() *
Kij_1(i+1,j+1,E0,mu);
1085 p21 += (C0p[i]*C0p[j]).real() *
Kij_1(i+1,j+1,E0,mu);
1102 double d =
delta(E0);
1116 double d =
delta(E0);
1120 double Lumd =
log(1. - d);
1123 double uphib427 = ( 2. * d * (-63. + 30. * d + 35. * d2 - 2. * d3
1124 + 3. * d * (-18. - 7. * d + d2) * Ld) ) / ( 243. * (d - 1.) );
1125 double uphib428 = ( 108. * (d - 1.) * (d - 1.) * Lumd*Lumd
1126 - 12. * Lumd * (- 25. - 18. * Lq - 18. * d * (5. + 4. * Lq)
1127 + 9. * d2 * (5. + 4. * Lq) + (9. + 36. * d - 18. * d2) * Ld)
1128 + d * (24. * (17. + 9. * Lq) + 27. * d * (43. + 26. * Lq)
1129 - d2 * (127. + 72. * Lq) + 9. * (-12. - 39. * d + 4. * d2) * Ld)
1130 + 108. * (-1. - 4. * d + 2. * d2) * gsl_sf_dilog(d) ) / 729.;
1133 (
CKMu.
real() * 0.005025213076791178 + CPodd *
CKMu.
imag() * 0.013978889449487913)
1155 std::stringstream out;
1157 throw std::runtime_error(
"Bsgamma::P(): order " + out.str() +
" not implemented");
1163 double mcnorm = 1.131;
1166 return -1./18. * (
C7_0 * ( 2.*
C2_0 -
C1_0/3. )).real() * lambda2/mcnorm/mcnorm;
1171 double z = 1. -
delta(E0);
1175 double umz2 = (1.-z)*(1.-z);
1176 double Lz =
log(1. - z);
1180 double corrLambda2_rad;
1181 double corrLambda2_sem;
1182 double corrLambda2_mix;
1186 double alsb =
SM.Alstilde5(
Mb_kin);
1187 double Lambda_pert = 64./9. * alsb *
mu_kin *
1189 - 3. * (M_PI*M_PI/6. - 13./12.)) );
1190 double mu_pi2_pert = 3./4. * mu_kin * Lambda_pert - 48. * alsb*alsb * mu_kin*
mu_kin;
1191 double rho_D3_pert = 1./2. * mu_kin*mu_kin * Lambda_pert - 128./3. * alsb*alsb * mu_kin*mu_kin*
mu_kin;
1195 double rho1 =
rho_D3 - rho_D3_pert;
1197 double f1EGN = 16./9. * ( 4. - M_PI*M_PI) - 8./3. * Lz2 -
1198 ( 4. * z * ( 30. - 63. * z + 31. * z2 + 5. * z3))/(9. * umz2) -
1199 ( 4. * (30. - 72. * z + 51. * z2 - 2. * z3 - 3. * z4))/(9. * umz2) * Lz;
1200 double f2EGN = -2./9. * ( 87. + 32. * M_PI*M_PI) - 32./3. * Lz2 +
1201 2. * ( 162. - 244. * z + 113. * z2 - 7. * z3)/(3. * (1. - z)) * Lz +
1202 2. * z * ( 54 - 49. * z + 15. * z2)/(1. - z);
1204 corrLambda2_rad = lambda1 * ( f1EGN/8. - 4./3. * (Lb + 1.) )
1205 + lambda2 * (f2EGN/8. + 12. * (Lb + 1.) );
1206 corrLambda2_sem = -3. * 4.98 * lambda2 + (25. - 4. * M_PI*M_PI)/12.*lambda1;
1207 corrLambda2_mix = 1./8. * (9. * lambda2 - lambda1) *
Kij_1(7,7,E0,mu);
1209 corrLambda2 = corrLambda2_rad - corrLambda2_sem + corrLambda2_mix;
1224 return (1. - 8. * z + 8. * z*z*z - z*z*z*z - 12. * z*z *
log(z)) * ( 0.903
1225 - 0.588 * (
SM.Alstilde5(4.6)*4*M_PI - 0.22) + 0.0650 * (
Mb_kin - 4.55)
1291 throw std::runtime_error(
"Bsgamma::computeThValue(): Observable type not defined. Can be only 1 or 2");
double Phi33_1(double E0)
The function obtained using the prescription of .
double Phi14_1(double E0)
The function obtained using the prescription of .
double Phi28_1(double E0, double z)
The function from .
double Phi34_1(double E0)
The function obtained using the prescription of .
gslpp::vector< double > Intbc_cache
double Vub_NLO_2body(bool CPodd)
The 2 body NLO Vub part of the as defined in , .
double Phi78_1(double E0)
The function from .
void computeCoeff(double mu)
Compute the Wilson Coefficient.
double getKc_im_1mt2(double t)
The function .
double getKb_re_1mt(double t)
The function .
double getKc_re_Kb_1mt(double t)
The function .
double getKb_abs2_t_1mt2(double t)
The function .
double getKc_abs2_t_1mt(double t)
The function .
double getKb_re_t(double t)
The function .
double Phi26_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double Vub_NLO_3body(double E0, bool CPodd)
The 3 body NLO Vub part of the , .
double Phi58_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
CKM getCKM() const
A get method to retrieve the member object of type CKM.
double getKb_abs2_1mt(double t)
The function .
double P0_4body(double E0, double t)
The 4-body LO contribution as defined in .
An observable class for the quartic Higgs potential coupling .
unsigned int Intbb4Cached
double getKc_re_1mt(double t)
The function .
unsigned int Intbc1Cached
double getKc_re_Kb_t_1mt(double t)
The function .
double getKb_re_t_1mt(double t)
The function .
double omega(double E0)
The cutoff energy function as defined in .
gslpp::complex b(double z)
The funcion as defined in .
gslpp::vector< gslpp::complex > ** allcoeff
double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
double N_27()
The non perturbative part of the due to interference as defined in , .
Bsgamma(const StandardModel &SM_i, int obsFlag)
Constructor.
double Phi17_1(double E0, double z)
The function from .
gslpp::complex r1(int i, double z)
The funcion as defined in .
double Int_bb2(double E0)
Integral of the functions getKb_abs2_t_1mt() and getKb_abs2_t_1mt2().
unsigned int Intbc_updated
complex conjugate() const
gslpp::complex Gamma_t(double t)
The function as defined in .
void updateParameters()
The update parameter method for bsgamma.
double getKb_re_t2_1mt2(double t)
The function .
orders
An enum type for orders in QCD.
double Vub_NLO(double E0, bool CPodd)
The total NLO Vub part of the , .
double Phi23_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double P0(double E0)
The perturbative part of the BR as defined in .
double Phi22_1(double E0)
The function from .
double getKc_abs2_1mt2(double t)
The function .
complex pow(const complex &z1, const complex &z2)
double Phi48_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double Int_b4(double E0)
Integral of the functions getKb_re_t2_1mt() and getKb_re_t2_1mt2().
double Phi44_1(double E0)
The function obtained using the prescription of .
const double & real() const
gslpp::vector< gslpp::complex > ** ComputeCoeffprimesgamma(double mu, schemes scheme=NDR)
Computes the chirality flipped Wilson coefficient for the process .
double Phi46_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
gsl_function convertToGslFunction(const F &f)
gslpp::complex a(double z)
The funcion as defined in .
double getKb_abs2_1mt2(double t)
The function .
double getKb_abs2_t2_1mt(double t)
The function .
double Int_c3(double E0)
Integral of the functions getKc_re_t() and getKc_re_t_1mt().
double T2(double E0, double t)
The cutoff energy function as defined in .
double Int_cc1_part1(double E0)
Integral of the functions getKc_abs2_1mt().
gslpp::complex kappa(double Mq, double t)
The function as defined in .
double Phi16_1(double E0)
The function obtained using the prescription of .
double getKb_re_1mt2(double t)
The function .
unsigned int Intcc1p1Cached
gslpp::vector< gslpp::complex > ** allcoeffprime
A class for a model prediction of an observable.
double T1(double E0, double t)
The cutoff energy function as defined in .
static const complex & i()
double getGambino_Mbkin() const
double getGambino_Mcatmuc() const
double Phi25_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double P21(double E0, double mu)
The perturbative part of the BR as defined in .
double Int_cc(double E0)
Integral of the functions getKc_abs2_t() and getKc_abs2_t_1mt().
double Int_c2(double E0)
Integral of the functions getKc_re_t_1mt() and getKc_re_t_1mt2().
A model class for the Standard Model.
double Phi88_1(double E0)
The function from .
double delta(double E0)
The cutoff energy function .
double Phi26_1_4body(double E0)
The function obtained from .
gsl_integration_cquad_workspace * w_INT
double Int_c1_im(double E0)
Integral of the functions getKc_im_1mt() and getKc_im_1mt2().
double Phi77_1(double E0)
The function from .
double Phi24_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double Int_bc1(double E0)
Integral of the functions getKc_re_Kb_1mt() and getKc_re_Kb_1mt2().
double getGambino_BRsem() const
double Phi45_1(double E0)
The function obtained using the prescription of .
double ff7_dMP(double E0)
The 4-body NLO correction due to and d, , from .
double ff7_sMP(double E0)
The 4-body NLO correction due to and s, , from .
double getKb_abs2_t2_1mt2(double t)
The function .
double T3(double E0, double t)
The cutoff energy function as defined in .
double Phi15_1(double E0)
The function obtained using the prescription of .
double getGambino_muG2() const
double Int_bb4(double E0)
Integral of the functions getKb_abs2_t2_1mt() and getKb_abs2_t2_1mt2().
double Phi66_1(double E0)
The function obtained using the prescription of .
double Phi55_1(double E0)
The function obtained using the prescription of .
double C_sem()
The ratio as defined in , but with coefficients slightly modified due to different imput parameters...
double getbsgamma_E0() const
unsigned int Intbc2Cached
unsigned int Intbb2Cached
double getKb_re_t2_1mt(double t)
The function .
double getKb_abs2_t_1mt(double t)
The function .
double rho(double E0)
The cutoff energy function as defined in .
Flavour * getMyFlavour() const
double getKc_abs2_t(double t)
The function .
double Phi38_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double zeta()
The squared ratio between and , .
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
double P11()
The perturbative part of the BR as defined in .
double Int_bc2(double E0)
Integral of the functions getKc_re_Kb_t_1mt() and getKc_re_Kb_t_1mt2().
double Phi47_1(double E0)
The function from and adding the 4-body contribution from .
gslpp::vector< gslpp::complex > ** ComputeCoeffsgamma(double mu, schemes scheme=NDR)
Computes the Wilson coefficient for the process .
double Int_cc1(double E0)
Integral of the functions getKc_abs2_1mt() and getKc_abs2_1mt^().
double computeThValue()
Computes the Branching Ratio for the decay.
gslpp::complex computelamt_s() const
The product of the CKM elements .
double Phi13_1(double E0)
The function obtained using the prescription of .
double getAle() const
A get method to retrieve the fine-structure constant .
double Int_c1(double E0)
Integral of the functions getKc_re_1mt() and getKc_re_1mt2().
double getGambino_mupi2() const
double Phi18_1(double E0, double z)
The function from .
double Kij_1(int i, int j, double E0, double mu)
The function from .
const double & getMass() const
A get method to access the particle mass.
unsigned int Intc1imCached
double Phi56_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
const StandardModel & SM
A reference to an object of StandardMode class.
double getKc_abs2_1mt(double t)
The function .
double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
double getKc_re_Kb_1mt2(double t)
The function .
double getKc_re_t(double t)
The function .
const double & imag() const
double getKb_re_t_1mt2(double t)
The function .
double getKc_re_t_1mt2(double t)
The function .
double Phi35_1(double E0)
The function obtained using the prescription of .
unsigned int Intbb1Cached
double Phi12_1(double E0)
The function from .
complex log(const complex &z)
double Phi23_1_4body(double E0)
The function obtained from .
unsigned int Intb_updated
void checkCache()
The caching method for bsgamma.
double getKc_re_t_1mt(double t)
The function .
double ff8_dMP(double E0)
The 4-body NLO correction due to and d, , from .
double getKc_re_1mt2(double t)
The function .
double Vub_NLO_4body(double E0, bool CPodd)
The 4 body NLO Vub part of the obtained from , .
double N_77(double E0, double mu)
The non perturbative part of the due to interference as defined in , .
double N(double E0, double mu)
The non perturbative part of the as defined in , .
double P(double E0, double mu_b, double mu_c, orders order, bool CPodd)
The perturbative part of the as defined in , .
An observable class for the quartic Higgs potential coupling .
double getKc_re_Kb_t_1mt2(double t)
The function .
double Int_b2(double E0)
Integral of the functions getKb_re_t_1mt() and getKb_re_t_1mt2().
gslpp::complex computelamu_s() const
The product of the CKM elements .
double Phi24_1_4body(double E0)
The function obtained from .
double Phi68_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
unsigned int Intcc1Cached
A class for defining operations on and functions of complex numbers.
double Int_b1(double E0)
Integral of the functions getKb_re_1mt() and getKb_re_1mt2().
double Phi36_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
std::string ModelName() const
A method to fetch the name of the model.
double Phi25_1_4body(double E0)
The function obtained from .
double getBLNPcorr() const
double Phi11_1(double E0)
The function from .
double Phi27_1_im(double E0, double z)
The function from .
double Phi57_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double Phi27_1(double E0, double z)
The function from .
double Int_b3(double E0)
Integral of the functions getKb_re_t() and getKb_re_t_1mt().
double ff8_sMP(double E0)
The 4-body NLO correction due to and s, , from .
double getGambino_mukin() const
double Phi37_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double getGambino_rhoD3() const
double getGambino_rhoLS3() const
double Phi67_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from ...
double getKc_im_1mt(double t)
The function .
double Int_bb1(double E0)
Integral of the functions getKb_abs2_1mt() and getKb_abs2_1mt2().
complex sqrt(const complex &z)