THDMMatching.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "THDMMatching.h"
9 #include "THDM.h"
10 #include <math.h>
11 #include <stdexcept>
12 
14 
15  StandardModelMatching(THDM_i),
16  myTHDM(THDM_i),
17  myCKM(3, 3, 0.),
18  mcdbs2(5, NDR, NLO),
19  mcbtaunu(3, NDR, LO)
20 {}
21 
22 std::vector<WilsonCoefficient>& THDMMatching::CMdbs2() {
23 
24  double Mut = myTHDM.getMut();
25  double xt = x_t(Mut);
26  double GF=myTHDM.getGF();
27  double MW=myTHDM.Mw();
28  gslpp::complex co = GF / 4. / M_PI * MW * myTHDM.computelamt_s();
29  double tanb = myTHDM.gettanb();
30  double mHp2=myTHDM.getmHp2();
31  double xHW=mHp2/(MW*MW);
32  double xtH=xt/xHW;
33  double SWH=xtH*((2.0*xHW-8.0)*log(xtH)/((1.0-xHW)*(1.0-xtH)*(1.0-xtH))+6.0*xHW*log(xt)/((1.0-xHW)*(1.0-xt)*(1.0-xt))-(8.0-2.0*xt)/((1.0-xt)*(1.0-xtH)))/(tanb*tanb);
34  double SHH=xtH*((1.0+xtH)/((1.0-xtH)*(1.0-xtH))+2.0*xtH*log(xtH)/((1.0-xtH)*(1.0-xtH)*(1.0-xtH)))/(tanb*tanb*tanb*tanb);
35 
37  mcdbs2.setMu(Mut);
38 
39  switch (mcdbs2.getOrder()) {
40  case NNLO:
41  case NLO:
42  case LO:
43  mcdbs2.setCoeff(0, co * co * xt * (SWH+SHH), LO);
44  break;
45  default:
46  std::stringstream out;
47  out << mcdbs2.getOrder();
48  throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
49  }
50 
51  vmcds.push_back(mcdbs2);
52  return(vmcds);
53 }
54 
55 std::vector<WilsonCoefficient>& THDMMatching::CMbtaunu() {
56 
57  double Muw = myTHDM.getMuw();
58  double GF = myTHDM.getGF();
59  myCKM = myTHDM.getVCKM();
60  double mB = myTHDM.getMesons(QCD::B_P).getMass();
61  double tanb = myTHDM.gettanb();
62  double mHp2=myTHDM.getmHp2();
63 
65  mcbtaunu.setMu(Muw);
66 
67  switch (mcbtaunu.getOrder()) {
68  case NNLO:
69  case NLO:
70  case LO:
71  mcbtaunu.setCoeff(0, -4.*GF * myCKM(0,2) / sqrt(2.) * mB*mB*tanb*tanb/mHp2, LO);
72  break;
73  default:
74  std::stringstream out;
75  out << mcbtaunu.getOrder();
76  throw std::runtime_error("THDMMatching::CMbtaunu(): order " + out.str() + "not implemented");
77  }
78 
79  vmcbtaunu.push_back(mcbtaunu);
80  return(vmcbtaunu);
81 
82 }
virtual void setMu(double mu)
WilsonCoefficient mcbtaunu
Definition: THDMMatching.h:42
virtual std::vector< WilsonCoefficient > & CMbtaunu()
double getmHp2() const
Definition: THDM.h:262
double gettanb() const
Definition: THDM.h:174
THDMMatching(const THDM &THDM_i)
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
A class for the matching in the Standard Model.
double getMuw() const
A get method to retrieve the matching scale around the weak scale.
const THDM & myTHDM
Definition: THDMMatching.h:39
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
WilsonCoefficient mcdbs2
Definition: THDMMatching.h:42
double getGF() const
A get method to retrieve the Fermi constant .
virtual std::vector< WilsonCoefficient > & CMbtaunu()
Definition: OrderScheme.h:33
Definition: QCD.h:720
gslpp::complex computelamt_s() const
The product of the CKM elements .
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
A base class symmetric Two-Higgs-Doublet models.
Definition: THDM.h:94
virtual std::vector< WilsonCoefficient > & CMdbs2()
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
std::vector< WilsonCoefficient > vmcds
std::vector< WilsonCoefficient > vmcbtaunu
complex log(const complex &z)
orders getOrder() const
double x_t(const double mu, const orders order=FULLNNLO) const
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::matrix< gslpp::complex > myCKM
Definition: THDMMatching.h:40
double getMut() const
A get method to access the threshold between six- and five-flavour theory in GeV. ...
Definition: QCD.h:896
complex sqrt(const complex &z)