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

#include <THDMWMatching.h>

+ Inheritance diagram for THDMWMatching:

Detailed Description

Author
HEPfit Collaboration

Definition at line 26 of file THDMWMatching.h.

Public Member Functions

virtual gslpp::complex C10NP (double xt, double xS, gslpp::complex etaU)
 
virtual std::vector< WilsonCoefficient > & CMBMll (QCD::lepton lepton)
 
virtual std::vector< WilsonCoefficient > & CMdbs2 ()
 
virtual gslpp::complex CNPVLLcc (double xc, double xb, double xS, gslpp::complex etaU, gslpp::complex etaD)
 
virtual double CNPVLLccEtadEtasu (double xc, double xb, double xS)
 
virtual double CNPVLLccEtau2 (double xc, double xb, double xS)
 
virtual gslpp::complex CNPVLLct (double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
 
virtual double CNPVLLctEtadEtasu (double xc, double xb, double xt, double xS)
 
virtual double CNPVLLctEtau2 (double xc, double xb, double xt, double xS)
 
virtual double CNPVLLctEtau4 (double xc, double xb, double xt, double xS)
 
virtual gslpp::complex CNPVLLtt (double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
 
virtual double CNPVLLttEtadEtasu (double xc, double xb, double xt, double xS)
 
virtual double CNPVLLttEtau2 (double xc, double xb, double xt, double xS)
 
virtual double CNPVLLttEtau4 (double xc, double xb, double xt, double xS)
 
virtual gslpp::complex CPNP (double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
 
virtual gslpp::complex CSNP (double nu1, double xh, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
 
 THDMWMatching (const THDMW &THDMW_i)
 
- Public Member Functions inherited from StandardModelMatching
virtual std::vector< WilsonCoefficient > & CMdbd2 ()
 \( \Delta B = 2 \), \( B_{d} \) More...
 
virtual std::vector< WilsonCoefficient > & CMdd2 ()
 \( \Delta C = 2 \), More...
 
 StandardModelMatching (const StandardModel &SM_i)
 
void updateSMParameters ()
 Updates to new Standard Model parameter sets. More...
 
virtual ~StandardModelMatching ()
 
- Public Member Functions inherited from ModelMatching
virtual std::vector< WilsonCoefficient > & CMbnlep (const int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbnlepCC (const int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbsg ()=0
 
virtual std::vector< WilsonCoefficient > & CMd1 ()=0
 
virtual std::vector< WilsonCoefficient > & CMd1Buras ()=0
 
virtual std::vector< WilsonCoefficient > & CMprimeBMll (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMprimebsg ()=0
 
virtual ~ModelMatching ()
 

Constructor & Destructor Documentation

◆ THDMWMatching()

THDMWMatching::THDMWMatching ( const THDMW THDMW_i)

Definition at line 16 of file THDMWMatching.cpp.

16  :
17 
18  StandardModelMatching(THDMW_i),
19  myTHDMW(THDMW_i),
20  myCKM(3, 3, 0.),
21  mcBMll(13, NDR, NLO),
22  mcbsg(8, NDR, NNLO),
23  mcdbs2(5, NDR, NLO)
24 {
25 }

Member Function Documentation

◆ C10NP()

gslpp::complex THDMWMatching::C10NP ( double  xt,
double  xS,
gslpp::complex  etaU 
)
virtual
Returns
C10 Wilson coefficient of \( B_q \to l \bar{l}\) according to [53].

Definition at line 83 of file THDMWMatching.cpp.

83  {
84 
85  gslpp::complex C10 = etaU.abs2()*(pow(xt,2)/6)*(1/(xS-xt)+(xS/pow(xS-xt,2))*(log(xt)-log(xS)));
86  return C10;
87  }

◆ CMBMll()

std::vector< WilsonCoefficient > & THDMWMatching::CMBMll ( QCD::lepton  lepton)
virtual

Implements ModelMatching.

Definition at line 31 of file THDMWMatching.cpp.

32 {
33  //From 1504.00839 Note that in this paper the Effective Hamiltonian has a typo and a factor 1/sw^2 it's missing
34  double Mut = myTHDMW.getMut();
35  double Muw = myTHDMW.getMuw();
36  double MW = myTHDMW.Mw();
37  double xt = x_t(Mut);
38  double mhsq = myTHDMW.getMyTHDMWCache()->mhsq;
39  double xh = mhsq/pow(MW,2);
40  double sW2 = myTHDMW.sW2();
41  double mSp2 =myTHDMW.getMyTHDMWCache()->mSpsq;
42  double xS = mSp2/pow(MW,2);
43  double nu1 = myTHDMW.getTHDMW_nu1();
44  gslpp::complex etaU = myTHDMW.getTHDMW_etaU();
45  gslpp::complex etaD = myTHDMW.getTHDMW_etaD();
46 
47  double mb=myTHDMW.getQuarks(QCD::BOTTOM).getMass();
48 
49  double ml=myTHDMW.getLeptons(lepton).getMass();
50 
51 
52 
53  vmcBMll = StandardModelMatching::CMBMll(lepton);
54  switch (mcbsg.getScheme()) {
55  case NDR:
56 
57  break;
58  default:
59  std::stringstream out;
60  out << mcBMll.getScheme();
61  throw std::runtime_error("THDMWMatching::CMBMll(): scheme " + out.str() + "not implemented");
62  }
63  mcBMll.setMu(Muw);
64 
65  switch (mcBMll.getOrder()) {
66  case NNLO:
67  case NLO:
68  case LO:
69  mcBMll.setCoeff(9 , C10NP(xt, xS, etaU)/(sW2), LO);
70  mcBMll.setCoeff(10 , CSNP(nu1, xh, xt, xS, etaU, etaD)*mb*ml/(MW*MW*sW2), LO);
71  mcBMll.setCoeff(11 , CPNP(xt, xS, etaU, etaD)*(mb*ml)/(MW*MW*sW2), LO);
72  break;
73  default:
74  std::stringstream out;
75  out << mcBMll.getOrder();
76  throw std::runtime_error("THDMWMatching::CMBMll(): order " + out.str() + "not implemented");
77  }
78  vmcBMll.push_back(mcBMll);
79  return (vmcBMll);
80 }

◆ CMdbs2()

std::vector< WilsonCoefficient > & THDMWMatching::CMdbs2 ( )
virtual
Returns
THDMW Wilson coefficients for \( B_s \to \bar{B_s}\) according to [53]

Reimplemented from StandardModelMatching.

Definition at line 118 of file THDMWMatching.cpp.

118  {
119 
120  double Mut = myTHDMW.getMut();
121  double Muc = myTHDMW.getMuc();
122  double Mub = myTHDMW.getMub();
123  double xt = x_t(Mut);//ratio mass of the top square at the scale of its mass over mass of the W square. Why not Mw scale???
124  double xc= x_c(Muc);
125  double mb =myTHDMW.Mrun(Mub, myTHDMW.getQuarks(QCD::BOTTOM).getMass_scale(),
126  myTHDMW.getQuarks(QCD::BOTTOM).getMass(), FULLNNLO);
127  double mSp2=myTHDMW.getMyTHDMWCache()->mSpsq;
128  double MW=myTHDMW.Mw();
129  double xb=pow(mb,2)/(MW*MW);
130 
131  double xS=mSp2/(MW*MW);
132  gslpp::complex etaU = myTHDMW.getTHDMW_etaU();
133  gslpp::complex etaD = myTHDMW.getTHDMW_etaD();
134  double GF=myTHDMW.getGF();
135  double co = GF / 4. / M_PI * MW;
136 
137 
139  mcdbs2.setMu(Mut);
140 
141  switch (mcdbs2.getOrder()) {
142  case NNLO:
143  case NLO:
144  case LO:
145  mcdbs2.setCoeff(0, co * co * CNPVLL(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
146  break;
147  default:
148  std::stringstream out;
149  out << mcdbs2.getOrder();
150  throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
151  }
152 
153  vmcds.push_back(mcdbs2);
154  //The following are the primed coefficients.
155  mcdbs2.setMu(Mut);
156 
157  switch (mcdbs2.getOrder()) {
158  case NNLO:
159  case NLO:
160  case LO:
161  mcdbs2.setCoeff(1, co * co * CNPSRR1(xc, xb, xt, xS, etaU, etaD).conjugate()+4*co * co * CNPSRR2(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
162  mcdbs2.setCoeff(2, 8*co * co * CNPSRR2(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
163  //OSRR2=4*O2+8*O3 -> From Buras basis to SUSY basis
164  break;
165  default:
166  std::stringstream out;
167  out << mcdbs2.getOrder();
168  throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
169  }
170 
171  vmcds.push_back(mcdbs2);
172 
173  return(vmcds);
174 }

◆ CNPVLLcc()

gslpp::complex THDMWMatching::CNPVLLcc ( double  xc,
double  xb,
double  xS,
gslpp::complex  etaU,
gslpp::complex  etaD 
)
virtual
Returns
\( C^{NP,cc}_{VLL} \) according to [53]

Definition at line 278 of file THDMWMatching.cpp.

278  {
279  return etaD*etaU.conjugate()*CNPVLLccEtadEtasu(xc, xb, xS) +
280  etaU.abs2()*CNPVLLccEtau2(xc, xb ,xS);
281  }

◆ CNPVLLccEtadEtasu()

double THDMWMatching::CNPVLLccEtadEtasu ( double  xc,
double  xb,
double  xS 
)
virtual
Returns
\( C^{NP,cc}_{VLL, \eta_d \eta^*_u} \) according to [53]

Definition at line 270 of file THDMWMatching.cpp.

270  {
271  return (-2*xb*xc)/(3.*(-xS + 2*xc*(1 + xS)));
272  }

◆ CNPVLLccEtau2()

double THDMWMatching::CNPVLLccEtau2 ( double  xc,
double  xb,
double  xS 
)
virtual
Returns
\( C^{NP,cc}_{VLL, \eta_u^2} \) according to [53]

Definition at line 274 of file THDMWMatching.cpp.

274  {
275  return (-4*xb*xc)/(9.*(-xS + 3*xc*(1 + xS)));
276  }

◆ CNPVLLct()

gslpp::complex THDMWMatching::CNPVLLct ( double  xc,
double  xb,
double  xt,
double  xS,
gslpp::complex  etaU,
gslpp::complex  etaD 
)
virtual
Returns
\( C^{NP,ct}_{VLL} \) according to [53]

Definition at line 241 of file THDMWMatching.cpp.

241  {
242  return etaD*etaU.conjugate()*CNPVLLctEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPVLLctEtau4(xc ,xb ,xt , xS) +
243  etaU.abs2()*CNPVLLctEtau2(xc ,xb ,xt , xS);
244  }

◆ CNPVLLctEtadEtasu()

double THDMWMatching::CNPVLLctEtadEtasu ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,ct}_{VLL, \eta_d \eta^*_u} \) according to [53]

Definition at line 222 of file THDMWMatching.cpp.

222  {
223  return (-2*xb*xc*xt*(-1 - pow(xS,2) + xt + xS*xt))/(3.*(-1 + xS)*(-xS + xc*(1 + xS))*(xS - xt)*(-1 + xt)) +
224  (2*xb*xc*xt*log(xc))/(3.*(-(xS*xt) + xc*(2*xt + xS*(1 + 2*xt)))) +
225  (2*xb*xc*xt*(-2*pow(xS,2) + xt + xS*xt)*log(xS))/(3.*pow(-1 + xS,2)*(-2*xc + xS)*pow(xS - xt,2)) +
226  (2*xb*xc*xt*(xS + (-2 + xt)*xt)*log(xt))/(3.*pow(xS - xt,2)*pow(-1 + xt,2)*(-xc + xt));
227  }

◆ CNPVLLctEtau2()

double THDMWMatching::CNPVLLctEtau2 ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,ct}_{VLL, \eta_u^2} \) according to [53]

Definition at line 235 of file THDMWMatching.cpp.

235  {
236  return -((f10(xt,xS) + f11(xt,xS) + f12(xt,xS))*f9(xc,xb,xt,xS)) +
237  f1(xc,xt,xS)*(f2(xb,xt,xS) + f3(xb,xt,xS) + f4(xb,xt,xS))*log(xS) +
238  f5(xc,xt,xS)*(f6(xb,xt,xS) + f7(xb,xt,xS) + f8(xb,xt))*log(xt);
239  }

◆ CNPVLLctEtau4()

double THDMWMatching::CNPVLLctEtau4 ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,ct}_{VLL, \eta_u^4} \) according to [53]

Definition at line 229 of file THDMWMatching.cpp.

229  {
230  return (11*xc*pow(xt,2)*(-18*xS*pow(xS - xt,2) + xb*(5*pow(xS,2) - 22*xS*xt + 5*pow(xt,2))))/(324.*pow(xS - xt,3)*(-(xS*xt) + xc*(2*xS + 3*xt))) -
231  (11*xc*xS*xt*(xb*xS*(xS - 3*xt) - 3*pow(xS - xt,2)*xt)*log(xS))/(54.*(4*xc - xS)*pow(xS - xt,4)) +
232  (11*xc*pow(xt,2)*(xb*xS*(xS - 3*xt) - 3*pow(xS - xt,2)*xt)*log(xt))/(54.*(3*xc - xt)*pow(xS - xt,4));
233  }

◆ CNPVLLtt()

gslpp::complex THDMWMatching::CNPVLLtt ( double  xc,
double  xb,
double  xt,
double  xS,
gslpp::complex  etaU,
gslpp::complex  etaD 
)
virtual
Returns
\( C^{NP,tt}_{VLL} \) according to [53]

Definition at line 265 of file THDMWMatching.cpp.

265  {
266  return etaD*etaU.conjugate()*CNPVLLttEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPVLLttEtau4(xc ,xb ,xt , xS) +
267  etaU.abs2()*CNPVLLttEtau2(xc ,xb ,xt , xS);
268  }

◆ CNPVLLttEtadEtasu()

double THDMWMatching::CNPVLLttEtadEtasu ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,tt}_{VLL, \eta_d \eta^*_u} \) according to [53]

Definition at line 246 of file THDMWMatching.cpp.

246  {
247  return (2*xb*xt*(pow(xS,2)*(1 + xt) - xS*pow(1 + xt,2) + xt*(3 - 3*xt + 2*pow(xt,2))))/(3.*(-1 + xS)*pow(xS - xt,2)*pow(-1 + xt,2)) +
248  (4*xb*pow(xt,2)*(-pow(xS,2) + xt)*log(xS))/(3.*pow(-1 + xS,2)*pow(xS - xt,3)) +
249  (4*xb*pow(xt,2)*(-pow(xS,2) + xt + 2*xS*xt - 3*pow(xt,2) + pow(xt,3))*log(xt))/(3.*pow(xS - xt,3)*pow(-1 + xt,3));
250  }

◆ CNPVLLttEtau2()

double THDMWMatching::CNPVLLttEtau2 ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,tt}_{VLL, \eta_u^2} \) according to [53]

Definition at line 259 of file THDMWMatching.cpp.

259  {
260  return f24(xt,xS)*(f30(xb,xt,xS) + f31(xb,xt,xS)) +
261  f13(xt,xS)*(f14(xb,xt,xS) + f15(xb,xt,xS) + f16(xb,xt,xS))*log(xS) -
262  f17(xt,xS)*(f22(xb,xt,xS) + f23(xb,xt,xS))*log(xt);
263  }

◆ CNPVLLttEtau4()

double THDMWMatching::CNPVLLttEtau4 ( double  xc,
double  xb,
double  xt,
double  xS 
)
virtual
Returns
\( C^{NP,tt}_{VLL, \eta_u^4} \) according to [53]

Definition at line 252 of file THDMWMatching.cpp.

252  {
253  return (-11*pow(xt,2)*(-9*pow(xS - xt,2)*(xS + xt) + xb*(5*pow(xS,2) - 22*xS*xt + 5*pow(xt,2))))/(162.*pow(xS - xt,4)) + (11*pow(xt,2)*(-6*xS*pow(xS - xt,2)*xt +
254  xb*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3)))*log(xS))/(54.*pow(xS - xt,5)) -
255  (11*pow(xt,2)*(-6*xS*pow(xS - xt,2)*xt +
256  xb*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3)))*log(xt))/(54.*pow(xS - xt,5));
257  }

