11 #include <gsl/gsl_integration.h>
12 #include <gsl/gsl_sf_dilog.h>
34 double Mut = myTHDMW.getMut();
35 double Muw = myTHDMW.getMuw();
36 double MW = myTHDMW.Mw();
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();
49 double ml=myTHDMW.getLeptons(lepton).getMass();
54 switch (mcbsg.getScheme()) {
59 std::stringstream out;
60 out << mcBMll.getScheme();
61 throw std::runtime_error(
"THDMWMatching::CMBMll(): scheme " + out.str() +
"not implemented");
65 switch (mcBMll.getOrder()) {
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);
74 std::stringstream out;
75 out << mcBMll.getOrder();
76 throw std::runtime_error(
"THDMWMatching::CMBMll(): order " + out.str() +
"not implemented");
78 vmcBMll.push_back(mcBMll);
90 double mhsq= myTHDMW.getMyTHDMWCache()->mhsq;
91 double vev= myTHDMW.v();
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)));
101 double sW2 = myTHDMW.sW2();
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)
107 +etaU.
abs2()*(1-sW2)*
pow(xt,2)*(xS*(
log(xS)-
log(xt))+xt-xS)/(3*
pow(xS-xt,2));
120 double Mut = myTHDMW.getMut();
121 double Muc = myTHDMW.getMuc();
122 double Mub = myTHDMW.getMub();
123 double xt = x_t(Mut);
125 double mb =myTHDMW.Mrun(Mub, myTHDMW.getQuarks(
QCD::BOTTOM).getMass_scale(),
127 double mSp2=myTHDMW.getMyTHDMWCache()->mSpsq;
128 double MW=myTHDMW.Mw();
129 double xb=
pow(mb,2)/(MW*MW);
131 double xS=mSp2/(MW*MW);
134 double GF=myTHDMW.getGF();
135 double co = GF / 4. / M_PI * MW;
141 switch (mcdbs2.getOrder()) {
145 mcdbs2.setCoeff(0, co * co * CNPVLL(xc, xb, xt, xS, etaU, etaD).conjugate(),
LO);
148 std::stringstream out;
149 out << mcdbs2.getOrder();
150 throw std::runtime_error(
"THDMMatching::CMdbs2(): order " + out.str() +
"not implemented");
153 vmcds.push_back(mcdbs2);
157 switch (mcdbs2.getOrder()) {
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);
166 std::stringstream out;
167 out << mcdbs2.getOrder();
168 throw std::runtime_error(
"THDMMatching::CMdbs2(): order " + out.str() +
"not implemented");
171 vmcds.push_back(mcdbs2);
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));
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));
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);
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));
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));
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);
271 return (-2*xb*xc)/(3.*(-xS + 2*xc*(1 + xS)));
275 return (-4*xb*xc)/(9.*(-xS + 3*xc*(1 + xS)));
284 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*
CNPVLLtt(xc, xb, xt, xS, etaU, etaD)+
285 2*myTHDMW.getCKM().computelamt_s().
conjugate()*myTHDMW.getCKM().computelamc_s().
conjugate()*
CNPVLLct(xc, xb, xt, xS, etaU, etaD)+
286 pow(myTHDMW.getCKM().computelamc_s().conjugate(),2)*
CNPVLLcc(xc, xb, xS, etaU, etaD) ;
299 double THDMWMatching::CNPSRR1ctEtadEtasuEtau2(
double xc,
double xb,
double xt,
double xS){
300 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)) -
301 (19*xb*xc*
pow(xt,2)*
log(xt))/(18.*(xc - xt)*
pow(xS - xt,2));
304 double THDMWMatching::CNPSRR1ctEtad2Etasu2(
double xc,
double xb,
double xt,
double xS){
305 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)) +
306 (19*xb*xc*
pow(xt,2)*
log(xt))/(18.*(xc - xt)*
pow(xS - xt,2));
309 double THDMWMatching::CNPSRR1ctEtadEtasu(
double xc,
double xb,
double xt,
double xS){
310 return (-5*xb*xc*xS*(1 + xS - 2*xt)*xt)/(6.*(-1 + xS)*(-xS + xc*(1 + xS))*(xS - xt)*(-1 + xt)) +
311 (5*xb*xc*xS*xt*(-3*xt + xS*(2 + xt))*
log(xS))/(6.*
pow(-1 + xS,2)*(-2*xc + xS)*
pow(xS - xt,2)) +
312 (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));
315 double THDMWMatching::CNPSRR1ctEtau4(
double xc,
double xb,
double xt,
double xS){
316 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))) -
317 (19*xb*xc*
pow(xS,2)*(xS - 3*xt)*xt*
log(xS))/(108.*(4*xc - xS)*
pow(xS - xt,4)) +
318 (19*xb*xc*xS*(xS - 3*xt)*
pow(xt,2)*
log(xt))/(108.*(3*xc - xt)*
pow(xS - xt,4));
321 double THDMWMatching::CNPSRR1ctEtau2(
double xc,
double xb,
double xt,
double xS){
322 return f35(xc,xb,xt,xS)*(f36(xt,xS) + f37(xt,xS)) + f32(xc,xb,xt,xS)*
log(xS) -
323 f33(xc,xb,xt,xS)*f34(xt,xS)*
log(xt);
327 return etaD*etaU.
conjugate()*etaU.
abs2()*CNPSRR1ctEtadEtasuEtau2(xc ,xb ,xt , xS)+
pow(etaD*etaU.
conjugate(),2)*CNPSRR1ctEtad2Etasu2(xc ,xb ,xt , xS)+
328 etaD*etaU.
conjugate()*CNPSRR1ctEtadEtasu(xc ,xb ,xt , xS)+
pow(etaU.
abs2(),2)*CNPSRR1ctEtau4(xc ,xb ,xt , xS) +
329 etaU.
abs2()*CNPSRR1ctEtau2(xc ,xb ,xt , xS);
332 double THDMWMatching::CNPSRR1ttEtadEtasuEtau2(
double xc,
double xb,
double xt,
double xS){
333 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)) +
334 (19*xb*
pow(xt,2)*(xS + xt)*
log(xt))/(18.*
pow(xS - xt,3));
337 double THDMWMatching::CNPSRR1ttEtad2Etasu2(
double xc,
double xb,
double xt,
double xS){
338 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)) -
339 (19*xb*
pow(xt,2)*(xS + xt)*
log(xt))/(18.*
pow(xS - xt,3));
342 double THDMWMatching::CNPSRR1ttEtadEtasu(
double xc,
double xb,
double xt,
double xS){
343 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)) +
344 (5*xb*xS*
pow(xt,2)*(-2*xt + xS*(1 + xt))*
log(xS))/(3.*
pow(-1 + xS,2)*
pow(xS - xt,3)) +
345 (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));
348 double THDMWMatching::CNPSRR1ttEtau4(
double xc,
double xb,
double xt,
double xS){
349 return (-19*xb*
pow(xt,2)*(5*
pow(xS,2) - 22*xS*xt + 5*
pow(xt,2)))/(324.*
pow(xS - xt,4)) +
350 (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))
351 - (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));
354 double THDMWMatching::CNPSRR1ttEtau2(
double xc,
double xb,
double xt,
double xS){
355 return -(f40(xb,xt,xS)*(f41(xt,xS) + f42(xt,xS) + f43(xt,xS))) + f38(xb,xt,xS)*
log(xS) +
356 f39(xb,xt,xS)*
log(xt);
360 return etaD*etaU.
conjugate()*etaU.
abs2()*CNPSRR1ttEtadEtasuEtau2(xc ,xb ,xt , xS)+
pow(etaD*etaU.
conjugate(),2)*CNPSRR1ttEtad2Etasu2(xc ,xb ,xt , xS)+
361 etaD*etaU.
conjugate()*CNPSRR1ttEtadEtasu(xc ,xb ,xt , xS)+
pow(etaU.
abs2(),2)*CNPSRR1ttEtau4(xc ,xb ,xt , xS) +
362 etaU.
abs2()*CNPSRR1ttEtau2(xc ,xb ,xt , xS);
366 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*CNPSRR1tt(xc, xb, xt, xS, etaU, etaD)+
367 2*myTHDMW.getCKM().computelamt_s().
conjugate()*myTHDMW.getCKM().computelamc_s().
conjugate()*CNPSRR1ct(xc, xb, xt, xS, etaU, etaD);
380 double THDMWMatching::CNPSRR2ctEtadEtasuEtau2(
double xc,
double xb,
double xt,
double xS){
381 return -21*CNPSRR1ctEtadEtasuEtau2(xc, xb, xt, xS)/76;
384 double THDMWMatching::CNPSRR2ctEtad2Etasu2(
double xc,
double xb,
double xt,
double xS){
385 return -21*CNPSRR1ctEtad2Etasu2(xc, xb, xt, xS)/76;
388 double THDMWMatching::CNPSRR2ctEtadEtasu(
double xc,
double xb,
double xt,
double xS){
389 return -3*CNPSRR1ctEtadEtasu(xc, xb, xt, xS)/20;
392 double THDMWMatching::CNPSRR2ctEtau4(
double xc,
double xb,
double xt,
double xS){
393 return -21*CNPSRR1ctEtau4(xc, xb, xt, xS)/76;
396 double THDMWMatching::CNPSRR2ctEtau2(
double xc,
double xb,
double xt,
double xS){
397 return -3*CNPSRR1ctEtau2(xc, xb, xt, xS)/20;
401 return etaD*etaU.
conjugate()*etaU.
abs2()*CNPSRR2ctEtadEtasuEtau2(xc ,xb ,xt , xS)+
pow(etaD*etaU.
conjugate(),2)*CNPSRR2ctEtad2Etasu2(xc ,xb ,xt , xS)+
402 etaD*etaU.
conjugate()*CNPSRR2ctEtadEtasu(xc ,xb ,xt , xS)+
pow(etaU.
abs2(),2)*CNPSRR2ctEtau4(xc ,xb ,xt , xS) +
403 etaU.
abs2()*CNPSRR2ctEtau2(xc ,xb ,xt , xS);
409 double THDMWMatching::CNPSRR2ttEtadEtasuEtau2(
double xc,
double xb,
double xt,
double xS){
410 return -21*CNPSRR1ttEtadEtasuEtau2(xc, xb, xt, xS)/76;
413 double THDMWMatching::CNPSRR2ttEtad2Etasu2(
double xc,
double xb,
double xt,
double xS){
414 return -21*CNPSRR1ttEtad2Etasu2(xc, xb, xt, xS)/76;
417 double THDMWMatching::CNPSRR2ttEtadEtasu(
double xc,
double xb,
double xt,
double xS){
418 return -3*CNPSRR1ttEtadEtasu(xc, xb, xt, xS)/20;
421 double THDMWMatching::CNPSRR2ttEtau4(
double xc,
double xb,
double xt,
double xS){
422 return -21*CNPSRR1ttEtau4(xc, xb, xt, xS)/76;
425 double THDMWMatching::CNPSRR2ttEtau2(
double xc,
double xb,
double xt,
double xS){
426 return -3*CNPSRR1ttEtau2(xc, xb, xt, xS)/20;
430 return etaD*etaU.
conjugate()*etaU.
abs2()*CNPSRR2ttEtadEtasuEtau2(xc ,xb ,xt , xS)+
pow(etaD*etaU.
conjugate(),2)*CNPSRR2ttEtad2Etasu2(xc ,xb ,xt , xS)+
431 etaD*etaU.
conjugate()*CNPSRR2ttEtadEtasu(xc ,xb ,xt , xS)+
pow(etaU.
abs2(),2)*CNPSRR2ttEtau4(xc ,xb ,xt , xS) +
432 etaU.
abs2()*CNPSRR2ttEtau2(xc ,xb ,xt , xS);
438 return pow(myTHDMW.getCKM().computelamt_s().conjugate(),2)*CNPSRR2tt(xc, xb, xt, xS, etaU, etaD)+
439 2*myTHDMW.getCKM().computelamt_s().
conjugate()*myTHDMW.getCKM().computelamc_s().
conjugate()*CNPSRR2ct(xc, xb, xt, xS, etaU, etaD);
453 double THDMWMatching::f1(
double xc,
double xt,
double xS){
454 double f1 = -(xc*xS*xt)/(9.*
pow(-1 + xS,3)*(-3*xc + xS)*
pow(xS - xt,3));
458 double THDMWMatching::f2(
double xb,
double xt,
double xS){
459 double f2 = -6*
pow(xS,5) + 12*
pow(xS,4)*(3 + xt) - 3*
pow(xS,3)*(xb*(-6 + xt)
460 + 2*(9 + 12*xt +
pow(xt,2)));
464 double THDMWMatching::f3(
double xb,
double xt,
double xS){
465 double f3 =
pow(xS,2)*(xb*(2 - 8*xt +
pow(xt,2)) + 12*(2 + 9*xt + 3*
pow(xt,2)));
469 double THDMWMatching::f4(
double xb,
double xt,
double xS){
470 double f4 = xS*xt*(xb*(-41 + 6*xt) - 6*(8 + 9*xt)) + xt*(24*xt + xb*(12 + 13*xt));
474 double THDMWMatching::f5(
double xc,
double xt,
double xS){
475 double f5 = (xc*
pow(xt,2))/(9.*
pow(xS - xt,3)*
pow(-1 + xt,3)*(-3*xc + xt));
479 double THDMWMatching::f6(
double xb,
double xt,
double xS){
480 double f6 =
pow(xS,2)*(-6*(-4 + xt)*
pow(-1 + xt,2) + xb*(2 + 7*xt +
pow(xt,2)));
484 double THDMWMatching::f7(
double xb,
double xt,
double xS){
485 double f7 = xS*xt*(12*(-4 + xt)*
pow(-1 + xt,2) - xb*(5 + 12*xt + 3*
pow(xt,2)));
489 double THDMWMatching::f8(
double xb,
double xt){
490 double f8 = xt*(-6*(-4 + xt)*
pow(-1 + xt,2)*xt + xb*(12 - 23*xt + 21*
pow(xt,2)));
494 double THDMWMatching::f9(
double xc,
double xb,
double xt,
double xS){
495 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));
499 double THDMWMatching::f10(
double xt,
double xS){
500 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));
504 double THDMWMatching::f11(
double xt,
double xS){
505 double f11 =
pow(xS,2)*(6 + 21*xt - 70*
pow(xt,2) + 24*
pow(xt,3) + 4*
pow(xt,4)) ;
509 double THDMWMatching::f12(
double xt,
double xS){
510 double f12 = 3*
pow(-1 + xt,2)*
pow(xt,2) + xS*xt*(-15 + 16*xt + 21*
pow(xt,2) - 17*
pow(xt,3));
514 double THDMWMatching::f13(
double xt,
double xS){
515 double f13 = (2*xS*
pow(xt,2))/(9.*
pow(-1 + xS,3)*
pow(xS - xt,4));
519 double THDMWMatching::f14(
double xb,
double xt,
double xS){
520 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));
524 double THDMWMatching::f15(
double xb,
double xt,
double xS){
525 double f15 = -(
pow(xS,2)*(xb*(1 + 10*xt +
pow(xt,2)) + 6*(2 + 9*xt + 3*
pow(xt,2))));
529 double THDMWMatching::f16(
double xb,
double xt,
double xS){
530 double f16 = -12*xt*(xt + xb*(1 + xt)) + 3*xS*xt*(8 + 9*xt + xb*(13 + xt));
534 double THDMWMatching::f17(
double xt,
double xS){
535 double f17 = (2*
pow(xt,2))/(9.*
pow(xS - xt,4)*
pow(-1 + xt,4));
539 double THDMWMatching::f18(
double xb,
double xt,
double xS){
540 double f18 =
pow(xS,3)*(xb*(1 + 9*xt) + 3*
pow(-1 + xt,2)*(4 - 2*xt +
pow(xt,2)));
544 double THDMWMatching::f19(
double xb,
double xt,
double xS){
545 double f19 = -3*
pow(xS,2)*xt*(xb*(1 + 9*xt) +
pow(-1 + xt,2)*(8 - xt + 2*
pow(xt,2)));
549 double THDMWMatching::f20(
double xb,
double xt,
double xS){
550 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)));
554 double THDMWMatching::f21(
double xb,
double xt){
555 double f21 = -(
pow(xt,4)*(9*
pow(-1 + xt,2) + xb*(12 - 3*xt +
pow(xt,2))));
559 double THDMWMatching::f22(
double xb,
double xt,
double xS){
560 double f22 = f18(xb,xt,xS)+f19(xb,xt,xS);
564 double THDMWMatching::f23(
double xb,
double xt,
double xS){
565 double f23 = f20(xb,xt,xS)+f21(xb,xt);
569 double THDMWMatching::f24(
double xt,
double xS){
570 double f24 = xt/(27.*
pow(-1 + xS,2)*
pow(xS - xt,3)*
pow(-1 + xt,3));
574 double THDMWMatching::f25(
double xb,
double xt,
double xS){
575 double f25 = xb*
pow(xS,4)*(-12 + 65*xt + 2*
pow(xt,2) + 5*
pow(xt,3)) -
576 2*xb*
pow(xS,3)*(-12 + 47*xt + 85*
pow(xt,2) - 11*
pow(xt,3) + 11*
pow(xt,4));
580 double THDMWMatching::f26(
double xb,
double xt,
double xS){
581 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));
585 double THDMWMatching::f27(
double xb,
double xt,
double xS){
586 double f27 = -2*xb*xS*xt*(-30 + 95*xt + 49*
pow(xt,2) - 11*
pow(xt,3) + 17*
pow(xt,4));
590 double THDMWMatching::f28(
double xb,
double xt){
591 double f28 = xb*
pow(xt,2)*(24 - 43*xt + 110*
pow(xt,2) - 31*
pow(xt,3));
595 double THDMWMatching::f29(
double xt,
double xS){
596 double f29 = -18*
pow(-1 + xS,2)*
pow(xS - xt,2)*(-4 + xt)*
pow(-1 + xt,2)*xt;
600 double THDMWMatching::f30(
double xb,
double xt,
double xS){
601 double f30 = f25(xb,xt,xS)+f26(xb,xt,xS)+f26(xb,xt,xS);
605 double THDMWMatching::f31(
double xb,
double xt,
double xS){
606 double f31 = f28(xb,xt)+f29(xt,xS);
610 double THDMWMatching::f32(
double xc,
double xb,
double xt,
double xS){
611 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));
615 double THDMWMatching::f33(
double xc,
double xb,
double xt,
double xS){
616 double f33 = (5*xb*xc*
pow(xt,2))/(9.*
pow(xS - xt,3)*
pow(-1 + xt,3)*(-3*xc + xt));
620 double THDMWMatching::f34(
double xt,
double xS){
621 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));
625 double THDMWMatching::f35(
double xc,
double xb,
double xt,
double xS){
626 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))));
630 double THDMWMatching::f36(
double xt,
double xS){
631 double f36 =
pow(xS,3)*(-3 + xt) +
pow(xS,2)*(4 + 5*xt - 3*
pow(xt,2)) ;
635 double THDMWMatching::f37(
double xt,
double xS){
636 double f37 = xt*(-5 + 15*xt - 8*
pow(xt,2)) + xS*(3 - 13*xt + 4*
pow(xt,3)) ;
640 double THDMWMatching::f38(
double xb,
double xt,
double xS){
641 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));
645 double THDMWMatching::f39(
double xb,
double xt,
double xS){
646 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));
650 double THDMWMatching::f40(
double xb,
double xt,
double xS){
651 double f40 = (5*xb*
pow(xt,2))/(27.*
pow(-1 + xS,2)*
pow(xS - xt,3)*
pow(-1 + xt,3));
655 double THDMWMatching::f41(
double xt,
double xS){
656 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));
660 double THDMWMatching::f42(
double xt,
double xS){
661 double f42 =
pow(xS,2)*(2 + 55*xt - 15*
pow(xt,2) - 17*
pow(xt,3) + 11*
pow(xt,4));
665 double THDMWMatching::f43(
double xt,
double xS){
666 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));