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 (int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbnlepCC (const int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbsg ()=0
 
virtual std::vector< WilsonCoefficient > & CMBXsnn (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMd1 ()=0
 
virtual std::vector< WilsonCoefficient > & CMd1Buras ()=0
 
virtual std::vector< WilsonCoefficientNew > & CMDF1 (std::string blocks, unsigned int nops)=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}
@ NNLO
Definition: OrderScheme.h:36
@ NLO
Definition: OrderScheme.h:35
@ NDR
Definition: OrderScheme.h:21
StandardModelMatching(const StandardModel &SM_i)

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 [Cheng:2015lsa].

Definition at line 106 of file THDMWMatching.cpp.

106 {
107
108 gslpp::complex C10 = etaU.abs2()*(pow(xt,2)/6)*(1/(xS-xt)+(xS/pow(xS-xt,2))*(log(xt)-log(xS)));
109 return C10;
110 }

◆ 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}
@ LO
Definition: OrderScheme.h:34
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
@ BOTTOM
Definition: QCD.h:329
virtual gslpp::complex CPNP(double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
virtual gslpp::complex C10NP(double xt, double xS, gslpp::complex etaU)
virtual gslpp::complex CSNP(double nu1, double xh, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)

◆ CMdbs2()

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

Reimplemented from StandardModelMatching.

Definition at line 151 of file THDMWMatching.cpp.

151 {
152
153 double Mut = myTHDMW.getMut();
154 double Muc = myTHDMW.getMuc();
155 double Mub = myTHDMW.getMub();
156 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???
157 double xc= x_c(Muc);
158 double mb =myTHDMW.Mrun(Mub, myTHDMW.getQuarks(QCD::BOTTOM).getMass_scale(),
159 myTHDMW.getQuarks(QCD::BOTTOM).getMass(), QCD::BOTTOM, FULLNNLO);
160 double mSp2=myTHDMW.getMyTHDMWCache()->mSpsq;
161 double MW=myTHDMW.Mw();
162 double xb=pow(mb,2)/(MW*MW);
163
164 double xS=mSp2/(MW*MW);
165 gslpp::complex etaU = myTHDMW.getTHDMW_etaU();
166 gslpp::complex etaD = myTHDMW.getTHDMW_etaD();
167 double GF=myTHDMW.getGF();
168 double co = GF / 4. / M_PI * MW;
169
170
172 mcdbs2.setMu(Mut);
173
174 switch (mcdbs2.getOrder()) {
175 case NNLO:
176 case NLO:
177 case LO:
178 mcdbs2.setCoeff(0, co * co * CNPVLL(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
179 break;
180 default:
181 std::stringstream out;
182 out << mcdbs2.getOrder();
183 throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
184 }
185
186 vmcds.push_back(mcdbs2);
187 //The following are the primed coefficients.
188 mcdbs2.setMu(Mut);
189
190 switch (mcdbs2.getOrder()) {
191 case NNLO:
192 case NLO:
193 case LO:
194 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);
195 mcdbs2.setCoeff(2, 8*co * co * CNPSRR2(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
196 //OSRR2=4*O2+8*O3 -> From Buras basis to SUSY basis
197 break;
198 default:
199 std::stringstream out;
200 out << mcdbs2.getOrder();
201 throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
202 }
203
204 vmcds.push_back(mcdbs2);
205
206 return(vmcds);
207}
@ FULLNNLO
Definition: OrderScheme.h:39
virtual std::vector< WilsonCoefficient > & CMdbs2()
,

◆ 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 [Cheng:2015lsa]

Definition at line 311 of file THDMWMatching.cpp.

311 {
312 return etaD*etaU.conjugate()*CNPVLLccEtadEtasu(xc, xb, xS) +
313 etaU.abs2()*CNPVLLccEtau2(xc, xb ,xS);
314 }
virtual double CNPVLLccEtau2(double xc, double xb, double xS)
virtual double CNPVLLccEtadEtasu(double xc, double xb, double xS)

◆ CNPVLLccEtadEtasu()

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

Definition at line 303 of file THDMWMatching.cpp.

303 {
304 return (-2*xb*xc)/(3.*(-xS + 2*xc*(1 + xS)));
305 }

◆ CNPVLLccEtau2()

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

Definition at line 307 of file THDMWMatching.cpp.

307 {
308 return (-4*xb*xc)/(9.*(-xS + 3*xc*(1 + xS)));
309 }

◆ 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 [Cheng:2015lsa]

Definition at line 274 of file THDMWMatching.cpp.

274 {
275 return etaD*etaU.conjugate()*CNPVLLctEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPVLLctEtau4(xc ,xb ,xt , xS) +
276 etaU.abs2()*CNPVLLctEtau2(xc ,xb ,xt , xS);
277 }
virtual double CNPVLLctEtadEtasu(double xc, double xb, double xt, double xS)
virtual double CNPVLLctEtau4(double xc, double xb, double xt, double xS)
virtual double CNPVLLctEtau2(double xc, double xb, double xt, double xS)

◆ CNPVLLctEtadEtasu()

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

Definition at line 255 of file THDMWMatching.cpp.

255 {
256 return (-2*xb*xc*xt*(-1 - pow(xS,2) + xt + xS*xt))/(3.*(-1 + xS)*(-xS + xc*(1 + xS))*(xS - xt)*(-1 + xt)) +
257 (2*xb*xc*xt*log(xc))/(3.*(-(xS*xt) + xc*(2*xt + xS*(1 + 2*xt)))) +
258 (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)) +
259 (2*xb*xc*xt*(xS + (-2 + xt)*xt)*log(xt))/(3.*pow(xS - xt,2)*pow(-1 + xt,2)*(-xc + xt));
260 }

◆ CNPVLLctEtau2()

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

Definition at line 268 of file THDMWMatching.cpp.

268 {
269 return -((f10(xt,xS) + f11(xt,xS) + f12(xt,xS))*f9(xc,xb,xt,xS)) +
270 f1(xc,xt,xS)*(f2(xb,xt,xS) + f3(xb,xt,xS) + f4(xb,xt,xS))*log(xS) +
271 f5(xc,xt,xS)*(f6(xb,xt,xS) + f7(xb,xt,xS) + f8(xb,xt))*log(xt);
272 }

◆ CNPVLLctEtau4()

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

Definition at line 262 of file THDMWMatching.cpp.

262 {
263 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))) -
264 (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)) +
265 (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));
266 }

