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

#include <unitarity.h>

+ Inheritance diagram for unitarityR12:

Detailed Description

Definition at line 1734 of file unitarity.h.

Public Member Functions

double computeThValue ()
 
 unitarityR12 (const StandardModel &SM_i)
 unitarityR12 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

◆ unitarityR12()

unitarityR12::unitarityR12 ( const StandardModel SM_i)

unitarityR12 constructor.

Definition at line 3696 of file unitarity.cpp.

3697 : ThObservable(SM_i),myTHDM(static_cast<const THDM&> (SM_i))
3698 {}

Member Function Documentation

◆ computeThValue()

double unitarityR12::computeThValue ( )
virtual

Implements ThObservable.

Definition at line 3700 of file unitarity.cpp.

3701 {
3702  double YtQ = myTHDM.getMyTHDMCache()->Ytop_at_Q;
3703  double Yb1Q = myTHDM.getMyTHDMCache()->Ybottom1_at_Q;
3704  double Yb2Q = myTHDM.getMyTHDMCache()->Ybottom2_at_Q;
3705  double Ytau1Q = myTHDM.getMyTHDMCache()->Ytau1_at_Q;
3706  double Ytau2Q = myTHDM.getMyTHDMCache()->Ytau2_at_Q;
3707  double la1Q = myTHDM.getMyTHDMCache()->lambda1_at_Q;
3708  double la2Q = myTHDM.getMyTHDMCache()->lambda2_at_Q;
3709  double la3Q = myTHDM.getMyTHDMCache()->lambda3_at_Q;
3710  double la4Q = myTHDM.getMyTHDMCache()->lambda4_at_Q;
3711  double la5Q = myTHDM.getMyTHDMCache()->lambda5_at_Q;
3712  double WFRc2 = myTHDM.getMyTHDMCache()->WFRcomb2;
3713  double WFRc3 = myTHDM.getMyTHDMCache()->WFRcomb3;
3714  double Rpeps = myTHDM.getMyTHDMCache()->Rpeps;
3715 
3716  double betalambda3 = 3.0*la1Q*la3Q + 3.0*la2Q*la3Q + 2.0*la3Q*la3Q + la1Q*la4Q + la2Q*la4Q + la4Q*la4Q + la5Q*la5Q
3717  + 3.0*la3Q*Yb1Q*Yb1Q + 3.0*la3Q*Yb2Q*Yb2Q + la3Q*Ytau1Q*Ytau1Q + la3Q*Ytau2Q*Ytau2Q + 3.0*la3Q*YtQ*YtQ
3718  - 6.0*Yb1Q*Yb1Q*(Yb2Q*Yb2Q + YtQ*YtQ) - 2.0*Ytau1Q*Ytau1Q*Ytau2Q*Ytau2Q;
3719  double betalambda5 = la5Q*(la1Q + la2Q + 4.0*la3Q + 6.0*la4Q)
3720  + 3.0*la5Q*Yb1Q*Yb1Q + la5Q*Ytau1Q*Ytau1Q + la5Q*(3.0*Yb2Q*Yb2Q + Ytau2Q*Ytau2Q + 3.0*YtQ*YtQ)
3721  - 6.0*Yb1Q*Yb1Q*Yb2Q*Yb2Q - 2.0*Ytau1Q*Ytau1Q*Ytau2Q*Ytau2Q;
3722 
3723  double uniNLO12a = -la3Q/(16.0*M_PI);
3724  double uniNLO12b = 3.0*betalambda3/(256.0*M_PI*M_PI*M_PI);
3725  gslpp::complex uniNLO12c = (gslpp::complex::i()*M_PI-1.0)*(la3Q*la3Q+la5Q*la5Q)/(256.0*M_PI*M_PI*M_PI);
3726  gslpp::complex uniNLO12d = -la3Q/(512.0*M_PI*M_PI*M_PI) * WFRc3;
3727 
3728  double uniNLO13a = -la5Q/(16.0*M_PI);
3729  double uniNLO13b = 3.0*betalambda5/(256.0*M_PI*M_PI*M_PI);
3730  gslpp::complex uniNLO13c = (gslpp::complex::i()*M_PI-1.0)*la3Q*la5Q/(128.0*M_PI*M_PI*M_PI);
3731  gslpp::complex uniNLO13d = -la4Q/(512.0*M_PI*M_PI*M_PI) * WFRc2;
3732 
3733  gslpp::complex uniA=uniNLO12a+uniNLO12b+uniNLO12c+uniNLO12d;
3734  gslpp::complex uniC=uniNLO13a+uniNLO13b+uniNLO13c+uniNLO13d;
3735 
3736  double R=0.01;
3737  double a0LO = uniNLO12a-uniNLO13a;
3738  gslpp::complex a0NLO = uniA-uniC;
3739  if(a0NLO.abs()>Rpeps)
3740  {
3741  R = (a0NLO-a0LO).abs()/(a0NLO.abs());
3742  }
3743 
3744  return R;
3745 }

Member Data Documentation

◆ myTHDM

const THDM& unitarityR12::myTHDM
private

Definition at line 1744 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
THDMcache::lambda3_at_Q
double lambda3_at_Q
Definition: THDMcache.h:2447
THDMcache::WFRcomb3
double WFRcomb3
Definition: THDMcache.h:2452
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
unitarityR12::myTHDM
const THDM & myTHDM
Definition: unitarity.h:1744
THDMcache::lambda2_at_Q
double lambda2_at_Q
Definition: THDMcache.h:2446
gslpp::complex::abs
double abs() const
Definition: gslpp_complex.cpp:81
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