10#include <gsl/gsl_integration.h>
11#include <gsl/gsl_sf_dilog.h>
36 double xHW=mHp2/(MW*MW);
38 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);
39 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);
51 std::stringstream out;
53 throw std::runtime_error(
"THDMMatching::CMdbs2(): order " + out.str() +
"not implemented");
69 vmculeptonnu = StandardModelMatching::CMdiujleptonknu(i,j,k);
76 if (i == 2 && j == 0 && k == 2) {
80 else if (i == 2 && j == 1 && k == 2) {
84 else std::runtime_error(
"THDMMatching::CMbtaunu(): flavour indices not implemented");
87 std::stringstream out;
89 throw std::runtime_error(
"THDMMatching::CMbtaunu(): order " + out.str() +
"not implemented");
108 gslpp::complex co = 1.;
115 for (
int j=0; j<8; j++){
119 for (
int j=0; j<8; j++){
123 for (
int j=0; j<8; j++){
128 std::stringstream out;
130 throw std::runtime_error(
"THDMMatching::CMbsg(): order " + out.str() +
"not implemented");
133 vmcbsg.push_back(
mcbsg);
147 for (
int j=0; j<8; j++){
151 for (
int j=0; j<8; j++){
155 for (
int j=0; j<8; j++){
160 std::stringstream out;
162 throw std::runtime_error(
"THDMMatching::CMprimebsg(): order " + out.str() +
"not implemented");
188 std::stringstream out;
190 throw std::runtime_error(
"order" + out.str() +
"not implemeted");
196 double x = mt*mt/mhp/mhp;
206 double xm6 = xm4*xm2;
207 double xm8 = xm4*xm4;
208 double xo = 1. - 1./x;
210 double xo4 = xo*xo2*xo;
211 double xo6 = xo4*xo2;
212 double xo8 = xo4*xo4;
216 double tan2 = tan*tan;
217 double Li2 = gsl_sf_dilog(1.-1./x);
219 double lstmu = 2. * log(mu/mt);
221 double n70ct = - ( (7. - 5.*x - 8.*x2)/(36.*xm3) + (2.*x - 3.*x2)*Lx/(6.*xm4) ) * x/2.;
222 double n70fr = ( (3.*x - 5.*x2)/(6.*xm2) + (2.*x - 3.*x2)*Lx/(3.*xm3) ) / 2.;
224 double n80ct = - ( (2. + 5.*x - x2)/(12.*xm3) + (x*Lx)/(2.*xm4) ) * x/2.;
225 double n80fr = ( (3.*x - x2)/(2.*xm2) + (x*Lx)/xm3 ) / 2.;
227 double n41ct = (-16.*x + 29.*x2 - 7.*x3)/(36.*xm3) + (-2.*x + 3.*x2)*Lx/(6.*xm4);
230 double n71ct = (797.*x - 5436.*x2 + 7569.*x3 - 1202.*x4)/(486.*xm4) +
231 (36.*x2 - 74.*x3 + 16.*x4)*
Li2/(9.*xm4) +
232 ((7.*x - 463.*x2 + 807.*x3 - 63.*x4)*Lx)/(81.*xm3*xm2);
233 double cd71ct = (-31.*x - 18.*x2 + 135.*x3 - 14.*x4)/(27.*xm4) + (-28.*x2 + 46.*x3 + 6.*x4)*Lx/(9.*xm3*xm2);
234 double n71fr = (28.*x - 52.*x2 + 8.*x3)/(3.*xm3) + (-48.*x + 112.*x2 - 32.*x3)*
Li2/(9.*xm3) +
235 (66.*x - 128.*x2 + 14.*x3)*Lx/(9.*xm4);
236 double cd71fr = (42.*x - 94.*x2 + 16.*x3)/(9.*xm3) + (32.*x - 56.*x2 - 12.*x3)*Lx/(9.*xm4);
238 double n81ct = (1130.*x - 18153.*x2 + 7650.*x3 - 4451.*x4)/(1296.*xm4) +
239 (30.*x2 - 17.*x3 + 13.*x4)*
Li2/(6.*xm4) +
240 (-2.*x - 2155.*x2 + 321.*x3 - 468.*x4)*Lx/(216.*xm3*xm2);
241 double cd81ct = (-38.*x - 261.*x2 + 18.*x3 - 7.*x4)/(36.*xm4) + (-31.*x2 - 17.*x3)*Lx/(6.*xm3*xm2);
242 double n81fr = (143.*x - 44.*x2 + 29.*x3)/(8.*xm3) + (-36.*x + 25.*x2 - 17.*x3)*
Li2/(6.*xm3) +
243 (165.*x - 7.*x2 + 34.*x3)*Lx/(12.*xm4);
244 double cd81fr = (81.*x - 16.*x2 + 7.*x3)/(6.*xm3) + (19.*x + 17.*x2)*Lx/(3.*xm4);
246 double n32ct = (10.*x4 + 30.*x2 - 20.*x)/(27.*xm4) *
Li2 +
247 (30.*x3 - 66.*x2 - 56.*x)/(81.*xm4) * Lx + (6.*x3 - 187.*x2 + 213.*x)/(-81.*xm3);
248 double cd32ct = (-30.*x2 + 20.*x)/(27.*xm4)*Lx + (-35.*x3 + 145.*x2 - 80.*x)/(-81.*xm3);
250 double n42ct = (515.*x4 - 906.*x3 + 99.*x2 + 182.*x)/(54.*xm4) *
Li2 +
251 (1030.*x4 - 2763.*x3 - 15.*x2 + 980.*x)/(-108.*xm3*xm2)*Lx +
252 (-29467.*x4 + 68142.*x3 - 6717.*x2 - 18134.*x)/(1944.*xm4);
253 double cd42ct = (-375.*x3 - 95.*x2 + 182.*x)/(-54.*xm3*xm2)*Lx +
254 (133.*x4 - 108.*x3 + 4023.*x2 - 2320.*x)/(324.*xm4);
256 double cd72ct = -(x * (67930.*x4 - 470095.*x3 + 1358478.*x2 - 700243.*x + 54970.))/(-2187.*xm3*xm2) +
257 (x * (10422.*x4 - 84390.*x3 + 322801.*x2 - 146588.*x + 1435.))/(729.*xm6)*Lx +
258 (2.*x2 * (260.*x3 - 1515.*x2 + 3757.*x - 1446.))/(-27. * xm3*xm2) *
Li2;
259 double ce72ct = (x * (-518.*x4 + 3665.*x3 - 17397.*x2 + 3767.*x + 1843.))/(-162.*xm3*xm2) +
260 (x2 * (-63.*x3 + 532.*x2 + 2089.*x - 1118.))/(27.*xm6)*Lx;
261 double cd72fr = -(x * (3790.*x3 - 22511.*x2 + 53614.*x - 21069.))/(81.*xm4) -
262 (2.*x * (-1266.*x3 + 7642.*x2 - 21467.*x + 8179.))/(-81.*xm3*xm2)*Lx +
263 (8.*x * (139.*x3 - 612.*x2 + 1103.*x - 342.))/(27.*xm4) *
Li2;
264 double ce72fr = -(x * (284.*x3 - 1435.*x2 + 4304.*x - 1425.))/(27.*xm4) -
265 (2.*x * (63.*x3 - 397.*x2 - 970.*x + 440.))/(-27.*xm3*xm2)*Lx;
267 double cd82ct = -(x * (522347.*x4 - 2423255.*x3 + 2706021.*x2 - 5930609.*x + 148856))/(-11664.*xm3*xm2) +
268 (x * (51948.*x4 - 233781.*x3 + 48634.*x2 - 698693.*x + 2452.))/(1944.*xm6)*Lx +
269 (x2 * (481.*x3 - 1950.*x2 + 1523.*x - 2550.))/(-18.*xm3*xm2) *
Li2;
270 double ce82ct = (x * (-259.*x4 + 1117.*x3 + 2925.*x2 + 28411.*x + 2366.))/(-216.*xm3*xm2) -
271 (x2 * (139.*x2 + 2938.*x + 2683.))/(36.*xm6)*Lx;
272 double cd82fr = -(x * (1463.*x3 - 5794.*x2 + 5543.*x - 15036.))/(27.*xm4) -
273 (x * (-1887.*x3 + 7115.*x2 + 2519.*x + 19901.))/(-54.*xm3*xm2)*Lx -
274 (x * (-629.*x3 + 2178.*x2 - 1729.*x + 2196.))/(18.*xm4) *
Li2;
275 double ce82fr = -(x * (259.*x3 - 947.*x2 - 251.*x - 5973.))/(36.*xm4)-
276 (x * (139.*x2 + 2134.*x + 1183.))/(-18.*xm3*xm2)*Lx;
280 n72ct = -274.2/x5 - 72.13*Lx/x5 + 24.41/x4 - 168.3*Lx/x4 + 79.15/x3 -
281 103.8*Lx/x3 + 47.09/x2 - 38.12*Lx/x2 + 15.35/x - 8.753*Lx/x + 3.970;
283 n72ct = 1.283 + 0.7158 * xo + 0.4119 * xo2 + 0.2629 * xo*xo2 + 0.1825 * xo4 +
284 0.1347 * xo*xo4 + 0.1040 * xo6 + 0.0831 * xo*xo6 + 0.06804 * xo8 +
285 0.05688 * xo*xo8 + 0.04833 * xo2*xo8 + 0.04163 * xo*xo2*xo8 + 0.03625 * xo4*xo8 +
286 0.03188 * xo*xo4*xo8 + 0.02827 * xo6*xo8 + 0.02525 * xo*xo6*xo8 + 0.02269 * xo8*xo8;
288 n72ct = 1.283 - 0.7158 * xm - 0.3039 * xm2 - 0.1549 * xm3 - 0.08625 * xm4 -
289 0.05020 * xm3*xm2 - 0.02970 * xm6 - 0.01740 * xm3*xm4 - 0.009752 * xm8 -
290 0.004877 * xm3*xm6 - 0.001721 * xm2*xm8 + 0.0003378 * xm3*xm8 + 0.001679 * xm4*xm8 +
291 0.002542 * xm*xm4*xm8 + 0.003083 * xm6*xm8 + 0.003404 * xm*xm6*xm8 + 0.003574 * xm8*xm8;
292 else n72ct = -823.0*x5 + 42.30*x5*Lx3 - 412.4*x5*Lx2 - 3362*x5*Lx -
293 1492*x4 - 23.26*x4*Lx3 - 541.4*x4*Lx2 - 2540*x4*Lx -
294 1158*x3 - 34.50*x3*Lx3 - 348.2*x3*Lx2 - 1292*x3*Lx -
295 480.9*x2 - 20.73*x2*Lx3 - 112.4*x2*Lx2 - 396.1*x2*Lx -
296 8.278*x + 0.9225*x*Lx2 + 4.317*x*Lx;
300 n72fr = -( 194.3/x5 + 101.1*Lx/x5 - 24.97/x4 + 168.4*Lx/x4 - 78.90/x3 +
301 106.2*Lx/x3 - 49.32/x2 + 38.43*Lx/x2 - 12.91/x + 9.757*Lx/x + 8.088 );
303 n72fr = -( 12.82 - 1.663 * xo - 0.8852 * xo2 - 0.4827 * xo*xo2 - 0.2976 * xo4 -
304 0.2021 * xo*xo4 - 0.1470 * xo6 - 0.1125 * xo*xo6 - 0.08931 * xo8 -
305 0.07291 * xo*xo8 - 0.06083 * xo2*xo8 - 0.05164 * xo*xo2*xo8 - 0.04446 * xo4*xo8 -
306 0.03873 * xo*xo4*xo8 - 0.03407 * xo6*xo8 - 0.03023 * xo*xo6*xo8 - 0.02702 * xo8*xo8 );
308 n72fr = -( 12.82 + 1.663 * xm + 0.7780 * xm2 + 0.3755 * xm3 + 0.1581 * xm4 +
309 0.03021 * xm3*xm2 - 0.04868 * xm6 - 0.09864 * xm3*xm4 - 0.1306 * xm8 -
310 0.1510 * xm3*xm6 - 0.1637 * xm2*xm8 - 0.1712 * xm3*xm8 - 0.1751 * xm4*xm8 -
311 0.1766 * xm*xm4*xm8 - 0.1763 * xm6*xm8 - 0.1748 * xm*xm6*xm8 - 0.1724 * xm8*xm8 );
312 else n72fr = -( 2828 * x5 - 66.63 * x5*Lx3 + 469.4 * x5*Lx2 + 1986 * x5*Lx +
313 1480 * x4 + 36.08 * x4*Lx3 + 323.2 * x4*Lx2 + 169.9 * x4*Lx +
314 166.7 * x3 + 19.73 * x3*Lx3 - 46.61 * x3*Lx2 - 826.2 * x3*Lx -
315 524.1 * x2 - 8.889 * x2*Lx3 - 195.7 * x2*Lx2 - 870.3 * x2*Lx -
316 572.2 * x - 20.94 * x*Lx3 - 123.5 * x*Lx2 - 453.5 * x*Lx );
320 n82ct = 826.2/x5 - 300.7*Lx/x5 + 96.35/x4 + 91.89*Lx/x4 - 66.39/x3 +
321 78.58*Lx/x3 - 39.76/x2 + 20.02*Lx/x2 - 5.214/x + 2.278;
323 n82ct = 1.188 + 0.4078 * xo + 0.2002 * xo2 + 0.1190 * xo*xo2 + 0.07861 * xo4 +
324 0.05531 * xo*xo4 + 0.04061 * xo6 + 0.03075 * xo*xo6 + 0.02386 * xo8 +
325 0.01888 * xo*xo8 + 0.01520 * xo2*xo8 + 0.01241 * xo*xo2*xo8 + 0.01026 * xo4*xo8 +
326 0.008575 * xo*xo4*xo8 + 0.007238 * xo6*xo8 + 0.006164 * xo*xo6*xo8 + 0.005290 * xo8*xo8;
328 n82ct = 1.188 - 0.4078 * xm - 0.2076 * xm2 - 0.1265 * xm3 - 0.08570 * xm4 -
329 0.06204 * xm3*xm2 - 0.04689 * xm6 - 0.03652 * xm3*xm4 - 0.02907 * xm8 -
330 0.02354 * xm3*xm6 - 0.01933 * xm2*xm8 - 0.01605 * xm3*xm8 - 0.01345 * xm4*xm8 -
331 0.01137 * xm*xm4*xm8 - 0.009678 * xm6*xm8 - 0.008293 * xm*xm6*xm8 - 0.007148 * xm8*xm8;
332 else n82ct = -19606 * x5 - 226.7 * x5*Lx3 - 5251 * x5*Lx2 - 26090 * x5*Lx -
333 9016 * x4 - 143.4 * x4*Lx3 - 2244 * x4*Lx2 - 10102 * x4*Lx -
334 3357 * x3 - 66.32 * x3*Lx3 - 779.6 * x3*Lx2 - 3077 * x3*Lx -
335 805.5 * x2 - 22.98 * x2*Lx3 - 169.1 * x2*Lx2 - 602.7 * x2*Lx +
336 0.7437 * x + 0.6908 * x*Lx2 + 3.238 * x*Lx;
340 n82fr = -( -1003/x5 + 476.9*Lx/x5 - 205.7/x4 - 71.62*Lx/x4 + 62.26/x3 -
341 110.7*Lx/x3 + 63.74/x2 - 35.42*Lx/x2 + 10.89/x - 3.174 );
343 n82fr = -( -0.6110 - 1.095 * xo - 0.4463 * xo2 - 0.2568 * xo*xo2 - 0.1698 * xo4 -
344 0.1197 * xo*xo4 - 0.08761 * xo6 - 0.06595 * xo*xo6 - 0.05079 * xo8 -
345 0.03987 * xo*xo8 - 0.03182 * xo2*xo8 - 0.02577 * xo*xo2*xo8 - 0.02114 * xo4*xo8 -
346 0.01754 * xo*xo4*xo8 - 0.01471 * xo6*xo8 - 0.01244 * xo*xo6*xo8 - 0.01062 * xo8*xo8 );
348 n82fr = -( -0.6110 + 1.095 * xm + 0.6492 * xm2 + 0.4596 * xm3 + 0.3569 * xm4 +
349 0.2910 * xm3*xm2 + 0.2438 * xm6 + 0.2075 * xm3*xm4 + 0.1785 * xm8 +
350 0.1546 * xm3*xm6 + 0.1347 * xm2*xm8 + 0.1177 * xm3*xm8 + 0.1032 * xm4*xm8 +
351 0.09073 * xm*xm4*xm8 + 0.07987 * xm6*xm8 + 0.07040 * xm*xm6*xm8 + 0.06210 * xm8*xm8 );
352 else n82fr = -( -15961 * x5 + 1003 * x5*Lx3 - 2627 * x5*Lx2 - 29962 * x5*Lx -
353 11683 * x4 + 54.66 * x4*Lx3 - 2777 * x4*Lx2 - 17770 * x4*Lx -
354 6481 * x3 - 40.68 * x3*Lx3 - 1439 * x3*Lx2 - 7906 * x3*Lx -
355 2943 * x2 - 31.83 * x2*Lx3 - 612.6 * x2*Lx2 - 2770 * x2*Lx -
356 929.8 * x - 19.80 * x*Lx3 - 174.7 * x*Lx2 - 658.4 * x*Lx );
365 CWbsgArrayNNLO[6] = ( n72ct + cd72ct * lstmu + ce72ct * lstmu * lstmu)/tan2 +
366 n72fr + cd72fr * lstmu + ce72fr * lstmu * lstmu
368 CWbsgArrayNNLO[7] = ( n82ct + cd82ct * lstmu + ce82ct * lstmu * lstmu)/tan2 +
369 n82fr + cd82fr * lstmu + ce82fr * lstmu * lstmu
380 std::stringstream out;
382 throw std::runtime_error(
"order" + out.str() +
"not implemeted");
408 std::stringstream out;
410 throw std::runtime_error(
"order" + out.str() +
"not implemeted");
432 double sinb=tanb/sqrt(1.0+tanb*tanb);
433 double cosb=1.0/sqrt(1.0+tanb*tanb);
435 double sina=sinb*cos(bma)-cosb*sin(bma);
436 double cosa=cosb*cos(bma)+sinb*sin(bma);
438 double ymu_h, ymu_H, ymu_A;
439 double rmu_hSM, rmu_h, rmu_H, rmu_A, rmu_Hp;
440 double part_hSM, part_h, part_H, part_A, part_Hp;
442 if( modelflag ==
"type1" ) {
447 else if( modelflag ==
"type2" ) {
452 else if( modelflag ==
"typeX" ) {
457 else if( modelflag ==
"typeY" ) {
463 throw std::runtime_error(
"modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
466 if( mHl2<1.0 || mHh2<1.0 || mA2<1.0 || mHp2<1.0)
468 throw std::runtime_error(
"The implemented approximation for g-2_\\mu only works for Higgs masses above 1 GeV.");
470 rmu_hSM=mMU*mMU/15647.5081;
478 part_hSM=rmu_hSM*(-7.0/6.0-log(rmu_hSM));
479 part_h=ymu_h*ymu_h*rmu_h*(-7.0/6.0-log(rmu_h));
480 part_H=ymu_H*ymu_H*rmu_H*(-7.0/6.0-log(rmu_H));
481 part_A=ymu_A*ymu_A*rmu_A*(11.0/6.0+log(rmu_A));
482 part_Hp=-ymu_A*ymu_A*rmu_Hp*1.0/6.0;
484 gminus2muLO=GF*mMU*mMU/(4.0*pi*pi*sqrt(2.0)) * (-part_hSM+part_h+part_H+part_A+part_Hp);
495 double integ = (2.0*x*(1.0-x)-1.0) * log(x*(1.0-x)/params.
a) / (x*(1.0-x)-params.
a);
501 double integ = log(x*(1.0-x)/params.
a) / (x*(1.0-x)-params.
a);
511 gsl_integration_glfixed_table * w
512 = gsl_integration_glfixed_table_alloc(100);
516 F.params =
reinterpret_cast<void *
>(¶ms);
518 result = gsl_integration_glfixed (&F, 0, 1, w);
520 gsl_integration_glfixed_table_free (w);
532 gsl_integration_glfixed_table * w
533 = gsl_integration_glfixed_table_alloc(100);
537 F.params =
reinterpret_cast<void *
>(¶ms);
539 result = gsl_integration_glfixed (&F, 0, 1, w);
541 gsl_integration_glfixed_table_free (w);
563 double sinb=tanb/sqrt(1.0+tanb*tanb);
564 double cosb=1.0/sqrt(1.0+tanb*tanb);
566 double sina=sinb*cos(bma)-cosb*sin(bma);
567 double cosa=cosb*cos(bma)+sinb*sin(bma);
569 double ymu_h, ymu_H, ymu_A, yb_h, yb_H, yb_A, yt_h, yt_H, yt_A;
570 double rtau_hSM, rtau_h, rtau_H, rtau_A, rt_hSM, rt_h, rt_H, rt_A, rb_hSM, rb_h, rb_H, rb_A;
571 double part_hSM, part_h, part_H, part_A;
577 if( modelflag ==
"type1" ) {
585 else if( modelflag ==
"type2" ) {
593 else if( modelflag ==
"typeX" ) {
601 else if( modelflag ==
"typeY" ) {
610 throw std::runtime_error(
"modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
613 if( mHl2<mMU*mMU || mHh2<mMU*mMU || mA2<mMU*mMU || mHp2<mMU*mMU)
615 throw std::runtime_error(
"The implemented two-loop approximation for g-2_\\mu only works for Higgs masses above m_mu^2.");
617 rtau_hSM=mTAU*mTAU/15647.5081;
618 rtau_h=mTAU*mTAU/mHl2;
619 rtau_H=mTAU*mTAU/mHh2;
620 rtau_A=mTAU*mTAU/mA2;
621 rt_hSM=mt*mt/15647.5081;
625 rb_hSM=mb*mb/15647.5081;
630 part_hSM=rtau_hSM*
gscalar(rtau_hSM)+(4.0/3.0)*rt_hSM*
gscalar(rt_hSM)+(1.0/3.0)*rb_hSM*
gscalar(rb_hSM);
631 part_h=ymu_h*(ymu_h*rtau_h*
gscalar(rtau_h)+(4.0/3.0)*yt_h*rt_h*
gscalar(rt_h)+(1.0/3.0)*yb_h*rb_h*
gscalar(rb_h));
632 part_H=ymu_H*(ymu_H*rtau_H*
gscalar(rtau_H)+(4.0/3.0)*yt_H*rt_H*
gscalar(rt_H)+(1.0/3.0)*yb_H*rb_H*
gscalar(rb_H));
635 gminus2muNLO=GF*mMU*mMU/(4.0*pi*pi*pi*sqrt(2.0)) * aem * (-part_hSM+part_h+part_H+part_A);
642 vmcgminus2mu = StandardModelMatching::CMgminus2mu();
658 std::stringstream out;
660 throw std::runtime_error(
"THDMMatching::CMgminus2mu(): order " + out.str() +
" not implemented.\nOnly leading order (LO) or next-to-leading order (NLO) are allowed.");
664 return(vmcgminus2mu);
double gpseudoscalar(double r)
double __fPS_integrand(double x, void *p)
double __fS_integrand(double x, void *p)
const gslpp::complex computelamt_s() const
The product of the CKM elements .
virtual std::vector< WilsonCoefficient > & CMprimebsg()=0
virtual std::vector< WilsonCoefficient > & CMbsg()=0
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
const double & getMass() const
A get method to access the particle mass.
const Meson & getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
const double getMut() const
A get method to access the threshold between six- and five-flavour theory in GeV.
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
const double getMuw() const
A get method to retrieve the matching scale around the weak scale.
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const CKM & getCKM() const
A get method to retrieve the member object of type CKM.
const gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
virtual const double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
const double getGF() const
A get method to retrieve the Fermi constant .
const double Alstilde5(const double mu) const
The value of at any scale with the number of flavours and full EW corrections.
const double getAle() const
A get method to retrieve the fine-structure constant .
A class for the matching in the Standard Model.
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
A base class for symmetric Two-Higgs-Doublet models.
double getmHp() const
A method get the charged Higgs mass.
std::string getModelTypeflag() const
A method get the THDM model type.
double gettanb() const
A method get .
double getbma() const
A method get .
double getmHh2() const
A method get the squared mass of the "non-125 GeV" neutral scalar Higgs.
double getmHl2() const
A method get the squared mass of the lighter neutral scalar Higgs.
double getmHp2() const
A method get the squared charged Higgs mass.
double getmA2() const
A method get the squared mass of the pseudoscalar Higgs A.
gslpp::matrix< gslpp::complex > myCKM
virtual std::vector< WilsonCoefficient > & CMgminus2mu()
Wilson coefficient for .
virtual std::vector< WilsonCoefficient > & CMprimebsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
virtual std::vector< WilsonCoefficient > & CMdbs2()
virtual double gminus2muLO()
Calculates amplitudes for at one loop from .
double setWCbsg(int i, double tan, double mt, double mhp, double mu, orders order)
WilsonCoefficient mcprimebsg
virtual double gminus2muNLO()
Calculates amplitudes for at approximate two-loop from .
WilsonCoefficient mcbtaunu
THDMMatching(const THDM &THDM_i)
virtual std::vector< WilsonCoefficient > & CMbsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
virtual std::vector< WilsonCoefficient > & CMdiujleptonknu(int i, int j, int k)
WilsonCoefficient mcgminus2mu
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
virtual void setMu(double mu)
orders
An enum type for orders in QCD.