◆ 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 [Cheng:2015lsa]

Definition at line 298 of file THDMWMatching.cpp.

298 {
299 return etaD*etaU.conjugate()*CNPVLLttEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPVLLttEtau4(xc ,xb ,xt , xS) +
300 etaU.abs2()*CNPVLLttEtau2(xc ,xb ,xt , xS);
301 }
virtual double CNPVLLttEtau4(double xc, double xb, double xt, double xS)
virtual double CNPVLLttEtau2(double xc, double xb, double xt, double xS)
virtual double CNPVLLttEtadEtasu(double xc, double xb, double xt, double xS)

◆ CNPVLLttEtadEtasu()

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

Definition at line 279 of file THDMWMatching.cpp.

279 {
280 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)) +
281 (4*xb*pow(xt,2)*(-pow(xS,2) + xt)*log(xS))/(3.*pow(-1 + xS,2)*pow(xS - xt,3)) +
282 (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));
283 }

◆ CNPVLLttEtau2()

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

Definition at line 292 of file THDMWMatching.cpp.

292 {
293 return f24(xt,xS)*(f30(xb,xt,xS) + f31(xb,xt,xS)) +
294 f13(xt,xS)*(f14(xb,xt,xS) + f15(xb,xt,xS) + f16(xb,xt,xS))*log(xS) -
295 f17(xt,xS)*(f22(xb,xt,xS) + f23(xb,xt,xS))*log(xt);
296 }

◆ CNPVLLttEtau4()

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

Definition at line 285 of file THDMWMatching.cpp.

285 {
286 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 +
287 xb*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3)))*log(xS))/(54.*pow(xS - xt,5)) -
288 (11*pow(xt,2)*(-6*xS*pow(xS - xt,2)*xt +
289 xb*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3)))*log(xt))/(54.*pow(xS - xt,5));
290 }

◆ 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 [Cheng:2015lsa].

Definition at line 123 of file THDMWMatching.cpp.

123 {
124 double sW2 = myTHDMW.sW2();
125 gslpp::complex CP =(xt/(3*pow(xS-xt,2)))*(etaD*etaU.conjugate()*(-(xt+xS)/2+xt*xS*(log(xS)-log(xt))/(xS-xt))+
126 (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)))+
127 (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))
128 +(etaU.abs2()/(6*(xS-xt)))*((17*pow(xS,2)-64*xS*xt+71*pow(xt,2))/6)
129 -(4*pow(xS,3)-12*pow(xS,2)*xt+9*xS*pow(xt,2)+3*pow(xt,3))*(log(xS)-log(xt))/(xS-xt))
130 +etaU.abs2()*(1-sW2)*pow(xt,2)*(xS*(log(xS)-log(xt))+xt-xS)/(3*pow(xS-xt,2));
131 return CP;
132 }

◆ 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 [Cheng:2015lsa].

Definition at line 112 of file THDMWMatching.cpp.

112 {
113 double mhsq= myTHDMW.getMyTHDMWCache()->mhsq;
114 double vev= myTHDMW.v();
115
116 gslpp::complex CS =(pow(vev,2)*xt*nu1/(mhsq*6*(xS-xt)))*(etaD*etaU.conjugate()*(xt*(log(xS)-log(xt))/(xS-xt)-1)+
117 etaU.abs2()*(pow(xt,2)*(log(xS)-log(xt))/(2*pow(xS-xt,2))+(xS-3*xt)/(4*(xS-xt))))+
118 (2*xt/(3*xh))*(etaD*etaU.conjugate()*xt*(1-xS*(log(xS)-log(xt))/(xS-xt))/(xS-xt)+
119 etaU.abs2()*(xt/(2*pow(xS-xt,2)))*((xS+xt)/2-xS*xt*(log(xS)-log(xt))/(xS-xt)));
120 return CS;
121 }

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