◆ CPNP()

gslpp::complex THDMWMatching::CPNP ( double  xt,
double  xS,
gslpp::complex  etaU,
gslpp::complex  etaD 
)
virtual
Returns
CP Wilson coefficient of \( B_q \to l \bar{l}\) according to [53].

Definition at line 100 of file THDMWMatching.cpp.

100  {
101  double sW2 = myTHDMW.sW2();
102  gslpp::complex CP =(xt/(3*pow(xS-xt,2)))*(etaD*etaU.conjugate()*(-(xt+xS)/2+xt*xS*(log(xS)-log(xt))/(xS-xt))+
103  (etaU.abs2()/(6*(xS-xt)))*((pow(xS,2)-8*xS*xt-17*pow(xt,2))/6+pow(xt,2)*(3*xS+xt)*(log(xS)-log(xt))/(xS-xt)))+
104  (2*sW2*xt/(9*pow(xS-xt,2)))*(etaD*etaU.conjugate()*((5*xt-3*xS)/2+xS*(2*xS-3*xt)*(log(xS)-log(xt))/(xS-xt))
105  +(etaU.abs2()/(6*(xS-xt)))*((17*pow(xS,2)-64*xS*xt+71*pow(xt,2))/6)
106  -(4*pow(xS,3)-12*pow(xS,2)*xt+9*xS*pow(xt,2)+3*pow(xt,3))*(log(xS)-log(xt))/(xS-xt))
107  +etaU.abs2()*(1-sW2)*pow(xt,2)*(xS*(log(xS)-log(xt))+xt-xS)/(3*pow(xS-xt,2));
108  return CP;
109  }

