a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Loading...
Searching...
No Matches
Rb0THDMW Class Reference

An observable class to calculate the Rb0THDMW observable in the THDMW. More...

#include <THDMWEWPO.h>

+ Inheritance diagram for Rb0THDMW:

Detailed Description

An observable class to calculate the Rb0THDMW observable in the THDMW.

Definition at line 21 of file THDMWEWPO.h.

Public Member Functions

double computeThValue ()
 
 Rb0THDMW (const StandardModel &SM_i)
 Constructor.
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin.
 
double getBinMin ()
 A get method to get the minimum value of the bin.
 
const StandardModelgetModel ()
 A get method to get the model.
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable.
 
void setBinMax (double max)
 A set method to set the maximum value of the bin.
 
void setBinMin (double min)
 A set method to set the minimum value of the bin.
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable.
 
 ThObservable (const StandardModel &SM_i)
 Constructor.
 
 ThObservable (const ThObservable &orig)
 The copy constructor.
 
virtual ~ThObservable ()
 The default destructor.
 

Private Attributes

const THDMWmyTHDMW
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum.
 
double min
 The bin minimum.
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable
 
const StandardModelSM
 A reference to an object of StandardMode class.
 

Constructor & Destructor Documentation

◆ Rb0THDMW()

Rb0THDMW::Rb0THDMW ( const StandardModel SM_i)

Constructor.

Definition at line 17 of file THDMWEWPO.cpp.

18: ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
19{}
const THDMW & myTHDMW
Definition THDMWEWPO.h:34
A base class for symmetric Two-Higgs-Doublet-Manohar-Wise models.
Definition THDMW.h:233
A class for a model prediction of an observable.

Member Function Documentation

◆ computeThValue()

double Rb0THDMW::computeThValue ( )
virtual
Returns
Rb0THDMW

Implements ThObservable.

Definition at line 24 of file THDMWEWPO.cpp.

