15 :unitarityeigenvalues(11, 0.),
16 NLOunitarityeigenvalues(11, 0.),
17 myTHDMW(static_cast<const
THDMW*> (&SM_i)),
19 ATLAS8_gg_phi_tt(53, 2, 0.),
20 ATLAS8_gg_phi_tt_e(53, 2, 0.),
21 CMS8_pp_H_hh_bbbb(167, 2, 0.),
22 CMS8_bb_phi_bb(81, 2, 0.),
23 CMS8_bb_phi_bb_e(81, 2, 0.),
24 CMS8_pp_H_hh_bbbb_e(167, 2, 0.),
26 ATLAS13_bb_phi_tt(61,2,0.),
27 ATLAS13_tt_phi_tt(61,2,0.),
28 ATLAS13_pp_H_hh_bbbb(271,2,0.),
29 ATLAS13_bb_phi_tt_e(61,2,0.),
30 ATLAS13_tt_phi_tt_e(61,2,0.),
31 ATLAS13_pp_H_hh_bbbb_e(271,2,0.),
32 CMS13_pp_phi_bb(66,2,0.),
33 CMS8_pp_phi_bb(88,2,0.),
34 CMS13_pp_H_hh_bbbb(95,2,0.),
35 CMS13_ggF_H_hh_bbbb(226,2,0.),
36 CMS13_pp_phi_bb_e(66,2,0.),
37 CMS13_pp_H_hh_bbbb_e(95,2,0.),
38 CMS13_ggF_H_hh_bbbb_e(226,2,0.),
39 CMS13_pp_R_gg(241,2,0.),
41 ATLAS8_pp_Hpm_tb(41,2,0.),
42 ATLAS8_pp_Hpm_tb_e(41,2,0.),
43 CMS8_pp_Hp_tb(43,2,0.),
44 CMS8_pp_Hp_tb_e(43,2,0.),
45 CMS13_bb_H_bb(101,2,0.),
46 ATLAS13_pp_Hp_tb(181,2,0.),
51 ATLAS13_pp_Gkk_tt(131,2,0.),
52 ATLAS13_pp_SS_jjjj(126,2,0.),
53 MadGraph_pp_Sr_tt(22800,5,0.),
54 MadGraph_pp_Srtt_tttt(22800,5,0.),
55 MadGraph_pp_Sr_jj(2940,5,0.),
56 MadGraph_pp_SrSr_jjjj(4200,5,0.),
57 MadGraph_pp_Stb_tbtb(4332,4,0.),
58 MadGraph_pp_Sitt_tttt(9360,4,0.),
59 MadGraph_pp_Srbb_bbbb(15960,5,0.),
60 MadGraph_pp_Srbb_bbbb_8TeV(15960,5,0.),
61 MadGraph_pp_Sibb_bbbb(8892,4,0.),
62 MadGraph_pp_Sibb_bbbb_8TeV(8892,4,0.),
63 MadGraph_pp_Sr_bb(15960,5,0.),
64 MadGraph_pp_Sr_bb_8TeV(15960,5,0.),
65 MadGraph_pp_Si_bb(8892,4,0.),
66 MadGraph_pp_Si_bb_8TeV(8892,4,0.),
67 arraybsgamma(1111, 3, 0.),
68 betaeigenvalues(11, 0.)
86 const int NumPar,
const double params[])
const {
90 for(
int j=0; j<NumPar; j++)
91 bCache &= (params[j] == cache[j][i].real());
98 const int NumPar,
const double params[])
const {
102 for(
int j=0; j<NumPar; j++)
103 bCache &= (params[j] == cache[j][i]);
104 if (bCache)
return i;
110 const double params[],
const gslpp::complex newResult)
const {
113 for(
int j=0; j<NumPar+1; j++)
114 cache[j][i] = cache[j][i-1];
117 for(
int j=0; j<NumPar; j++) {
118 cache[j][0] = gslpp::complex(params[j], 0.0,
false);
119 cache[NumPar][0] = newResult;
124 const double params[],
const double newResult)
const {
127 for(
int j=0; j<NumPar+1; j++)
128 cache[j][i] = cache[j][i-1];
131 for(
int j=0; j<NumPar; j++) {
132 cache[j][0] = params[j];
133 cache[NumPar][0] = newResult;
143 double params[] = {MZ2, mSp2};
149 gslpp::complex newResult =
PV.
A0(MZ2, mSp2);
157 double params[] = {MZ2, mSr2};
163 gslpp::complex newResult =
PV.
A0(MZ2, mSr2);
171 double params[] = {MZ2, mSi2};
177 gslpp::complex newResult =
PV.
A0(MZ2, mSi2);
185 double params[] = {MZ2, mSp2};
191 gslpp::complex newResult =
PV.
B0(MZ2,0. ,mSp2 , mSp2);
240 double params[] = {MZ2, mSr2, mSp2};
246 gslpp::complex newResult =
PV.
B00(MZ2, MZ2 , mSr2, mSp2);
254 double params[] = {MZ2, mSi2, mSp2};
260 gslpp::complex newResult =
PV.
B00(MZ2, MZ2 , mSi2, mSp2);
268 double params[] = {MZ2, mSr2, mSi2};
274 gslpp::complex newResult =
PV.
B00(MZ2, MZ2 , mSr2, mSi2);
284 double params[] = {MZ2, mSp2};
290 gslpp::complex newResult =
PV.
B00(MZ2, MZ2 , mSp2, mSp2);
345gslpp::complex
THDMWcache::I_h_U(
const double mHl2,
const double Mu,
const double Mc,
const double Mt)
const {
347 double params[] = {mHl2, Mu, Mc, Mt};
353 double TAUu=4.0*Mu*Mu/mHl2;
354 double TAUc=4.0*Mc*Mc/mHl2;
355 double TAUt=4.0*Mt*Mt/mHl2;
356 gslpp::complex newResult = -(8./3.)*(TAUu*(1.0+(1.0-TAUu)*
f_func(TAUu))
357 +TAUc*(1.0+(1.0-TAUc)*
f_func(TAUc))+TAUt*(1.0+(1.0-TAUt)*
f_func(TAUt)));
365 double params[] = {mHh2, Mc, Mt};
371 double TAUc=4.0*Mc*Mc/mHh2;
372 double TAUt=4.0*Mt*Mt/mHh2;
373 gslpp::complex newResult = -(8./3.)*(TAUc*(1.0+(1.0-TAUc)*
f_func(TAUc))
374 +TAUt*(1.0+(1.0-TAUt)*
f_func(TAUt)));
382 double params[] = {mA2, Mc, Mt};
388 double TAUc=4.0*Mc*Mc/mA2;
389 double TAUt=4.0*Mt*Mt/mA2;
390 gslpp::complex newResult = -(8./3.)*(TAUc*
f_func(TAUc)+TAUt*
f_func(TAUt));
396gslpp::complex
THDMWcache::I_h_D(
const double mHl2,
const double Md,
const double Ms,
const double Mb)
const {
398 double params[] = {mHl2, Md, Ms, Mb};
404 double TAUd=4.0*Md*Md/mHl2;
405 double TAUs=4.0*Ms*Ms/mHl2;
406 double TAUb=4.0*Mb*Mb/mHl2;
407 gslpp::complex newResult = -(2./3.)*(TAUd*(1.0+(1.0-TAUd)*
f_func(TAUd))
408 +TAUs*(1.0+(1.0-TAUs)*
f_func(TAUs))+TAUb*(1.0+(1.0-TAUb)*
f_func(TAUb)));
416 double params[] = {mHh2, Ms, Mb};
422 double TAUs=4.0*Ms*Ms/mHh2;
423 double TAUb=4.0*Mb*Mb/mHh2;
424 gslpp::complex newResult = -(2./3.)*(TAUs*(1.0+(1.0-TAUs)*
f_func(TAUs))
425 +TAUb*(1.0+(1.0-TAUb)*
f_func(TAUb)));
433 double params[] = {mA2, Ms, Mb};
439 double TAUs=4.0*Ms*Ms/mA2;
440 double TAUb=4.0*Mb*Mb/mA2;
441 gslpp::complex newResult = -(2./3.)*(TAUs*
f_func(TAUs)+TAUb*
f_func(TAUb));
447gslpp::complex
THDMWcache::I_h_L(
const double mHl2,
const double Me,
const double Mmu,
const double Mtau)
const {
449 double params[] = {mHl2, Me, Mmu, Mtau};
455 double TAUe=4.0*Me*Me/mHl2;
456 double TAUmu=4.0*Mmu*Mmu/mHl2;
457 double TAUtau=4.0*Mtau*Mtau/mHl2;
458 gslpp::complex newResult = -2.0*(TAUe*(1.0+(1.0-TAUe)*
f_func(TAUe))
459 +TAUmu*(1.0+(1.0-TAUmu)*
f_func(TAUmu))
460 +TAUtau*(1.0+(1.0-TAUtau)*
f_func(TAUtau)));
468 double params[] = {mHh2, Mmu, Mtau};
474 double TAUmu=4.0*Mmu*Mmu/mHh2;
475 double TAUtau=4.0*Mtau*Mtau/mHh2;
476 gslpp::complex newResult = -2.0*(TAUmu*(1.0+(1.0-TAUmu)*
f_func(TAUmu))+
477 TAUtau*(1.0+(1.0-TAUtau)*
f_func(TAUtau)));
485 double params[] = {mA2, Mmu, Mtau};
491 double TAUmu=4.0*Mmu*Mmu/mA2;
492 double TAUtau=4.0*Mtau*Mtau/mA2;
493 gslpp::complex newResult = -2.0*(TAUmu*
f_func(TAUmu)+TAUtau*
f_func(TAUtau));
501 double params[] = {mH, MW};
507 double TAUw=4.0*MW*MW/(mH*mH);
508 gslpp::complex newResult = 2.0 + 3.0*TAUw + 3.0*TAUw*(2.0-TAUw)*
f_func(TAUw);
516 double params[] = {mHp2, mH};
522 double TAUhp=4.0*mHp2/(mH*mH);
523 gslpp::complex newResult = -TAUhp*(1.0-TAUhp*
f_func(TAUhp));
529gslpp::complex
THDMWcache::A_h_U(
const double mHl2,
const double cW2,
const double Mu,
const double Mc,
const double Mt,
const double MZ)
const {
531 double params[] = {mHl2, cW2, Mu, Mc, Mt,
MZ};
537 double TAUu=4.0*Mu*Mu/mHl2;
538 double TAUc=4.0*Mc*Mc/mHl2;
539 double TAUt=4.0*Mt*Mt/mHl2;
540 double LAMu=4.0*Mu*Mu/(
MZ*
MZ);
541 double LAMc=4.0*Mc*Mc/(
MZ*
MZ);
542 double LAMt=4.0*Mt*Mt/(
MZ*
MZ);
544 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(
Int1(TAUu,LAMu)+
Int1(TAUc,LAMc)
551gslpp::complex
THDMWcache::A_HH_U(
const double mHh2,
const double cW2,
const double Mc,
const double Mt,
const double MZ)
const {
553 double params[] = {mHh2, cW2, Mc, Mt,
MZ};
559 double TAUc=4.0*Mc*Mc/mHh2;
560 double TAUt=4.0*Mt*Mt/mHh2;
561 double LAMc=4.0*Mc*Mc/(
MZ*
MZ);
562 double LAMt=4.0*Mt*Mt/(
MZ*
MZ);
564 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(
Int1(TAUc,LAMc)-
Int2(TAUc,LAMc)
571gslpp::complex
THDMWcache::A_A_U(
const double mA2,
const double cW2,
const double Mc,
const double Mt,
const double MZ)
const {
573 double params[] = {mA2, cW2, Mc, Mt,
MZ};
579 double TAUc=4.0*Mc*Mc/mA2;
580 double TAUt=4.0*Mt*Mt/mA2;
581 double LAMc=4.0*Mc*Mc/(
MZ*
MZ);
582 double LAMt=4.0*Mt*Mt/(
MZ*
MZ);
584 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(-
Int2(TAUc,LAMc)-
Int2(TAUt,LAMt))/sqrt(sW2*cW2);
590gslpp::complex
THDMWcache::A_h_D(
const double mHl2,
const double cW2,
const double Md,
const double Ms,
const double Mb,
const double MZ)
const {
592 double params[] = {mHl2, cW2, Md, Ms, Mb,
MZ};
598 double TAUd=4.0*Md*Md/mHl2;
599 double TAUs=4.0*Ms*Ms/mHl2;
600 double TAUb=4.0*Mb*Mb/mHl2;
601 double LAMd=4.0*Md*Md/(
MZ*
MZ);
602 double LAMs=4.0*Ms*Ms/(
MZ*
MZ);
603 double LAMb=4.0*Mb*Mb/(
MZ*
MZ);
605 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(
Int1(TAUd,LAMd)+
Int1(TAUs,LAMs)
612gslpp::complex
THDMWcache::A_HH_D(
const double mHh2,
const double cW2,
const double Ms,
const double Mb,
const double MZ)
const {
614 double params[] = {mHh2, cW2, Ms, Mb,
MZ};
620 double TAUs=4.0*Ms*Ms/mHh2;
621 double TAUb=4.0*Mb*Mb/mHh2;
622 double LAMs=4.0*Ms*Ms/(
MZ*
MZ);
623 double LAMb=4.0*Mb*Mb/(
MZ*
MZ);
625 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(
Int1(TAUs,LAMs)-
Int2(TAUs,LAMs)
632gslpp::complex
THDMWcache::A_A_D(
const double mA2,
const double cW2,
const double Ms,
const double Mb,
const double MZ)
const {
634 double params[] = {mA2, cW2, Ms, Mb,
MZ};
640 double TAUs=4.0*Ms*Ms/mA2;
641 double TAUb=4.0*Mb*Mb/mA2;
642 double LAMs=4.0*Ms*Ms/(
MZ*
MZ);
643 double LAMb=4.0*Mb*Mb/(
MZ*
MZ);
645 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(-
Int2(TAUs,LAMs)-
Int2(TAUb,LAMb))/sqrt(sW2*cW2);
651gslpp::complex
THDMWcache::A_h_L(
const double mHl2,
const double cW2,
const double Me,
const double Mmu,
const double Mtau,
const double MZ)
const {
653 double params[] = {mHl2, cW2, Me, Mmu, Mtau,
MZ};
659 double TAUe=4.0*Me*Me/mHl2;
660 double TAUmu=4.0*Mmu*Mmu/mHl2;
661 double TAUtau=4.0*Mtau*Mtau/mHl2;
662 double LAMe=4.0*Me*Me/(
MZ*
MZ);
663 double LAMmu=4.0*Mmu*Mmu/(
MZ*
MZ);
664 double LAMtau=4.0*Mtau*Mtau/(
MZ*
MZ);
666 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(
Int1(TAUe,LAMe)+
Int1(TAUmu,LAMmu)
668 -
Int2(TAUtau,LAMtau));
674gslpp::complex
THDMWcache::A_HH_L(
const double mHh2,
const double cW2,
const double Mmu,
const double Mtau,
const double MZ)
const {
676 double params[] = {mHh2, cW2, Mmu, Mtau,
MZ};
682 double TAUmu=4.0*Mmu*Mmu/mHh2;
683 double TAUtau=4.0*Mtau*Mtau/mHh2;
684 double LAMmu=4.0*Mmu*Mmu/(
MZ*
MZ);
685 double LAMtau=4.0*Mtau*Mtau/(
MZ*
MZ);
687 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(
Int1(TAUmu,LAMmu)-
Int2(TAUmu,LAMmu)
688 +
Int1(TAUtau,LAMtau)-
Int2(TAUtau,LAMtau));
694gslpp::complex
THDMWcache::A_A_L(
const double mA2,
const double cW2,
const double Mmu,
const double Mtau,
const double MZ)
const {
696 double params[] = {mA2, cW2, Mmu, Mtau,
MZ};
702 double TAUmu=4.0*Mmu*Mmu/mA2;
703 double TAUtau=4.0*Mtau*Mtau/mA2;
704 double LAMmu=4.0*Mmu*Mmu/(
MZ*
MZ);
705 double LAMtau=4.0*Mtau*Mtau/(
MZ*
MZ);
707 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(-
Int2(TAUmu,LAMmu)-
Int2(TAUtau,LAMtau))/sqrt(sW2*cW2);
713gslpp::complex
THDMWcache::A_H_W(
const double mH,
const double cW2,
const double MW,
const double MZ)
const {
715 double params[] = {mH, cW2, MW,
MZ};
721 double TAUw=4.0*MW*MW/(mH*mH);
722 double LAMw=4.0*MW*MW/(
MZ*
MZ);
724 gslpp::complex newResult = -sqrt(cW2/sW2)*(4.0*(3.0-sW2/cW2)*
Int2(TAUw,LAMw)
725 +((1.0+2.0/TAUw)*sW2/cW2-(5.0+2.0/TAUw))*
Int1(TAUw,LAMw));
731gslpp::complex
THDMWcache::A_H_Hp(
const double mHp2,
const double mH,
const double cW2,
const double MZ)
const {
733 double params[] = {mHp2, mH, cW2,
MZ};
739 double TAUhp=4.0*mHp2/(mH*mH);
740 double LAMhp=4.0*mHp2/(
MZ*
MZ);
742 gslpp::complex newResult = (1.0-2.0*sW2)/sqrt(cW2*sW2)*
Int1(TAUhp,LAMhp);
750 gslpp::complex z = -gslpp::complex::i()*M_PI;
751 return -pow(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z,2)/4.0;
754 return pow(asin(sqrt(1.0/x)),2);
760 gslpp::complex z = -gslpp::complex::i()*M_PI;
761 gslpp::complex gs1 = sqrt(1.0-x)*(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z)/2.0;
765 gslpp::complex gg1 = sqrt(x-1.0)*asin(sqrt(1.0/x));
771 return tau*lambda/(tau-lambda)/2.0+tau*tau*lambda*lambda/((tau-lambda)
772 *(tau-lambda))/2.0*(
f_func(tau)-
f_func(lambda))+tau*tau*lambda/((tau-lambda)
777 return -tau*lambda/(tau-lambda)/2.0*(
f_func(tau)-
f_func(lambda));
795 double BrSM_htobb = 5.77e-1;
796 double BrSM_htotautau = 6.32e-2;
797 double BrSM_htogaga = 2.28e-3;
798 double BrSM_htoWW = 2.15e-1;
799 double BrSM_htoZZ = 2.64e-2;
800 double BrSM_htogg = 8.57e-2;
801 double BrSM_htoZga = 1.54e-3;
802 double BrSM_htocc = 2.91e-2;
811 gslpp::complex fermU =
I_h_U(
mhsq,Mu,Mc,Mt);
812 gslpp::complex fermD =
I_h_D(
mhsq,Md,Ms,Mb);
819 double ABSggMW=(-9.0/16.0*(fermU+4.0*fermD)+I_h_Sp+I_h_SR+I_h_SI).abs2();
820 double ABSggSM=(-9.0/16.0*(fermU+4.0*fermD)).abs2();
821 rh_gg=ABSggMW/ABSggSM;
825 gslpp::complex fermL =
I_h_L(
mhsq,Me,Mmu,Mtau);
826 gslpp::complex I_hSM_W =
I_H_W(sqrt(
mhsq),MW);
828 double ABSgagaMW=(fermU+fermD+fermL+I_hSM_W+I_h_S).abs2();
829 double ABSgagaSM=(fermU+fermD+fermL+I_hSM_W).abs2();
833 gslpp::complex A_h_Ux =
A_h_U(
mhsq,cW2,Mu,Mc,Mt,
MZ);
834 gslpp::complex A_h_Dx =
A_h_D(
mhsq,cW2,Md,Ms,Mb,
MZ);
835 gslpp::complex A_h_Lx =
A_h_L(
mhsq,cW2,Me,Mmu,Mtau,
MZ);
836 gslpp::complex A_h_F = (A_h_Ux+A_h_Dx+A_h_Lx)/sqrt(sW2*cW2);
837 gslpp::complex A_hSM_W =
A_H_W(sqrt(
mhsq),cW2,MW,
MZ);
839 double ABSZgaMW=(A_h_F+A_hSM_W+A_h_S).abs2();
840 double ABSZgaSM=(A_h_F+A_hSM_W).abs2();
851 gslpp::complex fermU =
I_h_U(
mhsq,Mu,Mc,Mt);
852 gslpp::complex fermD =
I_h_D(
mhsq,Md,Ms,Mb);
859 double ABSggTHDMW=(-9.0/16.0*(
cosa/
sinb)*(fermU+4.0*fermD)+I_h_Sp+I_h_SR+I_h_SI).abs2();
860 double ABSggSM=(-9.0/16.0*(fermU+4.0*fermD)).abs2();
861 rh_gg=ABSggTHDMW/ABSggSM;
867 gslpp::complex fermL =
I_h_L(
mhsq,Me,Mmu,Mtau);
868 gslpp::complex I_hSM_W =
I_H_W(sqrt(
mhsq),MW);
871 double ABSgagaTHDMW=((
cosa/
sinb)*(fermU+fermD+fermL)+sin(
bma)*I_hSM_W+I_h_Hp+I_h_S).abs2();
872 double ABSgagaSM=(fermU+fermD+fermL+I_hSM_W).abs2();
873 rh_gaga=ABSgagaTHDMW/ABSgagaSM;
876 gslpp::complex A_h_Ux =
A_h_U(
mhsq,cW2,Mu,Mc,Mt,
MZ);
877 gslpp::complex A_h_Dx =
A_h_D(
mhsq,cW2,Md,Ms,Mb,
MZ);
878 gslpp::complex A_h_Lx =
A_h_L(
mhsq,cW2,Me,Mmu,Mtau,
MZ);
879 gslpp::complex A_h_F =
cosa/
sinb*(A_h_Ux+A_h_Dx+A_h_Lx)/sqrt(sW2*cW2);
880 gslpp::complex A_hSM_W =
A_H_W(sqrt(
mhsq),cW2,MW,
MZ);
883 double ABSZgaTHDMW=(A_h_F+sin(
bma)*A_hSM_W+A_h_Hp+A_h_S).abs2();
884 double ABSZgaSM=(A_h_F+A_hSM_W).abs2();
885 rh_Zga=ABSZgaTHDMW/ABSZgaSM;
889 throw std::runtime_error(
"THDMWmodel can only be \"ManoharWise\", \"custodialMW\" or \"custodial1\".");
911 if( RGEorder ==
"LO" ) flag=0;
912 else if( RGEorder ==
"approxNLO" ) flag=1;
915 throw std::runtime_error(
"RGEorder can be only any of \"LO\", \"approxNLO\" or \"NLO\"");
924 double mu1_at_MZ=
mu1;
925 double mu3_at_MZ=
mu3;
926 double mu4_at_MZ=
mu4;
927 double nu1_at_MZ=
nu1;
928 double omega1_at_MZ=
omega1;
929 double kappa1_at_MZ=
kappa1;
930 double nu2_at_MZ=
nu2;
931 double omega2_at_MZ=
omega2;
932 double kappa2_at_MZ=
kappa2;
933 double nu4_at_MZ=
nu4;
934 double omega4_at_MZ=
omega4;
960 InitVals[0]=lambda1_at_MZ;
961 InitVals[1]=lambda2_at_MZ;
962 InitVals[2]=lambda3_at_MZ;
963 InitVals[3]=lambda4_at_MZ;
964 InitVals[4]=mu1_at_MZ;
965 InitVals[5]=mu3_at_MZ;
966 InitVals[6]=mu4_at_MZ;
967 InitVals[7]=nu1_at_MZ;
968 InitVals[8]=omega1_at_MZ;
969 InitVals[9]=kappa1_at_MZ;
970 InitVals[10]=nu2_at_MZ;
971 InitVals[11]=omega2_at_MZ;
972 InitVals[12]=kappa2_at_MZ;
973 InitVals[13]=nu4_at_MZ;
974 InitVals[14]=omega4_at_MZ;
998 double nu1_at_MZ=
nu1;
999 double nu2_at_MZ=
nu2;
1000 double nu3_at_MZ=
nu3;
1001 double nu4_at_MZ=
nu4;
1002 double nu5_at_MZ=
nu5;
1003 double mu1_at_MZ=
mu1;
1004 double mu2_at_MZ=
mu2;
1005 double mu3_at_MZ=
mu3;
1006 double mu4_at_MZ=
mu4;
1007 double mu5_at_MZ=
mu5;
1008 double mu6_at_MZ=
mu6;
1030 double InitVals[12];
1031 InitVals[0]=lambda1_at_MZ;
1032 InitVals[1]=nu1_at_MZ;
1033 InitVals[2]=nu2_at_MZ;
1034 InitVals[3]=nu3_at_MZ;
1035 InitVals[4]=nu4_at_MZ;
1036 InitVals[5]=nu5_at_MZ;
1037 InitVals[6]=mu1_at_MZ;
1038 InitVals[7]=mu2_at_MZ;
1039 InitVals[8]=mu3_at_MZ;
1040 InitVals[9]=mu4_at_MZ;
1041 InitVals[10]=mu5_at_MZ;
1042 InitVals[11]=mu6_at_MZ;
1063 double nu1_at_MZ=
nu1;
1064 double nu2_at_MZ=
nu2;
1065 double nu4_at_MZ=
nu4;
1066 double mu1_at_MZ=
mu1;
1067 double mu3_at_MZ=
mu3;
1068 double mu4_at_MZ=
mu4;
1085 double InitVals[12];
1086 InitVals[0]=lambda1_at_MZ;
1087 InitVals[1]=nu1_at_MZ;
1088 InitVals[2]=nu2_at_MZ;
1089 InitVals[3]=nu4_at_MZ;
1090 InitVals[4]=mu1_at_MZ;
1091 InitVals[5]=mu3_at_MZ;
1092 InitVals[6]=mu4_at_MZ;
1111 throw std::runtime_error(
"THDMW unitarity constraints are only implemented for the \"custodial1\", the \"ManoharWise\" and the \"custodialMW\" model.");
1117 gslpp::matrix<gslpp::complex> Smatrix1(4,4,0.), Smatrix2(4,4,0.);
1118 gslpp::matrix<gslpp::complex> Sbmatrix1(4,4,0.), Sbmatrix2(4,4,0.);
1119 gslpp::matrix<gslpp::complex> Seigenvectors1(4,4,0.), Seigenvectors2(4,4,0.);
1120 gslpp::matrix<gslpp::complex> Seigenvectors1T(4,4,0.), Seigenvectors2T(4,4,0.);
1121 gslpp::vector<double> Seigenvalues1(4,0.), Seigenvalues2(4,0.);
1122 gslpp::vector<gslpp::complex> Sbeigenvalues1(4,0.), Sbeigenvalues2(4,0.);
1129 Smatrix1.assign(0,0, 3.0*
lambda1/(16.0*pi));
1131 Smatrix1.assign(1,0, Smatrix1(0,1));
1132 Smatrix1.assign(0,3, (2.0*
nu1+
nu2)/(8.0*sqrt(2.0)*pi));
1133 Smatrix1.assign(3,0, Smatrix1(0,3));
1134 Smatrix1.assign(1,1, 3.0*
lambda2/(16.0*pi));
1135 Smatrix1.assign(1,3, (2.0*
omega1+
omega2)/(8.0*sqrt(2.0)*pi));
1136 Smatrix1.assign(3,1, Smatrix1(1,3));
1138 Smatrix1.assign(2,3, (4.0*
kappa1+2.0*
kappa2)/(16.0*pi));
1139 Smatrix1.assign(3,2, Smatrix1(2,3));
1140 Smatrix1.assign(3,3, (26.0*
mu1+17.0*
mu3+13.0*
mu4)/(32.0*pi));
1142 Smatrix2.assign(0,0,
lambda1/(16.0*pi));
1143 Smatrix2.assign(0,1,
lambda4/(16.0*pi));
1144 Smatrix2.assign(1,0, Smatrix2(0,1));
1145 Smatrix2.assign(0,3,
nu2/(8.0*sqrt(2.0)*pi));
1146 Smatrix2.assign(3,0, Smatrix2(0,3));
1147 Smatrix2.assign(1,1,
lambda2/(16.0*pi));
1148 Smatrix2.assign(1,3,
omega2/(8.0*sqrt(2.0)*pi));
1149 Smatrix2.assign(3,1, Smatrix2(1,3));
1151 Smatrix2.assign(2,3,
kappa2/(8.0*pi));
1152 Smatrix2.assign(3,2, Smatrix2(2,3));
1153 Smatrix2.assign(3,3, (14.0*
mu1+3.0*
mu3+27.0*
mu4)/(96.0*pi));
1155 Smatrix1.eigensystem(Seigenvectors1, Seigenvalues1);
1156 Smatrix2.eigensystem(Seigenvectors2, Seigenvalues2);
1158 for (
int i=0; i < 4; i++) {
1212 Sbmatrix1.assign(0,0, 3.0*blambda1/(16.0*pi));
1213 Sbmatrix1.assign(0,1, (2.0*blambda3+blambda4)/(16.0*pi));
1214 Sbmatrix1.assign(1,0, Sbmatrix1(0,1));
1215 Sbmatrix1.assign(0,3, (2.0*bnu1+bnu2)/(8.0*sqrt(2.0)*pi));
1216 Sbmatrix1.assign(3,0, Sbmatrix1(0,3));
1217 Sbmatrix1.assign(1,1, 3.0*blambda2/(16.0*pi));
1218 Sbmatrix1.assign(1,3, (2.0*bomega1+bomega2)/(8.0*sqrt(2.0)*pi));
1219 Sbmatrix1.assign(3,1, Sbmatrix1(1,3));
1220 Sbmatrix1.assign(2,2, (blambda3+5.0*blambda4)/(16.0*pi));
1221 Sbmatrix1.assign(2,3, (4.0*bkappa1+2.0*bkappa2)/(16.0*pi));
1222 Sbmatrix1.assign(3,2, Sbmatrix1(2,3));
1223 Sbmatrix1.assign(3,3, (26.0*bmu1+17.0*bmu3+13.0*bmu4)/(32.0*pi));
1225 Sbmatrix2.assign(0,0, blambda1/(16.0*pi));
1226 Sbmatrix2.assign(0,1, blambda4/(16.0*pi));
1227 Sbmatrix2.assign(1,0, Sbmatrix2(0,1));
1228 Sbmatrix2.assign(0,3, bnu2/(8.0*sqrt(2.0)*pi));
1229 Sbmatrix2.assign(3,0, Sbmatrix2(0,3));
1230 Sbmatrix2.assign(1,1, blambda2/(16.0*pi));
1231 Sbmatrix2.assign(1,3, bomega2/(8.0*sqrt(2.0)*pi));
1232 Sbmatrix2.assign(3,1, Sbmatrix2(1,3));
1233 Sbmatrix2.assign(2,2, (blambda3+blambda4)/(16.0*pi));
1234 Sbmatrix2.assign(2,3, bkappa2/(8.0*pi));
1235 Sbmatrix2.assign(3,2, Sbmatrix2(2,3));
1236 Sbmatrix2.assign(3,3, (14.0*bmu1+3.0*bmu3+27.0*bmu4)/(96.0*pi));
1238 Seigenvectors1T=Seigenvectors1.hconjugate();
1239 Seigenvectors2T=Seigenvectors2.hconjugate();
1241 for (
int i=0; i < 4; i++) {
1242 for (
int k=0; k < 4; k++) {
1243 for (
int l=0; l < 4; l++) {
1244 Sbeigenvalues1.assign(i, Sbeigenvalues1(i) + Seigenvectors1T(i,k) * Sbmatrix1(k,l) * Seigenvectors1(l,i) );
1245 Sbeigenvalues2.assign(i, Sbeigenvalues2(i) + Seigenvectors2T(i,k) * Sbmatrix2(k,l) * Seigenvectors2(l,i) );
1256 for (
int i=0; i < 11; i++) {
1299 + 3.0*
mu5 + 8.0*
mu6)/3.0)/(16.0*pi*pi);
1304 + 3.0*
mu5 -
mu6)/3.0)/(16.0*pi*pi);
1309 + 24.0*
mu5 + 8.0*
mu6)/3.0)/(16.0*pi*pi);
1331 double betamu3 = (20.0*
mu3*
mu3
1344 + 26.0/9.0*
mu1*
mu2)/(16.0*pi*pi);
1350 - 10.0/9.0*
mu1*
mu2)/(16.0*pi*pi);
1357 double betamuA = 4.0*betamu1+4.0*betamu2+8.5*betamu3+5.0*betamu4+1.5*betamu5+2.5*betamu6;
1358 double betamuB = (4.0*betamu1+4.0*betamu2+1.5*betamu3+12.0*betamu4+1.5*betamu5-0.5*betamu6)/3.0;
1359 double betamuC = (-0.5*betamu1-0.5*betamu2+1.5*betamu3+1.5*betamu4+12.0*betamu5+4.0*betamu6)/3.0;
1360 double betaMA1 = 3.0*betalambda1 + betamuA
1361 - sqrt(9.0*betalambda1*betalambda1-6.0*betalambda1*betamuA+betamuA*betamuA
1362 +32.0*betanu1*betanu1+32.0*betanu1*betanu2+8.0*betanu2*betanu2);
1363 double betaMA2 = 3.0*betalambda1 + betamuA
1364 + sqrt(9.0*betalambda1*betalambda1-6.0*betalambda1*betamuA+betamuA*betamuA
1365 +32.0*betanu1*betanu1+32.0*betanu1*betanu2+8.0*betanu2*betanu2);
1366 double betaMB1 = betalambda1 + betamuB - sqrt(betalambda1*betalambda1-2.0*betalambda1*betamuB+betamuB*betamuB+8.0*betanu2*betanu2);
1367 double betaMB2 = betalambda1 + betamuB + sqrt(betalambda1*betalambda1-2.0*betalambda1*betamuB+betamuB*betamuB+8.0*betanu2*betanu2);
1368 double betaMC1 = betalambda1 + betamuC - sqrt(betalambda1*betalambda1-2.0*betalambda1*betamuC+betamuC*betamuC+32.0*betanu3*betanu3);
1369 double betaMC2 = betalambda1 + betamuC + sqrt(betalambda1*betalambda1-2.0*betalambda1*betamuC+betamuC*betamuC+32.0*betanu3*betanu3);
1378 betaeigenvalues.assign(7, -1.5 * sqrt(15.0)*(betanu4+betanu5)/(64.0*pi));
1381 for (
int i=0; i < 8; i++) {
1389 gslpp::matrix<gslpp::complex> Smatrix1(2,2,0.), Smatrix2(2,2,0.);
1390 gslpp::matrix<gslpp::complex> Seigenvectors1(2,2,0.), Seigenvectors2(2,2,0.);
1391 gslpp::vector<double> Seigenvalues1(2,0.), Seigenvalues2(2,0.);
1398 Smatrix1.assign(0,0, 3.0*
lambda1/(16.0*pi));
1399 Smatrix1.assign(0,1, (2.0*
nu1+
nu2)/(8.0*sqrt(2.0)*pi));
1400 Smatrix1.assign(1,0, Smatrix1(0,1));
1401 Smatrix1.assign(1,1, (26.0*
mu1+17.0*
mu3+13.0*
mu4)/(32.0*pi));
1403 Smatrix2.assign(0,0,
lambda1/(16.0*pi));
1404 Smatrix2.assign(0,1,
nu2/(8.0*sqrt(2.0)*pi));
1405 Smatrix2.assign(1,0, Smatrix2(0,1));
1406 Smatrix2.assign(1,1, (14.0*
mu1+3.0*
mu3+27.0*
mu4)/(96.0*pi));
1408 Smatrix1.eigensystem(Seigenvectors1, Seigenvalues1);
1409 Smatrix2.eigensystem(Seigenvectors2, Seigenvalues2);
1411 for (
int i=0; i < 2; i++) {
1425 std::ifstream INfile;
1426 std::string lineTab;
1427 INfile.open( filename.c_str() );
1429 std::cout<<
"error: in THDMWcache, table doesn't exist!"<< filename <<std::endl;
1432 gslpp::matrix<double> arrayTab(rowN, colN, 0.);
1437 while(INfile.good()){
1438 while(getline(INfile, lineTab)){
1439 if( lineTab[0]==
'#' )
continue;
1441 std::istringstream streamTab(lineTab);
1443 while(streamTab >>v){
1444 arrayTab.assign(a,b,v);
1461 int rowN=arrayTab.size_i();
1463 double xmin = arrayTab(0,0);
1464 double xmax = arrayTab(rowN-1,0);
1465 double interval = arrayTab(1,0)-arrayTab(0,0);
1466 int Nintervals = (x-xmin)/interval;
1478 y =(arrayTab(Nintervals+1,1)-arrayTab(Nintervals,1))/(arrayTab(Nintervals+1,0)
1479 -arrayTab(Nintervals,0))*(x-arrayTab(Nintervals,0))+arrayTab(Nintervals,1);
1489 int rowN=arrayTab.size_i();
1490 double xmin = arrayTab(0,0);
1491 double xmax = arrayTab(rowN-1,0);
1492 double ymin = arrayTab(0,1);
1493 double ymax = arrayTab(rowN-1,1);
1494 double zmin = arrayTab(0,2);
1495 double zmax = arrayTab(rowN-1,2);
1496 double intervalx = arrayTab(1,0)-arrayTab(0,0);
1499 while(arrayTab(iy,1)-arrayTab(iy-1,1)==0&&iy<6000000);
1500 double intervaly = arrayTab(iy,1)-arrayTab(iy-1,1);
1503 while(arrayTab(iz,2)-arrayTab(iz-1,2)==0&&iz<6000000);
1504 double intervalz = arrayTab(iz,2)-arrayTab(iz-1,2);
1505 int Nintervalsx = (x-xmin)/intervalx;
1506 int Nintervalsy = (y-ymin)/intervaly;
1507 int Nintervalsz = (z-zmin)/intervalz;
1508 int MaxNintervalx = round((xmax-xmin)/intervalx);
1509 int MaxNintervaly = round((ymax-ymin)/intervaly);
1510 int MaxNintervalz = round((zmax-zmin)/intervalz);
1519 if(x<xmin||Nintervalsx>MaxNintervalx||y<ymin||Nintervalsy>MaxNintervaly||z<zmin||Nintervalsz>MaxNintervalz){
1528 double x1=arrayTab(iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,0);
1529 double x2=arrayTab(iz*(Nintervalsz)+iy*(Nintervalsy)+Nintervalsx+1,0);
1530 double y1=arrayTab(iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,1);
1531 double y2=arrayTab(iz*(Nintervalsz)+iy*(Nintervalsy+1)+Nintervalsx,1);
1532 double z1=arrayTab(iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,2);
1533 double z2=arrayTab(iz*(Nintervalsz+1)+iy*(Nintervalsy)+Nintervalsx,2);
1535 return (arrayTab(iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,3) * (x2-x) * (y2-y) * (z2-z)
1536 +arrayTab(iz*Nintervalsz+iy*Nintervalsy+Nintervalsx+1,3) * (x-x1) * (y2-y) * (z2-z)
1537 +arrayTab(iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx,3) * (x2-x) * (y-y1) * (z2-z)
1538 +arrayTab(iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx,3) * (x2-x) * (y2-y) * (z-z1)
1539 +arrayTab(iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx+1,3) * (x-x1) * (y-y1) * (z2-z)
1540 +arrayTab(iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx+1,3) * (x-x1) * (y2-y) * (z-z1)
1541 +arrayTab(iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx,3) * (x2-x) * (y-y1) * (z-z1)
1542 +arrayTab(iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx+1,3) * (x-x1) * (y-y1) * (z-z1))/((x2-x1)*(y2-y1)*(z2-z1));
1553 int rowN=arrayTab.size_i();
1555 double xmin = arrayTab(0,0);
1556 double xmax = arrayTab(rowN-1,0);
1557 double ymin = arrayTab(0,1);
1558 double ymax = arrayTab(rowN-1,1);
1559 double zmin = arrayTab(0,2);
1560 double zmax = arrayTab(rowN-1,2);
1561 double vmin = arrayTab(0,3);
1562 double vmax = arrayTab(rowN-1,3);
1563 double intervalx = arrayTab(1,0)-arrayTab(0,0);
1566 while(arrayTab(iy,1)-arrayTab(iy-1,1)==0&&iy<6000000);
1567 double intervaly = arrayTab(iy,1)-arrayTab(iy-1,1);
1570 while(arrayTab(iz,2)-arrayTab(iz-1,2)==0&&iz<6000000);
1571 double intervalz = arrayTab(iz,2)-arrayTab(iz-1,2);
1574 while(arrayTab(iv,3)-arrayTab(iv-1,3)==0&&iv<6000000);
1575 double intervalv = arrayTab(iv,3)-arrayTab(iv-1,3);
1576 int Nintervalsx = (x-xmin)/intervalx;
1577 int Nintervalsy = (y-ymin)/intervaly;
1578 int Nintervalsz = (z-zmin)/intervalz;
1579 int Nintervalsv = (v-vmin)/intervalv;
1580 int MaxNintervalx = round((xmax-xmin)/intervalx);
1581 int MaxNintervaly = round((ymax-ymin)/intervaly);
1582 int MaxNintervalz = round((zmax-zmin)/intervalz);
1583 int MaxNintervalv = round((vmax-vmin)/intervalv);
1601 if(x<xmin||Nintervalsx>MaxNintervalx||y<ymin||Nintervalsy>MaxNintervaly||z<zmin||Nintervalsz>MaxNintervalz||v<vmin||Nintervalsv>MaxNintervalv){
1610 double x1=arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,0);
1611 double x2=arrayTab(iv*(Nintervalsv)+iz*(Nintervalsz)+iy*(Nintervalsy)+Nintervalsx+1,0);
1612 double y1=arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,1);
1613 double y2=arrayTab(iv*(Nintervalsv)+iz*(Nintervalsz)+iy*(Nintervalsy+1)+Nintervalsx,1);
1614 double z1=arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,2);
1615 double z2=arrayTab(iv*(Nintervalsv)+iz*(Nintervalsz+1)+iy*(Nintervalsy)+Nintervalsx,2);
1616 double v1=arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,3);
1617 double v2=arrayTab(iv*(Nintervalsv+1)+iz*(Nintervalsz)+iy*(Nintervalsy)+Nintervalsx,3);
1643 return (arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,4) * (x2-x) * (y2-y) * (z2-z) * (v2-v)
1644 +arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx+1,4) * (x-x1) * (y2-y) * (z2-z) * (v2-v)
1645 +arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx,4) * (x2-x) * (y-y1) * (z2-z) * (v2-v)
1646 +arrayTab(iv*Nintervalsv+iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx,4) * (x2-x) * (y2-y) * (z-z1) * (v2-v)
1647 +arrayTab(iv*(Nintervalsv+1)+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx,4) * (x2-x) * (y2-y) * (z2-z) * (v-v1)
1648 +arrayTab(iv*Nintervalsv+iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx+1,4) * (x-x1) * (y-y1) * (z2-z) * (v2-v)
1649 +arrayTab(iv*Nintervalsv+iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx+1,4) * (x-x1) * (y2-y) * (z-z1) * (v2-v)
1650 +arrayTab(iv*(Nintervalsv+1)+iz*Nintervalsz+iy*Nintervalsy+Nintervalsx+1,4) * (x-x1) * (y2-y) * (z2-z) * (v-v1)
1651 +arrayTab(iv*Nintervalsv+iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx,4) * (x2-x) * (y-y1) * (z-z1) * (v2-v)
1652 +arrayTab(iv*(Nintervalsv+1)+iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx,4) * (x2-x) * (y-y1) * (z2-z) * (v-v1)
1653 +arrayTab(iv*(Nintervalsv+1)+iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx,4) * (x2-x) * (y2-y) * (z-z1) * (v-v1)
1654 +arrayTab(iv*Nintervalsv+iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx+1,4) * (x-x1) * (y-y1) * (z-z1) * (v2-v)
1655 +arrayTab(iv*(Nintervalsv+1)+iz*Nintervalsz+iy*(Nintervalsy+1)+Nintervalsx+1,4) * (x-x1) * (y-y1) * (z2-z) * (v-v1)
1656 +arrayTab(iv*(Nintervalsv+1)+iz*(Nintervalsz+1)+iy*Nintervalsy+Nintervalsx+1,4) * (x-x1) * (y2-y) * (z-z1) * (v-v1)
1657 +arrayTab(iv*(Nintervalsv+1)+iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx,4) * (x2-x) * (y-y1) * (z-z1) * (v-v1)
1658 +arrayTab(iv*(Nintervalsv+1)+iz*(Nintervalsz+1)+iy*(Nintervalsy+1)+Nintervalsx+1,4) * (x-x1) * (y-y1) * (z-z1) * (v-v1))/((x2-x1)*(y2-y1)*(z2-z1)*(v2-v1));
1805 std::stringstream ex0,ex1,ex2,ex3;
1806 std::stringstream ex1e,ex2e,ex3e;
1808 std::stringstream ex4,ex5,ex6,ex7,ex8;
1809 std::stringstream ex4e,ex5e,ex6e,ex7e,ex8e;
1810 std::stringstream ex9,ex10,ex13;
1811 std::stringstream ex9e,ex10e,ex13e;
1812 std::stringstream ex14, ex15,ex16,ex17,ex18,ex19;
1813 std::stringstream th1,th2,th3,th4,th5,th6,th7,th8,th9,th10,th11,th12,th13,th14;
1815 std::stringstream bsg1;
1817 std::cout<<
"reading tables"<<std::endl;
1820 std::stringstream path;
1821 path << getenv(
"HEPFITTABS") <<
"/THDM/tabs/";
1824 std::string tablepath=path.str();
1842 ex0 << tablepath <<
"150304114.dat";
1844 ex1 << tablepath <<
"150304114.dat";
1846 ex1e << tablepath <<
"150304114_e.dat";
1848 ex2 << tablepath <<
"150608329.dat";
1850 ex2e << tablepath <<
"150608329_e.dat";
1852 ex3 << tablepath <<
"150507018.dat";
1854 ex3e << tablepath <<
"150507018_e.dat";
1870 ex4 << tablepath <<
"ATLAS-CONF-2016-104_b.dat";
1872 ex4e << tablepath <<
"ATLAS-CONF-2016-104_b_e.dat";
1874 ex5 << tablepath <<
"180711883.dat";
1876 ex5e << tablepath <<
"ATLAS-CONF-2016-104_a_e.dat";
1878 ex6 << tablepath <<
"ATLAS-CONF-2016-049.dat";
1880 ex6e << tablepath <<
"ATLAS-CONF-2016-049_e.dat";
1882 ex7 << tablepath <<
"CMS-PAS-HIG-16-025.dat";
1884 ex7e << tablepath <<
"CMS-PAS-HIG-16-025_e.dat";
1886 ex8 << tablepath <<
"180603548.dat";
1888 ex8e << tablepath <<
"180603548_e.dat";
1893 ex9 << tablepath <<
"151203704.dat";
1895 ex9e << tablepath <<
"151203704_e.dat";
1897 ex10 << tablepath <<
"150807774_b.dat";
1899 ex10e << tablepath <<
"150807774_b_e.dat";
1901 ex17 << tablepath <<
"210210076.dat";
1903 ex18 << tablepath <<
"180512191.dat";
1913 ex13 << tablepath <<
"171004960.dat";
1915 ex13e << tablepath <<
"171004960_e.dat";
1917 ex14 << tablepath <<
"180410823_b.dat";
1919 ex15 << tablepath <<
"CMS-CR-2018-204.dat";
1921 ex16 << tablepath <<
"171007171.dat";
1924 ex19 << tablepath <<
"180206149.dat";
1927 th1 << tablepath <<
"Generated_data_S2t_Fixed_Steps.dat";
1930 th2 << tablepath <<
"Generated_data_Stt_tttt_Fixed_Steps.dat";
1933 th3 << tablepath <<
"Generated_data_S_jj_Fixed_Steps.dat";
1936 th4 << tablepath <<
"Generated_data_SS_jjjj_Fixed_Steps.dat";
1939 th5 << tablepath <<
"Generated_data_Stb_tbtb_Fixed_Steps.dat";
1942 th6 << tablepath <<
"Generated_data_Soddtt_tttt_Fixed_Steps.dat";
1945 th7 << tablepath <<
"Generated_data_Srbb_bbbb_Fixed_Steps.dat";
1948 th8 << tablepath <<
"Generated_data_Sibb_bbbb_Fixed_Steps.dat";
1951 th9 << tablepath <<
"Generated_data_Sr_bb_Fixed_Steps.dat";
1954 th10 << tablepath <<
"Generated_data_Sr_bb_8TeV_Fixed_Steps.dat";
1957 th11 << tablepath <<
"Generated_data_Si_bb_Fixed_Steps.dat";
1960 th12 << tablepath <<
"Generated_data_Si_bb_8TeV_Fixed_Steps.dat";
1963 th13 << tablepath <<
"Generated_data_Srbb_bbbb_8TeV_Fixed_Steps.dat";
1966 th14 << tablepath <<
"Generated_data_Sibb_bbbb_8TeV_Fixed_Steps.dat";
1970 bsg1 << tablepath <<
"bsgammatable.dat";
1976 double params[] = {mass};
1990 double params[] = {mass};
2004 double params[] = {mass};
2020 double params[] = {mass};
2034 double params[] = {mass};
2050 double params[] = {mass};
2064 double params[] = {mass};
2080 double params[] = {mass};
2096 double params[] = {mass};
2112 double params[] = {mass};
2126 double params[] = {mass};
2142 double params[] = {mass};
2157 double params[] = {mass};
2171 double params[] = {mass};
2189 double params[] = {mass};
2203 double params[] = {mass};
2219 double params[] = {mass};
2234 double params[] = {mass};
2250 double params[] = {mass};
2266 double params[] = {mass};
2282 double params[] = {mass};
2296 double params[] = {mass};
2313 double params[] = {mass};
2329 double params[] = {mass};
2343 double params[] = {mass};
2357 double params[] = {mass};
2371 double params[] = {mass};
2385 double params[] = {mass};
2403 double params[] = {
etaD,
etaU, Lambda4, mSr};
2417 double params[] = {
etaD,
etaU, Lambda4, mSr};
2431 double params[] = {
etaD,
etaU, Lambda4, mSr};
2445 double params[] = {
etaD,
etaU, Lambda4, mSr};
2460 double params[] = {
etaD,
etaU, mS};
2475 double params[] = {
etaD,
etaU, mS};
2490 double params[] = {
etaD,
etaU, Lambda4, mSr};
2505 double params[] = {
etaD,
etaU, Lambda4, mSr};
2520 double params[] = {
etaD,
etaU, mS};
2537 double params[] = {
etaD,
etaU, mS};
2556 double params[] = {
etaD,
etaU, Lambda4, mSr};
2572 double params[] = {
etaD,
etaU, Lambda4, mSr};
2587 double params[] = {
etaD,
etaU, mS};
2605 double params[] = {
etaD,
etaU, mS};
2641 double mSr=sqrt(
mSRsq);
2642 double mSp=sqrt(
mSpsq);
2643 double mSi=sqrt(
mSIsq);
2646 double SqrtEtaU=copysign(sqrt(sqrt(pow(
etaU,2))),
etaU);
2647 double SqrtEtaD=copysign(sqrt(sqrt(pow(
etaD,2))),
etaD);
2741 double tan2b=sin2b/cos2b;
2742 double cot2b=1.0/tan2b;
2745 double tan2a=sin2a/cos2a;
2746 double cot2a=1.0/tan2a;
2799 return std::numeric_limits<double>::quiet_NaN();
gslpp::complex B00(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
double A0(const double mu2, const double m2) const
.
const double & getMass() const
A get method to access the particle mass.
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
An RGE running algorithm for the THDMW parameters.
virtual double RGERunnercustodialMW(double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
virtual double RGERunnerTHDMW(double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
virtual double RGERunnerMW(double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
A model class for the Standard Model.
const double computeGammaHTotal() const
The Higgs total width in the Standard Model.
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const double getMz() const
A get method to access the mass of the boson .
const double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
const double v() const
The Higgs vacuum expectation value.
THDM branching ratio of .
THDM branching ratio of .
THDM branching ratio of .
A base class for symmetric Two-Higgs-Doublet-Manohar-Wise models.
const double getTHDMW_kappa1() const
A getter for .
const double getTHDMW_nu3() const
A getter for .
const double getTHDMW_kappa2() const
A getter for .
const double getTHDMW_S_b() const
A getter for .
const double getTHDMW_mS2() const
A getter for .
const double getTHDMW_lambda2() const
A getter for .
const double getNLOuniscaleTHDMW() const
A getter for the minimal NLO unitarity check scale.
const double getTHDMW_kappa3() const
A getter for .
std::string getRGEorderflag() const
A getter for the switch for NLO RGE and approximate NLO RGE.
const double getTHDMW_nu4() const
A getter for .
const double getTHDMW_nu2() const
A getter for .
const double getQ_THDMW() const
A getter for the THDMW scale.
std::string getModelTypeTHDMWflag() const
A getter for the THDMW model type.
const double getTHDMW_mu2() const
A getter for .
const double getTHDMW_mu3() const
A getter for .
const double getTHDMW_sinb() const
A getter for .
const double getTHDMW_lambda1() const
A getter for .
const double getTHDMW_mu5() const
A getter for .
const double getTHDMW_mu1() const
A getter for .
const double getTHDMW_rho_b() const
A getter for .
const double getTHDMW_omega4() const
A getter for .
const double getTHDMW_etaU() const
A getter for .
const double getTHDMW_mu4() const
A getter for .
const double getTHDMW_nu5() const
A getter for .
virtual const double Mw() const
const double getTHDMW_omega3() const
A getter for .
const double getTHDMW_lambda3() const
A getter for .
const double getTHDMW_omega1() const
A getter for .
const double getTHDMW_bma() const
A getter for .
const double getTHDMW_sina() const
A getter for .
const double getTHDMW_omega2() const
A getter for .
const double getTHDMW_etaD() const
A getter for .
const double getTHDMW_mu6() const
A getter for .
const double getTHDMW_nu1() const
A getter for .
const double getRpepsTHDMW() const
A getter for the minimal R' value.
const double getTHDMW_lambda5() const
A getter for .
const double getTHDMW_lambda4() const
A getter for .
const double getTHDMW_cosa() const
A getter for .
const double getTHDMW_cosb() const
A getter for .
const double getTHDMW_tanb() const
A getter for .
gslpp::matrix< double > CMS8_pp_phi_bb
gslpp::matrix< double > CMS8_bb_phi_bb
double ip_ex_pp_H_hh_bbbb_ATLAS13_cache[2][CacheSize]
double ip_ex_pp_Hpm_tb_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
gslpp::matrix< double > CMS8_pp_Hp_tb_e
void CacheShiftReal(double cache[][CacheSize], const int NumPar, const double params[], const double newResult) const
Adds a new result and its parameters into the cache.
gslpp::matrix< double > CMS13_ggF_H_hh_bbbb_e
gslpp::matrix< double > CMS13_pp_phi_bb_e
double ip_ex_pp_SS_jjjj_ATLAS13(double mass)
Interpolating function for the expected ATLAS upper limit on pp -> coloron coloron -> j j j j.
double ip_ex_pp_phi_bb_CMS8_cache[2][CacheSize]
double ip_th_pp_SrSr_jjjj(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr Sr ->j j j j.
double setOtherParameters()
gslpp::complex g_func(const double x) const
gslpp::matrix< double > ATLAS8_gg_phi_tt
gslpp::matrix< double > ATLAS13_pp_Gkk_tt
gslpp::complex B00_MZ2_MZ2_mSr2_mSp2(const double MZ2, const double mSr2, const double mSp2) const
.
double ip_th_pp_Sr_bb_8TeV_cache[5][CacheSize]
double ip_th_pp_Si_bb(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> Si -> b bbar.
gslpp::matrix< double > ATLAS8_pp_Hpm_tb
gslpp::complex I_HH_U_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_mSr2_mSi2(const double MZ2, const double mSr2, const double mSi2) const
.
double ip_th_pp_Srtt_tttt_cache[5][CacheSize]
gslpp::complex A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
Amplitude for a heavy CP-even Higgs boson decay to a photon and a Z boson including muons and taus in...
gslpp::matrix< double > ATLAS8_gg_phi_tt_e
double THoEX_pp_Sibb_bbbb_8TeV
gslpp::complex A_H_W_cache[5][CacheSize]
gslpp::vector< gslpp::complex > betaeigenvalues
gslpp::complex A_HH_L_cache[6][CacheSize]
gslpp::complex I_A_L_cache[4][CacheSize]
double ip_ex_ggF_H_hh_bbbb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
double ip_ex_ggF_H_hh_bbbb_CMS13_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_pp_H_hh_bbbb_e
double ip_ex_ggF_H_hh_bbbb_CMS13(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
double ip_ex_pp_Hp_tb_CMS8_cache_e[2][CacheSize]
gslpp::complex I_A_U(const double mA2, const double Mc, const double Mt) const
Amplitude for a CP-odd Higgs boson decay to diphotons including the charm and top quarks in the loop.
double ip_ex_pp_Hpm_tb_ATLAS8_cache[2][CacheSize]
gslpp::matrix< double > MadGraph_pp_Sibb_bbbb_8TeV
double ip_th_pp_SrSr_jjjj_cache[5][CacheSize]
gslpp::complex B0_MZ2_0_mSp2_mSp2_cache[3][CacheSize]
gslpp::matrix< double > ATLAS13_pp_SS_jjjj
gslpp::complex B0_MZ2_0_mSp2_mSp2(const double MZ2, const double mSp2) const
.
double ip_th_pp_Srbb_bbbb_8TeV(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr b bbar -> b bbar b bbar.
int CacheCheck(const gslpp::complex cache[][CacheSize], const int NumPar, const double params[]) const
Check whether for the latest set of parameters a value is in the cache.
void runTHDMWparameters()
gslpp::complex A_A_L_cache[6][CacheSize]
gslpp::complex A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const
Amplitude for the SM Higgs boson decay to a photon and a Z boson including the leptons in the loop.
gslpp::complex A_H_W(const double mH, const double cW2, const double MW, const double MZ) const
Amplitude for a CP-even Higgs boson decay to a photon and a Z boson including the W boson in the loop...
double interpolate3D(gslpp::matrix< double > arrayTab, double x, double y, double z)
Linearly interpolates a table with three parameter dimensions.
gslpp::matrix< double > ATLAS13_tt_phi_tt_e
double ip_ex_bb_phi_tt_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a bb associated scalar resonance decayin...
double THoEX_pp_Sr_bb_8TeV
gslpp::complex I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const
Amplitude for the SM Higgs boson decay to diphotons including the down-type quarks in the loop.
double ip_ex_pp_Hp_tb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a singly charged scalar resonance decaying...
double THoEX_pp_Si_bb_8TeV
double ip_ex_pp_phi_bb_CMS13_cache[2][CacheSize]
double THoEX_pp_Srtt_tttt
gslpp::complex A0_MZ2_mSp2(const double MZ2, const double mSp2) const
.
gslpp::complex B00_MZ2_MZ2_mSr2_mSp2_cache[4][CacheSize]
double ip_th_pp_Srbb_bbbb_cache[5][CacheSize]
gslpp::complex I_HH_D(const double mHh2, const double Ms, const double Mb) const
Amplitude for a heavy CP-even Higgs boson decay to diphotons including the strange and bottom quarks ...
double THoEX_pp_Srbb_bbbb_8TeV
gslpp::matrix< double > ATLAS13_pp_Hp_tb
gslpp::vector< gslpp::complex > NLOunitarityeigenvalues
THDMWcache(const StandardModel &SM_i)
THDMWcache constructor.
gslpp::complex A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
Amplitude for a CP-odd Higgs boson decay to a photon and a Z boson including muons and taus in the lo...
gslpp::complex I_h_U_cache[5][CacheSize]
static const int CacheSize
Cache size.
double ip_th_pp_Stb_tbtb(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> S+ tbar b -> t bbar tbar b.
double ip_ex_pp_phi_bb_CMS13_cache_e[2][CacheSize]
gslpp::matrix< double > CMS13_pp_phi_bb
gslpp::matrix< double > MadGraph_pp_Stb_tbtb
gslpp::complex A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const
Amplitude for a heavy CP-even Higgs boson decay to a photon and a Z boson including the strange and b...
gslpp::complex I_A_D(const double mA2, const double Ms, const double Mb) const
Amplitude for a CP-odd Higgs boson decay to diphotons including the strange and bottom quarks in the ...
gslpp::complex I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const
Amplitude for the SM Higgs boson decay to diphotons including the up-type quarks in the loop.
gslpp::complex A_HH_D_cache[6][CacheSize]
gslpp::matrix< double > CMS13_pp_H_hh_bbbb_e
double ip_th_pp_Sitt_tttt_cache[4][CacheSize]
gslpp::complex I_H_Hp_cache[3][CacheSize]
gslpp::complex A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const
Amplitude for a CP-odd Higgs boson decay to a photon and a Z boson including the strange and bottom q...
double ip_ex_bb_phi_tt_ATLAS13_cache_e[2][CacheSize]
double ip_ex_pp_H_hh_bbbb_CMS13_cache_e[2][CacheSize]
double ip_th_pp_Sr_jj(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr -> j j.
gslpp::complex A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const
Amplitude for a CP-even Higgs boson decay to a photon and a Z boson including the charged Higgs boson...
gslpp::complex B00_MZ2_MZ2_mSi2_mSp2_cache[4][CacheSize]
gslpp::complex A0_MZ2_mSr2_cache[3][CacheSize]
double ip_ex_pp_Hp_tb_CMS8_cache[2][CacheSize]
double ip_ex_pp_Hp_tb_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_bb_H_bb
gslpp::complex B00_MZ2_MZ2_mSr2_mSi2_cache[4][CacheSize]
double ip_ex_bb_phi_bb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a bottom quark produced scalar resonance d...
gslpp::matrix< double > ATLAS13_tt_phi_tt
gslpp::matrix< double > MadGraph_pp_Sr_bb_8TeV
gslpp::complex I_HH_L(const double mHh2, const double Mmu, const double Mtau) const
Amplitude for a heavy CP-even Higgs boson decay to diphotons including muons and taus in the loop.
double ip_th_pp_Sibb_bbbb_8TeV_cache[4][CacheSize]
~THDMWcache()
THDMWcache destructor.
double THoEX_pp_Srbb_bbbb
double ip_ex_pp_Hp_tb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
double ip_ex_pp_H_hh_bbbb_ATLAS13_cache_e[2][CacheSize]
gslpp::complex I_h_D_cache[5][CacheSize]
double ip_ex_pp_Hp_tb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
double ip_ex_pp_SS_jjjj_ATLAS13_cache[2][CacheSize]
void CacheShift(gslpp::complex cache[][CacheSize], const int NumPar, const double params[], const gslpp::complex newResult) const
Adds a new result and its parameters into the cache.
void read()
Fills all required arrays with the values read from the tables.
gslpp::complex I_HH_L_cache[4][CacheSize]
double ip_th_pp_Sr_tt_cache[5][CacheSize]
gslpp::complex A_A_U_cache[6][CacheSize]
double THoEX_pp_SrSr_jjjj
gslpp::complex I_HH_D_cache[4][CacheSize]
gslpp::matrix< double > MadGraph_pp_Si_bb
gslpp::matrix< double > Dummy
gslpp::matrix< double > MadGraph_pp_Sibb_bbbb
gslpp::complex A_h_U_cache[7][CacheSize]
double ip_th_pp_Sr_tt(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr -> t tbar.
double ip_th_pp_Sitt_tttt(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> Si tbar t -> t tbar tbar t.
double ip_ex_bb_phi_tt_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a bb associated scalar resonance decayin...
double ip_th_pp_Si_bb_8TeV(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> Si -> b bbar.
double interpolate(gslpp::matrix< double > arrayTab, double x)
Linearly interpolates a table with one parameter dimension.
double ip_ex_pp_H_hh_bbbb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
gslpp::matrix< double > MadGraph_pp_Srtt_tttt
gslpp::matrix< double > MadGraph_pp_Sr_tt
gslpp::complex A_H_Hp_cache[5][CacheSize]
double ip_ex_bb_phi_bb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a bottom quark produced scalar resonance d...
double ip_ex_tt_phi_tt_ATLAS13_cache_e[2][CacheSize]
gslpp::matrix< double > MadGraph_pp_Sitt_tttt
gslpp::matrix< double > CMS13_ggF_H_hh_bbbb
gslpp::matrix< double > MadGraph_pp_Srbb_bbbb
gslpp::complex A_HH_U_cache[6][CacheSize]
gslpp::complex A0_MZ2_mSr2(const double MZ2, const double mSr2) const
.
double ip_th_pp_Sr_jj_cache[5][CacheSize]
double ip_th_pp_Sibb_bbbb(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> Si bbar b -> b bbar bbar b.
double interpolate4D(gslpp::matrix< double > arrayTab, double x, double y, double z, double v)
Linearly interpolates a table with four parameter dimensions.
gslpp::complex I_h_L_cache[5][CacheSize]
double ip_ex_pp_phi_hh_bbbb_CMS8_cache_e[2][CacheSize]
double ip_ex_bb_H_bb_CMS13_cache[2][CacheSize]
double ip_ex_gg_phi_tt_ATLAS8_cache[2][CacheSize]
double ip_ex_tt_phi_tt_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a tt associated scalar resonance decayin...
gslpp::complex A_h_D_cache[7][CacheSize]
double ip_ex_tt_phi_tt_ATLAS13_cache[2][CacheSize]
double ip_th_pp_Si_bb_8TeV_cache[4][CacheSize]
double ip_ex_bb_H_bb_CMS13(double mass)
Interpolating function for the expected CMS upper limit on pp -> H b bbar -> b bbar b bbar.
double ip_ex_pp_H_hh_bbbb_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a spin-2 resonance decaying to two boso...
double ip_th_pp_Sr_bb(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr -> b bbar.
double ip_ex_tt_phi_tt_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a tt associated scalar resonance decayin...
gslpp::complex f_func(const double x) const
loginterpolating function for the theoretical value of p p -> Sr Sr ->j j j j
gslpp::complex A0_MZ2_mSi2(const double MZ2, const double mSr2) const
.
double ip_th_pp_Srtt_tttt(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr t tbar -> t tbar t tbar.
double ip_ex_pp_phi_bb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to a b quark p...
gslpp::complex I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const
Amplitude for the SM Higgs boson decay to diphotons including the leptons in the loop.
gslpp::complex I_H_Hp(const double mHp2, const double mH) const
Amplitude for a CP-even Higgs boson decay to diphotons including the charged Higgs boson in the loop.
double THoEX_pp_Sitt_tttt
double ip_th_pp_Srbb_bbbb_8TeV_cache[5][CacheSize]
gslpp::complex A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const
Amplitude for a CP-odd Higgs boson decay to a photon and a Z boson including the charm and top quarks...
void computeSignalStrengthQuantities()
double ip_ex_pp_R_gg_CMS13(double mass)
Interpolating function for the expected CMS upper limit for resonances decaying to gluons.
double ip_ex_bb_phi_bb_CMS8_cache_e[2][CacheSize]
gslpp::complex A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const
Amplitude for a heavy CP-even Higgs boson decay to a photon and a Z boson including the charm and top...
gslpp::matrix< double > CMS8_pp_H_hh_bbbb
gslpp::complex A0_MZ2_mSi2_cache[3][CacheSize]
double ip_th_pp_Sr_bb_8TeV(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr -> b bbar at 8 TeV.
gslpp::complex Int1(const double tau, const double lambda) const
gslpp::matrix< double > arraybsgamma
double ip_ex_pp_phi_hh_bbbb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
double ip_ex_pp_Hpm_tb_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
double ip_ex_gg_phi_tt_ATLAS8_cache_e[2][CacheSize]
gslpp::complex I_A_L(const double mA2, const double Mmu, const double Mtau) const
Amplitude for a CP-odd Higgs boson decay to diphotons including muons and taus in the loop.
gslpp::complex I_HH_U(const double mHh2, const double Mc, const double Mt) const
Amplitude for a heavy CP-even Higgs boson decay to diphotons including the charm and top quarks in th...
double ip_ex_pp_Gkk_tt_ATLAS13(double mass)
Interpolating function for the expected ATLAS upper limit on pp -> Gkk (Kaluza-Klein graviton) -> t t...
gslpp::matrix< double > ATLAS13_bb_phi_tt
gslpp::matrix< double > MadGraph_pp_Sr_jj
double ip_ex_gg_phi_tt_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
gslpp::matrix< double > CMS13_pp_H_hh_bbbb
gslpp::complex I_A_U_cache[4][CacheSize]
gslpp::complex A0_MZ2_mSp2_cache[3][CacheSize]
double ip_ex_ggF_H_hh_bbbb_CMS13_cache_e[2][CacheSize]
gslpp::complex A_h_L_cache[7][CacheSize]
double ip_ex_pp_Hpm_tb_ATLAS8_cache_e[2][CacheSize]
gslpp::matrix< double > CMS13_pp_R_gg
gslpp::complex B00_MZ2_MZ2_mSp2_mSp2_cache[3][CacheSize]
gslpp::matrix< double > ATLAS13_bb_phi_tt_e
double ip_th_pp_Stb_tbtb_cache[4][CacheSize]
double ip_ex_pp_Gkk_tt_ATLAS13_cache[2][CacheSize]
double ip_ex_pp_H_hh_bbbb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a spin-2 resonance decaying to two boso...
gslpp::complex A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const
Amplitude for the SM Higgs boson decay to a photon and a Z boson including the up-type quarks in the ...
double ip_th_pp_Srbb_bbbb(double etaD, double etaU, double Lambda4, double mSr)
Interpolating function for the theoretical value of p p -> Sr b bbar -> b bbar b bbar.
double ip_ex_pp_H_hh_bbbb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
double ip_th_pp_Si_bb_cache[4][CacheSize]
gslpp::complex A_A_D_cache[6][CacheSize]
gslpp::matrix< double > readTable(std::string filename, int rowN, int colN)
This function reads values from a table and returns them as an array.
double ip_ex_gg_phi_tt_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
double ip_ex_bb_phi_bb_CMS8_cache[2][CacheSize]
double ip_th_pp_Sibb_bbbb_8TeV(double etaD, double etaU, double mS)
Interpolating function for the theoretical value of p p -> Si bbar b -> b bbar bbar b.
gslpp::complex I_H_W_cache[3][CacheSize]
double ip_ex_pp_R_gg_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_hh_bbbb_CMS8_cache[2][CacheSize]
gslpp::matrix< double > CMS8_bb_phi_bb_e
gslpp::complex A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const
Amplitude for the SM Higgs boson decay to a photon and a Z boson including the down-type quarks in th...
gslpp::matrix< double > CMS8_pp_H_hh_bbbb_e
double ip_ex_bb_phi_tt_ATLAS13_cache[2][CacheSize]
gslpp::complex I_H_W(const double mH, const double MW) const
Amplitude for a CP-even Higgs boson decay to diphotons including the W boson in the loop.
gslpp::vector< gslpp::complex > unitarityeigenvalues
double ip_ex_pp_phi_hh_bbbb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
gslpp::matrix< double > ATLAS13_pp_H_hh_bbbb
double THoEX_pp_Sibb_bbbb
gslpp::matrix< double > CMS8_pp_Hp_tb
double ip_ex_pp_phi_bb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to a b quark p...
gslpp::matrix< double > ATLAS8_pp_Hpm_tb_e
gslpp::complex Int2(const double tau, const double lambda) const
double ip_ex_pp_H_hh_bbbb_CMS13_cache[2][CacheSize]
double ip_th_pp_Sibb_bbbb_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_mSi2_mSp2(const double MZ2, const double mSi2, const double mSp2) const
.
gslpp::complex I_A_D_cache[4][CacheSize]
gslpp::matrix< double > MadGraph_pp_Si_bb_8TeV
RunnerTHDMW * myRunnerTHDMW
gslpp::matrix< double > MadGraph_pp_SrSr_jjjj
double ip_th_pp_Sr_bb_cache[5][CacheSize]
int CacheCheckReal(const double cache[][CacheSize], const int NumPar, const double params[]) const
Check whether for the latest set of parameters a value is in the cache.
gslpp::matrix< double > MadGraph_pp_Srbb_bbbb_8TeV
gslpp::complex B00_MZ2_MZ2_mSp2_mSp2(const double MZ2, const double mSp2) const
.
double ip_ex_pp_phi_bb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to a b quark p...
gslpp::matrix< double > MadGraph_pp_Sr_bb
parameter of the Higgs potential
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling combination .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .