a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EWSMThreeLoopEW2QCD.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include <stdexcept>
9 #include "EWSMThreeLoopEW2QCD.h"
10 
12 : cache(cache_i)
13 {
14 }
15 
16 
18 
19 double EWSMThreeLoopEW2QCD::DeltaAlpha_l(const double s) const
20 {
21  return (0.0);
22 }
23 
24 double EWSMThreeLoopEW2QCD::DeltaAlpha_t(const double s) const
25 {
26  return (0.0);
27 }
28 
29 double EWSMThreeLoopEW2QCD::DeltaRho(const double Mw_i) const
30 {
31  double Mw = Mw_i;
32  double mh = cache.getSM().getMHl();
33  double Mt = cache.getSM().getMtpole();
34  double DeltaRho;
35  if (mh == 0.0) {
36  DeltaRho = 4.0 * (185.0 / 3.0 + 729.0 / 4.0 * cache.getS2()
37  - 48.0 * cache.getZeta2() * cache.getLog2()
38  - 151.0 / 6.0 * cache.getZeta2() + 29.0 * cache.getZeta3()
39  - 24.0 * cache.getZeta4() + 12.0 * cache.getB4());
40  } else if (mh > 0.0 && mh <= 2.5 * Mt) {
41  double delta = mh / Mt - 1.0;
42  DeltaRho = 157.295 + 112.00 * delta - 24.73 * delta * delta
43  + 7.39 * pow(delta, 3.0) - 3.52 * pow(delta, 4.0)
44  + 2.06 * pow(delta, 5.0);
45  } else if (mh > 2.5 * Mt) {
46  double Y = 4.0 * pow(Mt / mh, 2.0);
47  double logY = 2.0 * (cache.getLog2() + cache.logMTOPtoMH());
48  double logY2 = logY*logY;
49  double logY3 = logY2*logY;
50  DeltaRho = 79.73 - 47.77 * logY + 42.07 * logY2 + 9.00 * logY3
51  + Y * (225.16 - 179.74 * logY + 70.22 * logY2 - 19.22 * logY3)
52  + Y * Y * (-76.07 + 25.33 * logY - 9.17 * logY2 - 5.57 * logY3)
53  + Y * Y * Y * (-10.10 - 24.69 * logY - 0.30 * logY2 - 5.46 * logY3)
54  + Y * Y * Y * Y * (-4.52 - 32.85 * logY + 0.72 * logY2 - 5.25 * logY3)
55  + Y * Y * Y * Y * Y * (-2.55 - 36.61 * logY + 1.06 * logY2 - 5.14 * logY3);
56  } else {
57  throw std::runtime_error("Higgs mass is out of range in EWSMThreeLoopEW2QCD::DeltaRho()");
58  }
59  DeltaRho *= pow(cache.Xt_alpha(Mw), 2.0) * cache.alsMt() / M_PI;
60  return DeltaRho;
61 }
62 
63 double EWSMThreeLoopEW2QCD::DeltaR_rem(const double Mw_i) const
64 {
65  return (0.0);
66 }
67 
69 {
70  if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
71  return ( gslpp::complex(0.0, 0.0, false));
72 }
73 
75 {
76  if (f.is("TOP")) return ( gslpp::complex(0.0, 0.0, false));
77  return ( gslpp::complex(0.0, 0.0, false));
78 }
79 
80 
81 
82 
Particle::is
bool is(std::string name_i) const
Definition: Particle.cpp:23
Particle
A class for particles.
Definition: Particle.h:26
EWSMcache::logMTOPtoMH
double logMTOPtoMH() const
A cache method.
Definition: EWSMcache.cpp:126
EWSMcache::getZeta3
double getZeta3() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:146
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
EWSMcache::getZeta4
double getZeta4() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:155
EWSMcache::getB4
double getB4() const
A get method to access the constant .
Definition: EWSMcache.h:214
EWSMThreeLoopEW2QCD::DeltaRho
double DeltaRho(const double Mw_i) const
Leading three-loop contribution of to , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:29
EWSMcache::getSM
const StandardModel & getSM() const
Definition: EWSMcache.h:56
EWSMThreeLoopEW2QCD::DeltaAlpha_l
double DeltaAlpha_l(const double s) const
Leptonic contribution of to the electromagnetic coupling , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:19
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
EWSMcache
A class for cache variables used in computing radiative corrections to the EW precision observables.
Definition: EWSMcache.h:40
QCD::getMtpole
double getMtpole() const
A get method to access the pole mass of the top quark.
Definition: QCD.h:588
EWSMThreeLoopEW2QCD::DeltaR_rem
double DeltaR_rem(const double Mw_i) const
Remainder contribution of to , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:63
EWSMThreeLoopEW2QCD::DeltaAlpha_t
double DeltaAlpha_t(const double s) const
Top-quark contribution of to the electromagnetic coupling , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:24
EWSMThreeLoopEW2QCD::deltaRho_rem_f
gslpp::complex deltaRho_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:68
EWSMThreeLoopEW2QCD.h
EWSMThreeLoopEW2QCD::cache
const EWSMcache & cache
A reference to an object of type EWSMcache.
Definition: EWSMThreeLoopEW2QCD.h:113
EWSMcache::getZeta2
double getZeta2() const
A get method to access the value of the zeta function .
Definition: EWSMcache.h:137
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
EWSMThreeLoopEW2QCD::EWSMThreeLoopEW2QCD
EWSMThreeLoopEW2QCD(const EWSMcache &cache_i)
Constructor.
Definition: EWSMThreeLoopEW2QCD.cpp:11
EWSMThreeLoopEW2QCD::deltaKappa_rem_f
gslpp::complex deltaKappa_rem_f(const Particle f, const double Mw_i) const
Remainder contribution of to the effective couplings , denoted as .
Definition: EWSMThreeLoopEW2QCD.cpp:74
EWSMcache::getS2
double getS2() const
A get method to access the constant .
Definition: EWSMcache.h:180
StandardModel::getMHl
virtual double getMHl() const
A get method to retrieve the Higgs mass .
Definition: StandardModel.h:765
EWSMcache::alsMt
double alsMt() const
The strong coupling at NNLO.
Definition: EWSMcache.h:378
EWSMcache::getLog2
double getLog2() const
A get method to access the constant .
Definition: EWSMcache.h:223
EWSMcache::Xt_alpha
double Xt_alpha(const double Mw_i) const
The quantity with the coupling .
Definition: EWSMcache.h:355