37const double pi = 3.1415926535897932;
38const double pi2 = 9.8696044010893586;
51double YF1(
double u,
double w,
double cw2)
noexcept
62 - 72*
c0 - 36*
c0*std::log(
w)
63 + 9*(-8*
cw4 - 3*
u + 2*
cw2*(4 +
u))*(
u + 2*
w)/(2*(
u - 1)*
u)*std::log(
u)
70double YFZ(
double u,
double cw2)
noexcept
74 const auto lu = std::log(
u);
78 const auto z1 = 3*(17 - 48*
cw2 + 32*
cw4);
80 const auto z3 = 3*(1 - 3*
cw2 + 2*
cw4);
87 + 12*(-4 +
u)*
u*
li + 6*(-2 +
u)*
phi);
93double YFW(
double u,
double cw2)
noexcept
112double YF2(
double u,
double cw2)
noexcept
121 const auto u3 =
u2*
u;
123 const double f0 = 3.0/4*
cw4*(-640 + 576*
cw2 + 7*
pi2);
126 const double f3 = -3.0/4*
cw2*(109 - 430*
cw2 + 120*
cw4);
127 const double f4 = 96*
cw6*(-11 + 9*
cw2);
128 const double f5 = 45.0/2*
cw4 + 192*
cw6;
129 const double f6 = 3.0/4*
cw2*(157 + 90*
cw2);
130 const double f7 = -3.0/4*(18 + 61*
cw2);
132 const double f9 = 1 - 5*
cw2 + 10*
cw4;
134 const double f11 = 3*
cw6*(-899 + 768*
cw2);
136 const double f13 = 9.0/2*
cw2*(57 + 106*
cw2);
137 const double f14 = -15.0/2*(7 + 45*
cw2);
156double YF3(
double u,
double w,
double cw2)
noexcept
165 const auto u3 =
u2*
u;
167 const auto u5 =
u4*
u;
169 const auto lc = std::log(
cw2);
170 const auto lu = std::log(
u);
171 const auto lw = std::log(
w);
211double T0(
double u,
double w,
double cw2)
noexcept
221double T1(
double u,
double w,
double cw2)
noexcept
229double dxlog(
double a,
double b)
noexcept
231 const double lb = std::log(
b);
246double TX(
double xH,
double xA,
double xHp,
double cw2)
noexcept
249 const auto sw2 = 1.0 -
cw2;
254 const auto lH = std::log(
xH);
255 const auto lA = std::log(
xA);
273double T4(
double u,
double cw2,
double xH,
double xA)
noexcept
276 const auto sw2 = 1.0 -
cw2;
283double T5(
double u,
double w,
double cw2)
noexcept
286 const auto sw2 = 1.0 -
cw2;
296double T6(
double u,
double w,
double cw2)
noexcept
311double T7(
double u,
double w,
double cw2)
noexcept
314 const auto sw2 = 1.0 -
cw2;
316 const auto ra = std::complex<double>(1 +
sqr(
u -
w) - 2*(
u +
w), 0.0);
317 const auto s1 =
u +
w - 1.0 + std::sqrt(
ra);
320 -0.5*
f5*(2*(
u +
w) -
sqr(
u -
w) - 1)*std::log(
s1/(2*std::sqrt(
u*
w)))
323 return std::real(
res);
327double T8(
double u,
double w,
double cw2)
noexcept
330 const auto sw2 = 1.0 -
cw2;
332 const auto ra = std::complex<double>(
sqr(
u +
w -
cw2) - 4*
u*
w, 0.0);
333 const auto s2 =
u +
w -
cw2 + std::sqrt(
ra);
339 return std::real(
res);
343double T9(
double u,
double w,
double cw2)
noexcept
361double T10(
double u,
double w,
double cw2)
noexcept
367 const auto lwu = std::log(
w/
u);
368 const auto lwc = std::log(
w/
cw2);
377double fb(
double u,
double w,
double al,
double cw2)
noexcept
383double Fm0(
double u,
double w,
double al,
double cw2)
noexcept
389double Fmp(
double u,
double w,
double al,
double cw2)
noexcept
403 const double zeta2 = 1.6449340668482264;
404 const double mw2 =
sqr(thdm.mw);
405 const double mz2 =
sqr(thdm.mz);
413 const double mh2 =
sqr(thdm.mh(0));
417 const double lh = std::log(
xh);
418 const double lw = std::log(
cw2);
492 /(2*(-1 + 4*
cw2)*(-1 +
xh));
494 return pref *
res * thdm.cos_beta_minus_alpha * thdm.zetal;
504 const auto mw2 =
sqr(thdm.mw);
505 const auto mz2 =
sqr(thdm.mz);
510 const auto sw2 = 1.0 -
cw2;
512 const auto mA2 =
sqr(thdm.mA);
513 const auto mH2 =
sqr(thdm.mh(1));
514 const auto mHp2 =
sqr(thdm.mHp);
519 const auto f1 = 7.0/2 - 25.0/(2*
cw2) + 4*
cw2 - 4*
cw4;
522 const auto f4 = 13.0/2 - 15*
cw2 + 10*
cw4;
550 const auto pref =
sqr(thdm.alpha_em/(24*
pi*
cw2*
sw2) * thdm.mm/thdm.mz);
562 const auto tb = thdm.tb;
563 const auto sc = tb - 1.0/tb;
564 const auto zetal = thdm.zetal;
565 const auto lambda5 = thdm.lambda5;
566 const auto lambda67 = thdm.lambda67;
567 const auto cos_beta_minus_alpha = thdm.cos_beta_minus_alpha;
568 const auto al = thdm.alpha_em;
570 const auto mH2 =
sqr(thdm.mh(1));
571 const auto mHp2 =
sqr(thdm.mHp);
572 const auto mw2 =
sqr(thdm.mw);
573 const auto mz2 =
sqr(thdm.mz);
588 const auto a5z0 = -0.5*(
625 +
a5z0*(
sc*lambda5 + lambda67)*zetal
629 +
a501*(
sc*lambda5 + lambda67)
631 )*cos_beta_minus_alpha;
double mw2
squared W boson mass
double mz2
squared Z boson mass
double amu2L_B(const THDM_B_parameters &thdm) noexcept
Calculates the sum of the 2-loop bosonic contributions.
double amu2L_B_EWadd(const THDM_B_parameters &thdm) noexcept
Calculates 2-loop bosonic pure electroweak contributions.
double amu2L_B_nonYuk(const THDM_B_parameters &thdm) noexcept
Calculates 2-loop bosonic non-Yukawa contributions.
double amu2L_B_Yuk(const THDM_B_parameters &thdm) noexcept
Calculates 2-loop bosonic Yukawa contributions.
double Phi(double x, double y, double z) noexcept
function from arxiv:1607.06292 Eq.
T sqr(T x) noexcept
returns number squared
void svd_eigen(const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u, Eigen::Matrix< Scalar, N, N > *vh)
T cube(T x) noexcept
returns number to the third power
double f_PS(double z) noexcept
Calculates , Eq (70) arXiv:hep-ph/0609168.
bool is_equal_rel(T a, T b, T eps) noexcept
double dilog(double x) noexcept
Real dilogarithm .
parameters to be passed to the bosonic contribution functions