◆ CSNP()

gslpp::complex THDMWMatching::CSNP ( double  nu1,
double  xh,
double  xt,
double  xS,
gslpp::complex  etaU,
gslpp::complex  etaD 
)
virtual
Returns
CS Wilson coefficient of \( B_q \to l \bar{l}\) according to [53].

Definition at line 89 of file THDMWMatching.cpp.

89  {
90  double mhsq= myTHDMW.getMyTHDMWCache()->mhsq;
91  double vev= myTHDMW.v();
92 
93  gslpp::complex CS =(pow(vev,2)*xt*nu1/(mhsq*6*(xS-xt)))*(etaD*etaU.conjugate()*(xt*(log(xS)-log(xt))/(xS-xt)-1)+
94  etaU.abs2()*(pow(xt,2)*(log(xS)-log(xt))/(2*pow(xS-xt,2))+(xS-3*xt)/(4*(xS-xt))))+
95  (2*xt/(3*xh))*(etaD*etaU.conjugate()*xt*(1-xS*(log(xS)-log(xt))/(xS-xt))/(xS-xt)+
96  etaU.abs2()*(xt/(2*pow(xS-xt,2)))*((xS+xt)/2-xS*xt*(log(xS)-log(xt))/(xS-xt)));
97  return CS;
98  }

