14std::string GeneralTHDM::GeneralTHDMvars[NGeneralTHDMvars] = {
"mHp2",
"mH2sq",
"mH3sq",
"alpha1",
"alpha2",
"alpha3",
15"lambda2",
"lambda3",
"Relambda7",
16"Nu_11r",
"Nu_11i",
"Nu_12r",
"Nu_12i",
"Nu_13r",
"Nu_13i",
17"Nu_21r",
"Nu_21i",
"Nu_22r",
"Nu_22i",
"Nu_23r",
"Nu_23i",
18"Nu_31r",
"Nu_31i",
"Nu_32r",
"Nu_32i",
"Nu_33r",
"Nu_33i",
19"Nd_11r",
"Nd_11i",
"Nd_12r",
"Nd_12i",
"Nd_13r",
"Nd_13i",
20"Nd_21r",
"Nd_21i",
"Nd_22r",
"Nd_22i",
"Nd_23r",
"Nd_23i",
21"Nd_31r",
"Nd_31i",
"Nd_32r",
"Nd_32i",
"Nd_33r",
"Nd_33i",
22"Nl_11r",
"Nl_11i",
"Nl_12r",
"Nl_12i",
"Nl_13r",
"Nl_13i",
23"Nl_21r",
"Nl_21i",
"Nl_22r",
"Nl_22i",
"Nl_23r",
"Nl_23i",
24"Nl_31r",
"Nl_31i",
"Nl_32r",
"Nl_32i",
"Nl_33r",
"Nl_33i",
25"Q_GTHDM",
"RpepsGTHDM",
"NLOuniscaleGTHDM"};
27GeneralTHDM::GeneralTHDM() :
NPbase(), GTHDMM(*this) {
32 ModelParamMap.insert(std::make_pair(
"mH1", std::cref(mH1)));
33 ModelParamMap.insert(std::make_pair(
"mHp", std::cref(mHp1)));
34 ModelParamMap.insert(std::make_pair(
"mH2", std::cref(mH21)));
35 ModelParamMap.insert(std::make_pair(
"mH3", std::cref(mH31)));
37 ModelParamMap.insert(std::make_pair(
"mH1sq", std::cref(mH1sq)));
38 ModelParamMap.insert(std::make_pair(
"mHp2", std::cref(mHp2)));
39 ModelParamMap.insert(std::make_pair(
"mH2sq", std::cref(mH2sq)));
40 ModelParamMap.insert(std::make_pair(
"mH3sq", std::cref(mH3sq)));
41 ModelParamMap.insert(std::make_pair(
"alpha1", std::cref(alpha1)));
42 ModelParamMap.insert(std::make_pair(
"alpha2", std::cref(alpha2)));
43 ModelParamMap.insert(std::make_pair(
"alpha3", std::cref(alpha3)));
44 ModelParamMap.insert(std::make_pair(
"lambda1", std::cref(
lambda1)));
45 ModelParamMap.insert(std::make_pair(
"lambda2", std::cref(
lambda2)));
46 ModelParamMap.insert(std::make_pair(
"lambda3", std::cref(
lambda3)));
47 ModelParamMap.insert(std::make_pair(
"lambda4", std::cref(
lambda4)));
48 ModelParamMap.insert(std::make_pair(
"Relambda5", std::cref(Relambda5)));
49 ModelParamMap.insert(std::make_pair(
"Imlambda5", std::cref(Imlambda5)));
50 ModelParamMap.insert(std::make_pair(
"Relambda6", std::cref(Relambda6)));
51 ModelParamMap.insert(std::make_pair(
"Relambda7", std::cref(Relambda7)));
53 ModelParamMap.insert(std::make_pair(
"yu1R_GTHDM", std::cref(yu1R_GTHDM)));
54 ModelParamMap.insert(std::make_pair(
"yd1R_GTHDM", std::cref(yd1R_GTHDM)));
55 ModelParamMap.insert(std::make_pair(
"yl1R_GTHDM", std::cref(yl1R_GTHDM)));
59 ModelParamMap.insert(std::make_pair(
"Nu_11r", std::cref(Nu_11r)));
60 ModelParamMap.insert(std::make_pair(
"Nu_11i", std::cref(Nu_11i)));
61 ModelParamMap.insert(std::make_pair(
"Nu_12r", std::cref(Nu_12r)));
62 ModelParamMap.insert(std::make_pair(
"Nu_12i", std::cref(Nu_12i)));
63 ModelParamMap.insert(std::make_pair(
"Nu_13r", std::cref(Nu_13r)));
64 ModelParamMap.insert(std::make_pair(
"Nu_13i", std::cref(Nu_13i)));
65 ModelParamMap.insert(std::make_pair(
"Nu_21r", std::cref(Nu_21r)));
66 ModelParamMap.insert(std::make_pair(
"Nu_21i", std::cref(Nu_21i)));
67 ModelParamMap.insert(std::make_pair(
"Nu_22r", std::cref(Nu_22r)));
68 ModelParamMap.insert(std::make_pair(
"Nu_22i", std::cref(Nu_22i)));
69 ModelParamMap.insert(std::make_pair(
"Nu_23r", std::cref(Nu_23r)));
70 ModelParamMap.insert(std::make_pair(
"Nu_23i", std::cref(Nu_23i)));
71 ModelParamMap.insert(std::make_pair(
"Nu_31r", std::cref(Nu_31r)));
72 ModelParamMap.insert(std::make_pair(
"Nu_31i", std::cref(Nu_31i)));
73 ModelParamMap.insert(std::make_pair(
"Nu_32r", std::cref(Nu_32r)));
74 ModelParamMap.insert(std::make_pair(
"Nu_32i", std::cref(Nu_32i)));
75 ModelParamMap.insert(std::make_pair(
"Nu_33r", std::cref(Nu_33r)));
76 ModelParamMap.insert(std::make_pair(
"Nu_33i", std::cref(Nu_33i)));
77 ModelParamMap.insert(std::make_pair(
"Nd_11r", std::cref(Nd_11r)));
78 ModelParamMap.insert(std::make_pair(
"Nd_11i", std::cref(Nd_11i)));
79 ModelParamMap.insert(std::make_pair(
"Nd_12r", std::cref(Nd_12r)));
80 ModelParamMap.insert(std::make_pair(
"Nd_12i", std::cref(Nd_12i)));
81 ModelParamMap.insert(std::make_pair(
"Nd_13r", std::cref(Nd_13r)));
82 ModelParamMap.insert(std::make_pair(
"Nd_13i", std::cref(Nd_13i)));
83 ModelParamMap.insert(std::make_pair(
"Nd_21r", std::cref(Nd_21r)));
84 ModelParamMap.insert(std::make_pair(
"Nd_21i", std::cref(Nd_21i)));
85 ModelParamMap.insert(std::make_pair(
"Nd_22r", std::cref(Nd_22r)));
86 ModelParamMap.insert(std::make_pair(
"Nd_22i", std::cref(Nd_22i)));
87 ModelParamMap.insert(std::make_pair(
"Nd_23r", std::cref(Nd_23r)));
88 ModelParamMap.insert(std::make_pair(
"Nd_23i", std::cref(Nd_23i)));
89 ModelParamMap.insert(std::make_pair(
"Nd_31r", std::cref(Nd_31r)));
90 ModelParamMap.insert(std::make_pair(
"Nd_31i", std::cref(Nd_31i)));
91 ModelParamMap.insert(std::make_pair(
"Nd_32r", std::cref(Nd_32r)));
92 ModelParamMap.insert(std::make_pair(
"Nd_32i", std::cref(Nd_32i)));
93 ModelParamMap.insert(std::make_pair(
"Nd_33r", std::cref(Nd_33r)));
94 ModelParamMap.insert(std::make_pair(
"Nd_33i", std::cref(Nd_33i)));
95 ModelParamMap.insert(std::make_pair(
"Nl_11r", std::cref(Nl_11r)));
96 ModelParamMap.insert(std::make_pair(
"Nl_11i", std::cref(Nl_11i)));
97 ModelParamMap.insert(std::make_pair(
"Nl_12r", std::cref(Nl_12r)));
98 ModelParamMap.insert(std::make_pair(
"Nl_12i", std::cref(Nl_12i)));
99 ModelParamMap.insert(std::make_pair(
"Nl_13r", std::cref(Nl_13r)));
100 ModelParamMap.insert(std::make_pair(
"Nl_13i", std::cref(Nl_13i)));
101 ModelParamMap.insert(std::make_pair(
"Nl_21r", std::cref(Nl_21r)));
102 ModelParamMap.insert(std::make_pair(
"Nl_21i", std::cref(Nl_21i)));
103 ModelParamMap.insert(std::make_pair(
"Nl_22r", std::cref(Nl_22r)));
104 ModelParamMap.insert(std::make_pair(
"Nl_22i", std::cref(Nl_22i)));
105 ModelParamMap.insert(std::make_pair(
"Nl_23r", std::cref(Nl_23r)));
106 ModelParamMap.insert(std::make_pair(
"Nl_23i", std::cref(Nl_23i)));
107 ModelParamMap.insert(std::make_pair(
"Nl_31r", std::cref(Nl_31r)));
108 ModelParamMap.insert(std::make_pair(
"Nl_31i", std::cref(Nl_31i)));
109 ModelParamMap.insert(std::make_pair(
"Nl_32r", std::cref(Nl_32r)));
110 ModelParamMap.insert(std::make_pair(
"Nl_32i", std::cref(Nl_32i)));
111 ModelParamMap.insert(std::make_pair(
"Nl_33r", std::cref(Nl_33r)));
112 ModelParamMap.insert(std::make_pair(
"Nl_33i", std::cref(Nl_33i)));
113 ModelParamMap.insert(std::make_pair(
"Q_GTHDM", std::cref(Q_GTHDM)));
114 ModelParamMap.insert(std::make_pair(
"RpepsGTHDM", std::cref(RpepsGTHDM)));
115 ModelParamMap.insert(std::make_pair(
"NLOuniscaleGTHDM", std::cref(NLOuniscaleGTHDM)));
116 flag_use_sq_masses=
true;
119 flag_CPconservation =
false;
120 flag_SM_Higgs =
false;
125GeneralTHDM::~GeneralTHDM(){
126 if (IsModelInitialized()) {
127 if (myGTHDMcache != NULL)
delete(myGTHDMcache);
134bool GeneralTHDM::InitializeModel()
138 setModelGeneralTHDM();
139 return(IsModelInitialized());
143bool GeneralTHDM::Update(
const std::map<std::string, double>&
DPars)
156bool GeneralTHDM::PostUpdate()
158 trueSM.setComputemt(
true);
162 if(flag_CPconservation){
169 lambda1 = (mH1sq+mH2sq*tanalpha1*tanalpha1)/(v()*v()*(1+tanalpha1*tanalpha1));
171 lambda4 = (mH1sq+mH3sq-2*mHp2+(mH2sq-mH1sq)/(1+tanalpha1*tanalpha1))/(v()*v());
173 Relambda5 = ((mH2sq+mH1sq*tanalpha1*tanalpha1)/(1+tanalpha1*tanalpha1)-mH3sq)/(v()*v());
177 Relambda6 = ((mH1sq-mH2sq)*tanalpha1)/(v()*v()*(1+tanalpha1*tanalpha1));
184 throw std::runtime_error(
"\033[1;31m The CP-Violating GeneralTHDM is still not implemented, please use the CP-conserving model \033[0m ");
188 gsl_set_error_handler(custom_gsl_error_handler);
189 myGTHDMcache->updateCache();
194void GeneralTHDM::setParameter(
const std::string name,
const double& value){
200 if(name.compare(
"mH21") == 0){
201 if(!flag_use_sq_masses){
206 throw std::runtime_error(
" If flag_use_sq_masses is true you should not include"
207 " the linear mass as a parameter in the configuration file. Please comment that line");
212 else if(name.compare(
"mH31") == 0){
213 if(!flag_use_sq_masses){
218 throw std::runtime_error(
" If flag_use_sq_masses is true you should not include"
219 " the linear mass as a parameter in the configuration file. Please comment that line");
223 else if(name.compare(
"mHp1") == 0){
224 if(!flag_use_sq_masses){
229 throw std::runtime_error(
" If flag_use_sq_masses is true you should not include"
230 " the linear mass as a parameter in the configuration file. Please comment that line");
235 else if(name.compare(
"mH2sq") == 0){
236 if(flag_use_sq_masses){
241 throw std::runtime_error(
" If flag_use_sq_masses is false you should not include"
242 " the quadratic mass as a parameter in the configuration file. Please comment that line");
246 else if(name.compare(
"mH3sq") == 0){
247 if(flag_use_sq_masses){
252 throw std::runtime_error(
" If flag_use_sq_masses is false you should not include"
253 " the quadratic mass as a parameter in the configuration file. Please comment that line");
257 else if(name.compare(
"mHp2") == 0){
258 if(flag_use_sq_masses){
263 throw std::runtime_error(
" If flag_use_sq_masses is false you should not include"
264 " the quadratic mass as a parameter in the configuration file. Please comment that line");
269 else if(name.compare(
"alpha1") == 0) {
271 cosalpha1 = cos(alpha1);
272 sinalpha1 = sin(alpha1);
274 tanalpha1 = sinalpha1/cosalpha1;
277 std::cout<<
"\033[1;33m Warning!!! The alpha1=pi/2 and it's tangent is infinity, reduce the range of alpha1 \033[0m "<<std::endl;
281 else if(name.compare(
"alpha2") == 0) {
283 cosalpha2 = cos(alpha2);
284 sinalpha2 = sin(alpha2);
286 else if(name.compare(
"alpha3") == 0) {
288 cosalpha3 = cos(alpha3);
289 sinalpha3 = sin(alpha3);
291 else if(name.compare(
"lambda2") == 0)
293 else if(name.compare(
"lambda3") == 0)
295 else if(name.compare(
"Relambda7") == 0)
297 else if(name.compare(
"Nu_11r") == 0 && flag_sigma)
299 else if(name.compare(
"yu1R_GTHDM") == 0 && !flag_sigma){
305 else if(name.compare(
"Nu_11i") == 0)
307 else if(name.compare(
"Nu_12r") == 0)
309 else if(name.compare(
"Nu_12i") == 0)
311 else if(name.compare(
"Nu_13r") == 0)
313 else if(name.compare(
"Nu_13i") == 0)
315 else if(name.compare(
"Nu_21r") == 0)
317 else if(name.compare(
"Nu_21i") == 0)
319 else if(name.compare(
"Nu_22r") == 0)
321 else if(name.compare(
"Nu_22i") == 0)
323 else if(name.compare(
"Nu_23r") == 0)
325 else if(name.compare(
"Nu_23i") == 0)
327 else if(name.compare(
"Nu_31r") == 0)
329 else if(name.compare(
"Nu_31i") == 0)
331 else if(name.compare(
"Nu_32r") == 0)
333 else if(name.compare(
"Nu_32i") == 0)
335 else if(name.compare(
"Nu_33r") == 0)
337 else if(name.compare(
"Nu_33i") == 0)
339 else if(name.compare(
"Nd_11r") == 0 && flag_sigma)
341 else if(name.compare(
"yd1R_GTHDM") == 0 && !flag_sigma)
346 else if(name.compare(
"Nd_11i") == 0)
348 else if(name.compare(
"Nd_12r") == 0)
350 else if(name.compare(
"Nd_12i") == 0)
352 else if(name.compare(
"Nd_13r") == 0)
354 else if(name.compare(
"Nd_13i") == 0)
356 else if(name.compare(
"Nd_21r") == 0)
358 else if(name.compare(
"Nd_21i") == 0)
360 else if(name.compare(
"Nd_22r") == 0)
362 else if(name.compare(
"Nd_22i") == 0)
364 else if(name.compare(
"Nd_23r") == 0)
366 else if(name.compare(
"Nd_23i") == 0)
368 else if(name.compare(
"Nd_31r") == 0)
370 else if(name.compare(
"Nd_31i") == 0)
372 else if(name.compare(
"Nd_32r") == 0)
374 else if(name.compare(
"Nd_32i") == 0)
376 else if(name.compare(
"Nd_33r") == 0)
378 else if(name.compare(
"Nd_33i") == 0)
380 else if(name.compare(
"Nl_11r") == 0 && flag_sigma)
382 else if(name.compare(
"yl1R_GTHDM") == 0 && !flag_sigma)
387 else if(name.compare(
"Nl_11i") == 0)
389 else if(name.compare(
"Nl_12r") == 0)
391 else if(name.compare(
"Nl_12i") == 0)
393 else if(name.compare(
"Nl_13r") == 0)
395 else if(name.compare(
"Nl_13i") == 0)
397 else if(name.compare(
"Nl_21r") == 0)
399 else if(name.compare(
"Nl_21i") == 0)
401 else if(name.compare(
"Nl_22r") == 0)
403 else if(name.compare(
"Nl_22i") == 0)
405 else if(name.compare(
"Nl_23r") == 0)
407 else if(name.compare(
"Nl_23i") == 0)
409 else if(name.compare(
"Nl_31r") == 0)
411 else if(name.compare(
"Nl_31i") == 0)
413 else if(name.compare(
"Nl_32r") == 0)
415 else if(name.compare(
"Nl_32i") == 0)
417 else if(name.compare(
"Nl_33r") == 0)
419 else if(name.compare(
"Nl_33i") == 0)
421 else if(name.compare(
"Q_GTHDM") == 0)
423 else if(name.compare(
"RpepsGTHDM") == 0)
425 else if(name.compare(
"NLOuniscaleGTHDM") == 0)
426 NLOuniscaleGTHDM = value;
432bool GeneralTHDM::CheckParameters(
const std::map<std::string, double>&
DPars) {
433 for (
int i = 0; i < NGeneralTHDMvars; i++) {
434 if (
DPars.find(GeneralTHDMvars[i]) ==
DPars.end()) {
435 std::cout <<
"ERROR: missing mandatory GeneralTHDM parameter " << GeneralTHDMvars[i] << std::endl;
436 raiseMissingModelParameterCount();
437 addMissingModelParameter(GeneralTHDMvars[i]);
446bool GeneralTHDM::setFlagStr(
const std::string name,
const std::string value)
449 if(name.compare(
"RGEorder") == 0)
451 if (checkRGEorder(value))
453 flag_RGEorder = value;
458 throw std::runtime_error(
"GeneralTHDM::setFlagStr(): Invalid flag "
459 + name +
"=" + value);
470bool GeneralTHDM::setFlag(
const std::string name,
const bool value)
473 if(name.compare(
"use_sq_masses") == 0) {
474 flag_use_sq_masses = value;
476 if (!flag_use_sq_masses) {
477 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"mH2sq"))] =
"mH21";
478 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"mH3sq"))] =
"mH31";
479 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"mHp2"))] =
"mHp1";
481 ModelParamMap.insert(std::make_pair(
"mH21", std::cref(mH21)));
482 ModelParamMap.insert(std::make_pair(
"mH31", std::cref(mH31)));
483 ModelParamMap.insert(std::make_pair(
"mHp1", std::cref(mHp1)));
487 else if(name.compare(
"use_sigma") == 0) {
488 std::cout<<
"use_sigma = "<< value << std::endl;
491 if (!flag_sigma && flag_CPconservation) {
492 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"Nu_11r"))] =
"yu1R_GTHDM";
493 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"Nd_11r"))] =
"yd1R_GTHDM";
494 GeneralTHDMvars[std::distance(GeneralTHDMvars,std::find(GeneralTHDMvars,GeneralTHDMvars+NGeneralTHDMvars,
"Nl_11r"))] =
"yl1R_GTHDM";
496 ModelParamMap.insert(std::make_pair(
"yu1R_GTHDM", std::cref(yu1R_GTHDM)));
497 ModelParamMap.insert(std::make_pair(
"yd1R_GTHDM", std::cref(yd1R_GTHDM)));
498 ModelParamMap.insert(std::make_pair(
"yl1R_GTHDM", std::cref(yl1R_GTHDM)));
500 if(!flag_sigma && !flag_CPconservation){
501 throw std::runtime_error(
"sigma flag different from true only in the CP-conserving");
504 else if(name.compare(
"ATHDMflag") == 0) {
505 std::cout<<
"ATHDMflag = "<< value<<std::endl;
509 else if(name.compare(
"CPconservation") == 0) {
510 std::cout<<
"CPconservation = "<< value<<std::endl;
511 flag_CPconservation = value;
528const double GeneralTHDM::muggH(
const double sqrt_s)
const
530 return getMyGTHDMCache()->rh_gg;
533const double GeneralTHDM::muVBF(
const double sqrt_s)
const
535 return getMyGTHDMCache()->rh_VV;
538const double GeneralTHDM::mueeWBF(
const double sqrt_s,
const double Pol_em,
const double Pol_ep)
const
540 return getMyGTHDMCache()->rh_VV;
543const double GeneralTHDM::muWH(
const double sqrt_s)
const
545 return getMyGTHDMCache()->rh_VV;
548const double GeneralTHDM::muZH(
const double sqrt_s)
const
550 return getMyGTHDMCache()->rh_VV;
553const double GeneralTHDM::mueeZH(
const double sqrt_s,
const double Pol_em,
const double Pol_ep)
const
555 return getMyGTHDMCache()->rh_VV;
558const double GeneralTHDM::muVH(
const double sqrt_s)
const
560 return getMyGTHDMCache()->rh_VV;
563const double GeneralTHDM::muVBFpVH(
const double sqrt_s)
const
565 return getMyGTHDMCache()->rh_VV;
568const double GeneralTHDM::muttH(
const double sqrt_s)
const
571 return getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO;
575const double GeneralTHDM::mutH(
const double sqrt_s)
const
578 return getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO;
581const double GeneralTHDM::mubbH(
const double sqrt_s)
const
583 return getMyGTHDMCache()->rh_QdQdE + getMyGTHDMCache()->rh_QdQdO;
586const double GeneralTHDM::muttHptH(
const double sqrt_s)
const
588 return getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO;
591const double GeneralTHDM::muggHpVBFpbbH(
const double sqrt_s)
const
593 double xsecggF = computeSigmaggH(sqrt_s);
594 double xsecVBF = computeSigmaVBF(sqrt_s);
595 double xsecbbH = computeSigmabbH(sqrt_s);
596 return (
muggH(sqrt_s)*xsecggF +
muVBF(sqrt_s)*xsecVBF + mubbH(sqrt_s)*xsecbbH)/(xsecggF+xsecVBF+xsecbbH);
599const double GeneralTHDM::muggHpbbH(
const double sqrt_s)
const
601 double xsecggF = computeSigmaggH(sqrt_s);
602 double xsecbbH = computeSigmabbH(sqrt_s);
603 return (
muggH(sqrt_s)*xsecggF + mubbH(sqrt_s)*xsecbbH)/(xsecggF+xsecbbH);
606const double GeneralTHDM::muggHpttHptHpbbH(
const double sqrt_s)
const
608 double xsecggF = computeSigmaggH(sqrt_s);
609 double xsecttH = computeSigmattH(sqrt_s);
610 double xsectH = computeSigmatHq(sqrt_s);
611 double xsecbbH = computeSigmabbH(sqrt_s);
612 return (
muggH(sqrt_s)*xsecggF +
muttH(sqrt_s)*xsecttH + mutH(sqrt_s)*xsectH + mubbH(sqrt_s)*xsecbbH)/(xsecggF+xsecttH+xsectH+xsecbbH);
617const double GeneralTHDM::computeGammaTotalRatio()
const
619 return getMyGTHDMCache()->sumModBRs;
622const double GeneralTHDM::GammaTotal()
const
624 return getMyGTHDMCache()->Gamma_h;
627const double GeneralTHDM::BrHggRatio()
const
629 return getMyGTHDMCache()->rh_gg / computeGammaTotalRatio();
632const double GeneralTHDM::BrHWWRatio()
const
634 return getMyGTHDMCache()->rh_VV / computeGammaTotalRatio();
637const double GeneralTHDM::BrHZZRatio()
const
639 return getMyGTHDMCache()->rh_VV / computeGammaTotalRatio();
642const double GeneralTHDM::BrHZgaRatio()
const
644 return getMyGTHDMCache()->rh_Zga / computeGammaTotalRatio();
647const double GeneralTHDM::BrHgagaRatio()
const
649 return getMyGTHDMCache()->rh_gaga / computeGammaTotalRatio();
652const double GeneralTHDM::BrHmumuRatio()
const
655 return (getMyGTHDMCache()->rh_QlQlE + getMyGTHDMCache()->rh_QlQlO) / computeGammaTotalRatio();
658const double GeneralTHDM::BrHtautauRatio()
const
661 return (getMyGTHDMCache()->rh_QlQlE + getMyGTHDMCache()->rh_QlQlO) / computeGammaTotalRatio();
664const double GeneralTHDM::BrHccRatio()
const
667 return (getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO) / computeGammaTotalRatio();
670const double GeneralTHDM::BrHbbRatio()
const
673 return (getMyGTHDMCache()->rh_QdQdE + getMyGTHDMCache()->rh_QdQdO) / computeGammaTotalRatio();
679const double GeneralTHDM::muggHgaga(
const double sqrt_s)
const
682 return muggH(sqrt_s)*BrHgagaRatio();
686const double GeneralTHDM::muggHpbbH_Hgaga(
const double sqrt_s)
const
689 return muggHpbbH(sqrt_s)*BrHgagaRatio();
693const double GeneralTHDM::muVBFHgaga(
const double sqrt_s)
const
696 return muVBF(sqrt_s)*BrHgagaRatio();
699const double GeneralTHDM::muVHgaga(
const double sqrt_s)
const
702 return muVH(sqrt_s)*BrHgagaRatio();
705const double GeneralTHDM::muWHgaga(
const double sqrt_s)
const
708 return muWH(sqrt_s)*BrHgagaRatio();
711const double GeneralTHDM::muZHgaga(
const double sqrt_s)
const
714 return muZH(sqrt_s)*BrHgagaRatio();
719const double GeneralTHDM::muttHgaga(
const double sqrt_s)
const
722 return muttH(sqrt_s)*BrHgagaRatio();
726const double GeneralTHDM::mutHgaga(
const double sqrt_s)
const
728 return mutH(sqrt_s)*BrHgagaRatio();
733const double GeneralTHDM::muttHptH_Hgaga(
const double sqrt_s)
const
735 return muttHptH(sqrt_s)*BrHgagaRatio();
758const double GeneralTHDM::muggHZZ(
const double sqrt_s)
const
761 return muggH(sqrt_s)*BrHZZRatio();
763const double GeneralTHDM::muggHpbbH_HZZ(
const double sqrt_s)
const
765 return muggHpbbH(sqrt_s)*BrHZZRatio();
767const double GeneralTHDM::muVBFHZZ(
const double sqrt_s)
const
770 return muVBF(sqrt_s)*BrHZZRatio();
772const double GeneralTHDM::muWHZZ(
const double sqrt_s)
const
774 return muWH(sqrt_s)*BrHZZRatio();
776const double GeneralTHDM::muZHZZ(
const double sqrt_s)
const
778 return muZH(sqrt_s)*BrHZZRatio();
780const double GeneralTHDM::muVHZZ(
const double sqrt_s)
const
783 return muVH(sqrt_s)*BrHZZRatio();
785const double GeneralTHDM::muttHZZ(
const double sqrt_s)
const
788 return muttH(sqrt_s)*BrHZZRatio();
790const double GeneralTHDM::muttHptH_HZZ(
const double sqrt_s)
const
792 return muttHptH(sqrt_s)*BrHZZRatio();
800const double GeneralTHDM::muggHWW(
const double sqrt_s)
const
803 return muggH(sqrt_s)*BrHWWRatio();
805const double GeneralTHDM::muggHpbbH_HWW(
const double sqrt_s)
const
807 return muggHpbbH(sqrt_s)*BrHWWRatio();
812const double GeneralTHDM::muVBFHWW(
const double sqrt_s)
const
815 return muVBF(sqrt_s)*BrHWWRatio();
818const double GeneralTHDM::muWHWW(
const double sqrt_s)
const
820 return muWH(sqrt_s)*BrHWWRatio();
823const double GeneralTHDM::muZHWW(
const double sqrt_s)
const
825 return muZH(sqrt_s)*BrHWWRatio();
828const double GeneralTHDM::muVHWW(
const double sqrt_s)
const
831 return muVH(sqrt_s)*BrHWWRatio();
834const double GeneralTHDM::muttHWW(
const double sqrt_s)
const
837 return muttH(sqrt_s)*BrHWWRatio();
840const double GeneralTHDM::muttHptH_HWW(
const double sqrt_s)
const
843 return muttHptH(sqrt_s)*BrHWWRatio();
849const double GeneralTHDM::muggHbb(
const double sqrt_s)
const
852 return muggH(sqrt_s)*BrHbbRatio();
856const double GeneralTHDM::muggHpVBFpbbH_Hbb(
const double sqrt_s)
const
858 return muggHpVBFpbbH(sqrt_s)*BrHbbRatio();
862const double GeneralTHDM::muVBFHbb(
const double sqrt_s)
const
865 return muVBF(sqrt_s)*BrHbbRatio();
868const double GeneralTHDM::muWHbb(
const double sqrt_s)
const
870 return muWH(sqrt_s)*BrHbbRatio();
873const double GeneralTHDM::muZHbb(
const double sqrt_s)
const
875 return muZH(sqrt_s)*BrHbbRatio();
878const double GeneralTHDM::muVHbb(
const double sqrt_s)
const
881 return muVH(sqrt_s)*BrHbbRatio();
884const double GeneralTHDM::muttHbb(
const double sqrt_s)
const
888 return muttH(sqrt_s)*BrHbbRatio();
891const double GeneralTHDM::muttHptH_Hbb(
const double sqrt_s)
const
895 return muttHptH(sqrt_s)*BrHbbRatio();
900const double GeneralTHDM::muVHcc(
const double sqrt_s)
const
902 return muVH(sqrt_s)*BrHccRatio();
907const double GeneralTHDM::muggHmumu(
const double sqrt_s)
const
909 return muggH(sqrt_s)*BrHmumuRatio();
913const double GeneralTHDM::muggHpttHptHpbbH_Hmumu(
const double sqrt_s)
const
915 return muggHpttHptHpbbH(sqrt_s)*BrHmumuRatio();
918const double GeneralTHDM::muVBFHmumu(
const double sqrt_s)
const
920 return muVBF(sqrt_s)*BrHmumuRatio();
923const double GeneralTHDM::muVHmumu(
const double sqrt_s)
const
925 return muVH(sqrt_s)*BrHmumuRatio();
928const double GeneralTHDM::muttHptH_Hmumu(
const double sqrt_s)
const
930 return muttHptH(sqrt_s)*BrHmumuRatio();
933const double GeneralTHDM::muVBFpVH_Hmumu(
const double sqrt_s)
const
935 return muVBFpVH(sqrt_s)*BrHmumuRatio();
938const double GeneralTHDM::muggHtautau(
const double sqrt_s)
const
941 return muggH(sqrt_s)*BrHtautauRatio();
944const double GeneralTHDM::muggHpbbH_Htautau(
const double sqrt_s)
const
946 return muggHpbbH(sqrt_s)*BrHtautauRatio();
949const double GeneralTHDM::muVBFHtautau(
const double sqrt_s)
const
952 return muVBF(sqrt_s)*BrHtautauRatio();
955const double GeneralTHDM::muWHtautau(
const double sqrt_s)
const
957 return muWH(sqrt_s)*BrHtautauRatio();
960const double GeneralTHDM::muZHtautau(
const double sqrt_s)
const
962 return muZH(sqrt_s)*BrHtautauRatio();
965const double GeneralTHDM::muVHtautau(
const double sqrt_s)
const
968 return muVH(sqrt_s)*BrHtautauRatio();
971const double GeneralTHDM::muttHtautau(
const double sqrt_s)
const
975 return muttH(sqrt_s)*BrHtautauRatio();
978const double GeneralTHDM::muttHptH_Htautau(
const double sqrt_s)
const
980 return muttHptH(sqrt_s)*BrHtautauRatio();
983const double GeneralTHDM::muppHmumu(
const double sqrt_s)
const
989 return (0.872 * getMyGTHDMCache()->rh_gg + 0.122 * getMyGTHDMCache()->rh_VV + 0.006 * (getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO))
990 * (getMyGTHDMCache()->rh_QlQlE + getMyGTHDMCache()->rh_QlQlO) / computeGammaTotalRatio();
997 return (0.871 * getMyGTHDMCache()->rh_gg + 0.119 * getMyGTHDMCache()->rh_VV + 0.010 * (getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO))
998 * (getMyGTHDMCache()->rh_QlQlE + getMyGTHDMCache()->rh_QlQlO) / computeGammaTotalRatio();
1003 throw std::runtime_error(
"The observable muppHmumu is only defined for 8 or 13 TeV.");
1007const double GeneralTHDM::muggHZga(
const double sqrt_s)
const
1009 return muggH(sqrt_s)*BrHZgaRatio();
1013const double GeneralTHDM::muVBFHZga(
const double sqrt_s)
const
1015 return muVBF(sqrt_s)*BrHZgaRatio();
1019const double GeneralTHDM::muppHZga(
const double sqrt_s)
const
1024 return (0.872 * getMyGTHDMCache()->rh_gg + 0.122 * getMyGTHDMCache()->rh_VV + 0.006 * (getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO)) * getMyGTHDMCache()->rh_Zga / computeGammaTotalRatio();
1029 return (0.871 * getMyGTHDMCache()->rh_gg + 0.119 * getMyGTHDMCache()->rh_VV + 0.010 * (getMyGTHDMCache()->rh_QuQuE + getMyGTHDMCache()->rh_QuQuO)) * getMyGTHDMCache()->rh_Zga / computeGammaTotalRatio();
1033 throw std::runtime_error(
"The observable muppHZga is only defined for 8 or 13 TeV.");
1040const double GeneralTHDM::F(
const double m02,
const double m12)
const {
1043 if(m02 == 0. && m12 != 0.) {
1045 }
else if(m02 != 0. && m12 == 0.){
1047 }
else if((m02 == 0. && m12 == 0.) || (fabs(m02-m12) < LEPS)){
1049 }
else if (m02 != 0 && m12 != 0){
1050 F=0.5 * (m02 + m12) - (m02 * m12) / (m02 - m12) * log(m02 / m12);
1052 throw std::runtime_error(
"Error in GeneralTHDM::F()");
1058const double GeneralTHDM::GTHDMDeltaS()
const
1063 double mH1_2 = mH1sq;
1064 double mH2_2 = mH2sq;
1065 double mH3_2 = mH3sq;
1066 double mHp2= getmHp2();
1068 double mHref_2 = getmH1sq();
1069 double R11 = myGTHDMcache->Rij_GTHDM(0,0);
1070 double R21 = myGTHDMcache->Rij_GTHDM(1,0);
1071 double R31 = myGTHDMcache->Rij_GTHDM(2,0);
1074 double R11_2 = R11*R11;
1075 double R21_2 = R21*R21;
1076 double R31_2 = R31*R31;
1083 gslpp::complex B00prime_MZ2_MZ2_mH_2_mH_3;
1084 gslpp::complex B00prime_MZ2_MZ2_mHp2_mHp2;
1085 gslpp::complex B00prime_MZ2_MZ2_mH_1_mH_3;
1086 gslpp::complex B00prime_MZ2_MZ2_mH_1_mH_2;
1089 gslpp::complex B00prime_MZ2_MZ2_MZ2_mH2_2;
1090 gslpp::complex B00prime_MZ2_MZ2_MZ2_mH1_2;
1091 gslpp::complex B0prime_MZ2_MZ2_MZ2_mH2_2;
1092 gslpp::complex B0prime_MZ2_MZ2_MZ2_mH1_2;
1094 gslpp::complex B00prime_MZ2_MZ2_MZ2_mH3_2;
1095 gslpp::complex B0prime_MZ2_MZ2_MZ2_mH3_2;
1097 gslpp::complex B00prime_MZ2_MZ2_MZ2_mHref_2;
1098 gslpp::complex B0prime_MZ2_MZ2_MZ2_mHref_2;
1102 B00prime_MZ2_MZ2_mH_2_mH_3 = myGTHDMcache->B00_MZ2_MZ2_mHh2_mA2(MZ2,
mH2_2,
mH3_2) - myGTHDMcache->B00_MZ2_0_mHh2_mA2(MZ2,
mH2_2,
mH3_2);
1103 B00prime_MZ2_MZ2_mHp2_mHp2 = myGTHDMcache->B00_MZ2_MZ2_mHp2_mHp2(MZ2,mHp2) - myGTHDMcache->B00_MZ2_0_mHp2_mHp2(MZ2,mHp2);
1104 B00prime_MZ2_MZ2_mH_1_mH_3 = myGTHDMcache->B00_MZ2_MZ2_mHl2_mA2(MZ2,
mH1_2,
mH3_2) - myGTHDMcache->B00_MZ2_0_mHl2_mA2(MZ2,
mH1_2,
mH3_2);
1105 B00prime_MZ2_MZ2_mH_1_mH_2 = myGTHDMcache->B00_MZ2_MZ2_mHl2_mA2(MZ2,
mH1_2,
mH2_2) - myGTHDMcache->B00_MZ2_0_mHl2_mA2(MZ2,
mH1_2,
mH2_2);
1108 B00prime_MZ2_MZ2_MZ2_mH2_2 = myGTHDMcache->B00_MZ2_MZ2_MZ2_mHh2(MZ2,
mH2_2) - myGTHDMcache->B00_MZ2_0_MZ2_mHh2(MZ2,
mH2_2);
1109 B00prime_MZ2_MZ2_MZ2_mH1_2 = myGTHDMcache->B00_MZ2_MZ2_MZ2_mHl2(MZ2,
mH1_2) - myGTHDMcache->B00_MZ2_0_MZ2_mHl2(MZ2,
mH1_2);
1110 B0prime_MZ2_MZ2_MZ2_mH2_2 = myGTHDMcache->B0_MZ2_MZ2_MZ2_mHh2(MZ2,
mH2_2) - myGTHDMcache->B0_MZ2_0_MZ2_mHh2(MZ2,
mH2_2);
1111 B0prime_MZ2_MZ2_MZ2_mH1_2 = myGTHDMcache->B0_MZ2_MZ2_MZ2_mHl2(MZ2,
mH1_2) - myGTHDMcache->B0_MZ2_0_MZ2_mHl2(MZ2,
mH1_2);
1112 B00prime_MZ2_MZ2_MZ2_mH3_2 = myGTHDMcache->B00_MZ2_MZ2_MZ2_mHh2(MZ2,
mH3_2) - myGTHDMcache->B00_MZ2_0_MZ2_mHh2(MZ2,
mH3_2);
1113 B0prime_MZ2_MZ2_MZ2_mH3_2 = myGTHDMcache->B0_MZ2_MZ2_MZ2_mHh2(MZ2,
mH3_2) - myGTHDMcache->B0_MZ2_0_MZ2_mHh2(MZ2,
mH3_2);
1115 B00prime_MZ2_MZ2_MZ2_mHref_2 = myGTHDMcache->B00_MZ2_MZ2_MZ2_mHh2(MZ2,mHref_2) - myGTHDMcache->B00_MZ2_0_MZ2_mHh2(MZ2,mHref_2);
1116 B0prime_MZ2_MZ2_MZ2_mHref_2 = myGTHDMcache->B0_MZ2_MZ2_MZ2_mHh2(MZ2,mHref_2) - myGTHDMcache->B0_MZ2_0_MZ2_mHh2(MZ2,mHref_2);
1121 return 1/MZ2/M_PI*( R11_2*(B00prime_MZ2_MZ2_MZ2_mH1_2.real() - MZ2*B0prime_MZ2_MZ2_MZ2_mH1_2.real())+
1122 R21_2*(B00prime_MZ2_MZ2_MZ2_mH2_2.real() - MZ2*B0prime_MZ2_MZ2_MZ2_mH2_2.real())+
1123 R31_2*(B00prime_MZ2_MZ2_MZ2_mH3_2.real() - MZ2*B0prime_MZ2_MZ2_MZ2_mH3_2.real())+
1124 R11_2*B00prime_MZ2_MZ2_mH_2_mH_3.real() + R21_2*B00prime_MZ2_MZ2_mH_1_mH_3.real()
1125 +R31_2*B00prime_MZ2_MZ2_mH_1_mH_2.real() - B00prime_MZ2_MZ2_mHp2_mHp2.real()
1126 - B00prime_MZ2_MZ2_MZ2_mHref_2.real() + MZ2*B0prime_MZ2_MZ2_MZ2_mHref_2.real());
1132const double GeneralTHDM::GTHDMDeltaT()
const
1135 gslpp::complex I = gslpp::complex::i();
1136 double mH1_2 = mH1sq;
1137 double mH2_2 = mH2sq;
1138 double mH3_2 = mH3sq;
1139 double mHp2 = getmHp2();
1141 double mHref_2 = mH1sq;
1145 double R11 = myGTHDMcache->Rij_GTHDM(0,0);
1146 double R12 = myGTHDMcache->Rij_GTHDM(0,1);
1147 double R13 = myGTHDMcache->Rij_GTHDM(0,2);
1148 double R21 = myGTHDMcache->Rij_GTHDM(1,0);
1149 double R22 = myGTHDMcache->Rij_GTHDM(1,1);
1150 double R23 = myGTHDMcache->Rij_GTHDM(1,2);
1151 double R31 = myGTHDMcache->Rij_GTHDM(2,0);
1152 double R32 = myGTHDMcache->Rij_GTHDM(2,1);
1153 double R33 = myGTHDMcache->Rij_GTHDM(2,2);
1156 double R11_2 = R11*R11;
1157 double R21_2 = R21*R21;
1158 double R31_2 = R31*R31;
1163 double MW=Mw_tree();
1166 double s_W2 = 1.0-c02();
1168 gslpp::complex B0_MZ2_0_MZ2_mH1_2;
1169 gslpp::complex B0_MZ2_0_MZ2_mH2_2;
1170 gslpp::complex B0_MZ2_0_MZ2_mH3_2;
1171 gslpp::complex B0_MZ2_0_MZ2_mHref_2;
1174 gslpp::complex B0_MZ2_0_MW2_mH1_2;
1175 gslpp::complex B0_MZ2_0_MW2_mH2_2;
1176 gslpp::complex B0_MZ2_0_MW2_mH3_2;
1177 gslpp::complex B0_MZ2_0_MW2_mHref_2;
1180 B0_MZ2_0_MZ2_mH1_2 = myGTHDMcache->B0_MZ2_0_MZ2_mHh2(MZ2,
mH1_2);
1181 B0_MZ2_0_MZ2_mH2_2 = myGTHDMcache->B0_MZ2_0_MZ2_mHl2(MZ2,
mH2_2);
1182 B0_MZ2_0_MZ2_mH3_2 = myGTHDMcache->B0_MZ2_0_MZ2_mHl2(MZ2,
mH3_2);
1183 B0_MZ2_0_MZ2_mHref_2 = myGTHDMcache->B0_MZ2_0_MZ2_mHl2(MZ2,mHref_2);
1186 B0_MZ2_0_MW2_mH1_2 = myGTHDMcache->B0_MZ2_0_MW2_mHh2(MZ2,MW2,
mH1_2);
1187 B0_MZ2_0_MW2_mH2_2 = myGTHDMcache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,
mH2_2);
1188 B0_MZ2_0_MW2_mH3_2 = myGTHDMcache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,
mH3_2);
1189 B0_MZ2_0_MW2_mHref_2 = myGTHDMcache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,mHref_2);
1192 return 1. / 16. / M_PI / MW2 / s_W2*((R12 + I*R13).abs2()*F(mHp2,
mH1_2)+(R22 + I*R23).abs2()*F(mHp2,
mH2_2)+
1194 + R11_2*(F(MW2,
mH1_2) - F(MZ2,
mH1_2) - 4.0*MW2*B0_MZ2_0_MW2_mH1_2.real() + 4.0*MZ2*B0_MZ2_0_MZ2_mH1_2.real())
1195 + R21_2*(F(MW2,
mH2_2) - F(MZ2,
mH2_2) - 4.0*MW2*B0_MZ2_0_MW2_mH2_2.real() + 4.0*MZ2*B0_MZ2_0_MZ2_mH2_2.real())
1196 + R31_2*(F(MW2,
mH3_2) - F(MZ2,
mH3_2) - 4.0*MW2*B0_MZ2_0_MW2_mH3_2.real() + 4.0*MZ2*B0_MZ2_0_MZ2_mH3_2.real())
1197 -(F(MW2, mHref_2) - F(MZ2, mHref_2) - 4.0*MW2*B0_MZ2_0_MW2_mHref_2.real() + 4.0*MZ2*B0_MZ2_0_MZ2_mHref_2.real()));
1203const double GeneralTHDM::GTHDMDeltaU()
const
1206 gslpp::complex I = gslpp::complex::i();
1207 double mH1_2 = mH1sq;
1208 double mH2_2 = mH2sq;
1209 double mH3_2 = mH3sq;
1210 double mHp2 = getmHp2();
1212 double mHref_2 = mH1sq;
1217 double R11 = myGTHDMcache->Rij_GTHDM(0,0);
1218 double R12 = myGTHDMcache->Rij_GTHDM(0,1);
1219 double R13 = myGTHDMcache->Rij_GTHDM(0,2);
1220 double R21 = myGTHDMcache->Rij_GTHDM(1,0);
1221 double R22 = myGTHDMcache->Rij_GTHDM(1,1);
1222 double R23 = myGTHDMcache->Rij_GTHDM(1,2);
1223 double R31 = myGTHDMcache->Rij_GTHDM(2,0);
1224 double R32 = myGTHDMcache->Rij_GTHDM(2,1);
1225 double R33 = myGTHDMcache->Rij_GTHDM(2,2);
1228 double R11_2 = R11*R11;
1229 double R21_2 = R21*R21;
1230 double R31_2 = R31*R31;
1235 double MW=Mw_tree();
1239 gslpp::complex B00prime_MZ2_MW2_mH1_2_mHp2;
1240 gslpp::complex B00prime_MZ2_MW2_mH2_2_mHp2;
1241 gslpp::complex B00prime_MZ2_MW2_mH3_2_mHp2;
1242 gslpp::complex B00prime_MZ2_MW2_mHref_2_mHp2;
1246 gslpp::complex B00prime_MZ2_MW2_mHp2_mHp2;
1249 gslpp::complex B00prime_MZ2_MW2_MW2_mH1_2;
1250 gslpp::complex B00prime_MZ2_MW2_MW2_mH2_2;
1251 gslpp::complex B00prime_MZ2_MW2_MW2_mH3_2;
1252 gslpp::complex B00prime_MZ2_MW2_MW2_mHref_2;
1255 gslpp::complex B0prime_MZ2_MW2_MW2_mH1_2;
1256 gslpp::complex B0prime_MZ2_MW2_MW2_mH2_2;
1257 gslpp::complex B0prime_MZ2_MW2_MW2_mH3_2;
1258 gslpp::complex B0prime_MZ2_MW2_MW2_mHref_2;
1262 B00prime_MZ2_MW2_mH1_2_mHp2 = myGTHDMcache->B00_MZ2_MW2_mHl2_mHp2(MZ2,MW2,
mH1_2,mHp2) - myGTHDMcache->B00_MZ2_0_mHl2_mHp2(MZ2,
mH1_2,mHp2);
1263 B00prime_MZ2_MW2_mH2_2_mHp2 = myGTHDMcache->B00_MZ2_MW2_mHh2_mHp2(MZ2,MW2,
mH2_2,mHp2) - myGTHDMcache->B00_MZ2_0_mHh2_mHp2(MZ2,
mH2_2,mHp2);
1264 B00prime_MZ2_MW2_mH3_2_mHp2 = myGTHDMcache->B00_MZ2_MW2_mHh2_mHp2(MZ2,MW2,
mH3_2,mHp2) - myGTHDMcache->B00_MZ2_0_mHh2_mHp2(MZ2,
mH3_2,mHp2);
1265 B00prime_MZ2_MW2_mHref_2_mHp2 = myGTHDMcache->B00_MZ2_MW2_mHl2_mHp2(MZ2,MW2,mHref_2,mHp2) - myGTHDMcache->B00_MZ2_0_mHl2_mHp2(MZ2,mHref_2,mHp2);
1267 B00prime_MZ2_MW2_mHp2_mHp2 = myGTHDMcache->B00_MZ2_MW2_mHp2_mHp2(MZ2,MW2,mHp2) - myGTHDMcache->B00_MZ2_0_mHp2_mHp2(MZ2,mHp2);
1269 B00prime_MZ2_MW2_MW2_mH1_2 = myGTHDMcache->B00_MZ2_MW2_MW2_mHl2(MZ2,MW2,
mH1_2) - myGTHDMcache->B00_MZ2_0_MW2_mHl2(MZ2,MW2,
mH1_2);
1270 B00prime_MZ2_MW2_MW2_mH2_2 = myGTHDMcache->B00_MZ2_MW2_MW2_mHh2(MZ2,MW2,
mH2_2) - myGTHDMcache->B00_MZ2_0_MW2_mHh2(MZ2,MW2,
mH2_2);
1271 B00prime_MZ2_MW2_MW2_mH3_2 = myGTHDMcache->B00_MZ2_MW2_MW2_mHh2(MZ2,MW2,
mH3_2) - myGTHDMcache->B00_MZ2_0_MW2_mHh2(MZ2,MW2,
mH3_2);
1272 B00prime_MZ2_MW2_MW2_mHref_2 = myGTHDMcache->B00_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHref_2) - myGTHDMcache->B00_MZ2_0_MW2_mHl2(MZ2,MW2,mHref_2);
1274 B0prime_MZ2_MW2_MW2_mH1_2 = myGTHDMcache->B0_MZ2_MW2_MW2_mHl2(MZ2,MW2,
mH1_2) - myGTHDMcache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,
mH1_2);
1275 B0prime_MZ2_MW2_MW2_mH2_2 = myGTHDMcache->B0_MZ2_MW2_MW2_mHh2(MZ2,MW2,
mH2_2) - myGTHDMcache->B0_MZ2_0_MW2_mHh2(MZ2,MW2,
mH2_2);
1276 B0prime_MZ2_MW2_MW2_mH3_2 = myGTHDMcache->B0_MZ2_MW2_MW2_mHh2(MZ2,MW2,
mH3_2) - myGTHDMcache->B0_MZ2_0_MW2_mHh2(MZ2,MW2,
mH3_2);
1277 B0prime_MZ2_MW2_MW2_mHref_2 = myGTHDMcache->B0_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHref_2) - myGTHDMcache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,mHref_2);
1280 return -
GTHDMDeltaS() + 1. / M_PI / MZ2 * (- R11_2*MW2*B0prime_MZ2_MW2_MW2_mH1_2.real() - R21_2*MW2*B0prime_MZ2_MW2_MW2_mH2_2.real() - R31_2*MW2*B0prime_MZ2_MW2_MW2_mH3_2.real()
1281 + MW2*B0prime_MZ2_MW2_MW2_mHref_2.real() - B00prime_MZ2_MW2_MW2_mHref_2.real()
1282 + R11_2* B00prime_MZ2_MW2_MW2_mH1_2.real() +R21_2* B00prime_MZ2_MW2_MW2_mH2_2.real() +R31_2* B00prime_MZ2_MW2_MW2_mH3_2.real()
1283 + (R12+I*R13).abs2()*B00prime_MZ2_MW2_mH1_2_mHp2.real() + (R22+I*R23).abs2()*B00prime_MZ2_MW2_mH2_2_mHp2.real()
1284 + (R32+I*R33).abs2()*B00prime_MZ2_MW2_mH3_2_mHp2.real() - 2. * B00prime_MZ2_MW2_mHp2_mHp2.real());
1295const double GeneralTHDM::Mw()
const{
1304 double myMw = trueSM.Mw();
1306 double alpha = trueSM.alphaMz();
1307 double c2 = trueSM.cW2();
1308 double s2 = trueSM.sW2();
1310 myMw *= 1.0 - alpha / 4.0 / (c2 - s2)
1312 - s2 / 2.0 / (c2 - s2) * DeltaGF();
std::map< std::string, double > DPars
An observable class for the THDM contribution to the electroweak Peskin-Takeuchi pseudo-observable .
The auxiliary base model class for other model classes.
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for NPbase.
virtual bool setFlag(const std::string name, const bool value)
A method to set a flag of NPbase.
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for StandardModel have been provided in model initi...
virtual bool setFlagStr(const std::string name, const std::string value)
A method to set a flag of StandardModel.
virtual bool PostUpdate()
The post-update method for StandardModel.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual bool InitializeModel()
A method to initialize the model.
A class for the matching in the Standard Model.
parameter of the Higgs potential
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 .
The mass of the SM Higgs.
The mass of the SM Higgs.
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .
A class for computing the ratio .