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
77 double Mw0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11;
107 std::stringstream out;
109 throw std::runtime_error(
"ApproximateFormulae::dAlpha5hMw(): mh=" + out.str() +
" is out of range");
123 dalphae = ( (Mw0 - MwInp - c1 * dH - c2 * dH * dH + c3 * pow(dH, 4.0)
124 + c4 * (dh - 1.0) + c6 * dt - c7 * dt * dt
125 - c8 * dH * dt + c9 * dh * dt - c10 * dalphas + c11 * dZ
128 return 0.05907 * (dalphae + 1.0) - dalphaeLept;
136 std::stringstream out;
138 throw std::runtime_error(
"ApproximateFormulae::sin2thetaEff_l(): mh=" + out.str() +
" is out of range");
141 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.71 * 0.000001;
164 d3 = 3.85 * 0.000001;
165 d4 = -1.85 * 0.000001;
169 d8 = -9.74 * 0.000001;
174 throw std::runtime_error(
"Error in ApproximateFormulae::sin2thetaEff_l()");
184 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
185 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
186 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
187 + d9 * Delta_alphas + d10 * Delta_Z
195 std::stringstream out;
197 throw std::runtime_error(
"ApproximateFormulae::sin2thetaEff_q(): mh=" + out.str() +
" is out of range");
200 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
201 double ThError = 0.0;
209 d3 = 3.85 * 0.000001;
210 d4 = -1.85 * 0.000001;
214 d8 = -9.73 * 0.000001;
224 d3 = 3.85 * 0.000001;
225 d4 = -1.85 * 0.000001;
229 d8 = -9.73 * 0.000001;
240 d3 = 3.94 * 0.000001;
241 d4 = -1.84 * 0.000001;
245 d8 = -7.61 * 0.000001;
257 throw std::runtime_error(
"Error in ApproximateFormulae::sin2thetaEff_q()");
267 return (s0 + d1 * L_H + d2 * L_H * L_H + d3 * pow(L_H, 4.0)
268 + d4 * (Delta_H * Delta_H - 1.0) + d5 * Delta_ale + d6 * Delta_t
269 + d7 * Delta_t * Delta_t + d8 * Delta_t * (Delta_H - 1.0)
270 + d9 * Delta_alphas + d10 * Delta_Z
278 std::stringstream out;
280 throw std::runtime_error(
"ApproximateFormulae::sin2thetaEff_b(): mh=" + out.str() +
" is out of range");
283 double s0, d1, d2, d3, d4, d5, d6, d7, d8, d9;
289 d4 = -9.733 * 0.0001;
302 return (s0 + d1 * L_H + d2 * L_H * L_H
304 + d4 * Delta_t + d5 * Delta_t * Delta_t + d6 * Delta_t * L_H
305 + d7 * Delta_alphas + d8 * Delta_t * Delta_alphas
314 std::stringstream out;
316 throw std::runtime_error(
"ApproximateFormulae::DeltaR_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
319 double r0 = 0.003354;
320 double r1 = -0.000209;
321 double r2 = 0.0000254;
322 double r3 = -0.00000785;
323 double r4 = -0.00000233;
326 double r7 = -0.00000989;
338 double Delta_W =
Mw / 80.404 - 1.0;
340 return ( r0 + r1 * L_H + r2 * L_H * L_H + r3 * pow(L_H, 4.0)
341 + r4 * (Delta_H * Delta_H - 1.0) + r5 * Delta_t
342 + r6 * Delta_t * Delta_t + r7 * Delta_t * L_H + r8 * Delta_W
343 + r9 * Delta_W * Delta_t + r10 * Delta_Z);
350 std::stringstream out;
352 throw std::runtime_error(
"ApproximateFormulae::DeltaKappa_l_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
355 double k0 = -0.002711;
356 double k1 = -0.0000312;
357 double k2 = -0.0000412;
358 double k3 = 0.00000528;
359 double k4 = 0.00000375;
360 double k5 = -0.00516;
361 double k6 = -0.00206;
362 double k7 = -0.000232;
371 double Delta_W = Mw_i / 80.404 - 1.0;
373 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
374 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
375 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
376 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
383 std::stringstream out;
385 throw std::runtime_error(
"ApproximateFormulae::DeltaKappa_b_TwoLoopEW_rem(): mh=" + out.str() +
" is out of range");
388 double k0 = -0.002666;
389 double k1 = -0.0000592;
390 double k2 = -0.00000329;
391 double k3 = 0.00000349;
392 double k4 = 0.00000283;
393 double k5 = -0.00534;
394 double k6 = -0.00210;
395 double k7 = -0.000219;
404 double Delta_W = Mw_i / 80.404 - 1.0;
406 return ( k0 + k1 * L_H + k2 * L_H * L_H + k3 * pow(L_H, 4.0)
407 + k4 * (Delta_H * Delta_H - 1.0) + k5 * Delta_t
408 + k6 * Delta_t * Delta_t + k7 * Delta_t * L_H
409 + k8 * Delta_W + k9 * Delta_W * Delta_t + k10 * Delta_Z);
416 std::stringstream out;
418 throw std::runtime_error(
"ApproximateFormulae::R0_bottom(): mh=" + out.str() +
" is out of range");
478 double Rb00 = 0.2154940;
479 double c1 = 1.88 * pow(10.0, -5.);
480 double c2 = 2.0 * pow(10.0, -6.);
481 double c3 = -6.0 * pow(10.0, -7.);
482 double c4 = 8.53 * pow(10.0, -8.);
483 double c5 = 7.05 * pow(10.0, -4.);
484 double c6 = -3.159 * pow(10.0, -3.);
485 double c7 = 6.65 * pow(10.0, -5.);
486 double c8 = -1.704 * pow(10.0, -3.);
487 double c9 = -9.30 * pow(10.0, -4.);
488 double c10 = 6.26 * pow(10.0, -2.);
510 return (Rb00 + c1 * L_H + c2 * L_H * L_H + c3 * pow(L_H, 4.0)
511 + c4 * (Delta_H * Delta_H - 1.0) + c5 * Delta_ale + c6 * Delta_t
512 + c7 * Delta_t * L_H + c8 * Delta_alphas + c9 * Delta_alphas * Delta_alphas
521 std::stringstream out;
523 throw std::runtime_error(
"ApproximateFormulae::Gu_over_Gb(): mh=" + out.str() +
" is out of range");
544 double R = 0.7997930;
545 double c1 = -1.7991e-4;
546 double c2 = -1.980e-5;
548 double c4 = -0.9829e-6;
549 double c5 = -8.200e-3;
550 double c6 = 1.657e-4;
551 double c7 = 1.6476e-2;
552 double c8 = 4.463e-3;
553 double c9 = -3.187e-4;
554 double c10 = 1.8113e-2;
555 double c11 = 1.0720e-2;
565 return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
566 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
573 std::stringstream out;
575 throw std::runtime_error(
"ApproximateFormulae::Gd_over_Gb(): mh=" + out.str() +
" is out of range");
596 double R = 1.0204024;
597 double c1 = -2.242e-5;
598 double c2 = -1.70e-6;
602 double c6 = 0.999e-4;
603 double c7 = 1.7539e-2;
604 double c8 = 7.138e-3;
605 double c9 = -4.041e-4;
606 double c10 = 2.290e-4;
607 double c11 = -8.0e-6;
617 return ( R + c1 * LH + c2 * LH * LH + c3 * pow(LH, 4.0) + c4 * DH + c5 * Dal + c6 * LH * Dal
618 + c7 * Dt + c8 * Dt * Dt + c9 * LH * Dt + c10 * Das + c11 * Das * Das + c12 * Dmz);
629 double X0, c1, c2, c3, c4, c5, c6, c7;
630 if (observable.compare(
"Gamma_nu") == 0) {
639 }
else if (observable.compare(
"Gamma_e_mu") == 0) {
648 }
else if (observable.compare(
"Gamma_tau") == 0) {
657 }
else if (observable.compare(
"Gamma_u") == 0) {
666 }
else if (observable.compare(
"Gamma_c") == 0) {
675 }
else if (observable.compare(
"Gamma_d_s") == 0) {
684 }
else if (observable.compare(
"Gamma_b") == 0) {
693 }
else if (observable.compare(
"GammaZ") == 0) {
702 }
else if (observable.compare(
"sigmaHadron") == 0) {
711 }
else if (observable.compare(
"R0_lepton") == 0) {
720 }
else if (observable.compare(
"R0_charm") == 0) {
729 }
else if (observable.compare(
"R0_bottom") == 0) {
739 throw std::runtime_error(
"ApproximateFormulae::X(): " + observable +
" is not defined");
742 * (X0 + c1 * LH + c2 * Dt + c3 * Das + c4 * Das * Das + c5 * Das * Dt + c6 * Dal + c7 * DZ));
754 double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
755 double ThError = 0.0;
756 if (observable.compare(
"Gamma_nu") == 0) {
773 }
else if (observable.compare(
"Gamma_e_mu") == 0) {
790 }
else if (observable.compare(
"Gamma_tau") == 0) {
807 }
else if (observable.compare(
"Gamma_u") == 0) {
824 }
else if (observable.compare(
"Gamma_c") == 0) {
841 }
else if (observable.compare(
"Gamma_d_s") == 0) {
858 }
else if (observable.compare(
"Gamma_b") == 0) {
875 }
else if (observable.compare(
"Gamma_had") == 0) {
912 }
else if (observable.compare(
"GammaZ") == 0) {
930 }
else if (observable.compare(
"sigmaHadron") == 0) {
948 }
else if (observable.compare(
"R0_lepton") == 0) {
966 }
else if (observable.compare(
"R0_electron") == 0) {
970 }
else if (observable.compare(
"R0_muon") == 0) {
974 }
else if (observable.compare(
"R0_tau") == 0) {
978 }
else if (observable.compare(
"R0_neutrino") == 0) {
982 }
else if (observable.compare(
"R0_up") == 0) {
986 }
else if (observable.compare(
"R0_strange") == 0) {
990 }
else if (observable.compare(
"R0_charm") == 0) {
1008 }
else if (observable.compare(
"R0_bottom") == 0) {
1027 throw std::runtime_error(
"ApproximateFormulae::X_extended(): " + observable +
" is not defined");
1030 * (X0 + a1 * LH + a2 * LH * LH + a3 * DH + a4 * DH * DH + a5 * Dt + a6 * Dt * Dt
1031 + a7 * Dt * LH + a8 * Dt * LH * LH + a9 * Das + a10 * Das * Das + a11 * Das * LH
1032 + a12 * Das * Dt + a13 * Dal + a14 * Dal * LH + a15 * DZ) + ThError);
1053 double X0, c1, c2, c3, c4, c5, c6, c7;
1054 double ThError = 0.0;
1055 if (observable.compare(
"Gamma_nu") == 0) {
1065 }
else if (observable.compare(
"Gamma_e_mu") == 0) {
1075 }
else if (observable.compare(
"Gamma_tau") == 0) {
1085 }
else if (observable.compare(
"Gamma_u") == 0) {
1095 }
else if (observable.compare(
"Gamma_c") == 0) {
1105 }
else if (observable.compare(
"Gamma_d_s") == 0) {
1115 }
else if (observable.compare(
"Gamma_b") == 0) {
1125 }
else if (observable.compare(
"Gamma_had") == 0) {
1137 }
else if (observable.compare(
"GammaZ") == 0) {
1148 }
else if (observable.compare(
"sigmaHadron") == 0) {
1159 }
else if (observable.compare(
"R0_lepton") == 0) {
1170 }
else if (observable.compare(
"R0_electron") == 0) {
1174 }
else if (observable.compare(
"R0_muon") == 0) {
1178 }
else if (observable.compare(
"R0_tau") == 0) {
1182 }
else if (observable.compare(
"R0_neutrino") == 0) {
1186 }
else if (observable.compare(
"R0_up") == 0) {
1190 }
else if (observable.compare(
"R0_strange") == 0) {
1194 }
else if (observable.compare(
"R0_charm") == 0) {
1205 }
else if (observable.compare(
"R0_bottom") == 0) {
1217 throw std::runtime_error(
"ApproximateFormulae::X_full_2_loop(): " + observable +
" is not defined");
1220 * (X0 + c1 * LH + c2 * Dt
1221 + c3 * Das + c4 * Das * Das
1222 + c5 * Das * Dt + c6 * Dal + c7 * DZ) + ThError);
1233 double LH2 = LH * LH;
1246 double X0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16;
1248 double ThError = 0.0;
1250 if (observable.compare(
"Gamma_e_mu") == 0) {
1269 }
else if (observable.compare(
"Gamma_tau") == 0) {
1288 }
else if (observable.compare(
"Gamma_nu") == 0) {
1307 }
else if (observable.compare(
"Gamma_u") == 0) {
1326 }
else if (observable.compare(
"Gamma_c") == 0) {
1345 }
else if (observable.compare(
"Gamma_d_s") == 0) {
1364 }
else if (observable.compare(
"Gamma_b") == 0) {
1383 }
else if (observable.compare(
"Gamma_had") == 0) {
1404 }
else if (observable.compare(
"GammaZ") == 0) {
1424 }
else if (observable.compare(
"sigmaHadron") == 0) {
1444 }
else if (observable.compare(
"R0_lepton") == 0) {
1464 }
else if (observable.compare(
"R0_electron") == 0) {
1466 return X_full(
"Gamma_had")/
X_full(
"Gamma_e_mu") + ThError;
1468 }
else if (observable.compare(
"R0_muon") == 0) {
1470 return X_full(
"Gamma_had")/
X_full(
"Gamma_e_mu") + ThError;
1472 }
else if (observable.compare(
"R0_tau") == 0) {
1474 return X_full(
"Gamma_had")/
X_full(
"Gamma_tau") + ThError;
1476 }
else if (observable.compare(
"R0_neutrino") == 0) {
1478 return X_full(
"Gamma_nu")/
X_full(
"Gamma_had") + ThError;
1480 }
else if (observable.compare(
"R0_up") == 0) {
1482 return X_full(
"Gamma_u")/
X_full(
"Gamma_had") + ThError;
1484 }
else if (observable.compare(
"R0_strange") == 0) {
1486 return X_full(
"Gamma_d_s")/
X_full(
"Gamma_had") + ThError;
1488 }
else if (observable.compare(
"R0_charm") == 0) {
1508 }
else if (observable.compare(
"R0_bottom") == 0) {
1529 throw std::runtime_error(
"ApproximateFormulae::X_full(): " + observable +
" is not defined");
1532 * ( X0 + a1 * LH + a2 * LH2 + a3 * LH2 * LH2 + a4 *DH
1533 + a5 * Dt + a6 * Dt*Dt + a7 * Dt*LH + a8 * Dt * LH2
1534 + a9 * Das + a10 * Das * Das + a11 * Das*DH + a12*Das*Dt
1535 + a13 * Dal + a14 * Dal * DH + a15 * Dal * Dt
1536 + a16 * DZ ) + ThError);
1553 double LH2 = LH * LH;
1563 double X0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
1565 double ThError = 0.0;
1581 return ( 0.0001*( X0 + d1 * LH + d2 * LH2 + d3 * LH2 * LH2
1583 + d5 * Dt + d6 * Dt * Dt
1585 + d8 * Das + d9 * Das * Dt
1586 + d10 * DZ ) + ThError);
1603 double LH2 = LH * LH;
1613 double X0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10;
1615 double ThError = 0.0;
1631 return ( 0.0001*( X0 + d1 * LH + d2 * LH2 + d3 * LH2 * LH2
1633 + d5 * Dt + d6 * Dt * Dt
1635 + d8 * Das + d9 * Das * Dt
1636 + d10 * DZ ) + ThError);
1651 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1652 double RelThError = 0.0;
1654 if (
s==130.2*130.2) {
1665 }
else if (
s==136.2*136.2) {
1676 }
else if (
s==161.3*161.3) {
1687 }
else if (
s==172.1*172.1) {
1698 }
else if (
s==182.7*182.7) {
1709 }
else if (
s==188.6*188.6) {
1720 }
else if (
s==191.6*191.6) {
1731 }
else if (
s==195.5*195.5) {
1742 }
else if (
s==199.5*199.5) {
1753 }
else if (
s==201.6*201.6) {
1764 }
else if (
s==204.9*204.9) {
1775 }
else if (
s==206.7*206.7) {
1786 }
else if (
s > 210.*210. ) {
1798 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaMuApprox()");
1800 return ((X0 + cMH * LH + cmt * Dt
1801 + caS * Das + caS2 * Das * Das
1802 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
1814 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1815 double RelThError = 0.0;
1817 if (
s==130.2*130.2) {
1828 }
else if (
s==136.2*136.2) {
1839 }
else if (
s==161.3*161.3) {
1850 }
else if (
s==172.1*172.1) {
1861 }
else if (
s==182.7*182.7) {
1872 }
else if (
s==188.6*188.6) {
1883 }
else if (
s==191.6*191.6) {
1894 }
else if (
s==195.5*195.5) {
1905 }
else if (
s==199.5*199.5) {
1916 }
else if (
s==201.6*201.6) {
1927 }
else if (
s==204.9*204.9) {
1938 }
else if (
s==206.7*206.7) {
1949 }
else if (
s > 210.*210. ) {
1961 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2AFBmuApprox()");
1963 return ((X0 + cMH * LH + cmt * Dt
1964 + caS * Das + caS2 * Das * Das
1965 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
1977 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
1978 double RelThError = 0.0;
1980 if (
s==130.2*130.2) {
1991 }
else if (
s==136.2*136.2) {
2002 }
else if (
s==161.3*161.3) {
2013 }
else if (
s==172.1*172.1) {
2024 }
else if (
s==182.7*182.7) {
2035 }
else if (
s==188.6*188.6) {
2046 }
else if (
s==191.6*191.6) {
2057 }
else if (
s==195.5*195.5) {
2068 }
else if (
s==199.5*199.5) {
2079 }
else if (
s==201.6*201.6) {
2090 }
else if (
s==204.9*204.9) {
2101 }
else if (
s==206.7*206.7) {
2112 }
else if (
s > 210.*210. ) {
2124 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaTauApprox()");
2126 return ((X0 + cMH * LH + cmt * Dt
2127 + caS * Das + caS2 * Das * Das
2128 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2140 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2141 double RelThError = 0.0;
2143 if (
s==130.2*130.2) {
2154 }
else if (
s==136.2*136.2) {
2165 }
else if (
s==161.3*161.3) {
2176 }
else if (
s==172.1*172.1) {
2187 }
else if (
s==182.7*182.7) {
2198 }
else if (
s==188.6*188.6) {
2209 }
else if (
s==191.6*191.6) {
2220 }
else if (
s==195.5*195.5) {
2231 }
else if (
s==199.5*199.5) {
2242 }
else if (
s==201.6*201.6) {
2253 }
else if (
s==204.9*204.9) {
2264 }
else if (
s==206.7*206.7) {
2275 }
else if (
s > 210.*210. ) {
2287 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2AFBtauApprox()");
2289 return ((X0 + cMH * LH + cmt * Dt
2290 + caS * Das + caS2 * Das * Das
2291 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2303 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2304 double RelThError = 0.0;
2306 if (
s==130.2*130.2) {
2317 }
else if (
s==136.2*136.2) {
2328 }
else if (
s==161.3*161.3) {
2339 }
else if (
s==172.1*172.1) {
2350 }
else if (
s==182.7*182.7) {
2361 }
else if (
s==188.6*188.6) {
2372 }
else if (
s==191.6*191.6) {
2383 }
else if (
s==195.5*195.5) {
2394 }
else if (
s==199.5*199.5) {
2405 }
else if (
s==201.6*201.6) {
2416 }
else if (
s==204.9*204.9) {
2427 }
else if (
s==206.7*206.7) {
2438 }
else if (
s > 210.*210. ) {
2450 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2sigmaHadronApprox()");
2452 return ((X0 + cMH * LH + cmt * Dt
2453 + caS * Das + caS2 * Das * Das
2454 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
2469 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
2470 double RelThError = 0.0;
2484 }
else if (
s==192.*192.) {
2495 }
else if (
s==196.*196.) {
2506 }
else if (
s==200.*200.) {
2517 }
else if (
s==202.*202.) {
2528 }
else if (
s==205.*205.) {
2539 }
else if (
s==207.*207.) {
2551 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2553 }
else if (cos == -0.63) {
2565 }
else if (
s==192.*192.) {
2576 }
else if (
s==196.*196.) {
2587 }
else if (
s==200.*200.) {
2598 }
else if (
s==202.*202.) {
2609 }
else if (
s==205.*205.) {
2620 }
else if (
s==207.*207.) {
2631 }
else if (
s > 210.*210. ) {
2643 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2645 }
else if (cos == -0.45) {
2657 }
else if (
s==192.*192.) {
2668 }
else if (
s==196.*196.) {
2679 }
else if (
s==200.*200.) {
2690 }
else if (
s==202.*202.) {
2701 }
else if (
s==205.*205.) {
2712 }
else if (
s==207.*207.) {
2723 }
else if (
s > 210.*210. ) {
2735 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2737 }
else if (cos == -0.27) {
2749 }
else if (
s==192.*192.) {
2760 }
else if (
s==196.*196.) {
2771 }
else if (
s==200.*200.) {
2782 }
else if (
s==202.*202.) {
2793 }
else if (
s==205.*205.) {
2804 }
else if (
s==207.*207.) {
2815 }
else if (
s > 210.*210. ) {
2827 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2829 }
else if (cos == -0.09) {
2841 }
else if (
s==192.*192.) {
2852 }
else if (
s==196.*196.) {
2863 }
else if (
s==200.*200.) {
2874 }
else if (
s==202.*202.) {
2885 }
else if (
s==205.*205.) {
2896 }
else if (
s==207.*207.) {
2907 }
else if (
s > 210.*210. ) {
2919 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
2921 }
else if (cos == 0.045) {
2933 }
else if (
s==192.*192.) {
2944 }
else if (
s==196.*196.) {
2955 }
else if (
s==200.*200.) {
2966 }
else if (
s==202.*202.) {
2977 }
else if (
s==205.*205.) {
2988 }
else if (
s==207.*207.) {
2999 }
else if (
s > 210.*210. ) {
3011 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3013 }
else if (cos == 0.135) {
3025 }
else if (
s==192.*192.) {
3036 }
else if (
s==196.*196.) {
3047 }
else if (
s==200.*200.) {
3058 }
else if (
s==202.*202.) {
3069 }
else if (
s==205.*205.) {
3080 }
else if (
s==207.*207.) {
3091 }
else if (
s > 210.*210. ) {
3103 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3105 }
else if (cos == 0.225) {
3117 }
else if (
s==192.*192.) {
3128 }
else if (
s==196.*196.) {
3139 }
else if (
s==200.*200.) {
3150 }
else if (
s==202.*202.) {
3161 }
else if (
s==205.*205.) {
3172 }
else if (
s==207.*207.) {
3183 }
else if (
s > 210.*210. ) {
3195 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3197 }
else if (cos == 0.315) {
3209 }
else if (
s==192.*192.) {
3220 }
else if (
s==196.*196.) {
3231 }
else if (
s==200.*200.) {
3242 }
else if (
s==202.*202.) {
3253 }
else if (
s==205.*205.) {
3264 }
else if (
s==207.*207.) {
3275 }
else if (
s > 210.*210. ) {
3287 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3289 }
else if (cos == 0.405) {
3301 }
else if (
s==192.*192.) {
3312 }
else if (
s==196.*196.) {
3323 }
else if (
s==200.*200.) {
3334 }
else if (
s==202.*202.) {
3345 }
else if (
s==205.*205.) {
3356 }
else if (
s==207.*207.) {
3367 }
else if (
s > 210.*210. ) {
3379 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3381}
else if (cos == 0.495) {
3393 }
else if (
s==192.*192.) {
3404 }
else if (
s==196.*196.) {
3415 }
else if (
s==200.*200.) {
3426 }
else if (
s==202.*202.) {
3437 }
else if (
s==205.*205.) {
3448 }
else if (
s==207.*207.) {
3459 }
else if (
s > 210.*210. ) {
3471 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3473 }
else if (cos == 0.585) {
3485 }
else if (
s==192.*192.) {
3496 }
else if (
s==196.*196.) {
3507 }
else if (
s==200.*200.) {
3518 }
else if (
s==202.*202.) {
3529 }
else if (
s==205.*205.) {
3540 }
else if (
s==207.*207.) {
3551 }
else if (
s > 210.*210. ) {
3563 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3565 }
else if (cos == 0.675) {
3577 }
else if (
s==192.*192.) {
3588 }
else if (
s==196.*196.) {
3599 }
else if (
s==200.*200.) {
3610 }
else if (
s==202.*202.) {
3621 }
else if (
s==205.*205.) {
3632 }
else if (
s==207.*207.) {
3643 }
else if (
s > 210.*210. ) {
3655 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3657 }
else if (cos == 0.765) {
3669 }
else if (
s==192.*192.) {
3680 }
else if (
s==196.*196.) {
3691 }
else if (
s==200.*200.) {
3702 }
else if (
s==202.*202.) {
3713 }
else if (
s==205.*205.) {
3724 }
else if (
s==207.*207.) {
3735 }
else if (
s > 210.*210. ) {
3747 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3749 }
else if (cos == 0.855) {
3761 }
else if (
s==192.*192.) {
3772 }
else if (
s==196.*196.) {
3783 }
else if (
s==200.*200.) {
3794 }
else if (
s==202.*202.) {
3805 }
else if (
s==205.*205.) {
3816 }
else if (
s==207.*207.) {
3827 }
else if (
s > 210.*210. ) {
3839 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3842 throw std::runtime_error(
" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosEApprox()");
3845 return ((X0 + cMH * LH + cmt * Dt
3846 + caS * Das + caS2 * Das * Das
3847 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
3859 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
3860 double RelThError = 0.0;
3874 }
else if (
s==189.*189.) {
3885 }
else if (
s==192.*192.) {
3896 }
else if (
s==196.*196.) {
3907 }
else if (
s==200.*200.) {
3918 }
else if (
s==202.*202.) {
3929 }
else if (
s==205.*205.) {
3940 }
else if (
s==207.*207.) {
3951 }
else if (
s > 210.*210. ) {
3963 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
3965 }
else if (cos == -0.7) {
3977 }
else if (
s==189.*189.) {
3988 }
else if (
s==192.*192.) {
3999 }
else if (
s==196.*196.) {
4010 }
else if (
s==200.*200.) {
4021 }
else if (
s==202.*202.) {
4032 }
else if (
s==205.*205.) {
4043 }
else if (
s==207.*207.) {
4054 }
else if (
s > 210.*210. ) {
4066 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4068 }
else if (cos == -0.5) {
4080 }
else if (
s==189.*189.) {
4091 }
else if (
s==192.*192.) {
4102 }
else if (
s==196.*196.) {
4113 }
else if (
s==200.*200.) {
4124 }
else if (
s==202.*202.) {
4135 }
else if (
s==205.*205.) {
4146 }
else if (
s==207.*207.) {
4157 }
else if (
s > 210.*210. ) {
4169 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4171 }
else if (cos == -0.3) {
4183 }
else if (
s==189.*189.) {
4194 }
else if (
s==192.*192.) {
4205 }
else if (
s==196.*196.) {
4216 }
else if (
s==200.*200.) {
4227 }
else if (
s==202.*202.) {
4238 }
else if (
s==205.*205.) {
4249 }
else if (
s==207.*207.) {
4260 }
else if (
s > 210.*210. ) {
4272 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4274 }
else if (cos == -0.1) {
4286 }
else if (
s==189.*189.) {
4297 }
else if (
s==192.*192.) {
4308 }
else if (
s==196.*196.) {
4319 }
else if (
s==200.*200.) {
4330 }
else if (
s==202.*202.) {
4341 }
else if (
s==205.*205.) {
4352 }
else if (
s==207.*207.) {
4363 }
else if (
s > 210.*210. ) {
4375 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4377 }
else if (cos == 0.1) {
4389 }
else if (
s==189.*189.) {
4400 }
else if (
s==192.*192.) {
4411 }
else if (
s==196.*196.) {
4422 }
else if (
s==200.*200.) {
4433 }
else if (
s==202.*202.) {
4444 }
else if (
s==205.*205.) {
4455 }
else if (
s==207.*207.) {
4466 }
else if (
s > 210.*210. ) {
4478 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4480 }
else if (cos == 0.3) {
4492 }
else if (
s==189.*189.) {
4503 }
else if (
s==192.*192.) {
4514 }
else if (
s==196.*196.) {
4525 }
else if (
s==200.*200.) {
4536 }
else if (
s==202.*202.) {
4547 }
else if (
s==205.*205.) {
4558 }
else if (
s==207.*207.) {
4569 }
else if (
s > 210.*210. ) {
4581 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4583 }
else if (cos == 0.5) {
4595 }
else if (
s==189.*189.) {
4606 }
else if (
s==192.*192.) {
4617 }
else if (
s==196.*196.) {
4628 }
else if (
s==200.*200.) {
4639 }
else if (
s==202.*202.) {
4650 }
else if (
s==205.*205.) {
4661 }
else if (
s==207.*207.) {
4672 }
else if (
s > 210.*210. ) {
4684 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4686 }
else if (cos == 0.7) {
4698 }
else if (
s==189.*189.) {
4709 }
else if (
s==192.*192.) {
4720 }
else if (
s==196.*196.) {
4731 }
else if (
s==200.*200.) {
4742 }
else if (
s==202.*202.) {
4753 }
else if (
s==205.*205.) {
4764 }
else if (
s==207.*207.) {
4775 }
else if (
s > 210.*210. ) {
4787 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4789 }
else if (cos == 0.9) {
4801 }
else if (
s==189.*189.) {
4812 }
else if (
s==192.*192.) {
4823 }
else if (
s==196.*196.) {
4834 }
else if (
s==200.*200.) {
4845 }
else if (
s==202.*202.) {
4856 }
else if (
s==205.*205.) {
4867 }
else if (
s==207.*207.) {
4878 }
else if (
s > 210.*210. ) {
4890 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4893 throw std::runtime_error(
" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosMuApprox()");
4896 return ((X0 + cMH * LH + cmt * Dt
4897 + caS * Das + caS2 * Das * Das
4898 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
4910 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
4911 double RelThError = 0.0;
4925 }
else if (
s==189.*189.) {
4936 }
else if (
s==192.*192.) {
4947 }
else if (
s==196.*196.) {
4958 }
else if (
s==200.*200.) {
4969 }
else if (
s==202.*202.) {
4980 }
else if (
s==205.*205.) {
4991 }
else if (
s==207.*207.) {
5002 }
else if (
s > 210.*210. ) {
5014 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5016 }
else if (cos == -0.7) {
5028 }
else if (
s==189.*189.) {
5039 }
else if (
s==192.*192.) {
5050 }
else if (
s==196.*196.) {
5061 }
else if (
s==200.*200.) {
5072 }
else if (
s==202.*202.) {
5083 }
else if (
s==205.*205.) {
5094 }
else if (
s==207.*207.) {
5105 }
else if (
s > 210.*210. ) {
5117 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5119 }
else if (cos == -0.5) {
5131 }
else if (
s==189.*189.) {
5142 }
else if (
s==192.*192.) {
5153 }
else if (
s==196.*196.) {
5164 }
else if (
s==200.*200.) {
5175 }
else if (
s==202.*202.) {
5186 }
else if (
s==205.*205.) {
5197 }
else if (
s==207.*207.) {
5208 }
else if (
s > 210.*210. ) {
5220 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5222 }
else if (cos == -0.3) {
5234 }
else if (
s==189.*189.) {
5245 }
else if (
s==192.*192.) {
5256 }
else if (
s==196.*196.) {
5267 }
else if (
s==200.*200.) {
5278 }
else if (
s==202.*202.) {
5289 }
else if (
s==205.*205.) {
5300 }
else if (
s==207.*207.) {
5311 }
else if (
s > 210.*210. ) {
5323 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5325 }
else if (cos == -0.1) {
5337 }
else if (
s==189.*189.) {
5348 }
else if (
s==192.*192.) {
5359 }
else if (
s==196.*196.) {
5370 }
else if (
s==200.*200.) {
5381 }
else if (
s==202.*202.) {
5392 }
else if (
s==205.*205.) {
5403 }
else if (
s==207.*207.) {
5414 }
else if (
s > 210.*210. ) {
5426 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5428 }
else if (cos == 0.1) {
5440 }
else if (
s==189.*189.) {
5451 }
else if (
s==192.*192.) {
5462 }
else if (
s==196.*196.) {
5473 }
else if (
s==200.*200.) {
5484 }
else if (
s==202.*202.) {
5495 }
else if (
s==205.*205.) {
5506 }
else if (
s==207.*207.) {
5517 }
else if (
s > 210.*210. ) {
5529 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5531 }
else if (cos == 0.3) {
5543 }
else if (
s==189.*189.) {
5554 }
else if (
s==192.*192.) {
5565 }
else if (
s==196.*196.) {
5576 }
else if (
s==200.*200.) {
5587 }
else if (
s==202.*202.) {
5598 }
else if (
s==205.*205.) {
5609 }
else if (
s==207.*207.) {
5620 }
else if (
s > 210.*210. ) {
5632 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5634 }
else if (cos == 0.5) {
5646 }
else if (
s==189.*189.) {
5657 }
else if (
s==192.*192.) {
5668 }
else if (
s==196.*196.) {
5679 }
else if (
s==200.*200.) {
5690 }
else if (
s==202.*202.) {
5701 }
else if (
s==205.*205.) {
5712 }
else if (
s==207.*207.) {
5723 }
else if (
s > 210.*210. ) {
5735 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5737 }
else if (cos == 0.7) {
5749 }
else if (
s==189.*189.) {
5760 }
else if (
s==192.*192.) {
5771 }
else if (
s==196.*196.) {
5782 }
else if (
s==200.*200.) {
5793 }
else if (
s==202.*202.) {
5804 }
else if (
s==205.*205.) {
5815 }
else if (
s==207.*207.) {
5826 }
else if (
s > 210.*210. ) {
5838 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5840 }
else if (cos == 0.9) {
5852 }
else if (
s==189.*189.) {
5863 }
else if (
s==192.*192.) {
5874 }
else if (
s==196.*196.) {
5885 }
else if (
s==200.*200.) {
5896 }
else if (
s==202.*202.) {
5907 }
else if (
s==205.*205.) {
5918 }
else if (
s==207.*207.) {
5929 }
else if (
s > 210.*210. ) {
5941 throw std::runtime_error(
"ERROR: wrong LEP2 energy in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5944 throw std::runtime_error(
" ERROR: wrong LEP2 angle in ApproximateFormulae::LEP2dsigmadcosTauApprox()");
5947 return ((X0 + cMH * LH + cmt * Dt
5948 + caS * Das + caS2 * Das * Das
5949 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
5964 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
5965 double RelThError = 0.0;
5978 return ((X0 + cMH * LH + cmt * Dt
5979 + caS * Das + caS2 * Das * Das
5980 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
5992 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
5993 double RelThError = 0.0;
6006 return ((X0 + cMH * LH + cmt * Dt
6007 + caS * Das + caS2 * Das * Das
6008 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6020 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6021 double RelThError = 0.0;
6034 return ((X0 + cMH * LH + cmt * Dt
6035 + caS * Das + caS2 * Das * Das
6036 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6048 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6049 double RelThError = 0.0;
6062 return ((X0 + cMH * LH + cmt * Dt
6063 + caS * Das + caS2 * Das * Das
6064 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6076 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6077 double RelThError = 0.0;
6090 return ((X0 + cMH * LH + cmt * Dt
6091 + caS * Das + caS2 * Das * Das
6092 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
6104 double X0, cMH, cmt, caS, caS2, caSmt, cda5h, cMZ;
6105 double RelThError = 0.0;
6118 return ((X0 + cMH * LH + cmt * Dt
6119 + caS * Das + caS2 * Das * Das
6120 + caSmt * Das * Dt + cda5h * Da5h + cMZ * DZ)*(1. + RelThError));
A class for cache variables used in computing radiative corrections to the EW precision observables.
const StandardModel & getSM() const
An observable class for the -boson mass.
quark
An enum type for quarks.
const double getMtpole() const
A get method to access the pole mass of the top quark.
lepton
An enum type for leptons.
const double getDelMw() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelR0c() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getMz() const
A get method to access the mass of the boson .
const double getDelSin2th_q() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getMw() const
A get method to access the input value of the mass of the boson .
const double getAlsMz() const
A get method to access the value of .
virtual const double getMHl() const
A get method to retrieve the Higgs mass .
const double getDelR0l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelSin2th_b() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelR0b() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelSin2th_l() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double getDelSigma0H() const
A get method to retrieve the theoretical uncertainty in , denoted as .
virtual const double Dalpha5hMz() const
The 5-quark contribution to the running of the em constant to the pole. .
const double DeltaAlphaL5q() const
The sum of the leptonic and the five-flavour hadronic corrections to the electromagnetic coupling at...
const double getDelGammaZ() const
A get method to retrieve the theoretical uncertainty in , denoted as .
const double DeltaAlphaLepton(const double s) const
Leptonic contribution to the electromagnetic coupling , denoted as .