The documentation for this class was generated from the following files:
QCD::BOTTOM
Definition: QCD.h:329
THDMWMatching::CNPVLLctEtau2
virtual double CNPVLLctEtau2(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:235
THDMWMatching::CNPVLLccEtadEtasu
virtual double CNPVLLccEtadEtasu(double xc, double xb, double xS)
Definition: THDMWMatching.cpp:270
THDMWMatching::CNPVLLctEtau4
virtual double CNPVLLctEtau4(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:229
StandardModelMatching::CMdbs2
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
Definition: StandardModelMatching.cpp:1043
THDMWMatching::C10NP
virtual gslpp::complex C10NP(double xt, double xS, gslpp::complex etaU)
Definition: THDMWMatching.cpp:83
LO
Definition: OrderScheme.h:33
NDR
Definition: OrderScheme.h:21
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
StandardModelMatching::StandardModelMatching
StandardModelMatching(const StandardModel &SM_i)
Definition: StandardModelMatching.cpp:16
gslpp::complex::abs2
double abs2() const
Definition: gslpp_complex.cpp:86
THDMWMatching::CNPVLLttEtau2
virtual double CNPVLLttEtau2(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:259
THDMWMatching::CNPVLLccEtau2
virtual double CNPVLLccEtau2(double xc, double xb, double xS)
Definition: THDMWMatching.cpp:274
gslpp::complex::conjugate
complex conjugate() const
Definition: gslpp_complex.cpp:288
ModelMatching::CMBMll
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
THDMWMatching::CPNP
virtual gslpp::complex CPNP(double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
Definition: THDMWMatching.cpp:100
NNLO
Definition: OrderScheme.h:35
THDMWMatching::CNPVLLttEtau4
virtual double CNPVLLttEtau4(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:252
THDMWMatching::CNPVLLttEtadEtasu
virtual double CNPVLLttEtadEtasu(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:246
NLO
Definition: OrderScheme.h:34
THDMWMatching::CSNP
virtual gslpp::complex CSNP(double nu1, double xh, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
Definition: THDMWMatching.cpp:89
FULLNNLO
Definition: OrderScheme.h:38
THDMWMatching::CNPVLLctEtadEtasu
virtual double CNPVLLctEtadEtasu(double xc, double xb, double xt, double xS)
Definition: THDMWMatching.cpp:222