12 #define UpperBoundForApproximateFormulae 1000.0
26 double Mw0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11;
56 std::stringstream out;
58 throw std::runtime_error(
"ApproximateFormulae::Mw(): mh=" + out.str() +
" is out of range");
68 return (Mw0 - c1 * dH - c2 * dH * dH + c3 *
pow(dH, 4.0)
69 + c4 * (dh - 1.0) - c5 * dalphae + c6 * dt - c7 * dt * dt
70 - c8 * dH * dt + c9 * dh * dt - c10 * dalphas + c11 * dZ
78 std::stringstream out;
80 throw std::runtime_error(
"ApproximateFormulae::sin2thetaEff_l(): mh=" + out.str() +
" is out of range");
83 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
92 d4 = -1.85 * 0.000001;
96 d8 = -9.71 * 0.000001;
106 d3 = 3.85 * 0.000001;
107 d4 = -1.85 * 0.000001;
111 d8 = -9.74 * 0.000001;
116 throw std::runtime_error(
"Error in ApproximateFormulae::sin2thetaEff_l()");
126 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 *
pow(L_H, 4.0)
127 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
128 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
129 + d9 * Delta_alphas + d10 * Delta_Z
137 std::stringstream out;
139 throw std::runtime_error(
"ApproximateFormulae::sin2thetaEff_q(): mh=" + out.str() +
" is out of range");
142 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
149 d3 = 3.85 * 0.000001;
150 d4 = -1.85 * 0.000001;
154 d8 = -9.73 * 0.000001;
163 d3 = 3.85 * 0.000001;
164 d4 = -1.85 * 0.000001;
168 d8 = -9.73 * 0.000001;
176 d3 = 3.94 * 0.000001;
177 d4 = -1.84 * 0.000001;
181 d8 = -7.61 * 0.000001;
188 throw std::runtime_error(
"Error in ApproximateFormulae::sin2thetaEff_q()");
198 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 *
pow(L_H, 4.0)
199 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
200 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
201 + d9 * Delta_alphas + d10 * Delta_Z);
208 std::stringstream out;
210 throw std::runtime_error(
"ApproximateFormulae::DeltaR_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
213 double r0 = 0.003354;
214 double r1 = -0.000209;
215 double r2 = 0.0000254;
216 double r3 = -0.00000785;
217 double r4 = -0.00000233;
220 double r7 = -0.00000989;
232 double Delta_W = Mw / 80.404 - 1.0;
234 return ( r0 + r1 * L_H + r2 * L_H * L_H + r3 *
pow(L_H, 4.0)
235 + r4 * (Delta_H * Delta_H - 1.0) + r5 * Delta_t
236 + r6 * Delta_t * Delta_t + r7 * Delta_t * L_H + r8 * Delta_W
237 + r9 * Delta_W * Delta_t + r10 * Delta_Z);
244 std::stringstream out;
246 throw std::runtime_error(
"ApproximateFormulae::DeltaKappa_l_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
249 double k0 = -0.002711;
250 double k1 = -0.0000312;
251 double k2 = -0.0000412;
252 double k3 = 0.00000528;
253 double k4 = 0.00000375;
254 double k5 = -0.00516;
255 double k6 = -0.00206;
256 double k7 = -0.000232;
265 double Delta_W = Mw_i / 80.404 - 1.0;
267 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 *
pow(L_H, 4.0)
268 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
269 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
270 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
277 std::stringstream out;
279 throw std::runtime_error(
"ApproximateFormulae::DeltaKappa_b_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
282 double k0 = -0.002666;
283 double k1 = -0.0000592;
284 double k2 = -0.00000329;
285 double k3 = 0.00000349;
286 double k4 = 0.00000283;
287 double k5 = -0.00534;
288 double k6 = -0.00210;
289 double k7 = -0.000219;
298 double Delta_W = Mw_i / 80.404 - 1.0;
300 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 *
pow(L_H, 4.0)
301 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
302 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
303 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
310 std::stringstream out;
312 throw std::runtime_error(
"ApproximateFormulae::R0_bottom(): mh=" + out.str() +
" is out of range");
372 double Rb00 = 0.2154940;
373 double c1 = 1.88 *
pow(10.0, -5.);
374 double c2 = 2.0 *
pow(10.0, -6.);
375 double c3 = -6.0 *
pow(10.0, -7.);
376 double c4 = 8.53 *
pow(10.0, -8.);
377 double c5 = 7.05 *
pow(10.0, -4.);
378 double c6 = -3.159 *
pow(10.0, -3.);
379 double c7 = 6.65 *
pow(10.0, -5.);
380 double c8 = -1.704 *
pow(10.0, -3.);
381 double c9 = -9.30 *
pow(10.0, -4.);
382 double c10 = 6.26 *
pow(10.0, -2.);
404 return (Rb00 + c1 * L_H + c2 * L_H * L_H + c3 *
pow(L_H, 4.0)
405 + c4 * (Delta_H * Delta_H - 1.0) + c5 * Delta_ale + c6 * Delta_t
406 + c7 * Delta_t * L_H + c8 * Delta_alphas + c9 * Delta_alphas * Delta_alphas
415 std::stringstream out;
417 throw std::runtime_error(
"ApproximateFormulae::Gu_over_Gb(): mh=" + out.str() +
" is out of range");
438 double R = 0.7997930;
439 double c1 = -1.7991e-4;
440 double c2 = -1.980e-5;
442 double c4 = -0.9829e-6;
443 double c5 = -8.200e-3;
444 double c6 = 1.657e-4;
445 double c7 = 1.6476e-2;
446 double c8 = 4.463e-3;
447 double c9 = -3.187e-4;
448 double c10 = 1.8113e-2;
449 double c11 = 1.0720e-2;
459 return ( R + c1 * LH + c2 * LH * LH + c3 *
pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
460 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
467 std::stringstream out;
469 throw std::runtime_error(
"ApproximateFormulae::Gd_over_Gb(): mh=" + out.str() +
" is out of range");
490 double R = 1.0204024;
491 double c1 = -2.242e-5;
492 double c2 = -1.70e-6;
496 double c6 = 0.999e-4;
497 double c7 = 1.7539e-2;
498 double c8 = 7.138e-3;
499 double c9 = -4.041e-4;
500 double c10 = 2.290e-4;
501 double c11 = -8.0e-6;
511 return ( R + c1 * LH + c2 * LH * LH + c3 *
pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
512 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
523 double X0, c1, c2, c3, c4, c5, c6, c7;
524 if (observable.compare(
"Gamma_nu") == 0) {
533 }
else if (observable.compare(
"Gamma_e_mu") == 0) {
542 }
else if (observable.compare(
"Gamma_tau") == 0) {
551 }
else if (observable.compare(
"Gamma_u") == 0) {
560 }
else if (observable.compare(
"Gamma_c") == 0) {
569 }
else if (observable.compare(
"Gamma_d_s") == 0) {
578 }
else if (observable.compare(
"Gamma_b") == 0) {
587 }
else if (observable.compare(
"GammaZ") == 0) {
596 }
else if (observable.compare(
"sigmaHadron") == 0) {
605 }
else if (observable.compare(
"R0_lepton") == 0) {
614 }
else if (observable.compare(
"R0_charm") == 0) {
623 }
else if (observable.compare(
"R0_bottom") == 0) {
633 throw std::runtime_error(
"ApproximateFormulae::X(): " + observable +
" is not defined");
636 * (X0 + c1 * LH + c2 * Dt + c3 * Das + c4 * Das * Das + c5 * Das * Dt + c6 * Dal + c7 * DZ));
648 double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
649 double ThError = 0.0;
650 if (observable.compare(
"Gamma_nu") == 0) {
667 }
else if (observable.compare(
"Gamma_e_mu") == 0) {
684 }
else if (observable.compare(
"Gamma_tau") == 0) {
701 }
else if (observable.compare(
"Gamma_u") == 0) {
718 }
else if (observable.compare(
"Gamma_c") == 0) {
735 }
else if (observable.compare(
"Gamma_d_s") == 0) {
752 }
else if (observable.compare(
"Gamma_b") == 0) {
769 }
else if (observable.compare(
"GammaZ") == 0) {
787 }
else if (observable.compare(
"sigmaHadron") == 0) {
804 }
else if (observable.compare(
"R0_lepton") == 0) {
821 }
else if (observable.compare(
"R0_charm") == 0) {
838 }
else if (observable.compare(
"R0_bottom") == 0) {
856 throw std::runtime_error(
"ApproximateFormulae::X_extended(): " + observable +
" is not defined");
859 * (X0 + a1 * LH + a2 * LH * LH + a3 * DH + a4 * DH * DH + a5 * Dt + a6 * Dt * Dt
860 + a7 * Dt * LH + a8 * Dt * LH * LH + a9 * Das + a10 * Das * Das + a11 * Das * LH
861 + a12 * Das * Dt + a13 * Dal + a14 * Dal * LH + a15 * DZ) + ThError);
double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
quark
An enum type for quarks.
double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
complex pow(const complex &z1, const complex &z2)
A class for cache variables used in computing radiative corrections to the EW precision observables...
double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .
double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
double getMtpole() const
A get method to access the pole mass of the top quark.
An observable class for the -boson mass.
complex log(const complex &z)
double getMHl() const
A get method to retrieve the Higgs mass .
double getMz() const
A get method to access the mass of the boson .
lepton
An enum type for leptons.
const StandardModel & getSM() const
double getAlsMz() const
A get method to access the value of .