25{
26 //Review this at some point -> use HEP-FIT values, not the ones included by hand. For doing so a SM fit should be done
27 // For the implementation we follow the reference arxiv:1002.1071v2
28 double as = myTHDMW.getAlsMz();
29 double a = myTHDMW.getAle();
30 //double a=1/127.916;//fine-structure at the mass of the Z boson
31 double MW=myTHDMW.Mw();
34 double CF=4./3.;
35 double CR1=CF;
36 //double CR1=1;
37 double CR2=3.;
38 //double CR2=0;
39 double Cb=1.0086;
40 double Rb=0.;
41 //double rho_SM=1.00578;//up and charm value
42 //double rho_SM=1.00675;//down and strange value
43 //double rhob_SM=0.99426;
44 double rhob_SM=myTHDMW.getTHDMW_rho_b();
45 double Sb=myTHDMW.getTHDMW_S_b();
46 //double sW2_SM=myTHDMW.sW2();
47 double sW2b_SM= 0.23298;
48 double mSpsq=myTHDMW.getMyTHDMWCache() -> mSpsq;
49
50 double eta_U=myTHDMW.getTHDMW_etaU();
51 double eta_D=myTHDMW.getTHDMW_etaD();
52 double MZ = myTHDMW.getMz();
53 double mu=MZ;
58 double x=pow(mtMZ,2)/mSpsq;
59
60 //std::cout<<"orders_EW_size="<< SM.orders_EW_size << std::endl;
61 //std::cout<<"mu="<< mu << std::endl;
62 //std::cout<<"log "<< log(10) << std::endl;
63 //std::cout<<"fine-structure "<< a << std::endl;
64 //std::cout<<"mSpsq= "<< mSpsq << std::endl;
65
66 double f1=x/(x-1.)- x*log(x)/pow((x-1.),2);
67 double f2=-6.*x*(x-2.)*gsl_sf_dilog(1.0-1./x)/pow((x-1.),2)+x*(-27.+11.*x)/pow((x-1.),2)+x*(25.-9.*x)*log(x)/pow(x-1.,3)+(6.*x*(3.-x)/pow(x-1.,2)-12.*x*log(x)/pow(x-1.,3))*log(pow(mtMZ,2)/pow(mu,2))-3.*f1;
68 double f3=3.*x*gsl_sf_dilog(1.0-1./x)/(x-1.)+3.*x*(1.-2.*x+pow(x,2)+pow(log(x),2))/pow(x-1.,3)-6.*x*log(x)/pow(x-1.,2);
69 //std::cout<<"x= "<< x << std::endl;
70 //std::cout<<"(1.0-1./x)= "<< (1.0-1./x) << std::endl;
71 //std::cout<<"gsl_sf_dilog(1.0-1./x)= "<< gsl_sf_dilog(1.0-1./x) << std::endl;
72
73
74 double delrhob=(1/T3b)*(a/(4*M_PI*sW2b_SM))*CR1*(pow(sqrt(pow(eta_U,2))*mtMZ/(sqrt(2)*MW),2)+pow(sqrt(pow(eta_D,2))*mbMZ/(sqrt(2)*MW),2))*(f1+(as/(4*M_PI))*(CF*f2+CR2*f3));
75 double delsW2b=-0.5*delrhob*sW2b_SM+(1/(2*Qb))*(a/(4*M_PI*sW2b_SM))*CR1*pow(sqrt(pow(eta_D,2))*mbMZ/(sqrt(2)*MW),2)*(f1+(as/(4*M_PI))*(CF*f2+CR2*f3));
76
77 //double rhob=rho_SM+delrhob;
78 //double sW2b=sW2_SM+delsW2b;
79
80
81
82
83
84
85 //double gLu=sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::UP).getIsospin()-myTHDMW.getQuarks(QCD::UP).getCharge()*sW2_SM);
86 //double gRu = -sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::UP).getCharge()*sW2_SM);
87
88 //double gLd=sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::DOWN).getIsospin()-myTHDMW.getQuarks(QCD::DOWN).getCharge()*sW2_SM);
89 //double gRd = -sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::DOWN).getCharge()*sW2_SM);
90
91 //double gLc=sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::CHARM).getIsospin()-myTHDMW.getQuarks(QCD::CHARM).getCharge()*sW2_SM);
92 //double gRc = -sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::CHARM).getCharge()*sW2_SM);
93
94 //double gLs=sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::STRANGE).getIsospin()-myTHDMW.getQuarks(QCD::STRANGE).getCharge()*sW2_SM);
95 //double gRs = -sqrt(rho_SM)*(myTHDMW.getQuarks(QCD::STRANGE).getCharge()*sW2_SM);
96
97 double gLb=sqrt(rhob_SM)*(T3b-Qb*(sW2b_SM+delsW2b))+sqrt(rhob_SM)*(delrhob/(2.*rhob_SM))*(T3b-Qb*sW2b_SM);
98 double gRb = -sqrt(rhob_SM)*Qb*(sW2b_SM+delsW2b+sW2b_SM*delrhob/(2.*rhob_SM));
99
100
101
102
103
104 //Values taken from https://arxiv.org/pdf/hep-ex/0509008.pdf
105// double gLu=0.34674;
106// double gRu = -0.15470;
107//
108// double gLd=-0.42434;
109// double gRd =0.077345;
110//
111// double gLc=0.34674;
112// double gRc = -0.15470;
113//
114// double gLs=-0.42434;
115// double gRs =0.077345;
116
117
118
119
120
121
122
123// double su= (pow(gLu,2)+pow(gRu,2))*(1.+pow(myTHDMW.getQuarks(QCD::UP).getCharge(),2)*3.*a/(4.*M_PI));
124// double sd= (pow(gLd,2)+pow(gRd,2))*(1.+pow(myTHDMW.getQuarks(QCD::DOWN).getCharge(),2)*3.*a/(4.*M_PI));
125// double sc= (pow(gLc,2)+pow(gRc,2))*(1.+pow(myTHDMW.getQuarks(QCD::CHARM).getCharge(),2)*3.*a/(4.*M_PI));
126// double ss= (pow(gLs,2)+pow(gRs,2))*(1.+pow(myTHDMW.getQuarks(QCD::STRANGE).getCharge(),2)*3.*a/(4.*M_PI));
127 //double Sb=su+sd+sc+ss;
128 //std::cout<<"glu= "<< gLu << std::endl;
129 //std::cout<<"gru= "<< gRu << std::endl;
130 //std::cout<<"gld= "<< gLd << std::endl;
131 //std::cout<<"grd= "<< gRd << std::endl;
132 //std::cout<<"glc= "<< gLc << std::endl;
133 //std::cout<<"grc= "<< gRc << std::endl;
134 //std::cout<<"gls= "<< gLs << std::endl;
135 //std::cout<<"grs= "<< gRs << std::endl;
136 //std::cout<<"glb= "<< gLb << std::endl;
137 //std::cout<<"grb= "<< gRb << std::endl;
138 //std::cout<<"sW2= "<< sW2_SM << std::endl;
139 //std::cout<<"Sb= "<< Sb << std::endl;
140 double sb= (pow(gLb,2)+pow(gRb,2))*(1.+pow(Qb,2)*3.*a/(4.*M_PI));
141
142 Rb=1/(1+Sb*Cb/sb);
143
144
145
146 return Rb;
147}
@ FULLNNLO
Definition OrderScheme.h:39
double getIsospin() const
A get method to access the particle isospin.
Definition Particle.h:115
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition Particle.h:133
const double & getMass() const
A get method to access the particle mass.
Definition Particle.h:61
double getCharge() const
A get method to access the particle charge.
Definition Particle.h:97
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition QCD.cpp:1353
@ BOTTOM
Definition QCD.h:329
@ TOP
Definition QCD.h:328
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition QCD.h:536
const double getMz() const
A get method to access the mass of the boson .
const double getAlsMz() const
A get method to access the value of .
const double getAle() const
A get method to retrieve the fine-structure constant .
const double getTHDMW_S_b() const
A getter for .
Definition THDMW.h:729
THDMWcache * getMyTHDMWCache() const
A method get the THDMWCache.
Definition THDMW.h:318
const double getTHDMW_rho_b() const
A getter for .
Definition THDMW.h:721
const double getTHDMW_etaU() const
A getter for .
Definition THDMW.h:704
virtual const double Mw() const
Definition THDMW.cpp:493
const double getTHDMW_etaD() const
A getter for .
Definition THDMW.h:712

Member Data Documentation

◆ myTHDMW

const THDMW& Rb0THDMW::myTHDMW
private

Definition at line 34 of file THDMWEWPO.h.


The documentation for this class was generated from the following files: