a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
unitarityR16 Class Reference

#include <unitarity.h>

+ Inheritance diagram for unitarityR16:

Detailed Description

Definition at line 1810 of file unitarity.h.

Public Member Functions

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

Private Attributes

const THDMmyTHDM
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ unitarityR16()

unitarityR16::unitarityR16 ( const StandardModel SM_i)

unitarityR16 constructor.

Definition at line 3931 of file unitarity.cpp.

3932 : ThObservable(SM_i),myTHDM(static_cast<const THDM&> (SM_i))
3933 {}

Member Function Documentation

◆ computeThValue()

double unitarityR16::computeThValue ( )
virtual

Implements ThObservable.

Definition at line 3935 of file unitarity.cpp.

3936 {
3937  double YtQ = myTHDM.getMyTHDMCache()->Ytop_at_Q;
3938  double Yb1Q = myTHDM.getMyTHDMCache()->Ybottom1_at_Q;
3939  double Yb2Q = myTHDM.getMyTHDMCache()->Ybottom2_at_Q;
3940  double Ytau1Q = myTHDM.getMyTHDMCache()->Ytau1_at_Q;
3941  double Ytau2Q = myTHDM.getMyTHDMCache()->Ytau2_at_Q;
3942  double la1Q = myTHDM.getMyTHDMCache()->lambda1_at_Q;
3943  double la2Q = myTHDM.getMyTHDMCache()->lambda2_at_Q;
3944  double la3Q = myTHDM.getMyTHDMCache()->lambda3_at_Q;
3945  double la4Q = myTHDM.getMyTHDMCache()->lambda4_at_Q;
3946  double la5Q = myTHDM.getMyTHDMCache()->lambda5_at_Q;
3947  double WFRc1 = myTHDM.getMyTHDMCache()->WFRcomb1;
3948  double WFRc2 = myTHDM.getMyTHDMCache()->WFRcomb2;
3949  double Rpeps = myTHDM.getMyTHDMCache()->Rpeps;
3950 
3951  double betalambda1 = 6.0*la1Q*la1Q + 2.0*la3Q*la3Q + 2.0*la3Q*la4Q + la4Q*la4Q + la5Q*la5Q
3952  + 6.0*la1Q*Yb1Q*Yb1Q + 2.0*la1Q*Ytau1Q*Ytau1Q
3953  - 6.0*Yb1Q*Yb1Q*Yb1Q*Yb1Q - 2.0*Ytau1Q*Ytau1Q*Ytau1Q*Ytau1Q;
3954  double betalambda2 = 6.0*la2Q*la2Q + 2.0*la3Q*la3Q + 2.0*la3Q*la4Q + la4Q*la4Q + la5Q*la5Q
3955  + 6.0*la2Q*Yb2Q*Yb2Q + 2.0*la2Q*Ytau2Q*Ytau2Q + 6.0*la2Q*YtQ*YtQ
3956  - 6.0*Yb2Q*Yb2Q*Yb2Q*Yb2Q - 2.0*Ytau2Q*Ytau2Q*Ytau2Q*Ytau2Q - 6.0*YtQ*YtQ*YtQ*YtQ;
3957  double betalambda5 = la5Q*(la1Q + la2Q + 4.0*la3Q + 6.0*la4Q)
3958  + 3.0*la5Q*Yb1Q*Yb1Q + la5Q*Ytau1Q*Ytau1Q + la5Q*(3.0*Yb2Q*Yb2Q + Ytau2Q*Ytau2Q + 3.0*YtQ*YtQ)
3959  - 6.0*Yb1Q*Yb1Q*Yb2Q*Yb2Q - 2.0*Ytau1Q*Ytau1Q*Ytau2Q*Ytau2Q;
3960 
3961  double uniNLO18a = -la1Q/(16.0*M_PI);
3962  double uniNLO18b = 3.0*betalambda1/(256.0*M_PI*M_PI*M_PI);
3963  gslpp::complex uniNLO18c = (gslpp::complex::i()*M_PI-1.0)*(la1Q*la1Q+la5Q*la5Q)/(256.0*M_PI*M_PI*M_PI);
3964  gslpp::complex uniNLO18d = -la1Q/(512.0*M_PI*M_PI*M_PI) * WFRc1;
3965 
3966  double uniNLO19a = -la2Q/(16.0*M_PI);
3967  double uniNLO19b = 3.0*betalambda2/(256.0*M_PI*M_PI*M_PI);
3968  gslpp::complex uniNLO19c = (gslpp::complex::i()*M_PI-1.0)*(la2Q*la2Q+la5Q*la5Q)/(256.0*M_PI*M_PI*M_PI);
3969  gslpp::complex uniNLO19d = -la2Q/(512.0*M_PI*M_PI*M_PI) * (-WFRc1+2.0*WFRc2);
3970 
3971  double uniNLO20a = -la5Q/(16.0*M_PI);
3972  double uniNLO20b = 3.0*betalambda5/(256.0*M_PI*M_PI*M_PI);
3973  gslpp::complex uniNLO20c = (gslpp::complex::i()*M_PI-1.0)*(la1Q+la2Q)*la5Q/(256.0*M_PI*M_PI*M_PI);
3974  gslpp::complex uniNLO20d = -la4Q/(512.0*M_PI*M_PI*M_PI) * WFRc2;
3975 
3976  gslpp::complex uniA=uniNLO18a+uniNLO18b+uniNLO18c+uniNLO18d;
3977  gslpp::complex uniB=uniNLO19a+uniNLO19b+uniNLO19c+uniNLO19d;
3978  gslpp::complex uniC=uniNLO20a+uniNLO20b+uniNLO20c+uniNLO20d;
3979 
3980  double R=0.01;
3981  double a0LO = uniNLO18a+uniNLO19a-sqrt((uniNLO18a-uniNLO19a)*(uniNLO18a-uniNLO19a)+4.0*uniNLO20a*uniNLO20a);
3982  gslpp::complex a0NLO = (uniA+uniB-sqrt((uniA-uniB)*(uniA-uniB)+4.0*uniC*uniC));
3983  if(a0NLO.abs()>Rpeps)
3984  {
3985  R = (a0NLO-a0LO).abs()/(a0NLO.abs());
3986  }
3987 
3988  return R;
3989 }

Member Data Documentation

◆ myTHDM

const THDM& unitarityR16::myTHDM
private

Definition at line 1820 of file unitarity.h.


The documentation for this class was generated from the following files:
THDMcache::Ytau1_at_Q
double Ytau1_at_Q
Definition: THDMcache.h:2440
THDMcache::lambda1_at_Q
double lambda1_at_Q
Definition: THDMcache.h:2445
unitarityR16::myTHDM
const THDM & myTHDM
Definition: unitarity.h:1820
THDMcache::lambda3_at_Q
double lambda3_at_Q
Definition: THDMcache.h:2447
THDMcache::lambda5_at_Q
double lambda5_at_Q
Definition: THDMcache.h:2449
THDMcache::Ybottom1_at_Q
double Ybottom1_at_Q
Definition: THDMcache.h:2438
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
THDMcache::Ytau2_at_Q
double Ytau2_at_Q
Definition: THDMcache.h:2441
THDMcache::Rpeps
double Rpeps
Definition: THDMcache.h:2454
ThObservable::ThObservable
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
THDMcache::lambda2_at_Q
double lambda2_at_Q
Definition: THDMcache.h:2446
gslpp::complex::abs
double abs() const
Definition: gslpp_complex.cpp:81
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
gslpp::complex::i
static const complex & i()
Definition: gslpp_complex.cpp:154
THDMcache::Ybottom2_at_Q
double Ybottom2_at_Q
Definition: THDMcache.h:2439
THDMcache::WFRcomb2
double WFRcomb2
Definition: THDMcache.h:2451
THDMcache::Ytop_at_Q
double Ytop_at_Q
Definition: THDMcache.h:2437
THDM::getMyTHDMCache
THDMcache * getMyTHDMCache() const
A method get the THDMCache.
Definition: THDM.h:213
THDMcache::lambda4_at_Q
double lambda4_at_Q
Definition: THDMcache.h:2448
THDMcache::WFRcomb1
double WFRcomb1
Definition: THDMcache.h:2450