15#include "std_make_vector.h"
16#include "gslpp_function_adapter.h"
17#include <gsl/gsl_sf_dilog.h>
18#include <gsl/gsl_sf_zeta.h>
19#include <gsl/gsl_sf_clausen.h>
20#include <boost/bind/bind.hpp>
21using namespace boost::placeholders;
25Intbc_cache(2, 0.), ig(ROOT::Math::Integration::kADAPTIVESINGULAR, ROOT::Math::Integration::kGAUSS51), wf()
27 if (obsFlag > 0 and obsFlag < 3)
obs = obsFlag;
28 else throw std::runtime_error(
"obsFlag in bsgamma can only be 1 (BR) or 2 (ACP)");
39 <<
"rhoD3" <<
"muG2" <<
"rhoLS3" <<
"BLNPcorr" <<
"mu_b_bsgamma" <<
"mu_c_bsgamma");
60Intbc_cache(2, 0.), ig(ROOT::Math::Integration::kADAPTIVESINGULAR, ROOT::Math::Integration::kGAUSS51), wf()
62 if (obsFlag > 0 and obsFlag < 3)
obs = obsFlag;
63 else throw std::runtime_error(
"obsFlag in bsgamma can only be 1 (BR) or 2 (ACP)");
114 return d + d4/6. + log(1. - d);
124 return 3./2. * d2 - 2. * d3 + d4;
134 double Li2 = gsl_sf_dilog(d);
136 return 109./18. * d + 17./18. * d2 - 191./108. * d3 + 23./16. * d4
137 + 79./18. * log(1. - d) - 5./3. *
Li2
138 - (5./3. *
rho(E0) + 2./9. *
omega(E0)) * log(
t*d)
149 double Li2 = gsl_sf_dilog(d);
151 return 187./108. * d + 7./18. * d2 - 395./648. * d3 + 1181./2592. * d4
152 + 133./108. * log(1. - d) -
Li2/2.
153 - (
rho(E0)/2. + 2./27. *
omega(E0)) * log(
t*d)
164 double Li2 = gsl_sf_dilog(d);
166 return 35./162. * d + 1./72. * d2 - 89./1944. * d3 + 341./7776. * d4
167 + 13./81. * log(1. - d) -
Li2/18.
168 - (
rho(E0)/18. +
omega(E0)/162.) * log(
t*d);
173 gslpp::complex la_u =-
CKMu;
198 double C13 = (C13re*la_u.real() - C13im*la_u.imag());
199 double C14 = (C14re*la_u.real() - C14im*la_u.imag());
200 double C15 = (C15re*la_u.real() - C15im*la_u.imag());
201 double C16 = (C16re*la_u.real() - C16im*la_u.imag());
202 double C23 = (C23re*la_u.real() - C23im*la_u.imag());
203 double C24 = (C24re*la_u.real() - C24im*la_u.imag());
204 double C25 = (C25re*la_u.real() - C25im*la_u.imag());
205 double C26 = (C26re*la_u.real() - C26im*la_u.imag());
206 double C33 =
C3_0.abs2();
210 double C44 =
C4_0.abs2();
213 double C55 =
C5_0.abs2();
215 double C66 =
C6_0.abs2();
217 return (C33 + 20. * C35 + 2./9. * C44 + 40./9. * C46 + 136. * C55 + 272./9. * C66) *
T1(E0,
t) +
220 + 8./9. * C13 - 4./27. * C14 + 128./9. * C15 - 64./27. * C16
221 + 2./3. * C23 + 8./9. * C24 + 32./3. * C25 + 128./9. * C26) *
T2(E0,
t) +
223 (C33 + 8./3. * C34 + 32. * C35 + 128./3. * C36 - 2./9. * C44 + 128./3. * C45
224 - 64./9. * C46 + 256. * C55 + 2048./3 * C56 - 512./9. * C66) *
T3(E0,
t);
234 double zeta3 = gsl_sf_zeta_int(3);
246 double pi2=M_PI*M_PI;
248 if (z == 1.)
return 4.0859 + 4./9. * M_PI * gslpp::complex::i();
249 else return 16./9. * ( ( 5./2. - pi2/3. - 3.*zeta3
250 + ( 5./2. - 3./4.*pi2 )*L + L2/4. + L3/12. )*z
251 + ( 7./4. + 2./3.*pi2 - pi2*L/2. - L2/4. + L3/12. )*z2
252 + ( -7./6. - pi2/4. + 2*L - 3./4.*L2 )*z3
253 + ( 457./216. - 5./18*pi2 - L/72. - 5./6.*L2 )*z4
254 + ( 35101./8640. - 35./72.*pi2 - 185./144.*L - 35./24.*L2 )*z5
255 + ( 67801./8000. - 21./20.*pi2 - 3303./800.*L - 63./20.*L2 )*z6 +
256 gslpp::complex::i()*M_PI*( ( 2. - pi2/6. + L/2. + L2/2. )*z
257 + ( 1./2. - pi2/6. - L + L2/2. )*z2
258 + z3 + 5./9.*z4 + 49./72.*z5 + 231./200.*z6) );
272 double pi2=M_PI*M_PI;
274 if (z == 1.)
return 0.0316 + 4./81. * M_PI * gslpp::complex::i();
275 else return -8./9. * ( ( -3. + pi2/6. - L )*z - 2./3.*pi2*pow(z,3./2.)
276 + ( 1./2. + pi2 -2.*L - L2/2. )*z2
277 + ( -25./12. - pi2/9. - 19./18.*L + 2.*L2 )*z3
278 + ( -1376./225. + 137./30.*L + 2.*L2 + 2./3.*pi2 )*z4
279 + ( -131317./11760. + 887./84.*L + 5.*L2 + 5./3.*pi2 )*z5
280 + ( -2807617./97200. + 16597./540.*L + 14.*L2 + 14./3.*pi2 )*z6 +
281 gslpp::complex::i()*M_PI*( -z + ( 1 - 2.*L )*z2
282 + ( -10./9. + 4./3.*L )*z3 + z4 + 2./3.*z5 + 7./9.*z6) );
287 double Xb = -0.16844083981858157;
291 return 833./729. - (
a(z) +
b(z))/3. + 40./243.*gslpp::complex::i()*M_PI;
293 return - 1666./243. + 2.*(
a(z) +
b(z)) - 80./81.*gslpp::complex::i()*M_PI;
295 return 2392./243. + 8.*M_PI/3./sqrt(3.) + 32./9.*Xb -
a(1.) + 2.*
b(1.) + 56./81.*gslpp::complex::i()*M_PI;
297 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;
299 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;
301 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)
302 - 2296./243.*gslpp::complex::i()*M_PI;
304 return 44./9. - 8./27.*M_PI*M_PI + 8./9.*gslpp::complex::i()*M_PI;
306 std::stringstream out;
308 throw std::runtime_error(
"Bsgamma::r1(): index " + out.str() +
" not implemented");
314 double Xb = -0.16844083981858157;
315 double PI2 = M_PI*M_PI;
316 gslpp::complex iPI = gslpp::complex::i()*M_PI;
320 return 3332./2187. - 4.*(
a(z) +
b(z))/9. + 160./729.*iPI;
322 return 833./729. - (
a(z) +
b(z))/3. + 40./243.*iPI;
324 return 748./729. + 2.*M_PI/9./sqrt(3.) - 2./81.*PI2 + 8./27.*Xb
325 -
a(1.)/12. + 7.*
b(1.)/6. - 2.*
b(z) + 26./243.*iPI;
327 return 2680./2187. + 8.*M_PI/27./sqrt(3.) - 8./243.*PI2 + 32./81.*Xb
328 -
a(1.)/9. + 2.*
b(1.)/9. + 56./729.*iPI;
330 return 78301./729. + 8.*M_PI/9./sqrt(3.) - 40./81.*PI2 + 32./27.*Xb
331 - 13.*
a(1.)/3. + 38.*
b(1.)/3. - 12.*
a(z) - 20.*
b(z) + 3908./243.*iPI;
333 return 62440./2187. + 32.*M_PI/27./sqrt(3.) - 160./243.*PI2 + 128./81.*Xb
334 - 16.*
a(1.)/9. + 32.*
b(1.)/9. + 896./729.*iPI;
336 return -25./27. - 2./9.*iPI;
338 std::stringstream out;
340 throw std::runtime_error(
"Bsgamma::r1_ew(): index " + out.str() +
" not implemented");
346 if (
t<4)
return -2. * atan( sqrt(
t/(4.-
t)) ) * atan( sqrt(
t/(4.-
t)) );
347 else return -M_PI*M_PI/2. + 2.*log( ( sqrt(
t) + sqrt(
t-4.) ) / 2. )*log( ( sqrt(
t) + sqrt(
t-4.) ) / 2. )
348 - 2.*gslpp::complex::i()*M_PI*log( ( sqrt(
t) + sqrt(
t-4.) ) / 2. );
361 double t1 = (1. -
delta(E0));
365 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
371 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
384 double t1 = (1. -
delta(E0));
389 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
395 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
408 double t1 = (1. -
delta(E0));
413 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
419 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
432 double t1 = (1. -
delta(E0));
437 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
443 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
456 double t1 = (1. -
delta(E0));
461 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
467 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
480 double t1 = (1. -
delta(E0));
485 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
491 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
504 double t1 = (1. -
delta(E0));
509 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
515 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
528 double t1 = (1. -
delta(E0));
533 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
534 gslpp::complex mt =
avaINT;
539 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
540 mt += gslpp::complex::i() *
avaINT;
545 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
546 gslpp::complex mt2 =
avaINT;
551 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
552 mt2 += gslpp::complex::i() *
avaINT;
564 double t1 = (1. -
delta(E0));
569 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
570 gslpp::complex mt =
avaINT;
575 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
576 mt += gslpp::complex::i() *
avaINT;
581 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
582 gslpp::complex mt2 =
avaINT;
587 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
588 mt2 += gslpp::complex::i() *
avaINT;
600 double t1 = (1. -
delta(E0));
605 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
606 gslpp::complex mt =
avaINT;
611 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
612 mt += gslpp::complex::i() *
avaINT;
617 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
618 gslpp::complex mt2 =
avaINT;
623 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
624 mt2 += gslpp::complex::i() *
avaINT;
636 double t1 = (1. -
delta(E0));
641 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
642 gslpp::complex mt =
avaINT;
647 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
648 mt += gslpp::complex::i() *
avaINT;
653 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
654 gslpp::complex mt2 =
avaINT;
659 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
660 mt2 += gslpp::complex::i() *
avaINT;
672 double t1 = (1. -
delta(E0));
677 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
683 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
684 t += gslpp::complex::i() *
avaINT;
689 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
690 gslpp::complex mt =
avaINT;
695 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
696 mt += gslpp::complex::i() *
avaINT;
708 double t1 = (1. -
delta(E0));
713 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
719 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
732 double t1 = (1. -
delta(E0));
737 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
743 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
756 double t1 = (1. -
delta(E0));
761 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
777 return 4. * d * (18. - 33.*d + 2.*d2 + 13.*d3 - 6.* d2 * (2. + d) * log(d))
791 return (-2. * d * (72. + 39.*d - 76.*d2 - 35.*d3
792 + 6.*d*(18. + 13.*d + 2.*d2)*log(d))) / (243.*(d - 1.));
805 double l1d = log(1. - d);
806 double Li2 = gsl_sf_dilog(d);
808 return -136./27. * d - 724./81. * d2 + 20./27. * d3
809 + (-8./9. + 16./9. * d - 8./9. * d2) * l1d* l1d
810 + (32./27. * d + 76./27. * d2 - 16./81. * d3) * ld
811 + (-104./27. - 80./9. * d + 40./9. * d2 + (32./27.
812 + 32./9. * d - 16./9. * d2) * ld) * l1d
813 + (-64./27. * d - 152./27. * d2 + 32./81. * d3
814 + (-64./27. - 64./9. * d + 32./9. * d2) * l1d) * log(
Ms/
Mb_kin)
815 + (32./27. + 32./9. * d - 16./9. * d2) *
Li2;
828 double l1d = log(1. - d);
829 double Li2 = gsl_sf_dilog(d);
831 return -340./243. * d - 104./81. * d2 + 16./729. * d3
832 + (-4./27. + 8./27. * d - 4./27. * d2) * l1d* l1d
833 + (8./27. * d + 4./9. * d2) * ld
834 + (-16./27. * d - 8./9. * d2) * log(
Ms/
Mb_kin)
835 + (-268./243. - 40./27. * d + 20./27. * d2 + (8./27.
836 + 16./27. * d - 8./27. * d2) * ld
837 + (-16./27. - 32./27. * d + 16./27. * d2) * log(
Ms/
Mb_kin)) * l1d
838 + (8./27. + 16./27. * d - 8./27. * d2) *
Li2;
892 return 0.0039849625073434735;
906 return 0.012330977673588935;
920 return 0.06375940011749558;
934 return 0.11932481422855279;
947 double d =
delta(E0);
950 double Pi2 = M_PI*M_PI;
951 double st0 = sqrt(1. - 4.*z);
952 double std = sqrt( (1. - d - 4.*z) * (1. - d) );
953 double L0 = log( ( 1. + st0 ) / ( 2.*sqrt(z) ) );
954 double Ld = log( ( sqrt(1. - d) + sqrt(1. - d - 4.*z) ) / ( 2.*sqrt(z) ) );
959 res = -2./27. + (2.*Pi2 - 7.)/9. * z + 4.*(3. - 2.*Pi2)/9. * z * z
960 + 4./3. * z * (1. - 2.*z) * st0 * L0
961 - 8./9. * z * (6.*z*z - 4.*z + 1.) * L0*L0 + 4./3. * Pi2 * z * z *z;
962 }
else res = -2./27. * d * (3. - 3.*d + d2) + (2.*Pi2 - 7.)/9. * z * d * (2. - d)
963 + 4.*(3. - 2.*Pi2)/9. * z * z * d
964 + 4./3. * z * (1. - 2.*z) * ( st0 * L0 - std * Ld )
965 + 4./3. * z * d * std * Ld
966 - 8./9. * z * (6.*z*z - 4.*z + 1.) * ( L0*L0 - Ld*Ld )
967 - 8./9. * z * d * (2. - d - 4.*z) * Ld * Ld;
970 res += gslpp::complex::i() * 8./9. * M_PI * z * ( (1. - 4. * z + 6. * z2)* (L0-Ld) - 3./4. * (1. - 2. * z) * (st0-std)
971 + d * (2. - d - 4. * z) * Ld - 3./4. * d * std );
973 res += gslpp::complex::i() * 8./9. * M_PI * z * ( (1. - 4. * z + 6. * z2) * L0 - 3./4. * (1. - 2. * z) * st0 );
992 + 1./18. * d * ( 1./2. - 1./2.*d2 + 1./3.*d3 - 1./15.*d4 );
1009 + 4./9. * d * ( 4./3. - d2 + 1./2.*d3 - 1./15.*d4 );
1022 - 2./27. * d * ( 4./3. - d2 + 1./2.*d3 - 1./15.*d4 );
1030 return -4./3. *
Int_b3(E0) + 1./9. * d * (1. - d + 1./3.*d2) + 1./4.*
ff7_sMP(E0);
1074 + 8./9. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
1087 - 8./27. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
1095 return 16./9. * d * ( 1. - d + 1./3.*d2) + 4. *
ff7_sMP(E0);
1115 + 2./81. * d * ( 11./3. - 2.*d2 + 2./3.*d3 - 1./15.*d4 );
1123 return 8./3. * (
Int_b3(E0) - 2.*
Int_c3(E0)) - 8./27. * d * ( 1. - d + 1./3.*d2)
1139 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.;
1148 double Li2 = gsl_sf_dilog(1. - d);
1150 double pi2=M_PI*M_PI;
1152 return 8./9.*(
Li2 - pi2/6. - d*log(d) + 9./4.*d - d2/4. + d3/12.);
1161 double Li2 = gsl_sf_dilog(1. - d);
1163 double pi2=M_PI*M_PI;
1165 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)
1166 + 8.*log(1. - d) - 2./3.*d3 + 3.*d2 +7*d);
1171 if (i > 8 || j>8 || i<1 || j<1)
throw std::runtime_error(
"Bsgamma::Kij_1(): indices (i,j) must be included in (1,..,8)");
1173 double gamma_i7[8] = {-208./243., 416./81., -176./81., -152./243., -6272./81., 4624./243., 32./3., -32./9.};
1174 gslpp::complex K_ij[8][8] = {{0.}};
1175 double Lb = log(mu/
Mb_kin);
1198 K_ij[2][6] =
r1(3,
zeta()) - gamma_i7[2]*Lb + 2.*
Phi37_1(E0);
1204 K_ij[3][6] =
r1(4,
zeta()) - gamma_i7[3]*Lb + 2.*
Phi47_1(E0);
1209 K_ij[4][6] =
r1(5,
zeta()) - gamma_i7[4]*Lb + 2.*
Phi57_1(E0);
1213 K_ij[5][6] =
r1(6,
zeta()) - gamma_i7[5]*Lb + 2.*
Phi67_1(E0);
1216 K_ij[6][6] = -182./9. + 8./9.*M_PI*M_PI - gamma_i7[6]*2.*Lb + 4.*
Phi77_1(E0);
1217 K_ij[6][7] =
r1(8,
zeta()) - gamma_i7[7]*Lb + 2.*
Phi78_1(E0);
1221 if (j >= i )
return K_ij[i-1][j-1];
1222 else return K_ij[j-1][i-1].conjugate();
1231 double z32 = sqrt(z)*z;
1237 double Pi2 = M_PI*M_PI;
1238 double zeta3 = gsl_sf_zeta_int(3);
1240 return 67454./6561. - 124./729. * Pi2
1241 - 4./1215. * (11280. - 1520. * Pi2 - 171. * Pi2*Pi2 - 5760. * zeta3
1242 + 6840. * L - 1440. * Pi2*L - 2520. * zeta3*L
1243 + 120. * L2 + 100. * L3 - 30. * L4) * z
1244 - 64./243. * Pi2*( 43. - 12. * log(2.) - 3. * L) * z32
1245 - 2./1215. * (11475. - 380. * Pi2 + 96. * Pi2*Pi2
1246 + 7200. * zeta3 - 1110. * L - 1560. * Pi2*L + 1440. * zeta3*L
1247 + 990. * L2 + 260. * L3 - 60. * L4) * z2
1248 + 2240./243. * Pi2 * z52
1249 - 2./2187. * (62471. - 2424. * Pi2 - 33264. * zeta3 - 19494. * L
1250 - 504. * Pi2*L - 5184. * L2 + 2160. * L3) * z3
1251 - 2464./6075. * Pi2 * z72
1252 + ( - 15103841./546750. + 7912./3645. * Pi2 + 2368./81. * zeta3
1253 + 147038./6075. * L + 352./243. * Pi2*L + 88./243. * L2
1254 - 512./243. * L3 ) * z4;
1259 double Lb = 2*log(mu/
Mb_kin);
1260 double d =
delta(E0);
1263 double mcmb2 = mcmb*mcmb;
1264 double mcmb3 = mcmb2*mcmb;
1267 + 0.013698269459646965 + 0.3356948452887703 * d
1268 - 0.086677232161681 * d2
1269 + ( 0.3575455009710223 + 1.8248223618702617 * d
1270 - 0.374324331239819 * d2 ) * mcmb
1271 + (-2.3059130759599302 - 5.799640881350228 * d
1272 - 6.226247001127346 * d2 ) * mcmb2
1273 + ( 3.4485885608332834 - 0.5479757965141787 * d
1274 + 17.272487170738795 * d2 ) * mcmb3);
1279 double Lb = 2*log(mu/
Mb_kin);
1280 double d =
delta(E0);
1283 double mcmb2 = mcmb*mcmb;
1284 double mcmb3 = mcmb2*mcmb;
1285 double mcmb4 = mcmb3*mcmb;
1286 double mcmb5 = mcmb4*mcmb;
1289 + 0.026054745293391798 + 0.1678721564514209 * d
1290 - 0.19700988587274693 * d2
1291 + ( -0.03801105485376407 + 0.601712887338462 * d
1292 - 0.7557529126506585 * d2 ) * mcmb
1293 + ( 2.7551159092192132 - 10.034450524236696 * d
1294 + 11.271837772655209 * d2 ) * mcmb2
1295 + ( -27.045289848315868 + 68.46851531490181 * d
1296 - 72.50921751760909 * d2 ) * mcmb3
1297 + ( 85.86574743951778 - 289.3441408351491 * d
1298 + 297.6777008484198 * d2 ) * mcmb4
1299 + ( -91.5260435658921 + 399.81982774456964 * d
1300 - 399.85440571662446 * d2 ) * mcmb5);
1305 double Lb = 2*log(mu/
Mb_kin);
1306 double d =
delta(E0);
1310 double zeta3 = gsl_sf_zeta_int(3);
1311 double Li2 = gsl_sf_dilog(1. - d);
1313 double Li3 = Poly.
Li3(d);
1316 + ( -3. + 4./3. * d - 1./3. * d2 - 4./3. * Ld ) *
Li2
1317 + ( 13./18. + 2. * d - 1./2. * d2 - 4./3. * log(1. - d)
1318 + 2./3. * Ld ) * Ld*Ld
1319 - 8./3. * (
Li3 - zeta3)
1320 + ( 4./9. * M_PI*M_PI - 85./18. - 47./9. * d
1321 + 19./18. * d2 + 2./9. * d3 ) * Ld
1322 - 49./6. + 80./9. * d + 1./18. * d2 - 7./9. * d3);
1327 double Lb = 2*log(mu/
Mb_kin);
1328 double d =
delta(E0);
1332 double L1d = log(1. - d);
1333 double Li2 = gsl_sf_dilog(1. - d);
1335 double Li3 = Poly.
Li3(d);
1338 + 4./27. * ( - 2. * (
Li2 - 1./6. * M_PI*M_PI + 3. * L1d
1339 - 1./4. * d * (2. + d) * Ld + 8./3. * d + 5./6. * d2
1341 + ( 5. - 2. * Ld ) * (
Li2 - 1./6. * M_PI*M_PI )
1342 + ( 1./2. * d + 1./4. * d2 - L1d ) * Ld * Ld
1343 - 1./12. * M_PI*M_PI * d * (2. + d)
1344 + ( 151./18. - 1./3. * M_PI*M_PI ) * L1d
1345 + ( - 53./12. * d - 19./12. * d2 + 2./9. * d3 ) * Ld
1346 + 787./72. * d + 227./72. * d2 - 41./72. * d3 ));
1351 double z0 = 1. -
delta(E0);
1352 double Li2 = gsl_sf_dilog(z0);
1354 return + 2./9. * z0*(z0*z0 + 24.)- 8./3. * (z0 - 1.)*log(1. - z0) - 8./3. *
Li2;
1359 double Lb = log(mu/
Mb_kin);
1361 return 4./9.*(29. - 2.*M_PI*M_PI) + 16./3.*Lb -
dY1(E0);
1366 double Lb = log(mu/
Mb_kin);
1367 double z0 = 1. -
delta(E0);
1369 double z03 = z02*z0;
1370 double z04 = z03*z0;
1371 double z05 = z04*z0;
1372 double z06 = z05*z0;
1373 double z07 = z06*z0;
1374 double z08 = z07*z0;
1375 double z09 = z08*z0;
1376 double z010 = z09*z0;
1377 double z011 = z010*z0;
1378 double Lz = log(1. - z0);
1379 double Li2 = gsl_sf_dilog(z0);
1381 return -21.9087 - 112.464 * Lb - 42.6667 * Lb*Lb - 77.7675 * z0 + 10.6667 * Lb*z0
1382 + 68.5848 * z02 - 5.33333 * Lb * z02 - 4.42133 * z03 + 6.22222 * Lb * z03
1383 - 4.0317 * z04 + 6.64376 * z05 - 11.647 * z06 + 15.8697 * z07
1384 - 14.8006 * z08 + 8.85514 * z09 - 2.9929 * z010 + 0.433254 * z011
1385 + (-77.7675 + 85.8251 * z0 - 28.6855 * z02
1386 + Lb * (-21.3333 - 21.3333 * z0 + 5.33333 * z02)) * Lz
1387 + (-12.2881 - 10.6667 * Lb + 6.12213 * z0 + 0.27227 * z02) * Lz*Lz
1388 + (-2.88573 + 5.77146 * z0 - 2.88573 * z02) * Lz*Lz*Lz - 32. * Lb*
Li2;
1393 double Lb = log(mu/
Mb_kin);
1394 double z0 = 1. -
delta(E0);
1396 double z03 = z02*z0;
1397 double z04 = z03*z0;
1398 double z05 = z04*z0;
1399 double z06 = z05*z0;
1400 double z07 = z06*z0;
1401 double z08 = z07*z0;
1402 double z09 = z08*z0;
1403 double z010 = z09*z0;
1404 double z011 = z010*z0;
1405 double Lz = log(1. - z0);
1406 double Li2 = gsl_sf_dilog(z0);
1408 return 22.8959 + 76.5729 * Lb + 30.2222 * Lb*Lb + 2.94616 * z0 - 60.4444 * Lb*z0
1409 - 13.2522 * z02 - 6.96907 * z03 - 2.51852 * Lb*z03 + 0.117907 * z04
1410 - 2.02988 * z05 + 2.90402 * z06 - 3.53904 * z07 + 2.55728 * z08
1411 - 0.941549 * z09 + 0.0173599 * z010 + 0.0598012 * z011
1412 + (2.94616 - 30.2222 * Lb- 12.3947 * z0 + 30.2222 * Lb*z0 + 9.44855 * z02) * Lz
1413 - 6.61587 * (1. - z0) * (1. - z0) * Lz*Lz + 30.2222 * Lb*
Li2
1414 + (0.69995 - 1.3999 * z0 + 0.69995 * z02) * Lz*Lz*Lz;
1419 double z0 = 1. -
delta(E0);
1420 double Lz = log(1. - z0);
1421 double Lb = log(mu/
Mb_kin);
1422 double zeta3 = gsl_sf_zeta_int(3);
1423 double Li2 = gsl_sf_dilog(z0);
1425 double Li3 = Poly.
Li3(z0);
1426 double Li3min = Poly.
Li3(1. - z0);
1428 return -16./81. * (328. - 13.*M_PI*M_PI) - 64./27. * (18. - M_PI*M_PI)*Lb
1429 -64./9. * Lb*Lb + 64./3. * zeta3
1430 +4./27. * z0*(7.*z0*z0 - 17.*z0 + 238.) + 8./3. * Lb*
dY1(E0)
1431 -8./27. * (z0*z0*z0 - 6.*z0*z0 + 80.*z0 - 75. + 6.*M_PI*M_PI)*Lz
1432 +16./3. * (z0 - 1.)*Lz*Lz + 16./3. * log(z0)*Lz*Lz
1433 +32./27. * (3.*z0 - 8.)*
Li2 + 32./3. * Lz*
Li2
1434 -32./9. *
Li3 + 32./3. * Li3min - 32./3. * zeta3;
1439 double y = (1. - sqrt(1. - 4.*
rho)) / (1. + sqrt(1. - 4.*
rho));
1442 return log(y)*log(y) - M_PI*M_PI;
1444 return - acos( 1. - 1./(2. *
rho) ) * acos( 1. - 1./(2. *
rho) );
1450 double y = (1. - sqrt(1. - 4.*
rho)) / (1. + sqrt(1. - 4.*
rho));
1453 return log(y) * sqrt(1. - 4.*
rho);
1455 return - acos( 1. - 1./(2. *
rho) ) * sqrt(4.*
rho - 1.);
1461 double y = (1. - sqrt(1. - 4.*
rho)) / (1. + sqrt(1. - 4.*
rho));
1464 return ( gsl_sf_dilog(-y) + log(y)*log(y)/4. + M_PI*M_PI/12. ) * sqrt(1. - 4.*
rho);
1466 return - gsl_sf_clausen(2. * asin( 1./(2. * sqrt(
rho)) )) * sqrt(4.*
rho - 1.);
1472 double y = (1. - sqrt(1. - 4.*
rho)) / (1. + sqrt(1. - 4.*
rho));
1477 return Poly.
Li3(- y) + log(y)*log(y)*log(y)/12. + log(y)*M_PI*M_PI/12.;
1479 return Clausen.
Cl3(2. * asin( 1./(2. * sqrt(
rho)) ));
1484 double Lb = log(mu/
Mb_kin);
1487 double rho32 =
rho*sqrt(
rho);
1488 double Lr = log(
rho);
1489 double Li2 = gsl_sf_dilog(1. -
rho);
1490 double Li2sqrt = gsl_sf_dilog(1. - sqrt(
rho));
1493 double Li3ov = Poly.
Li3(1. - 1./
rho);
1495 return -16./81. * (157. - 279.*
rho - M_PI*M_PI*(5. + 9.*rho2 - 42.*rho32))
1496 -64./27. * (18. - M_PI*M_PI)*Lb - 64./9. * Lb*Lb
1497 +16./27. * (22. - M_PI*M_PI + 10.*
rho)*Lr + 16./27. * (8. + 9.*rho2)*Lr*Lr
1498 -16./27. * Lr*Lr*Lr - 8./9. * (1. - 6.*rho2)*
Y2NV_PHI1(
rho)
1501 +32./27. * (5. + 9.*rho2 + 14.*rho32)*
Li2 - 1792./27. * rho32*Li2sqrt
1502 +64./9. *
Li3 + 64./9. * Li3ov + 4./3.*(2.*Lb - Lr)*
dY1(E0);
1507 double Lb = log(mu/
Mb_kin);
1508 double zeta3 = gsl_sf_zeta_int(3);
1509 double Cl2 = gsl_sf_clausen(M_PI/3.);
1511 return 8./81. * (244. - 27.*sqrt(3.)*M_PI - 61.*M_PI*M_PI)
1512 - 64./27.*(18. - M_PI*M_PI)*Lb - 64./9.*Lb*Lb - 64./27.*zeta3
1513 + 32.*sqrt(3.)*
Cl2 + 8./3.*Lb*
dY1(E0);
1525 return CF*
Y2CF(E0,mu) + CA*
Y2CA(E0,mu)
1526 + TR * ( NL*
Y2NL(E0,mu) + NV*
Y2NV(E0,mu) + NH*
Y2NH(E0,mu) );
1531 return r1(2,z).real() + 2.*
Phi27_1(0.,z).real();
1536 double d =
delta(E0);
1537 double sqrt1d = sqrt(1. - d);
1538 double sqrt4z = sqrt(1. - 4. * z);
1539 double sqrt1d4z = sqrt(1. - d - 4. * z);
1540 double sqrtz = sqrt(z);
1541 double sqrt1ovz = sqrt(1./z);
1542 double sqrt4m1ovz = sqrt(-4. + 1./z);
1543 double SumSqrt = sqrt1d + sqrt1d4z;
1544 double ProdSqrt = sqrt1d * sqrt1d4z;
1545 double ProdSqrtz = sqrtz * sqrt1d4z;
1546 double LogSumSqrt = log(SumSqrt/(2. * sqrtz));
1547 double LogSqrt4z = log((1. + sqrt4z)/(2. * sqrtz));
1548 double LogSqrtov = log((sqrt4m1ovz + sqrt1ovz)/2.);
1556 double Pi2 = M_PI*M_PI;
1557 double zeta3 = gsl_sf_zeta_int(3);
1559 double zdz_f_NLO_E0;
1562 zdz_f_NLO_E0 = 2./27. * (3. * (-7. + 2. * M_PI*M_PI)
1563 + 2. * (36. - 24. * M_PI*M_PI) * z
1564 + 108. * M_PI*M_PI * z2
1565 - ( 36. * (-pow(1./z,3./2.)/2. - 1./(2. * sqrt4m1ovz * z2))
1566 * sqrt4m1ovz * (-1. + 2. * z))/((sqrt4m1ovz + sqrt1ovz) * pow(1./z,3./2.))
1567 - (72. * sqrt4m1ovz * LogSqrtov)/pow(1./z,3./2.)
1568 - (54. * sqrt4m1ovz * (-1. + 2. * z) * LogSqrtov)/sqrt1ovz
1569 + (18. * sqrt1ovz * (-1. + 2. * z) * LogSqrtov)/sqrt4m1ovz
1570 - (48. * (-pow(1./z,3./2.)/2. - 1./(2. * sqrt4m1ovz * z2))
1571 * z * (1. - 4. * z + 6. * z2) * LogSqrtov)/(sqrt4m1ovz + sqrt1ovz)
1572 - 24. * z * (-4. + 12. * z) * LogSqrtov * LogSqrtov
1573 - 24. * (1. - 4. * z + 6. * z2) * LogSqrtov * LogSqrtov);
1574 }
else zdz_f_NLO_E0 = 2. * ((2. - d) * d * (-7. + 2. * Pi2) / 9.
1575 + 8./9. * d * (3. - 2. * Pi2) * z
1576 + (8. * d * (-SumSqrt/( 4. * pow(z,3./2.) ) - 1./ProdSqrtz)
1577 * ProdSqrt * pow(z,3./2.))/(3. * SumSqrt)
1578 + 4./3. * d * ProdSqrt * LogSumSqrt
1579 - (8. * (1. - d) * d * z * LogSumSqrt)/(3. * ProdSqrt)
1580 - (32. * d * (-SumSqrt/( 4. * pow(z,3./2.) ) - 1./ProdSqrtz)
1581 * (2. - d - 4. * z) * pow(z,3./2.) * LogSumSqrt)/(9. * SumSqrt)
1582 - 8./9. * d * (2. - d - 4. * z) * LogSumSqrt * LogSumSqrt
1583 + 32./9. * d * z * LogSumSqrt * LogSumSqrt
1584 + 4./3. * (1. - 2. * z) * z *
1585 ((2. * (-( (1. + sqrt4z)/(4. * pow(z,3./2.)) )
1586 - 1./(sqrt4z * sqrtz)) * sqrt4z * sqrtz)/(1. + sqrt4z)
1587 - (2. * ( -(SumSqrt/(4. * pow(z,3./2.)) ) - 1./ProdSqrtz)
1588 * ProdSqrt * sqrtz)/(SumSqrt) - 2. * LogSqrt4z/sqrt4z
1589 + 2. * (1. - d) * LogSumSqrt/ProdSqrt)
1590 + 4./3. * (1. - 2. * z) * (sqrt4z * LogSqrt4z - ProdSqrt * LogSumSqrt)
1591 - 8./3. * z * (sqrt4z * LogSqrt4z - ProdSqrt * LogSumSqrt)
1592 - 8./9. * z * (1 - 4. * z + 6. * z2) *
1593 (( 4. * (-( (1. + sqrt4z)/(4. * pow(z,3./2.)) )
1594 - 1./(sqrt4z * sqrtz)) * sqrtz * LogSqrt4z)/(1. + sqrt4z)
1595 - (4. * (-SumSqrt/(4. * pow(z,3./2.)) - 1./ProdSqrtz) * sqrtz * LogSumSqrt)/SumSqrt)
1596 - 8./9. * (LogSqrt4z*LogSqrt4z - LogSumSqrt*LogSumSqrt)
1597 * ( z * (-4. + 12. * z) + (1. - 4. * z + 6. * z2) )) ;
1599 return z * (zdz_f_NLO_E0
1601 - 16./9. * (-4. + Pi2/6. - Pi2 * sqrtz
1602 - Lz - z2 * (19./18. - 4. * Lz) + z * (-2. - Lz)
1603 + z3 * (137./30. + 4. * Lz)
1604 + z4 * (887./84. + 10. * Lz)
1605 + z5 * (16597./540. + 28. * Lz)
1606 - 3. * z2 * (25./12. + Pi2/9. + 19. * Lz/18. - 2. * Lz * Lz)
1607 + 2. * z * (1./2. + Pi2 - 2. * Lz - Lz * Lz/2)
1608 + 4. * z3 * (-1376./225. + 2. * Pi2/3 + 137. * Lz/30. + 2. * Lz * Lz)
1609 + 5. * z4 * (-131317./11760. + 5. * Pi2/3. + 887. * Lz/84. + 5. * Lz * Lz)
1610 + 6. * z5 * (-2807617./97200. + 14. * Pi2/3. + 16597. * Lz/540. + 14. * Lz * Lz))
1612 + 32./9. * (5./2. - Pi2/3. + (5./2. - 3. * Pi2/4.) * Lz
1613 + Lz * Lz/4 + Lz * Lz * Lz/12.
1614 + z5 * (-3303./800. - 63. * Lz/10.)
1615 + z4 * (-185./144. - 35. * Lz/12.)
1616 + z3 * (-1./72. - 5. * Lz/3.)
1617 + z2 * (2. - 3. * Lz/2.)
1618 + 6. * z5 * (67801./8000. - 21. * Pi2/20.
1619 - 3303. * Lz/800. - 63. * Lz * Lz/20.)
1620 + 5. * z4 * (35101./8640. - 35. * Pi2/72.
1621 - 185. * Lz/144. - 35. * Lz * Lz/24.)
1622 + 4. * z3 * (457./216. - 5. * Pi2/18. - Lz/72. - 5. * Lz * Lz/6.)
1623 + 3. * z2 * (-7./6. - Pi2/4. + 2. * Lz - 3. * Lz * Lz/4.)
1624 + z * (-Pi2/2. - Lz/2. + Lz * Lz/4.)
1625 + 5./2. - 3. * Pi2/4. + Lz/2. + Lz * Lz/4.
1626 + 2. * z * (7./4. + 2. * Pi2/3. - Pi2 * Lz/2. - Lz * Lz/4.
1627 + Lz * Lz * Lz/12.) - 3. * zeta3));
1632 double d =
delta(E0);
1634 double sqrt1d = sqrt(1. - d);
1635 double sqrt1d4z = sqrt(1. - d - 4. * z);
1636 double sqrtz = sqrt(z);
1637 double LogSqrt = log((sqrt1d + sqrt1d4z)/(2. * sqrtz));
1638 double SumSqrt = sqrt1d + sqrt1d4z;
1639 double ProdSqrt = sqrt1d * sqrt1d4z;
1641 return 2. * (1. - d) * ( -2./27. * d * (-3. + 2. * d)
1642 - 2./27. * (3. - 3. * d + d2)
1643 + 1./9. * (2. - d) * (-7. + 2. * M_PI * M_PI) * z
1644 - 1./9. * d * (-7. + 2. * M_PI * M_PI) * z
1645 + 4. * d * (-1./(2. * sqrt1d) - 1./(2. * sqrt1d4z))
1646 * ProdSqrt * z / (3. * SumSqrt)
1647 + 4./9. * (3. - 2. * M_PI * M_PI) * z * z
1648 + 4./3. * ProdSqrt * z * LogSqrt
1649 - 16. * d * (-1./(2. * sqrt1d) - 1./(2. * sqrt1d4z))
1650 * (2. - d - 4. * z) * z * LogSqrt / (9. * SumSqrt)
1651 + 2. * d * z * (-2. + 2. * d + 4. * z) * LogSqrt / (3. * ProdSqrt)
1652 + 16. * (-1./(2. * sqrt1d) - 1./(2. * sqrt1d4z)) * z
1653 * (1 - 4. * z + 6. * z * z) * LogSqrt / (9. * SumSqrt)
1654 + 8./9. * d * z * LogSqrt * LogSqrt
1655 - 8./9. * (2. - d - 4. * z) * z * LogSqrt * LogSqrt
1656 + 4./3. * (1. - 2. * z) * z
1657 * ( (1./(2. * sqrt1d) + 1./(2. * sqrt1d4z)) * ProdSqrt/SumSqrt
1658 - (-2. + 2. * d + 4. * z) * LogSqrt/(2. * ProdSqrt)));
1663 double d =
delta(E0);
1667 return ( 41./27. - 2./9. * M_PI*M_PI
1668 - 2.24 * sqrt(z) - 7.04 * z + 23.72 * pow(z,3./2.)
1669 + ( -9.86 * z + 31.28 * z * z ) * log(z));
1670 }
else return - 0.1755402735503456 - 1.4553730660088837 * d
1671 + 1.1192806367180177 * d2
1672 + ( 0.7259818237183779 - 7.230418135384073 * d
1673 + 5.977206932166958 * d2 ) * sqrt(z)
1674 + ( 13.786205094458156 + 113.71026116073105 * d
1675 - 100.3588074342665 * d2 ) * z
1676 + ( -145.05588751363894 - 307.05884309429547 * d
1677 + 388.54181686721904 * d2 ) * pow(z,3./2.)
1678 + ( 475.2039505292043 + 312.9832308573048 * d
1679 - 775.8088176670707 * d2 ) * z * z
1680 + ( -509.7299390734172 - 126.08888075477071 * d
1681 + 646.2084041395774 * d2 ) * pow(z,5./2.);
1691 return -1.836 + 2.608 * z + 0.8271 * z * z - 2.441 * z * log(z);
1696 return 9.099 + 13.20 * z - 19.68 * z * z + 25.71 * z * log(z);
1701 return - 23.74697061848885 + 35./12. *
f_q(z,0.)
1702 + (2129./936. - 9./52. * M_PI*M_PI) *
f_NLO_1(z)
1708 return - 3.006537367876035 - 592./81. *
f_q(z,0.)
1709 - 10.344289655256379 *
f_NLO_1(z)
1715 double d =
delta(E0);
1727 double d =
delta(E0);
1728 double Sq = sqrt( (1. - d) * (1. - d - 4.*z) );
1729 double Log = log( ( sqrt(1. - d) + sqrt(1. - d - 4.*z) ) / 2. / sqrt(z) );
1730 double Log2 = Log*Log;
1732 return 4. / (27. * Sq * (1 - d - 4. * z)) * Sq * Sq *
1733 (-8. * (-1. + d) * Log * z * (-1. + d + 4. * z) +
1734 Sq * (1. + d*d + (4. + 8. * Log2 - 2. * M_PI*M_PI) * z +
1735 4. * (-4. * Log2 + M_PI*M_PI) * z * z -
1736 2. * d * (1. + (2. + 4. * Log2 - M_PI*M_PI) * z)));
1741 double d =
delta(E0);
1742 double Sq = sqrt( (1. - d) * (1. - d - 4.*z) );
1743 double Log1 = log( ( sqrt(1. - d) + sqrt(1. - d - 4.*z) ) / 2. / sqrt(z) );
1744 double Log2 = log( ( 1. + sqrt(1. - 4.*z) ) / 2. / sqrt(z) );
1746 return 2./27. * z * (d*d * (-7. - 8. * (-1. + Log1) * Log1 + 2. * M_PI*M_PI)
1747 - 20. * Log2 * sqrt(1. - 4. * z) + 72. * Log2 * sqrt(1. - 4. * z) * z
1748 + (48. * Log1 * Sq * z * z) / (-1. + d + 4. * z)
1749 + (8. * z * ( -(3. + 4. * Log1) * Sq*Sq + 2. * (3. + 8. * Log1) * Sq * z
1750 - 24. * Log1 * z * z )) / (-1. + d - Sq + 4. * z)
1751 - 2. * d * (-7. - 3. * Sq + Log1 * (8. + 6. * Sq) + M_PI*M_PI * (2. - 8. * z)
1752 + 12. * z + 8. * Log1*Log1 * (-1. + 4. * z))
1753 + 2. * (-3. * (-1. + Sq + 2. * (1. + Sq) * z)
1754 + Log1 * (4. + Sq * (6. - 52. * z) + 24. * z * z)
1755 + 4. * ( Log2 * Log2 - Log1 * Log1) * (1. + 2. * z * (-4. + 9. * z))));
1760 double d =
delta(E0);
1763 return 4./27. * (1. - d) * (5. - 8./(1. - d) + 5. * d - 2. * d * d -
1764 2. * (2. - 4./(1. - d) + 2. * d) * log(
Mb_kin/
Ms) + (4. * Ld)/(1. - d)
1765 - d * Ld - (2. + d) * Ld);
1774 double zeta3 = gsl_sf_zeta_int(3);
1778 return 7126./81. - 356./27. * M_PI*M_PI - 16./3. * zeta3;
1780 return - 16./3. * Poly.
Li3(r2)
1781 + 8. * r * (35./9. * r2 + 9.) * ( gsl_sf_dilog(r) - atanh(r) * Lr - 1./4. * M_PI*M_PI)
1782 + 2. * (8./3. * Lr - 6. * r4 - 35./9. * r3 - 9. * r - 62./9. ) * gsl_sf_dilog(r2)
1783 - 8. * (3. * r4 + 31./9.) * log(1. - r2) * Lr + 32./9. * Lr*Lr*Lr
1784 + 8. * (3. * r4 + 25./9.) * Lr*Lr + 64./9. * r2 * Lr
1785 + 4. * M_PI*M_PI * r4 + 172./9. * r2 + 5578./81.;
1792 double Lmr = log(1. - r);
1793 double Lpr = log(1. + r);
1798 return -3./8. + 1./8. * M_PI*M_PI;
1800 return 1./4. * (1. - r) * (1. - r3) * ( gsl_sf_dilog(r) + Lr * Lmr - 1./2. * Lr2 - 1./3. * M_PI*M_PI )
1801 - 1./4. * (1. + r) * (1. + r3) * ( gsl_sf_dilog(-1./r) - Lr * Lpr + Lr2 )
1802 + 1./4. * Lr2 - 1./4. * r2 * Lr - 3./8. * r2 + 1./24. * M_PI*M_PI;
1815 double Pi2 = M_PI*M_PI;
1816 double zeta3 = gsl_sf_zeta(3.);
1819 return 6335./288. - 1./2. * M_PI*M_PI - 16. * zeta3;
1821 return -5./6. * Pi2 * r + ( 14. + 16./9. * Pi2) * r2
1822 + (64./9. * Lr + 128./9. * log(2.) - 95./54.) * Pi2 * r3
1823 + (-16./3. * Lr2 + 365./9. * Lr + 4. * Pi2 * Lr
1824 - 4375./54. - 25./9. * Pi2 + 32. * zeta3) * r4
1825 - 224./45. * Pi2 * r5 + (-128./27. * Lr2 + 16./15. * Lr
1826 + 15608./2025. + 128./81. * Pi2) * r6 - 16./7. * Pi2 * r7;
1838 double omz = 1. - z;
1839 double omz2 = omz * omz;
1840 double omz3 = omz2 * omz;
1842 double Lomz = log (1. - z);
1843 double Lomz2 = Lomz*Lomz;
1844 double Lomz3 = Lomz2*Lomz;
1845 double Ltmz = log (2. - z);
1846 double Ltmz2 = Ltmz*Ltmz;
1847 double Li2omz = gsl_sf_dilog(1. - z);
1848 double Li2zmo = gsl_sf_dilog(z - 1.);
1850 double Pi2 = M_PI*M_PI;
1852 return 4./9. * (z3 - 4. * z2 + 4. * z + 1.)/omz * ( 2. * Poly.
Li3( 1./(2.-z) )
1853 - Poly.
Li3( z/(2.-z) ) + Poly.
Li3( z/(z-2.) )
1854 + Ltmz * ( Lomz2 - 1./3. * Ltmz2 + 1./6. * Pi2 ) )
1855 + 4./9. * (z3 + 36. * z - 43.)/omz * Poly.
Li3(z)
1856 + 8./9. * (z3 - 2. * z2 + 19. * z - 22.)/omz * Poly.
Li3(1.-z)
1857 - 16./9. * omz2 * Poly.
Li3(z-1.)
1858 - 4./9. * (z3 + 35. * z - 44.)/omz * Li2omz * Lomz
1859 - 4./9. * (z3 - 2. * z2 + 2. * z - 3.)/omz * Li2zmo * Lomz
1860 - 4./27. * (23. * z6 - 106. * z5 + 145. * z4 + 3. * z3
1861 - 180. * z2 + 147. * z - 36.)/(z * omz3) * (Li2omz + Lomz * Lz)
1862 + 2./27. * (z8 - 6. * z7 + 9. * z6 + 27. * z5 - 140. * z4 + 219. * z3
1863 - 124. * z2 + 28. * z - 6.)/(z * omz3) * (Li2zmo + Lomz * Ltmz)
1864 - 8./9. * (z2 + 8. * z - 11.)/omz * Lomz2 * Lz
1865 - 2./9. * (z4 - 3. * z3 - 5. * z2 + 15. * z + 8.)/(z * omz) * Lomz3
1866 - (z6 - 4. * z5 - 46. * z4 + 101. * z3 - 461. * z2 + 1057. * z - 72.)/(27. * z * omz) * Lomz2
1867 + 2./27. * (z3 - 2. * z2 + 4. * z - 5.)/omz * Pi2 * Lomz
1868 + (2. * z5 - 29. * z4 - 113. * z3 + 153. * z2 - 827. * z - 162.)/(27. * z * omz) * Lomz
1869 - (3. * z3 - 8. * z2 + 144. * z - 157.)/(9. * omz) * gsl_sf_zeta(3.)
1870 + (z6 - 4. * z5 + 48. * z4 - 106. * z3 - 58. * z2 + 158. * z - 75.)/(81. * z * omz) * Pi2
1871 + (2. * z4 - 92. * z3 + 88. * z2 - 713. * z - 18.)/(27. * omz);
1877 double t1 = (1. -
delta(E0));
1882 if (
ig.Status() != 0)
return std::numeric_limits<double>::quiet_NaN();
1893 double xm = 8./9. * M_PI *
alsUps;
1894 double d =
delta(E0);
1900 ((4. - 6. * d2 + 2. * d3) * log(d) + 7. - 13. * d + 3. * d2 + 5. * d3 - 2. * d4);
1905 double K77_1 =
Kij_1(7,7,E0,mu).real();
1906 double Pi2 = M_PI*M_PI;
1907 double xm = 8./9. * M_PI *
alsUps;
1910 return ( K77_1 - 4. *
Phi77_1(E0) ) * K77_1 - 1178948./729. + 18593./729. * Pi2
1911 - 628./405. * Pi2*Pi2 + 428./27. * Pi2 * log(2.) + 61294./81. * gsl_sf_zeta(3.)
1912 - 880./9. * Lb * Lb + ( 440./27. * Pi2 - 14698./27. ) * Lb
1920 throw std::runtime_error(
"Bsgamma::Kij_2(): index i must be included in (1,2,7,8)");
1923 throw std::runtime_error(
"Bsgamma::Kij_2(): index j must be included in (1,2,7,8)");
1927 if (i > j) {temp=i; i=j; j=temp;}
1929 double K_ij[8][8] = {{0.}};
1931 double d =
delta(E0);
1935 double Lc = 2.*log(
mu_c/
Mc);
1937 double xm = 8./9. * M_PI *
alsUps;
1939 double A1 = 22.604961348474838;
1940 double A2 = 75.60281607240395;
1942 K_ij[1][1] = (
r1(2,
zeta()).real() - 208./81.*Lb) * (
r1(2,
zeta()).real() - 208./81.*Lb)
1946 K_ij[1][6] = A2 +
F_2(z) - 27./2. *
f_q(z,E0) +
f_b(z) +
f_c(z)
1947 + 4./3. *
Phi27_1(E0,z).real() * log(z) + (8. * Lc - 2. * xm) *
zdz_f_NLO(z,E0)
1951 - 254./81.) * Lb - 5948./729. * Lb2;
1952 K_ij[1][7] = (
r1(2,
zeta()).real() - 208./81.*Lb) * (
r1(8,
zeta()).real() + 16./9.*Lb)
1957 K_ij[0][0] = 1./36. * K_ij[1][1];
1958 K_ij[0][1] = -1./6. * K_ij[1][1];
1959 K_ij[0][6] = - 1./6. * K_ij[1][6] + A1 +
F_1(z)
1961 + 94./81.) * Lb - 34./27. * Lb2;
1962 K_ij[0][7] = -1./6. * K_ij[1][7];
1965 + 2./3. * (
f(r) -
f(1.)) - 128./3. * (
Delta(r) -
Delta(1.))
1966 - 16. * (
f_u(r) -
f_u(1.));
1967 K_ij[6][7] = 2./3. *
Y2(E0,
mu_b) + (16./9.*M_PI*M_PI - 164./9. - 32./6. * Lb) *
Y1(E0,
mu_b)
1968 - 32./81. *
alsUps * M_PI * (3. + 7.*d - 3.*d*d + d*d*d - 4.*d*log(d) );
1970 K_ij[7][7] = (
r1(8,
zeta()).real() + 16./9.*Lb) * (
r1(8,
zeta()).real() + 16./9.*Lb)
1975 return K_ij[i-1][j-1];
2061 gslpp::complex C0p[8]={
C7p_0};
2068 p21 += ( C0[i].real()*C0[j].real() + C0[i].imag()*C0[j].imag() ) *
Kij_1(i+1,j+1,E0,mu).real();
2076 p21 += (C0p[i].real()*C0p[j].real() + C0p[i].imag()*C0p[j].imag()) *
Kij_1(i+1,j+1,E0,mu).real();
2087 gslpp::complex C0p[8]={
C7p_0};
2094 p21 += - ( C0[i].real()*C0[j].imag() - C0[i].imag()*C0[j].real() ) *
Kij_1(i+1,j+1,E0,mu).imag();
2102 p21 += - ( C0p[i].real()*C0p[j].imag() - C0p[i].imag()*C0p[j].real() ) *
Kij_1(i+1,j+1,E0,mu).imag();
2118 int i,j, temp_i,temp_j;
2132 p22 += (C0[i]*C0[j]).real() *
Kij_2(temp_i+1,temp_j+1,E0,
mu_b,
mu_c);
2151 p32 += 2.*(C0[i]*C1[j]).real() *
Kij_1(i+1,j+1,E0,mu).real();
2163 double ga_eff_ew_7[7] = {-832./729., -208./243., -20./243., -176./729., -22712./243., -6272./729., 16./9.};
2164 double Lb = log(mu/
Mb_kin);
2165 double Lz = 2. * log(
Mz/mu);
2167 gslpp::complex r[7] = {0.};
2169 r[0] =
r1_ew(1,
zeta()) - ga_eff_ew_7[0] * Lb;
2170 r[1] =
r1_ew(2,
zeta()) - ga_eff_ew_7[1] * Lb;
2171 r[2] =
r1_ew(3,
zeta()) - ga_eff_ew_7[2] * Lb;
2172 r[3] =
r1_ew(4,
zeta()) - ga_eff_ew_7[3] * Lb;
2173 r[4] =
r1_ew(5,
zeta()) - ga_eff_ew_7[4] * Lb;
2174 r[5] =
r1_ew(6,
zeta()) - ga_eff_ew_7[5] * Lb;
2175 r[6] =
r1_ew(7,
zeta()) - ga_eff_ew_7[6] * Lb;
2177 for(
int i=0;i<7;i++){
2178 ew_nlo += 2. * (
C7_0.real()*
C[i].real() +
C7_0.imag()*
C[i].imag()) * r[i].real()
2179 - 2. * (
C7_0.real()*
C[i].imag() -
C7_0.imag()*
C[i].real()) * r[i].imag();
2198 * (
a(z)+
b(z) ).real();
2208 * (
a(z)+
b(z) ).imag();
2213 double d =
delta(E0);
2227 double d =
delta(E0);
2228 gslpp::complex wc1 =
C7_0 -
C8_0/3.;
2229 gslpp::complex wc2 =
C2_0 -
C1_0/6.;
2230 gslpp::complex me =
Phi27_1(E0,
zeta()) + 2./9. * d * ( 1. - d + 1./3. * d*d );
2233 (( wc1.real() * wc2.real() + wc1.imag() * wc2.imag()) *
CKMu.real() +
2234 ( wc1.real() * wc2.imag() - wc1.imag() * wc2.real()) *
CKMu.imag() )
2240 double d =
delta(E0);
2241 gslpp::complex wc1 =
C7_0 -
C8_0/3.;
2242 gslpp::complex wc2 =
C2_0 -
C1_0/6.;
2243 gslpp::complex me =
Phi27_1(E0,
zeta()) + 2./9. * d * ( 1. - d + 1./3. * d*d );
2246 (( wc1.real() * wc2.real() + wc1.imag() * wc2.imag()) *
CKMu.imag() +
2247 ( wc1.real() * wc2.imag() - wc1.imag() * wc2.real()) *
CKMu.real() )
2254 double d =
delta(E0);
2258 double Lumd = log(1. - d);
2261 double uphib427 = ( 2. * d * (-63. + 30. * d + 35. * d2 - 2. * d3
2262 + 3. * d * (-18. - 7. * d + d2) * Ld) ) / ( 243. * (d - 1.) );
2263 double uphib428 = ( 108. * (d - 1.) * (d - 1.) * Lumd*Lumd
2264 - 12. * Lumd * (- 25. - 18. * Lq - 18. * d * (5. + 4. * Lq)
2265 + 9. * d2 * (5. + 4. * Lq) + (9. + 36. * d - 18. * d2) * Ld)
2266 + d * (24. * (17. + 9. * Lq) + 27. * d * (43. + 26. * Lq)
2267 - d2 * (127. + 72. * Lq) + 9. * (-12. - 39. * d + 4. * d2) * Ld)
2268 + 108. * (-1. - 4. * d + 2. * d2) * gsl_sf_dilog(d) ) / 729.;
2271 (
C2_0 -
C1_0/6. ).abs2() *
CKMu.real() * 0.005025213076791178
2272 + ((
C2_0 -
C1_0/6. ).real() * (
C7_0.real() * uphib427 +
C8_0.real() * uphib428)
2273 + (
C2_0 -
C1_0/6. ).imag() * (
C7_0.imag() * uphib427 +
C8_0.imag() * uphib428) ) *
CKMu.real()
2274 + ((
C2_0 -
C1_0/6. ).real() * (
C7_0.imag() * uphib427 +
C8_0.imag() * uphib428)
2275 - (
C2_0 -
C1_0/6. ).imag() * (
C7_0.real() * uphib427 +
C8_0.real() * uphib428) ) *
CKMu.imag() );
2336 std::stringstream out;
2338 throw std::runtime_error(
"Bsgamma::P(): order " + out.str() +
" not implemented");
2344 double mcnorm = 1.131;
2352 double z = 1. -
delta(E0);
2356 double umz2 = (1.-z)*(1.-z);
2357 double Lz = log(1. - z);
2359 double Lb = 2. * log(mu/
Mb_kin);
2361 double corrLambda2_rad;
2362 double corrLambda2_sem;
2363 double corrLambda2_mix;
2368 double Lambda_pert = 64./9. * alsb *
mu_kin *
2369 (1. + 4. * alsb * (9./2. * (log(
Mb_kin/2./
mu_kin) + 8./3.)
2370 - 3. * (M_PI*M_PI/6. - 13./12.)) );
2376 double rho1 =
rho_D3 - rho_D3_pert;
2378 double f1EGN = 16./9. * ( 4. - M_PI*M_PI) - 8./3. * Lz2 -
2379 ( 4. * z * ( 30. - 63. * z + 31. * z2 + 5. * z3))/(9. * umz2) -
2380 ( 4. * (30. - 72. * z + 51. * z2 - 2. * z3 - 3. * z4))/(9. * umz2) * Lz;
2381 double f2EGN = -2./9. * ( 87. + 32. * M_PI*M_PI) - 32./3. * Lz2 +
2382 2. * ( 162. - 244. * z + 113. * z2 - 7. * z3)/(3. * (1. - z)) * Lz +
2383 2. * z * ( 54 - 49. * z + 15. * z2)/(1. - z);
2385 corrLambda2_rad =
lambda1 * ( f1EGN/8. - 4./3. * (Lb + 1.) )
2386 +
lambda2 * (f2EGN/8. + 12. * (Lb + 1.) );
2387 corrLambda2_sem = -3. * 4.98 *
lambda2 + (25. - 4. * M_PI*M_PI)/12.*
lambda1;
2390 corrLambda2 = corrLambda2_rad - corrLambda2_sem + corrLambda2_mix;
2405 return (1. - 8. * z + 8. * z*z*z - z*z*z*z - 12. * z*z * log(z)) * ( 0.903
2469 std::stringstream out;
2471 throw std::runtime_error(
"bqgamma: quark " + out.str() +
" not implemented");
2517 throw std::runtime_error(
"Bsgamma::computeThValue(): Observable type not defined. Can be only 1 or 2");
double getKb_abs2_1mt(double t)
The function .
double P22(double E0, double mu_b, double mu_c)
The perturbative part of the BR as defined in .
double Phi88_2beta0(double E0, double mu)
The function from arXiv:1009.5685.
double N(double E0, double mu)
The non perturbative part of the as defined in , .
double zeta()
The squared ratio between and , .
gslpp::complex Int_bc2(double E0)
Integral of the functions getKc_re_Kb_t_1mt(), getKc_im_Kb_t_1mt() and getKc_re_Kb_t_1mt2(),...
gslpp::complex kappa(double Mq, double t)
The function as defined in .
gslpp::complex Phi67_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double f_b(double z)
The function from arXiv:1503.01791.
double getKb_abs2_t_1mt(double t)
The function .
gslpp::complex Phi24_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
gslpp::complex Gamma_t(double t)
The function as defined in .
gslpp::complex r1(int i, double z)
The funcion as defined in .
double Int_b3(double E0)
Integral of the functions getKb_re_t() and getKb_re_t_1mt().
double EW_NLO(double mu)
The NLO electroweak correction to the BR as defined in .
gslpp::complex Int_c1(double E0)
Integral of the functions getKc_re_1mt(), getKc_im_1mt() and getKc_re_1mt2(), getKc_im_1mt2().
double Phi77_2rem(double E0)
The part of the function with no dependance, as defined in .
double P21(double E0, double mu)
The perturbative part of the BR as defined in .
double ff8_sMP(double E0)
The 4-body NLO correction due to and s, , from .
double Y2CA(double E0, double mu)
The function from arXiv:1005.5587v1.
double Phi24_1_4body(double E0)
The function obtained from .
unsigned int Intbc2Cached
gslpp::complex Phi36_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double getKc_abs2_1mt2(double t)
The function .
double delddel_Phi22_1(double E0)
Derivative of the function Phi22_1() used to compute effects of massive quark loops on gluon lines.
double zdz_f_NLO(double z, double E0)
The function from arXiv:1503.01791.
double Kij_2(int i, int j, double E0, double mu_b, double mu_c)
The function from arXiv:1503.01791.
double Phi44_1(double E0)
The function obtained using the prescription of .
unsigned int Intcc1Cached
double getKc_im_1mt2(double t)
The function .
double computeThValue()
Computes the Branching Ratio for the decay.
double Phi35_1(double E0)
The function obtained using the prescription of .
gslpp::complex Phi27_1(double E0, double z)
The function from .
double Phi22_1(double E0)
The function from .
double K77_2_z1(double E0, double mu)
The function computed in the limit .
double getKc_re_t_1mt(double t)
The function .
double Int_cc1_part1(double E0)
Integral of the functions getKc_abs2_1mt().
double Y2NV_PHI1(double rho)
The function from arXiv:0805.3911v2.
gslpp::complex Phi18_1(double E0, double z)
The function from .
double getKc_re_1mt(double t)
The function .
double Y2NV_PHI3(double rho)
The function from arXiv:0805.3911v2.
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 Phi45_1(double E0)
The function obtained using the prescription of .
double getKc_re_1mt2(double t)
The function .
double Int_Phi77_2rem(double E0)
The integral of omega77()
ROOT::Math::GSLIntegrator ig
double dY1(double E0)
The function from arXiv:0805.3911v2.
double Phi47_1(double E0)
The function from and adding the 4-body contribution from .
void computeCoeff(double mu)
Compute the Wilson Coefficient.
double P(double E0, double mu_b, double mu_c, orders order)
The perturbative part of the as defined in , .
gslpp::complex Phi66_1(double E0)
The function obtained using the prescription of .
double getKb_re_t(double t)
The function .
double getKb_re_t2_1mt(double t)
The function .
double P0_4body(double E0, double t)
The 4-body LO contribution as defined in .
double P0(double E0)
The perturbative part of the BR as defined in .
double F_2(double z)
The interpolated function from arXiv:1503.01791.
double Rer22(double z)
The function from .
unsigned int Intbb2Cached
double P32(double E0, double mu)
The perturbative part of the BR as defined in .
unsigned int Intbc_updated
gslpp::complex a(double z)
The funcion as defined in .
double Phi22_2beta0(double E0, double mu)
The function from arXiv:1009.5685.
double getKb_abs2_t2_1mt(double t)
The function .
double getKc_abs2_t_1mt(double t)
The function .
double Vub_NLO_3body_A(double E0)
The first piece of the 3 body NLO Vub part of the , .
gslpp::vector< double > Intbc_cache
double f(double r)
The function from hep-ph/0611123.
double Y2NV(double E0, double mu)
The function from arXiv:0805.3911v2.
double Phi11_1(double E0)
The function from .
double omega77(double z)
The function, linear combination of the functions , and from hep-ph/0505097.
double delddel_Phi88_1(double E0)
Derivative of the function Phi88_1() used to compute effects of massive quark loops on gluon lines.
double Phi58_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double getKc_abs2_t(double t)
The function .
gslpp::complex Kij_1(int i, int j, double E0, double mu)
The function from .
double getKc_im_t_1mt2(double t)
The function .
double Int_bb2(double E0)
Integral of the functions getKb_abs2_t_1mt() and getKb_abs2_t_1mt2().
double Phi77_2beta0(double E0, double mu)
The function from ..
double getKb_abs2_t_1mt2(double t)
The function .
double mddel_f_NLO(double z, double E0)
The function from arXiv:1503.01791.
double Phi23_1_4body(double E0)
The function obtained from .
double f_q(double z, double E0)
The function from arXiv:1503.01791.
unsigned int Intb_updated
unsigned int Intbb1Cached
gslpp::complex CacheIntc3
double getKc_re_t(double t)
The function .
double getKc_re_t_1mt2(double t)
The function .
double T1(double E0, double t)
The cutoff energy function as defined in .
double Phi77_1(double E0)
The function from .
double Vub_NLO_4body_CPodd(double E0)
The CP odd part of the 4 body NLO Vub part of the obtained from , .
double Y1(double E0, double mu)
The function from arXiv:0805.3911v2.
double Phi57_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double P12()
The perturbative part of the BR as defined in .
double ff7_dMP(double E0)
The 4-body NLO correction due to and d, , from .
double Phi34_1(double E0)
The function obtained using the prescription of .
double Int_cc(double E0)
Integral of the functions getKc_abs2_t() and getKc_abs2_t_1mt().
double Phi38_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double Vub_NLO_CPodd(double E0)
The CP odd part of the total NLO Vub part of the , .
double Vub_NLO_2body_CPodd()
The CP odd part of the 2 body NLO Vub part of the as defined in , .
double N_27()
The non perturbative part of the due to interference as defined in , .
double T2(double E0, double t)
The cutoff energy function as defined in .
double getKc_im_Kb_1mt2(double t)
The function .
double omega(double E0)
The cutoff energy function as defined in .
double Vub_NNLO(double E0)
The NNLO Vub part of the as defined in xxxxxxxxx, .
double ff8_dMP(double E0)
The 4-body NLO correction due to and d, , from .
double F_1(double z)
The interpolated function from arXiv:1503.01791.
unsigned int Intbc1Cached
double getKc_re_Kb_t_1mt2(double t)
The function .
double h27_2(double z, double E0)
The function from arXiv:1009.5685 and arXiv:1503.01791.
gslpp::complex Int_c2(double E0)
Integral of the functions getKc_re_t_1mt(), getKc_im_t_1mt() and getKc_re_t_1mt2(),...
double Phi88_1(double E0)
The function from .
double Vub_NLO_3body_B(double E0)
The second piece of the 3 body NLO Vub part of the , .
gslpp::complex CacheIntbc2
double Phi37_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double Phi78_1(double E0)
The function from .
double Vub_NLO(double E0)
The total NLO Vub part of the , .
double Phi28_2beta0(double E0, double mu)
The function from arXiv:1009.5685.
unsigned int Intcc1p1Cached
double Vub_NLO_3body_B_CPodd(double E0)
The CP odd part of the second piece of the 3 body NLO Vub part of the , .
gslpp::complex Phi56_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
void updateParameters()
The update parameter method for bsgamma.
gslpp::complex Phi16_1(double E0)
The function obtained using the prescription of .
double getKb_abs2_1mt2(double t)
The function .
gslpp::complex r1_ew(int i, double z)
The funcion as defined in .
gslpp::complex Phi23_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
gslpp::complex Phi28_1(double E0, double z)
The function from .
double Int_bb4(double E0)
Integral of the functions getKb_abs2_t2_1mt() and getKb_abs2_t2_1mt2().
double getKc_abs2_1mt(double t)
The function .
double Y2NL(double E0, double mu)
The function from arXiv:0805.3911v2.
double delta(double E0)
The cutoff energy function .
double getKb_re_t2_1mt2(double t)
The function .
unsigned int Intc1imCached
gslpp::complex Phi26_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double Delta(double r)
The function from Z. Phys. C 48, 673 (1990).
double Vub_NLO_3body_A_CPodd(double E0)
The CP odd part of the first piece of the 3 body NLO Vub part of the , .
double getKc_im_t_1mt(double t)
The function .
gslpp::complex Phi25_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
double P11()
The perturbative part of the BR as defined in .
gslpp::complex Phi17_1(double E0, double z)
The function from .
double delddel_Phi28_1(double z, double E0)
Derivative of the function Phi28_1() used to compute effects of massive quark loops on gluon lines.
double getKc_im_Kb_1mt(double t)
The function .
double f_NLO_1(double z)
The function from arXiv:1503.01791.
double Phi33_1(double E0)
The function obtained using the prescription of .
double Phi26_1_4body(double E0)
The function obtained from .
unsigned int IntPhi772rCached
Bsgamma(const StandardModel &SM_i, QCD::quark quark_i, int obsFlag)
Constructor.
gslpp::complex Phi13_1(double E0)
The function obtained using the prescription of .
double getKb_re_t_1mt(double t)
The function .
double f_u(double r)
The function obtained after multiplying the fitted function of arXiv:0803.0960 for and subtracting...
double Y2(double E0, double mu)
The function from arXiv:0805.3911v2 and arXiv:1005.5587v1.
double zdz_Phi28_1(double z, double E0)
Derivative of the function Phi28_1() used to compute effects of massive quark loops on gluon lines.
double getKc_re_Kb_t_1mt(double t)
The function .
double Phi25_1_4body(double E0)
The function obtained from .
double Y2NV_PHI4(double rho)
The function from arXiv:0805.3911v2.
double ff7_sMP(double E0)
The 4-body NLO correction due to and s, , from .
double Y2NV_PHI2(double rho)
The function from arXiv:0805.3911v2.
double zdz_Phi22_1(double E0)
Derivative of the function Phi22_1() used to compute effects of massive quark loops on gluon lines.
double getKc_re_Kb_1mt2(double t)
The function .
double Int_b4(double E0)
Integral of the functions getKb_re_t2_1mt() and getKb_re_t2_1mt2().
double getKc_im_Kb_t_1mt2(double t)
The function .
gslpp::complex Phi46_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
gslpp::complex Phi14_1(double E0)
The function obtained using the prescription of .
double Vub_NLO_2body()
The 2 body NLO Vub part of the as defined in , .
double Int_b2(double E0)
Integral of the functions getKb_re_t_1mt() and getKb_re_t_1mt2().
gslpp::complex Int_bc1(double E0)
Integral of the functions getKc_re_Kb_1mt(), getKc_im_Kb_1mt() and getKc_re_Kb_1mt2(),...
unsigned int Intbb4Cached
double Int_b1(double E0)
Integral of the functions getKb_re_1mt() and getKb_re_1mt2().
double Phi48_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
gslpp::vector< gslpp::complex > ** allcoeffprime
double P21_CPodd(double E0, double mu)
The CP odd part of the perturbative part of the BR as defined in .
gslpp::complex Int_c3(double E0)
Integral of the functions getKc_re_t(), getKc_im_t() and getKc_re_t_1mt(), getKc_im_t_1mt().
double Y2CF(double E0, double mu)
The function from arXiv:1005.5587v1.
double getKb_re_1mt2(double t)
The function .
double Int_bb1(double E0)
Integral of the functions getKb_abs2_1mt() and getKb_abs2_1mt2().
gslpp::complex Phi68_1(double E0)
The function obtained using the prescription of and adding the 4-body contribution from .
void checkCache()
The caching method for bsgamma.
gslpp::complex b(double z)
The funcion as defined in .
double getKc_im_Kb_t_1mt(double t)
The function .
gslpp::complex CacheIntc1
double rho(double E0)
The cutoff energy function as defined in .
double Y2NH(double E0, double mu)
The function from arXiv:0805.3911v2.
double Phi12_1(double E0)
The function from .
double getKb_abs2_t2_1mt2(double t)
The function .
double getKc_im_t(double t)
The function .
double getKc_im_1mt(double t)
The function .
double Int_cc1(double E0)
Integral of the functions getKc_abs2_1mt() and getKc_abs2_1mt^().
double getKb_re_1mt(double t)
The function .
double getKb_re_t_1mt2(double t)
The function .
double getKc_re_Kb_1mt(double t)
The function .
double T3(double E0, double t)
The cutoff energy function as defined in .
gslpp::complex CacheIntbc1
double N_77(double E0, double mu)
The non perturbative part of the due to interference as defined in arXiv:0911.2175,...
double f_c(double z)
The function from arXiv:1503.01791.
double Vub_NLO_4body(double E0)
The 4 body NLO Vub part of the obtained from , .
gslpp::complex CacheIntc2
gslpp::vector< gslpp::complex > ** allcoeff
gslpp::complex Phi15_1(double E0)
The function obtained using the prescription of .
const gslpp::complex computelamt_s() const
The product of the CKM elements .
const gslpp::complex computelamu_s() const
The product of the CKM elements .
const gslpp::complex getV_cb() const
A member for returning the value of the CKM element .
const gslpp::complex computelamu_d() const
The product of the CKM elements .
const gslpp::complex getV_tb() const
A member for returning the value of the CKM element .
const gslpp::complex getV_ub() const
A member for returning the value of the CKM element .
const gslpp::complex computelamt_d() const
The product of the CKM elements .
A class for the Clausen functions.
double Cl3(const double phi) const
The Clausen function of index 3, .
gslpp::vector< gslpp::complex > ** ComputeCoeffsgamma(double mu, bool noSM=false, schemes scheme=NDR) const
Computes the Wilson coefficient for the process .
gslpp::vector< gslpp::complex > ** ComputeCoeffprimesgamma(double mu, schemes scheme=NDR) const
Computes the chirality flipped Wilson coefficient for the process .
const double & getMass() const
A get method to access the particle mass.
A class for the polylogarithms.
double Li3(const double x) const
The trilogarithm .
const double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
quark
An enum type for quarks.
const double Beta0(const double nf) const
The coefficient for a certain number of flavours .
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
A model class for the Standard Model.
const double getMz() const
A get method to access the mass of the boson .
const CKM & getCKM() const
A get method to retrieve the member object of type CKM.
const double ale_OS(const double mu, orders order=FULLNLO) const
The running electromagnetic coupling in the on-shell scheme.
const Flavour & getFlavour() const
const double Alstilde5(const double mu) const
The value of at any scale with the number of flavours and full EW corrections.
const double v() const
The Higgs vacuum expectation value.
const double getAle() const
A get method to retrieve the fine-structure constant .
A class for a model prediction of an observable.
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
double getBinMin()
A get method to get the minimum value of the bin.
const StandardModel & SM
A reference to an object of StandardMode class.
parameter of the Higgs potential
An observable class for the quartic Higgs potential coupling .
orders
An enum type for orders in QCD.