a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
THDMWMatching.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8
9#include "THDMWMatching.h"
10#include "THDMW.h"
11#include <gsl/gsl_integration.h>
12#include <gsl/gsl_sf_dilog.h>
13#include "THDMWcache.h"
14#include <stdexcept>
15
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}
26
27
28
29
30
31std::vector<WilsonCoefficient>& THDMWMatching::CMBMll(QCD::lepton lepton)
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}
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106gslpp::complex THDMWMatching::C10NP(double xt, double xS , gslpp::complex etaU) {
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 }
111
112gslpp::complex THDMWMatching::CSNP(double nu1, double xh,double xt, double xS, gslpp::complex etaU, gslpp::complex etaD) {
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 }
122
123gslpp::complex THDMWMatching::CPNP(double xt, double xS, gslpp::complex etaU, gslpp::complex etaD) {
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 }
133
134
135
136
137
138
139
140
141
142
143
144
145//For including the contribution to DelB_s we'll use the result of 1504.00839.
146//The prediction of SM in this paper is the same than HEPfit except for lambdat_s which is conjugated (There are no additional factors)
147//Note that in 1504.00839 what is computed is the decay of a B\bar_s^0 to a B_s^0 but usually the matrix elements are define for the conjugated elements.
148//We should take the complex conjugate in order to be consistent with the HEPfit calculations.
149
150
151std::vector<WilsonCoefficient>& THDMWMatching::CMdbs2() {
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}
208//
209//std::vector<WilsonCoefficient>& THDMWMatching::CMdbsp2() {
210//
211// double Mut = myTHDMW.getMut();
212// double Muc = myTHDMW.getMuc();
213// double Mub = myTHDMW.getMub();
214// 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???
215// double xc= x_c(Muc);
216// double mb =myTHDMW.Mrun(Mub, myTHDMW.getQuarks(QCD::BOTTOM).getMass_scale(),
217// myTHDMW.getQuarks(QCD::BOTTOM).getMass(), FULLNNLO);
218// double mSp2=myTHDMW.getMyTHDMWCache()->mSpsq;
219// double MW=myTHDMW.Mw();
220// double xb=pow(mb,2)/(MW*MW);
221//
222// double xS=mSp2/(MW*MW);
223// gslpp::complex etaU = myTHDMW.getTHDMW_etaU();
224// gslpp::complex etaD = myTHDMW.getTHDMW_etaD();
225// double GF=myTHDMW.getGF();
226// double co = GF / 4. / M_PI * MW;
227//
228// vmcdsp = StandardModelMatching::CMdbs2();
229// mcdbs2.setMu(Mut);
230//
231// switch (mcdbsp2.getOrder()) {
232// case NNLO:
233// case NLO:
234// case LO:
235// mcdbsp2.setCoeff(1, co * co * CNPSRR1(xc, xb, xt, xS, etaU, etaD).conjugate()+4*co * co * CNPSRR2(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
236// mcdbsp2.setCoeff(2, 8*co * co * CNPSRR2(xc, xb, xt, xS, etaU, etaD).conjugate(), LO);
237// //OSRR2=4*O2+8*O3 -> From Buras basis to SUSY basis
238// break;
239// default:
240// std::stringstream out;
241// out << mcdbsp2.getOrder();
242// throw std::runtime_error("THDMMatching::CMdbs2(): order " + out.str() + "not implemented");
243// }
244//
245// vmcds.push_back(mcdbs2);
246// return(vmcdsp);
247//}
248
249
250
251
252
253
254
255double THDMWMatching::CNPVLLctEtadEtasu(double xc, double xb, double xt, double xS){
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 }
261
262double THDMWMatching::CNPVLLctEtau4(double xc, double xb, double xt, double xS){
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 }
267
268double THDMWMatching::CNPVLLctEtau2(double xc, double xb, double xt, double xS){
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 }
273
274gslpp::complex THDMWMatching::CNPVLLct(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
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 }
278
279double THDMWMatching::CNPVLLttEtadEtasu(double xc, double xb, double xt, double xS){
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 }
284
285double THDMWMatching::CNPVLLttEtau4(double xc, double xb, double xt, double xS){
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 }
291
292double THDMWMatching::CNPVLLttEtau2(double xc, double xb, double xt, double xS){
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 }
297
298gslpp::complex THDMWMatching::CNPVLLtt(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
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 }
302
303double THDMWMatching::CNPVLLccEtadEtasu(double xc, double xb, double xS){
304 return (-2*xb*xc)/(3.*(-xS + 2*xc*(1 + xS)));
305 }
306
307double THDMWMatching::CNPVLLccEtau2(double xc, double xb, double xS){
308 return (-4*xb*xc)/(9.*(-xS + 3*xc*(1 + xS)));
309 }
310
311gslpp::complex THDMWMatching::CNPVLLcc(double xc, double xb, double xS, gslpp::complex etaU, gslpp::complex etaD){
312 return etaD*etaU.conjugate()*CNPVLLccEtadEtasu(xc, xb, xS) +
313 etaU.abs2()*CNPVLLccEtau2(xc, xb ,xS);
314 }
315
316gslpp::complex THDMWMatching::CNPVLL(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
317 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*CNPVLLtt(xc, xb, xt, xS, etaU, etaD)+
318 2*myTHDMW.getCKM().computelamt_s().conjugate()*myTHDMW.getCKM().computelamc_s().conjugate()*CNPVLLct(xc, xb, xt, xS, etaU, etaD)+
319 pow(myTHDMW.getCKM().computelamc_s().conjugate(),2)*CNPVLLcc(xc, xb, xS, etaU, etaD) ;
320 }
321
322
323
324
325
326
327
328
329
330
331
332double THDMWMatching::CNPSRR1ctEtadEtasuEtau2(double xc, double xb, double xt, double xS){
333 return (-19*xb*xc*xt)/(18.*(xc - xS)*(xS - xt)) + (19*xb*xc*xS*xt*log(xS))/(18.*(2*xc - xS)*pow(xS - xt,2)) -
334 (19*xb*xc*pow(xt,2)*log(xt))/(18.*(xc - xt)*pow(xS - xt,2));
335 }
336
337double THDMWMatching::CNPSRR1ctEtad2Etasu2(double xc, double xb, double xt, double xS){
338 return (19*xb*xc*xt)/(18.*(xc - xS)*(xS - xt)) - (19*xb*xc*xS*xt*log(xS))/(18.*(2*xc - xS)*pow(xS - xt,2)) +
339 (19*xb*xc*pow(xt,2)*log(xt))/(18.*(xc - xt)*pow(xS - xt,2));
340 }
341
342double THDMWMatching::CNPSRR1ctEtadEtasu(double xc, double xb, double xt, double xS){
343 return (-5*xb*xc*xS*(1 + xS - 2*xt)*xt)/(6.*(-1 + xS)*(-xS + xc*(1 + xS))*(xS - xt)*(-1 + xt)) +
344 (5*xb*xc*xS*xt*(-3*xt + xS*(2 + xt))*log(xS))/(6.*pow(-1 + xS,2)*(-2*xc + xS)*pow(xS - xt,2)) +
345 (5*xb*xc*pow(xt,2)*(xS*(-2 + xt) + (3 - 2*xt)*xt)*log(xt))/(6.*pow(xS - xt,2)*pow(-1 + xt,2)*(-xc + xt));
346 }
347
348double THDMWMatching::CNPSRR1ctEtau4(double xc, double xb, double xt, double xS){
349 return (19*xb*xc*pow(xt,2)*(5*pow(xS,2) - 22*xS*xt + 5*pow(xt,2)))/(648.*pow(xS - xt,3)*(-(xS*xt) + xc*(2*xS + 3*xt))) -
350 (19*xb*xc*pow(xS,2)*(xS - 3*xt)*xt*log(xS))/(108.*(4*xc - xS)*pow(xS - xt,4)) +
351 (19*xb*xc*xS*(xS - 3*xt)*pow(xt,2)*log(xt))/(108.*(3*xc - xt)*pow(xS - xt,4));
352 }
353
354double THDMWMatching::CNPSRR1ctEtau2(double xc, double xb, double xt, double xS){
355 return f35(xc,xb,xt,xS)*(f36(xt,xS) + f37(xt,xS)) + f32(xc,xb,xt,xS)*log(xS) -
356 f33(xc,xb,xt,xS)*f34(xt,xS)*log(xt);
357 }
358
359gslpp::complex THDMWMatching::CNPSRR1ct(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
360 return etaD*etaU.conjugate()*etaU.abs2()*CNPSRR1ctEtadEtasuEtau2(xc ,xb ,xt , xS)+pow(etaD*etaU.conjugate(),2)*CNPSRR1ctEtad2Etasu2(xc ,xb ,xt , xS)+
361 etaD*etaU.conjugate()*CNPSRR1ctEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPSRR1ctEtau4(xc ,xb ,xt , xS) +
362 etaU.abs2()*CNPSRR1ctEtau2(xc ,xb ,xt , xS);
363 }
364
365double THDMWMatching::CNPSRR1ttEtadEtasuEtau2(double xc, double xb, double xt, double xS){
366 return (19*xb*pow(xt,2))/(9.*pow(xS - xt,2)) - (19*xb*pow(xt,2)*(xS + xt)*log(xS))/(18.*pow(xS - xt,3)) +
367 (19*xb*pow(xt,2)*(xS + xt)*log(xt))/(18.*pow(xS - xt,3));
368 }
369
370double THDMWMatching::CNPSRR1ttEtad2Etasu2(double xc, double xb, double xt, double xS){
371 return (-19*xb*pow(xt,2))/(9.*pow(xS - xt,2)) + (19*xb*pow(xt,2)*(xS + xt)*log(xS))/(18.*pow(xS - xt,3)) -
372 (19*xb*pow(xt,2)*(xS + xt)*log(xt))/(18.*pow(xS - xt,3));
373 }
374
375double THDMWMatching::CNPSRR1ttEtadEtasu(double xc, double xb, double xt, double xS){
376 return (5*xb*pow(xt,2)*(pow(xS,2)*(-3 + xt) + (-3 + xt)*xt + xS*(1 + 6*xt - 3*pow(xt,2))))/(6.*(-1 + xS)*pow(xS - xt,2)*pow(-1 + xt,2)) +
377 (5*xb*xS*pow(xt,2)*(-2*xt + xS*(1 + xt))*log(xS))/(3.*pow(-1 + xS,2)*pow(xS - xt,3)) +
378 (5*xb*pow(xt,2)*(pow(xS,2) - 2*xS*xt - (-2 + xt)*pow(xt,3))*log(xt))/(3.*pow(xS - xt,3)*pow(-1 + xt,3));
379 }
380
381double THDMWMatching::CNPSRR1ttEtau4(double xc, double xb, double xt, double xS){
382 return (-19*xb*pow(xt,2)*(5*pow(xS,2) - 22*xS*xt + 5*pow(xt,2)))/(324.*pow(xS - xt,4)) +
383 (19*xb*pow(xt,2)*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3))*log(xS))/(108.*pow(xS - xt,5))
384 - (19*xb*pow(xt,2)*(pow(xS,3) - 3*pow(xS,2)*xt - 3*xS*pow(xt,2) + pow(xt,3))*log(xt))/(108.*pow(xS - xt,5));
385 }
386
387double THDMWMatching::CNPSRR1ttEtau2(double xc, double xb, double xt, double xS){
388 return -(f40(xb,xt,xS)*(f41(xt,xS) + f42(xt,xS) + f43(xt,xS))) + f38(xb,xt,xS)*log(xS) +
389 f39(xb,xt,xS)*log(xt);
390 }
391
392gslpp::complex THDMWMatching::CNPSRR1tt(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
393 return etaD*etaU.conjugate()*etaU.abs2()*CNPSRR1ttEtadEtasuEtau2(xc ,xb ,xt , xS)+pow(etaD*etaU.conjugate(),2)*CNPSRR1ttEtad2Etasu2(xc ,xb ,xt , xS)+
394 etaD*etaU.conjugate()*CNPSRR1ttEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPSRR1ttEtau4(xc ,xb ,xt , xS) +
395 etaU.abs2()*CNPSRR1ttEtau2(xc ,xb ,xt , xS);
396 }
397
398gslpp::complex THDMWMatching::CNPSRR1(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
399 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*CNPSRR1tt(xc, xb, xt, xS, etaU, etaD)+
400 2*myTHDMW.getCKM().computelamt_s().conjugate()*myTHDMW.getCKM().computelamc_s().conjugate()*CNPSRR1ct(xc, xb, xt, xS, etaU, etaD);
401 }
402
403
404
405
406
407
408
409
410
411
412
413double THDMWMatching::CNPSRR2ctEtadEtasuEtau2(double xc, double xb, double xt, double xS){
414 return -21*CNPSRR1ctEtadEtasuEtau2(xc, xb, xt, xS)/76;
415 }
416
417double THDMWMatching::CNPSRR2ctEtad2Etasu2(double xc, double xb, double xt, double xS){
418 return -21*CNPSRR1ctEtad2Etasu2(xc, xb, xt, xS)/76;
419 }
420
421double THDMWMatching::CNPSRR2ctEtadEtasu(double xc, double xb, double xt, double xS){
422 return -3*CNPSRR1ctEtadEtasu(xc, xb, xt, xS)/20;
423 }
424
425double THDMWMatching::CNPSRR2ctEtau4(double xc, double xb, double xt, double xS){
426 return -21*CNPSRR1ctEtau4(xc, xb, xt, xS)/76;
427 }
428
429double THDMWMatching::CNPSRR2ctEtau2(double xc, double xb, double xt, double xS){
430 return -3*CNPSRR1ctEtau2(xc, xb, xt, xS)/20;
431 }
432
433gslpp::complex THDMWMatching::CNPSRR2ct(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
434 return etaD*etaU.conjugate()*etaU.abs2()*CNPSRR2ctEtadEtasuEtau2(xc ,xb ,xt , xS)+pow(etaD*etaU.conjugate(),2)*CNPSRR2ctEtad2Etasu2(xc ,xb ,xt , xS)+
435 etaD*etaU.conjugate()*CNPSRR2ctEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPSRR2ctEtau4(xc ,xb ,xt , xS) +
436 etaU.abs2()*CNPSRR2ctEtau2(xc ,xb ,xt , xS);
437 }
438
439
440
441
442double THDMWMatching::CNPSRR2ttEtadEtasuEtau2(double xc, double xb, double xt, double xS){
443 return -21*CNPSRR1ttEtadEtasuEtau2(xc, xb, xt, xS)/76;
444 }
445
446double THDMWMatching::CNPSRR2ttEtad2Etasu2(double xc, double xb, double xt, double xS){
447 return -21*CNPSRR1ttEtad2Etasu2(xc, xb, xt, xS)/76;
448 }
449
450double THDMWMatching::CNPSRR2ttEtadEtasu(double xc, double xb, double xt, double xS){
451 return -3*CNPSRR1ttEtadEtasu(xc, xb, xt, xS)/20;
452 }
453
454double THDMWMatching::CNPSRR2ttEtau4(double xc, double xb, double xt, double xS){
455 return -21*CNPSRR1ttEtau4(xc, xb, xt, xS)/76;
456 }
457
458double THDMWMatching::CNPSRR2ttEtau2(double xc, double xb, double xt, double xS){
459 return -3*CNPSRR1ttEtau2(xc, xb, xt, xS)/20;
460 }
461
462gslpp::complex THDMWMatching::CNPSRR2tt(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
463 return etaD*etaU.conjugate()*etaU.abs2()*CNPSRR2ttEtadEtasuEtau2(xc ,xb ,xt , xS)+pow(etaD*etaU.conjugate(),2)*CNPSRR2ttEtad2Etasu2(xc ,xb ,xt , xS)+
464 etaD*etaU.conjugate()*CNPSRR2ttEtadEtasu(xc ,xb ,xt , xS)+pow(etaU.abs2(),2)*CNPSRR2ttEtau4(xc ,xb ,xt , xS) +
465 etaU.abs2()*CNPSRR2ttEtau2(xc ,xb ,xt , xS);
466 }
467
468
469
470gslpp::complex THDMWMatching::CNPSRR2(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD){
471 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*CNPSRR2tt(xc, xb, xt, xS, etaU, etaD)+
472 2*myTHDMW.getCKM().computelamt_s().conjugate()*myTHDMW.getCKM().computelamc_s().conjugate()*CNPSRR2ct(xc, xb, xt, xS, etaU, etaD);
473 }
474
475
476
477
478
479
480
481
482
483
484//Functions Needed from 1504.00839
485
486double THDMWMatching::f1(double xc, double xt, double xS){
487 double f1 = -(xc*xS*xt)/(9.*pow(-1 + xS,3)*(-3*xc + xS)*pow(xS - xt,3));
488 return f1;
489 }
490
491double THDMWMatching::f2(double xb, double xt, double xS){
492 double f2 = -6*pow(xS,5) + 12*pow(xS,4)*(3 + xt) - 3*pow(xS,3)*(xb*(-6 + xt)
493 + 2*(9 + 12*xt + pow(xt,2)));
494 return f2;
495 }
496
497double THDMWMatching::f3(double xb, double xt, double xS){
498 double f3 = pow(xS,2)*(xb*(2 - 8*xt + pow(xt,2)) + 12*(2 + 9*xt + 3*pow(xt,2)));
499 return f3;
500 }
501
502double THDMWMatching::f4(double xb, double xt, double xS){
503 double f4 = xS*xt*(xb*(-41 + 6*xt) - 6*(8 + 9*xt)) + xt*(24*xt + xb*(12 + 13*xt));
504 return f4;
505 }
506
507double THDMWMatching::f5(double xc, double xt, double xS){
508 double f5 = (xc*pow(xt,2))/(9.*pow(xS - xt,3)*pow(-1 + xt,3)*(-3*xc + xt));
509 return f5;
510 }
511
512double THDMWMatching::f6(double xb, double xt, double xS){
513 double f6 = pow(xS,2)*(-6*(-4 + xt)*pow(-1 + xt,2) + xb*(2 + 7*xt + pow(xt,2)));
514 return f6;
515 }
516
517double THDMWMatching::f7(double xb, double xt, double xS){
518 double f7 = xS*xt*(12*(-4 + xt)*pow(-1 + xt,2) - xb*(5 + 12*xt + 3*pow(xt,2)));
519 return f7;
520 }
521
522double THDMWMatching::f8(double xb, double xt){
523 double f8 = xt*(-6*(-4 + xt)*pow(-1 + xt,2)*xt + xb*(12 - 23*xt + 21*pow(xt,2)));
524 return f8;
525 }
526
527double THDMWMatching::f9(double xc,double xb, double xt, double xS){
528 double f9 = (2*xb*xc*xt)/(9.*pow(-1 + xS,2)*pow(xS - xt,2)*pow(-1 + xt,2)*(2*xc*xS + 2*xc*xt - xS*xt + 2*xc*xS*xt));
529 return f9;
530 }
531
532double THDMWMatching::f10(double xt, double xS){
533 double f10 = pow(xS,4)*(6 - 15*xt + 4*pow(xt,2)) + pow(xS,3)*(-12 + 19*xt + 17*pow(xt,2) - 9*pow(xt,3));
534 return f10;
535 }
536
537double THDMWMatching::f11(double xt, double xS){
538 double f11 = pow(xS,2)*(6 + 21*xt - 70*pow(xt,2) + 24*pow(xt,3) + 4*pow(xt,4)) ;
539 return f11;
540 }
541
542double THDMWMatching::f12(double xt, double xS){
543 double f12 = 3*pow(-1 + xt,2)*pow(xt,2) + xS*xt*(-15 + 16*xt + 21*pow(xt,2) - 17*pow(xt,3));
544 return f12;
545 }
546
547double THDMWMatching::f13(double xt, double xS){
548 double f13 = (2*xS*pow(xt,2))/(9.*pow(-1 + xS,3)*pow(xS - xt,4));
549 return f13;
550 }
551
552double THDMWMatching::f14(double xb, double xt, double xS){
553 double f14 = 3*pow(xS,5) - 6*pow(xS,4)*(3 + xt) + 3*pow(xS,3)*(9 + xb*(-3 + xt) + 12*xt + pow(xt,2));
554 return f14;
555 }
556
557double THDMWMatching::f15(double xb, double xt, double xS){
558 double f15 = -(pow(xS,2)*(xb*(1 + 10*xt + pow(xt,2)) + 6*(2 + 9*xt + 3*pow(xt,2))));
559 return f15;
560 }
561
562double THDMWMatching::f16(double xb, double xt, double xS){
563 double f16 = -12*xt*(xt + xb*(1 + xt)) + 3*xS*xt*(8 + 9*xt + xb*(13 + xt));
564 return f16;
565 }
566
567double THDMWMatching::f17( double xt, double xS){
568 double f17 = (2*pow(xt,2))/(9.*pow(xS - xt,4)*pow(-1 + xt,4));
569 return f17;
570 }
571
572double THDMWMatching::f18(double xb, double xt, double xS){
573 double f18 = pow(xS,3)*(xb*(1 + 9*xt) + 3*pow(-1 + xt,2)*(4 - 2*xt + pow(xt,2)));
574 return f18;
575 }
576
577double THDMWMatching::f19(double xb, double xt, double xS){
578 double f19 = -3*pow(xS,2)*xt*(xb*(1 + 9*xt) + pow(-1 + xt,2)*(8 - xt + 2*pow(xt,2)));
579 return f19;
580 }
581
582double THDMWMatching::f20(double xb, double xt, double xS){
583 double f20 = 3*xS*xt*(xt*pow(-2 + xt + pow(xt,2),2) + xb*(4 - 12*xt + 24*pow(xt,2) - 7*pow(xt,3) + pow(xt,4)));
584 return f20;
585 }
586
587double THDMWMatching::f21(double xb, double xt){
588 double f21 = -(pow(xt,4)*(9*pow(-1 + xt,2) + xb*(12 - 3*xt + pow(xt,2))));
589 return f21;
590 }
591
592double THDMWMatching::f22(double xb, double xt, double xS){
593 double f22 = f18(xb,xt,xS)+f19(xb,xt,xS);
594 return f22;
595 }
596
597double THDMWMatching::f23(double xb, double xt, double xS){
598 double f23 = f20(xb,xt,xS)+f21(xb,xt);
599 return f23;
600 }
601
602double THDMWMatching::f24(double xt, double xS){
603 double f24 = xt/(27.*pow(-1 + xS,2)*pow(xS - xt,3)*pow(-1 + xt,3));
604 return f24;
605 }
606
607double THDMWMatching::f25(double xb, double xt, double xS){
608 double f25 = xb*pow(xS,4)*(-12 + 65*xt + 2*pow(xt,2) + 5*pow(xt,3)) -
609 2*xb*pow(xS,3)*(-12 + 47*xt + 85*pow(xt,2) - 11*pow(xt,3) + 11*pow(xt,4));
610 return f25;
611 }
612
613double THDMWMatching::f26(double xb, double xt, double xS){
614 double f26 = xb*pow(xS,2)*(-12 - 91*xt + 574*pow(xt,2) - 246*pow(xt,3) + 130*pow(xt,4) + 5*pow(xt,5));
615 return f26;
616 }
617
618double THDMWMatching::f27(double xb, double xt, double xS){
619 double f27 = -2*xb*xS*xt*(-30 + 95*xt + 49*pow(xt,2) - 11*pow(xt,3) + 17*pow(xt,4));
620 return f27;
621 }
622
623double THDMWMatching::f28(double xb, double xt){
624 double f28 = xb*pow(xt,2)*(24 - 43*xt + 110*pow(xt,2) - 31*pow(xt,3));
625 return f28;
626 }
627
628double THDMWMatching::f29(double xt, double xS){
629 double f29 = -18*pow(-1 + xS,2)*pow(xS - xt,2)*(-4 + xt)*pow(-1 + xt,2)*xt;
630 return f29;
631 }
632
633double THDMWMatching::f30(double xb, double xt, double xS){
634 double f30 = f25(xb,xt,xS)+f26(xb,xt,xS)+f26(xb,xt,xS);
635 return f30;
636 }
637
638double THDMWMatching::f31(double xb, double xt, double xS){
639 double f31 = f28(xb,xt)+f29(xt,xS);
640 return f31;
641 }
642
643double THDMWMatching::f32(double xc, double xb, double xt, double xS){
644 double f32 = (5*xb*xc*xS*xt*(4*pow(xt,2) - xS*xt*(5 + 3*xt) + pow(xS,2)*(2 + xt + pow(xt,2))))/(9.*pow(-1 + xS,3)*(-3*xc + xS)*pow(xS - xt,3));
645 return f32;
646 }
647
648double THDMWMatching::f33(double xc, double xb, double xt, double xS){
649 double f33 = (5*xb*xc*pow(xt,2))/(9.*pow(xS - xt,3)*pow(-1 + xt,3)*(-3*xc + xt));
650 return f33;
651 }
652
653double THDMWMatching::f34(double xt, double xS){
654 double f34 =xS*xt*(-5 + 6*xt - 3*pow(xt,2)) + pow(xS,2)*(2 - 2*xt + pow(xt,2)) + pow(xt,2)*(4 - 6*xt + 3*pow(xt,2));
655 return f34;
656 }
657
658double THDMWMatching::f35(double xc, double xb, double xt, double xS){
659 double f35 = (5*xb*xc*xS*pow(xt,2))/(18.*pow(-1 + xS,2)*pow(xS - xt,2)*pow(-1 + xt,2)*(-(xS*xt) + 2*xc*(xt + xS*(1 + xt))));
660 return f35;
661 }
662
663double THDMWMatching::f36(double xt, double xS){
664 double f36 = pow(xS,3)*(-3 + xt) + pow(xS,2)*(4 + 5*xt - 3*pow(xt,2)) ;
665 return f36;
666 }
667
668double THDMWMatching::f37(double xt, double xS){
669 double f37 = xt*(-5 + 15*xt - 8*pow(xt,2)) + xS*(3 - 13*xt + 4*pow(xt,3)) ;
670 return f37;
671 }
672
673double THDMWMatching::f38(double xb, double xt, double xS){
674 double f38 = (10*xb*xS*pow(xt,2)*(3*pow(xt,2) - 3*xS*xt*(1 + xt) + pow(xS,2)*(1 + xt + pow(xt,2))))/(9.*pow(-1 + xS,3)*pow(xS - xt,4));
675 return f38;
676 }
677
678double THDMWMatching::f39(double xb, double xt, double xS){
679 double f39 = (10*xb*pow(xt,2)*(pow(xS,3) - 3*pow(xS,2)*xt + 3*xS*pow(xt,2) - pow(xt,4)*(3 - 3*xt + pow(xt,2))))/(9.*pow(xS - xt,4)*pow(-1 + xt,4));
680 return f39;
681 }
682
683double THDMWMatching::f40(double xb, double xt, double xS){
684 double f40 = (5*xb*pow(xt,2))/(27.*pow(-1 + xS,2)*pow(xS - xt,3)*pow(-1 + xt,3));
685 return f40;
686 }
687
688double THDMWMatching::f41(double xt, double xS){
689 double f41 = pow(xS,4)*(11 - 7*xt + 2*pow(xt,2)) - pow(xS,3)*(19 + 17*xt - 19*pow(xt,2) + 7*pow(xt,3));
690 return f41;
691 }
692
693double THDMWMatching::f42(double xt, double xS){
694 double f42 = pow(xS,2)*(2 + 55*xt - 15*pow(xt,2) - 17*pow(xt,3) + 11*pow(xt,4));
695 return f42;
696 }
697
698double THDMWMatching::f43(double xt, double xS){
699 double f43 = pow(xt,2)*(11 - 7*xt + 2*pow(xt,2)) - xS*xt*(7 + 53*xt - 55*pow(xt,2) + 19*pow(xt,3));
700 return f43;
701 }
@ NNLO
Definition: OrderScheme.h:36
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
@ FULLNNLO
Definition: OrderScheme.h:39
@ NDR
Definition: OrderScheme.h:21
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
@ BOTTOM
Definition: QCD.h:329
lepton
An enum type for leptons.
Definition: QCD.h:310
A class for the matching in the Standard Model.
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
A base class for symmetric Two-Higgs-Doublet-Manohar-Wise models.
Definition: THDMW.h:233
virtual gslpp::complex CPNP(double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
virtual double CNPVLLctEtadEtasu(double xc, double xb, double xt, double xS)
virtual std::vector< WilsonCoefficient > & CMdbs2()
virtual gslpp::complex CNPVLLtt(double xc, double xb, double xt, double xS, gslpp::complex etaU, gslpp::complex etaD)
virtual double CNPVLLctEtau4(double xc, double xb, double xt, double xS)
virtual double CNPVLLctEtau2(double xc, double xb, double xt, double xS)
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)
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 CNPVLLttEtau4(double xc, double xb, double xt, double xS)
virtual double CNPVLLccEtadEtasu(double xc, double xb, double xS)
virtual gslpp::complex C10NP(double xt, double xS, gslpp::complex etaU)
THDMWMatching(const THDMW &THDMW_i)
virtual double CNPVLLttEtau2(double xc, double xb, double xt, double xS)
virtual double CNPVLLttEtadEtasu(double xc, double xb, double xt, double xS)
virtual gslpp::complex CNPVLLcc(double xc, double xb, 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)