a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeneralTHDMcache.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 HEPfit Collaboration
3 * All rights reserved.
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "GeneralTHDMcache.h"
9#include <fstream>
10#include "gslpp.h"
11#include <sstream>
12#include <string>
13
14
15//#include <boost/stacktrace.hpp>
16
17//#include "log_cs_ggH_13.h"
18
19
20
22: br_tt(19981, 2, 0.),
23 br_bb(19981, 2, 0.),
24 br_tautau(19981, 2, 0.),
25 br_cc(19981, 2, 0.),
26 br_mumu(19981, 2, 0.),
27 br_ZZ(19981, 2, 0.),
28 br_WW(19981, 2, 0.),
29 GammaHtot_SM(19981, 2, 0.),
30 log_cs_ggH_8(200, 2, 0.),
31 log_cs_VBF_8(200, 2, 0.),
32 log_cs_WH_8(200, 2, 0.),
33 log_cs_ZH_8(200, 2, 0.),
34 log_cs_ggH_13(200, 2, 0.),
35 log_cs_VBF_13(200, 2, 0.),
36 log_cs_WH_13(200, 2, 0.),
37 log_cs_ZH_13(200, 2, 0.),
38 log_cs_ttH_8(200, 2, 0.),
39 log_cs_ttH_13(200, 2, 0.),
40 log_cs_bbH_8(200, 2, 0.),
41 log_cs_bbH_13(200, 2, 0.),
42 log_cs_ggA_8(200, 2, 0.),
43 log_cs_ttA_8(200, 2, 0.),
44 log_cs_bbA_8(200, 2, 0.),
45 log_cs_ggA_13(200, 2, 0.),
46 log_cs_ttA_13(200, 2, 0.),
47 log_cs_bbA_13(200, 2, 0.),
48 log_cs_ggHp_8(744, 3, 0.),
49 log_cs_ggHp_13(1104, 3, 0.),
50 csrH_top_charm_8(200, 2, 0.),
51 csrH_bottom_8(200, 2, 0.),
52 csrA_top_charm_8(200, 2, 0.),
53 csrA_bottom_8(200, 2, 0.),
54 csrH_top_charm_13(200, 2, 0.),
55 csrH_bottom_13(200, 2, 0.),
56 csrA_top_charm_13(200, 2, 0.),
57 csrA_bottom_13(200, 2, 0.),
58 //
59 CMS8_gg_phi_mumu(78, 2, 0.),
60 CMS8_bb_phi_mumu(78, 2, 0.),
61 CMS13_gg_phi_mumu(175, 2, 0.),
62 CMS13_bb_phi_mumu(175, 2, 0.),
63 ATLAS13_gg_phi_mumu(81, 2, 0.),
64 ATLAS13_bb_phi_mumu(81, 2, 0.),
65 ATLAS8_gg_phi_tautau(92, 2, 0.),
66 ATLAS8_bb_phi_tautau(92, 2, 0.),
67 ATLAS8_gg_phi_gaga(108, 2, 0.),
68 ATLAS8_pp_phi_Zga_llga(141, 2, 0.),
69 ATLAS8_gg_phi_ZZ(173, 2, 0.),
70 ATLAS8_VV_phi_ZZ(173, 2, 0.),
71 ATLAS8_gg_phi_WW(13, 2, 0.),
72 ATLAS8_VV_phi_WW(13, 2, 0.),
73 ATLAS8_gg_phi_phi1phi1(75, 2, 0.),
74 ATLAS8_gg_phi_phi1Z_bbZ(79, 2, 0.),
75 ATLAS8_gg_phi_phi1Z_tautauZ(79, 2, 0.),
76 CMS8_pp_phi_VV(172, 2, 0.),
77 CMS8_bb_phi_bb(81, 2, 0.),
78 CMS8_gg_phi_bb(88, 2, 0.),
79 CMS8_gg_phi_tautau(92, 2, 0.),
80 CMS8_bb_phi_tautau(92, 2, 0.),
81 CMS8_pp_phi_Zga_llga(101, 2, 0.),
82 CMS8_pp_phi_phi1phi1_bbbb(167, 2, 0.),
83 CMS8_pp_phi_phi1phi1_bbgaga(85, 2, 0.),
84 CMS8_gg_phi_phi1phi1_bbtautau(10, 2, 0.),
85 CMS8_pp_phi_phi1phi1_bbtautau(71, 2, 0.),
86 CMS8_gg_phi_phi1Z_bbll(16, 2, 0.),
87 CMS8_gg_phi_phi1Z_tautaull(14, 2, 0.),
88 CMS8_pp_phii_phijZ_bbll_1(28718, 3, 0.),
89 CMS8_pp_phii_phijZ_bbll_2(29050, 3, 0.),
90 CMS8_pp_phii_phijZ_tautaull_1(400, 3, 0.),
91 CMS8_pp_phii_phijZ_tautaull_2(400, 3, 0.),
92 ATLAS13_bb_phi_bb(96, 2, 0.), //Included in mid 2022
93 CMS13_gg_phi_WW_heavy(71, 2, 0.), //Included in mid 2022
94 CMS13_VV_phi_WW_heavy(71, 2, 0.), //Included in mid 2022
95 CMS13_gg_phi_WW(281, 2, 0.), //Included in mid 2022
96 CMS13_VV_phi_WW(561, 2, 0.), //Included in mid 2022
97 ATLAS13_gg_phi_VV_llqq(95, 2, 0.),
98 ATLAS13_VV_phi_VV_llqq(95, 2, 0.),
99 //ATLAS13_tt_phi_tt(61, 2, 0.), //OLD before mid 2022
100 ATLAS13_tt_phi_tt(13, 2, 0.), //Updated in mid 2022
101 ATLAS13_bb_phi_tt(61, 2, 0.),
102 //ATLAS13_gg_phi_tautau(206, 2, 0.), //OLD before mid 2022
103 ATLAS13_gg_phi_tautau(47, 2, 0.), //Updated in mid 2022
104 //ATLAS13_bb_phi_tautau(206, 2, 0.), //OLD before mid 2022
105 ATLAS13_bb_phi_tautau(47, 2, 0.), //Updated in mid 2022
106 //ATLAS13_pp_phi_gaga(251, 2, 0.), //OLD before mid 2022
107 ATLAS13_pp_phi_gaga(285, 2, 0.), //Updated in mid 2022
108 ATLAS13_gg_phi_Zga_llga(1590, 2, 0.),
109 ATLAS13_gg_phi_Zga_qqga(291, 2, 0.),
110 //ATLAS13_gg_phi_ZZ_llllnunu(101, 2, 0.), //OLD before mid 2022
111 //ATLAS13_VV_phi_ZZ_llllnunu(101, 2, 0.), //OLD before mid 2022
112 ATLAS13_gg_phi_ZZ_llllnunu(359, 2, 0.), //Updated in mid 2022
113 ATLAS13_VV_phi_ZZ_llllnunu(359, 2, 0.), //Updated in mid 2022
114 ATLAS13_gg_phi_ZZ_qqllnunu(271, 2, 0.),
115 ATLAS13_VV_phi_ZZ_qqllnunu(271, 2, 0.),
116 //ATLAS13_gg_phi_WW_enumunu(381, 2, 0.), //OLD before mid 2024
117 //ATLAS13_VV_phi_WW_enumunu(281, 2, 0.), //OLD before mid 2024
118 ATLAS13_gg_phi_WW_enumunu(72, 2, 0.), //Updated in mid 2024
119 ATLAS13_VV_phi_WW_enumunu(72, 2, 0.), //Updated in mid 2024
120 ATLAS13_gg_phi_WW_lnuqq(271, 2, 0.),
121 ATLAS13_VV_phi_WW_lnuqq(271, 2, 0.),
122 ATLAS13_pp_phi_VV_qqqq(181, 2, 0.),
123 //ATLAS13_pp_phi_phi1phi1_bbbb(275, 2, 0.), //OLD before mid 2022
124 ATLAS13_pp_phi_phi1phi1_bbbb(476, 2, 0.), //Updated in mid 2022
125 //ATLAS13_pp_phi_phi1phi1_bbgaga(75, 2, 0.), //OLD before mid 2022
126 ATLAS13_pp_phi_phi1phi1_bbgaga(76, 2, 0.), //Updated in mid 2022
127 //ATLAS13_pp_phi_phi1phi1_bbtautau(75, 2, 0.), //OLD before mid 2022
128 ATLAS13_pp_phi_phi1phi1_bbtautau_1(136, 2, 0.), //Updated in mid 2022
129 ATLAS13_pp_phi_phi1phi1_bbtautau_2(41, 2, 0.), //Updated in mid 2022
130 ATLAS13_pp_phi_phi1phi1_bbWW(51, 2, 0.),
131 ATLAS13_gg_phi_phi1phi1_gagaWW(25, 2, 0.),
132 ATLAS13_gg_phi_phi1Z_bbZ(45, 2, 0.),
133 ATLAS13_bb_phi_phi1Z_bbZ(45, 2, 0.),
134 //ATLAS13_gg_phii_phijZ_bbZ(3364, 3, 0.), //OLD before mid 2022
135 //ATLAS13_bb_phii_phijZ_bbZ(3364, 3, 0.), //OLD before mid 2022
136 ATLAS13_gg_phii_phijZ_bbZ(1711, 3, 0.), //Updated in mid 2022
137 ATLAS13_bb_phii_phijZ_bbZ(1711, 3, 0.), //Updated in mid 2022
138 ATLAS13_gg_phii_phijZ_WWZ(1326, 3, 0.), //Included in mid 2024
139 CMS13_gg_phi_phi1Z_tautaull(19, 2, 0.),
140 CMS13_pp_phi2_bb_light(61, 2, 0.), //Included in mid 2022
141 CMS13_pp_phi3_bb_light(61, 2, 0.), //Included in mid 2022
142 CMS13_tt_phi2_tt(31, 2, 0.), //Included in mid 2022
143 CMS13_tt_phi3_tt(31, 2, 0.), //Included in mid 2022
144 CMS13_pp_phi_bb(66, 2, 0.),
145 CMS13_bb_phi_bb(101, 2, 0.),
146 //CMS13_gg_phi_tautau(312, 2, 0.), //OLD before mid 2022
147 //CMS13_bb_phi_tautau(312, 2, 0.), //OLD before mid 2022
148 //CMS13_gg_phi_tautau(689, 2, 0.), //Updated in mid 2022
149 //CMS13_bb_phi_tautau(689, 2, 0.), //Updated in mid 2022
150 CMS13_gg_phi_tautau(172, 2, 0.), //Updated in mid 2024
151 CMS13_bb_phi_tautau(172, 2, 0.), //Updated in mid 2024
152 CMS13_gg_phi_gaga(176, 2, 0.),
153 CMS13_gg_phi_Zga(366, 2, 0.),
154 CMS13_pp_phi_ZZ_llqqnunull(288, 2, 0.),
155 CMS13_pp_phi_ZZ_qqnunu(301, 2, 0.),
156 CMS13_ggVV_phi_WW_lnulnu(81, 2, 0.),
157 CMS13_pp_phi_WW_lnuqq(341, 2, 0.),
158 CMS13_pp_phi_phi1phi1_bbbb_1(95, 2, 0.),
159 //CMS13_pp_phi_phi1phi1_bbbb_2(181, 2, 0.), //OLD before mid 2022
160 CMS13_pp_phi_phi1phi1_bbbb_2(41, 2, 0.), //Updated in mid 2022
161 //CMS13_pp_phi_phi1phi1_bbgaga(66, 2, 0.), //OLD before mid 2024
162 CMS13_pp_phi_phi1phi1_bbgaga(74, 2, 0.), //Updated in mid 2024
163 CMS13_pp_phi_phi1phi1_bbtautau_1(66, 2, 0.),
164 CMS13_pp_phi_phi1phi1_bbtautau_2(311, 2, 0.),
165 CMS13_pp_phi_phi1phi1_bbVV(65, 2, 0.),
166 CMS13_gg_phi_phi1Z_bbZ_1(79, 2, 0.),
167 CMS13_gg_phi_phi1Z_bbZ_2(121, 2, 0.),
168 CMS13_bb_phi_phi1Z_bbZ_1(79, 2, 0.),
169 CMS13_bb_phi_phi1Z_bbZ_2(121, 2, 0.),
170 CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau(76, 2, 0.), //Included in mid 2022
171 CMS13_pp_phi_phi1phi1_bbWW_qqlnu(55, 2, 0.), //Included in mid 2022
172 CMS13_pp_phi_phi1phi1_bbZZ_lljj(149, 2, 0.), //Included in mid 2022
173 CMS13_pp_phi_phi1phi1_bbZZ_llnunu(151, 2, 0.), //Included in mid 2022
174 CMS13_pp_phi_phi1phi1_bbWWorbbtautau(75, 2, 0.), //Included in mid 2022
175 CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses(65, 2, 0.), //Included in mid 2024
176 ATLAS8_pp_Hpm_taunu(83, 2, 0.),
177 ATLAS8_pp_Hpm_tb(41, 2, 0.),
178 CMS8_pp_Hp_taunu(43, 2, 0.),
179 CMS8_pp_Hp_tb(43, 2, 0.),
180 ATLAS13_pp_Hpm_taunu(192, 2, 0.),
181 //ATLAS13_pp_Hpm_tb(181, 2, 0.), //OLD before mid 2022
182 ATLAS13_pp_Hpm_tb(181, 2, 0.), //Updated in mid 2022 (in this case both have the same size)
183 //CMS13_pp_Hpm_taunu(283, 2, 0.), //OLD before mid 2022
184 CMS13_pp_Hpm_taunu(585, 2, 0.), //Updated in mid 2022
185 CMS13_pp_Hpm_tb(281, 2, 0.), //Included in mid 2022
186 //
187 CMS13_pp_h_phi3phi3_mumutautau(48, 2, 0.), //Added in late 2023
188 //
189 // CMS13_pp_h_phi3phi3_bbtautau(10, 2, 0.), //from 1805.10191
190 CMS13_pp_h_phi3phi3_bbtautau(11, 2, 0.), //Added in 2024
191 //
192 // CMS13_pp_h_phi3phi3_bbmumu(86, 2, 0.), //from 1812.06359
193 CMS13_pp_h_phi3phi3_bbmumu(95, 2, 0.), //Added in 2024
194 //
195 CMS13_pp_h_phi23Z_mumull(352, 2, 0.), //Added in 2024
196 //
197 CMS13_pp_h_phi23phi23_mumumumu(462, 2, 0.), //Added in 2024
198 //
199 CMS13_pp_h_phi3phi3_gagagaga(95, 2, 0.), //Added in 2024
200 //
201 CMS13_pp_h_phi3phi3_tautautautau(12, 2, 0.), //Added in 2024
202 //
203 CMS13_pp_phi2_gaga(81, 2, 0.), //Added in 2024
204 //
205 CMS13_pp_bbphi3_bbtautau(10, 2, 0.), //Added in 2024
206 //
207 CMS13_pp_ttphi3_ttmumu(220, 2, 0.), //Added in 2024
208 //
209 CMS13_pp_ttphi3_tttautau(18, 2, 0.), //Added in 2024
210 //
211 CMS13_Vh_h_phi3phi3_bbbb(10, 2, 0.), //Added in 2024
212 //
213 ATLAS13_pp_h_phi3phi3_bbmumu(47, 2, 0.), //Added in 2024
214 //
215 ATLAS13_gg_h_phi23phi23_mumumumu(110, 2, 0.), //Added in 2024
216 //
217 ATLAS13_gg_h_phi23Z_mumull(16, 2, 0.), //Added in 2024
218 //
219 ATLAS13_Vh_h_phi23phi23_bbbb(41, 2, 0.), //Added in 2024
220 //
221 ATLAS13_Zh_h_phi23phi23_bbbb(7, 2, 0.), //Added in 2024
222 //
223 ATLAS13_pp_h_phi23phi23_bbmumu_old(101, 2, 0.), //Added in 2024
224 //
225 ATLAS13_pp_h_phi23phi23_gagagg(13, 2, 0.), //Added in 2024
226 //
227 ATLAS13_pp_phi2_gaga_low(89, 2, 0.), //Added in 2024
228 //
229 ATLAS13_pp_ttphi3_ttmumu(37, 2, 0.), //Added in 2024
230 //
231 ATLAS13_pp_h_phi3phi3_gagagaga(53, 2, 0.), //Added in 2024
232 //
233 ATLAS13_pp_h_phi3phi3_bbtautau(8, 2, 0.), //Added in 2024
234 //
235 ATLAS13_gg_phi3_tautau_low(12, 2, 0.), //Added in 2024
236 //
237 ATLAS8_pp_h_phi3phi3_gagagaga(105, 2, 0.), //Added in 2024
238 //
239 ATLAS8_gg_h_phi3phi3_tautautautau(101, 2, 0.), //Added in 2024
240 //
241 CMS8_pp_h_phi3phi3_tautautautau(6, 2, 0.), //Added in 2024
242 //
243 CMS8_pp_h_phi3phi3_bbmumu(76, 2, 0.), //Added in 2024
244 //
245 CMS8_pp_h_phi3phi3_mumutautau(96, 2, 0.), //Added in 2024
246 //
247 CMS8_pp_phi2_gaga(300, 2, 0.), //Added in 2024
248 //
249 CMS8_pp_bbphi3_bbtautau(12, 2, 0.), //Added in 2024
250 //
251 CMS8_pp_bbphi3_bbmumu(36, 2, 0.), //Added in 2024
252 //
253 LEP209_phi2Z_gagaZ(49, 2, 0.), //Added in 2024
254 LEP209_phi2Z_bbZ(217, 2, 0.), //Added in 2024
255 LEP209_phi2Z_tautauZ(233, 2, 0.), //Added in 2024
256 LEP209_phiEphi3_bbbb(324, 3, 0.), //Added in 2024
257 LEP209_phiEphi3_tautautautau(365, 3, 0.), //Added in 2024
258 //
259 CMS8_t_Hpb_csb(7, 2, 0.), //Added in 2024
260 CMS8_t_Hpb_taunub(8, 2, 0.), //Added in 2024
261 CMS8_t_Hpb_cbb(7, 2, 0.), //Added in 2024
262 CMS13_t_Hpb_WAb_Wmumub(95, 2, 0.), //Added in 2024
263 CMS13_t_Hpb_csb(8, 2, 0.), //Added in 2024
264 ATLAS8_t_Hpb_taunub(9, 2, 0.), //Added in 2024
265 ATLAS13_t_Hpb_cbb(11, 2, 0.), //Added in 2024
266 ATLAS13_t_Hpb_WAb_Wmumub(31, 2, 0.), //Added in 2024
267 ATLAS13_t_Hpb_csb(12, 2, 0.), //Added in 2024
268 //
269 //
270 LEP209_HpHm_taunutaunu(105, 2, 0.), //Added in 2024
271 LEP209_HpHm_qqqq(105, 2, 0.), //Added in 2024
272 OPAL209_HpHm_qqtaunu(87, 2, 0.), //Added in 2024
273 OPAL172_HpHm_qqtaunu(41, 2, 0.), //Added in 2024
274 OPAL209_HpHm_AWstAWst_bbbb(2835, 3, 0.), //Added in 2024
275 OPAL209_HpHm_taunuAWst_taunubb(2835, 3, 0.), //Added in 2024
276 //
277 ATLAS13_pp_HpHm_taunutaunu(19, 2, 0.), //Added in 2024
278 ATLAS13_pp_HpHm_munumunu(11, 2, 0.), //Added in 2024
279 CMS13_pp_HpHm_taunutaunu(16, 2, 0.), //Added in 2024
280 CMS13_pp_HpHm_munumunu(22, 2, 0.), //Added in 2024
281 //
282 csrHpHm_pp_13_LO(12, 2, 0.),
283 csrHpHm_pp_13_NLO(31, 2, 0.),
284 //Tables of integrals for g-2
285 integral_x2_1mx_G_log(62500, 3, 0.),
286 integral_x2_1px_G_log(62500, 3, 0.),
287 integral_x2_G_log(62500, 3, 0.),
288 integral_x_1mx2_G_log(62500, 3, 0.),
289 integral_x_1mx_1px_G_log(62500, 3, 0.),
290
291 integral_x2_1mx_G_variable_set_1_log(2000, 2, 0.),
292 integral_x2_G_variable_set_1_log(2000, 2, 0.),
293 integral_x_1mx2_G_variable_set_0_log(2000, 2, 0.),
294 integral_perturb_ATHDM_values_log(2000, 2, 0.),
295 //
296 integral_Hp_A_Wstar(2835, 3, 0.),
297 //
298 //
299 arraybsgamma(1111, 3, 0.),
300 Rij_GTHDM(3, 3, 0.),
301 //The below matrices are not used anywhere, the first ones are the mass matrices and the second ones not sure
302 //In principle they should be the Yukawas in the Higgs basis but the up-type NP coupling (Nu) should be conjugated!!!
303 Mu_GTHDM(3,3,0.), Md_GTHDM(3,3,0.), Ml_GTHDM(3,3,0.),
304 Nu_GTHDM(3,3,0.), Nd_GTHDM(3,3,0.), Nl_GTHDM(3,3,0.),
305 //The below matrices doesn't make sense for this model (they weren't defined in the higgs basis)
306 //Yu1_GTHDM(3,3,0.), Yu2_GTHDM(3,3,0.), Yd1_GTHDM(3,3,0.), Yd2_GTHDM(3,3,0.),
307 //Yl1_GTHDM(3,3,0.), Yl2_GTHDM(3,3,0.),
308 //
309 myGTHDM(static_cast<const GeneralTHDM*> (&SM_i)),
310 PV(true)
311{
312 read();
313}
315{}
316
318
319int GeneralTHDMcache::CacheCheck(const gslpp::complex cache[][CacheSize],
320 const int NumPar, const double params[]) const {
321 bool bCache;
322 for(int i=0; i<CacheSize; i++) {
323 bCache = true;
324 for(int j=0; j<NumPar; j++)
325 bCache &= (params[j] == cache[j][i].real());
326 if (bCache) return i;
327 }
328 return -1;
329}
330
331int GeneralTHDMcache::CacheCheckReal(const double cache[][CacheSize],
332 const int NumPar, const double params[]) const {
333 bool bCache;
334 for(int i=0; i<CacheSize; i++) {
335 bCache = true;
336 for(int j=0; j<NumPar; j++)
337 bCache &= (params[j] == cache[j][i]);
338 if (bCache) return i;
339 }
340 return -1;
341}
342
343
344void GeneralTHDMcache::CacheShift(gslpp::complex cache[][CacheSize], const int NumPar,
345 const double params[], const gslpp::complex newResult) const {
346 // shift old parameters and result
347 for(int i=CacheSize-1; i>0; i--)
348 for(int j=0; j<NumPar+1; j++)
349 cache[j][i] = cache[j][i-1];
350
351 // store new parameters and result
352 for(int j=0; j<NumPar; j++) {
353 cache[j][0] = gslpp::complex(params[j], 0.0, false);
354 cache[NumPar][0] = newResult;
355 }
356}
357
358void GeneralTHDMcache::CacheShiftReal(double cache[][CacheSize], const int NumPar,
359 const double params[], const double newResult) const {
360 // shift old parameters and result
361 for(int i=CacheSize-1; i>0; i--)
362 for(int j=0; j<NumPar+1; j++)
363 cache[j][i] = cache[j][i-1];
364
365 // store new parameters and result
366 for(int j=0; j<NumPar; j++) {
367 cache[j][0] = params[j];
368 cache[NumPar][0] = newResult;
369 }
370}
371
373/*One-loop functions*/
375
376gslpp::complex GeneralTHDMcache::B0_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
377 int NumPar = 3;
378 double params[] = {MZ2, MW2, mHh2};
379
380 int i = CacheCheck(B0_MZ2_0_MW2_mHh2_cache, NumPar, params);
381 if (i>=0) {
382 return ( B0_MZ2_0_MW2_mHh2_cache[NumPar][i] );
383 } else {
384 gslpp::complex newResult = PV.B0(MZ2, 0., MW2, mHh2);
385 CacheShift(B0_MZ2_0_MW2_mHh2_cache, NumPar, params, newResult);
386 return newResult;
387 }
388}
389
390gslpp::complex GeneralTHDMcache::B0_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
391 int NumPar = 3;
392 double params[] = {MZ2, MW2, mHl2};
393
394 int i = CacheCheck(B0_MZ2_0_MW2_mHl2_cache, NumPar, params);
395 if (i>=0) {
396 return ( B0_MZ2_0_MW2_mHl2_cache[NumPar][i] );
397 } else {
398 gslpp::complex newResult = PV.B0(MZ2, 0., MW2, mHl2);
399 CacheShift(B0_MZ2_0_MW2_mHl2_cache, NumPar, params, newResult);
400 return newResult;
401 }
402}
403
404gslpp::complex GeneralTHDMcache::B0_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const {
405 int NumPar = 2;
406 double params[] = {MZ2, mHh2};
407
408 int i = CacheCheck(B0_MZ2_0_MZ2_mHh2_cache, NumPar, params);
409 if (i>=0) {
410 return ( B0_MZ2_0_MZ2_mHh2_cache[NumPar][i] );
411 } else {
412 gslpp::complex newResult = PV.B0(MZ2, 0., MZ2, mHh2);
413 CacheShift(B0_MZ2_0_MZ2_mHh2_cache, NumPar, params, newResult);
414 return newResult;
415 }
416}
417
418gslpp::complex GeneralTHDMcache::B0_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const {
419 int NumPar = 2;
420 double params[] = {MZ2, mHl2};
421
422 int i = CacheCheck(B0_MZ2_0_MZ2_mHl2_cache, NumPar, params);
423 if (i>=0) {
424 return ( B0_MZ2_0_MZ2_mHl2_cache[NumPar][i] );
425 } else {
426 gslpp::complex newResult = PV.B0(MZ2, 0., MZ2, mHl2);
427 CacheShift(B0_MZ2_0_MZ2_mHl2_cache, NumPar, params, newResult);
428 return newResult;
429 }
430}
431
432gslpp::complex GeneralTHDMcache::B0_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
433 int NumPar = 3;
434 double params[] = {MZ2, MW2, mHh2};
435
436 int i = CacheCheck(B0_MZ2_MW2_MW2_mHh2_cache, NumPar, params);
437 if (i>=0) {
438 return ( B0_MZ2_MW2_MW2_mHh2_cache[NumPar][i] );
439 } else {
440 gslpp::complex newResult = PV.B0(MZ2, MW2, MW2, mHh2);
441 CacheShift(B0_MZ2_MW2_MW2_mHh2_cache, NumPar, params, newResult);
442 return newResult;
443 }
444}
445
446gslpp::complex GeneralTHDMcache::B0_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
447 int NumPar = 3;
448 double params[] = {MZ2, MW2, mHl2};
449
450 int i = CacheCheck(B0_MZ2_MW2_MW2_mHl2_cache, NumPar, params);
451 if (i>=0) {
452 return ( B0_MZ2_MW2_MW2_mHl2_cache[NumPar][i] );
453 } else {
454 gslpp::complex newResult = PV.B0(MZ2, MW2, MW2, mHl2);
455 CacheShift(B0_MZ2_MW2_MW2_mHl2_cache, NumPar, params, newResult);
456 return newResult;
457 }
458}
459
460gslpp::complex GeneralTHDMcache::B0_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const {
461 int NumPar = 2;
462 double params[] = {MZ2, mHh2};
463
464 int i = CacheCheck(B0_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params);
465 if (i>=0) {
466 return ( B0_MZ2_MZ2_MZ2_mHh2_cache[NumPar][i] );
467 } else {
468 gslpp::complex newResult = PV.B0(MZ2, MZ2, MZ2, mHh2);
469 CacheShift(B0_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params, newResult);
470 return newResult;
471 }
472}
473
474gslpp::complex GeneralTHDMcache::B0_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const {
475 int NumPar = 2;
476 double params[] = {MZ2, mHl2};
477
478 int i = CacheCheck(B0_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params);
479 if (i>=0) {
480 return ( B0_MZ2_MZ2_MZ2_mHl2_cache[NumPar][i] );
481 } else {
482 gslpp::complex newResult = PV.B0(MZ2, MZ2, MZ2, mHl2);
483 CacheShift(B0_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params, newResult);
484 return newResult;
485 }
486}
487
488gslpp::complex GeneralTHDMcache::B0_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const {
489 int NumPar = 2;
490 double params[] = {MZ2, mHl2};
491
492 int i = CacheCheck(B0_MZ2_0_0_mHl2_cache, NumPar, params);
493 if (i>=0) {
494 return ( B0_MZ2_0_0_mHl2_cache[NumPar][i] );
495 } else {
496 gslpp::complex newResult = PV.B0(MZ2, 0.0, 0.0, mHl2);
497 CacheShift(B0_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
498 return newResult;
499 }
500}
501
502gslpp::complex GeneralTHDMcache::B0_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const {
503 int NumPar = 2;
504 double params[] = {MZ2, mHh2};
505
506 int i = CacheCheck(B0_MZ2_0_0_mHh2_cache, NumPar, params);
507 if (i>=0) {
508 return ( B0_MZ2_0_0_mHh2_cache[NumPar][i] );
509 } else {
510 gslpp::complex newResult = PV.B0(MZ2, 0.0, 0.0, mHh2);
511 CacheShift(B0_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
512 return newResult;
513 }
514}
515
516gslpp::complex GeneralTHDMcache::B0_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
517 int NumPar = 3;
518 double params[] = {MZ2, mHp2, mHl2};
519
520 int i = CacheCheck(B0_MZ2_0_mHp2_mHl2_cache, NumPar, params);
521 if (i>=0) {
522 return ( B0_MZ2_0_mHp2_mHl2_cache[NumPar][i] );
523 } else {
524 gslpp::complex newResult = PV.B0(MZ2, 0.0, mHp2, mHl2);
525 CacheShift(B0_MZ2_0_mHp2_mHl2_cache, NumPar, params, newResult);
526 return newResult;
527 }
528}
529
530gslpp::complex GeneralTHDMcache::B0_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
531 int NumPar = 3;
532 double params[] = {MZ2, mHp2, mHh2};
533
534 int i = CacheCheck(B0_MZ2_0_mHp2_mHh2_cache, NumPar, params);
535 if (i>=0) {
536 return ( B0_MZ2_0_mHp2_mHh2_cache[NumPar][i] );
537 } else {
538 gslpp::complex newResult = PV.B0(MZ2, 0.0, mHp2, mHh2);
539 CacheShift(B0_MZ2_0_mHp2_mHh2_cache, NumPar, params, newResult);
540 return newResult;
541 }
542}
543
544gslpp::complex GeneralTHDMcache::B0_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
545 int NumPar = 3;
546 double params[] = {MZ2, mA2, mHl2};
547
548 int i = CacheCheck(B0_MZ2_0_mA2_mHl2_cache, NumPar, params);
549 if (i>=0) {
550 return ( B0_MZ2_0_mA2_mHl2_cache[NumPar][i] );
551 } else {
552 gslpp::complex newResult = PV.B0(MZ2, 0.0, mA2, mHl2);
553 CacheShift(B0_MZ2_0_mA2_mHl2_cache, NumPar, params, newResult);
554 return newResult;
555 }
556}
557
558gslpp::complex GeneralTHDMcache::B0_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
559 int NumPar = 3;
560 double params[] = {MZ2, mA2, mHh2};
561
562 int i = CacheCheck(B0_MZ2_0_mA2_mHh2_cache, NumPar, params);
563 if (i>=0) {
564 return ( B0_MZ2_0_mA2_mHh2_cache[NumPar][i] );
565 } else {
566 gslpp::complex newResult = PV.B0(MZ2, 0.0, mA2, mHh2);
567 CacheShift(B0_MZ2_0_mA2_mHh2_cache, NumPar, params, newResult);
568 return newResult;
569 }
570}
571
572gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const {
573 int NumPar = 2;
574 double params[] = {MZ2, mHl2};
575
576 int i = CacheCheck(B0_MZ2_mHl2_0_0_cache, NumPar, params);
577 if (i>=0) {
578 return ( B0_MZ2_mHl2_0_0_cache[NumPar][i] );
579 } else {
580 gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, 0.0);
581 CacheShift(B0_MZ2_mHl2_0_0_cache, NumPar, params, newResult);
582 return newResult;
583 }
584}
585
586gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
587 int NumPar = 3;
588 double params[] = {MZ2, mHl2, mHp2};
589
590 int i = CacheCheck(B0_MZ2_mHl2_0_mHp2_cache, NumPar, params);
591 if (i>=0) {
592 return ( B0_MZ2_mHl2_0_mHp2_cache[NumPar][i] );
593 } else {
594 gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, mHp2);
595 CacheShift(B0_MZ2_mHl2_0_mHp2_cache, NumPar, params, newResult);
596 return newResult;
597 }
598}
599
600gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const {
601 int NumPar = 3;
602 double params[] = {MZ2, mHl2, mA2};
603
604 int i = CacheCheck(B0_MZ2_mHl2_0_mA2_cache, NumPar, params);
605 if (i>=0) {
606 return ( B0_MZ2_mHl2_0_mA2_cache[NumPar][i] );
607 } else {
608 gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, mA2);
609 CacheShift(B0_MZ2_mHl2_0_mA2_cache, NumPar, params, newResult);
610 return newResult;
611 }
612}
613
614gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const {
615 int NumPar = 2;
616 double params[] = {MZ2, mHl2};
617
618 int i = CacheCheck(B0_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params);
619 if (i>=0) {
620 return ( B0_MZ2_mHl2_mHl2_mHl2_cache[NumPar][i] );
621 } else {
622 gslpp::complex newResult = PV.B0(MZ2, mHl2, mHl2, mHl2);
623 CacheShift(B0_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params, newResult);
624 return newResult;
625 }
626}
627
628gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const {
629 int NumPar = 3;
630 double params[] = {MZ2, mHl2, mHh2};
631
632 int i = CacheCheck(B0_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params);
633 if (i>=0) {
634 return ( B0_MZ2_mHl2_mHh2_mHl2_cache[NumPar][i] );
635 } else {
636 gslpp::complex newResult = PV.B0(MZ2, mHl2, mHh2, mHl2);
637 CacheShift(B0_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params, newResult);
638 return newResult;
639 }
640}
641
642gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const {
643 int NumPar = 3;
644 double params[] = {MZ2, mHl2, mHh2};
645
646 int i = CacheCheck(B0_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params);
647 if (i>=0) {
648 return ( B0_MZ2_mHl2_mHh2_mHh2_cache[NumPar][i] );
649 } else {
650 gslpp::complex newResult = PV.B0(MZ2, mHl2, mHh2, mHh2);
651 CacheShift(B0_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params, newResult);
652 return newResult;
653 }
654}
655
656gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
657 int NumPar = 3;
658 double params[] = {MZ2, mHl2, mHp2};
659
660 int i = CacheCheck(B0_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params);
661 if (i>=0) {
662 return ( B0_MZ2_mHl2_mHp2_mHp2_cache[NumPar][i] );
663 } else {
664 gslpp::complex newResult = PV.B0(MZ2, mHl2, mHp2, mHp2);
665 CacheShift(B0_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params, newResult);
666 return newResult;
667 }
668}
669
670gslpp::complex GeneralTHDMcache::B0_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const {
671 int NumPar = 3;
672 double params[] = {MZ2, mHl2, mA2};
673
674 int i = CacheCheck(B0_MZ2_mHl2_mA2_mA2_cache, NumPar, params);
675 if (i>=0) {
676 return ( B0_MZ2_mHl2_mA2_mA2_cache[NumPar][i] );
677 } else {
678 gslpp::complex newResult = PV.B0(MZ2, mHl2, mA2, mA2);
679 CacheShift(B0_MZ2_mHl2_mA2_mA2_cache, NumPar, params, newResult);
680 return newResult;
681 }
682}
683
684gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const {
685 int NumPar = 2;
686 double params[] = {MZ2, mHh2};
687
688 int i = CacheCheck(B0_MZ2_mHh2_0_0_cache, NumPar, params);
689 if (i>=0) {
690 return ( B0_MZ2_mHh2_0_0_cache[NumPar][i] );
691 } else {
692 gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, 0.0);
693 CacheShift(B0_MZ2_mHh2_0_0_cache, NumPar, params, newResult);
694 return newResult;
695 }
696}
697
698gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
699 int NumPar = 3;
700 double params[] = {MZ2, mHh2, mHp2};
701
702 int i = CacheCheck(B0_MZ2_mHh2_0_mHp2_cache, NumPar, params);
703 if (i>=0) {
704 return ( B0_MZ2_mHh2_0_mHp2_cache[NumPar][i] );
705 } else {
706 gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, mHp2);
707 CacheShift(B0_MZ2_mHh2_0_mHp2_cache, NumPar, params, newResult);
708 return newResult;
709 }
710}
711
712gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const {
713 int NumPar = 3;
714 double params[] = {MZ2, mHh2, mA2};
715
716 int i = CacheCheck(B0_MZ2_mHh2_0_mA2_cache, NumPar, params);
717 if (i>=0) {
718 return ( B0_MZ2_mHh2_0_mA2_cache[NumPar][i] );
719 } else {
720 gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, mA2);
721 CacheShift(B0_MZ2_mHh2_0_mA2_cache, NumPar, params, newResult);
722 return newResult;
723 }
724}
725
726gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
727 int NumPar = 3;
728 double params[] = {MZ2, mHh2, mHl2};
729
730 int i = CacheCheck(B0_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params);
731 if (i>=0) {
732 return ( B0_MZ2_mHh2_mHl2_mHl2_cache[NumPar][i] );
733 } else {
734 gslpp::complex newResult = PV.B0(MZ2, mHh2, mHl2, mHl2);
735 CacheShift(B0_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params, newResult);
736 return newResult;
737 }
738}
739
740gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
741 int NumPar = 3;
742 double params[] = {MZ2, mHh2, mHl2};
743
744 int i = CacheCheck(B0_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params);
745 if (i>=0) {
746 return ( B0_MZ2_mHh2_mHh2_mHl2_cache[NumPar][i] );
747 } else {
748 gslpp::complex newResult = PV.B0(MZ2, mHh2, mHh2, mHl2);
749 CacheShift(B0_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params, newResult);
750 return newResult;
751 }
752}
753
754gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const {
755 int NumPar = 2;
756 double params[] = {MZ2, mHh2};
757
758 int i = CacheCheck(B0_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params);
759 if (i>=0) {
760 return ( B0_MZ2_mHh2_mHh2_mHh2_cache[NumPar][i] );
761 } else {
762 gslpp::complex newResult = PV.B0(MZ2, mHh2, mHh2, mHh2);
763 CacheShift(B0_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params, newResult);
764 return newResult;
765 }
766}
767
768gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
769 int NumPar = 3;
770 double params[] = {MZ2, mHh2, mHp2};
771
772 int i = CacheCheck(B0_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params);
773 if (i>=0) {
774 return ( B0_MZ2_mHh2_mHp2_mHp2_cache[NumPar][i] );
775 } else {
776 gslpp::complex newResult = PV.B0(MZ2, mHh2, mHp2, mHp2);
777 CacheShift(B0_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params, newResult);
778 return newResult;
779 }
780}
781
782gslpp::complex GeneralTHDMcache::B0_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const {
783 int NumPar = 3;
784 double params[] = {MZ2, mHh2, mA2};
785
786 int i = CacheCheck(B0_MZ2_mHh2_mA2_mA2_cache, NumPar, params);
787 if (i>=0) {
788 return ( B0_MZ2_mHh2_mA2_mA2_cache[NumPar][i] );
789 } else {
790 gslpp::complex newResult = PV.B0(MZ2, mHh2, mA2, mA2);
791 CacheShift(B0_MZ2_mHh2_mA2_mA2_cache, NumPar, params, newResult);
792 return newResult;
793 }
794}
795
796gslpp::complex GeneralTHDMcache::B0_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
797 int NumPar = 3;
798 double params[] = {MZ2, mHp2, mHl2};
799
800 int i = CacheCheck(B0_MZ2_mHp2_0_mHl2_cache, NumPar, params);
801 if (i>=0) {
802 return ( B0_MZ2_mHp2_0_mHl2_cache[NumPar][i] );
803 } else {
804 gslpp::complex newResult = PV.B0(MZ2, mHp2, 0.0, mHl2);
805 CacheShift(B0_MZ2_mHp2_0_mHl2_cache, NumPar, params, newResult);
806 return newResult;
807 }
808}
809
810gslpp::complex GeneralTHDMcache::B0_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
811 int NumPar = 3;
812 double params[] = {MZ2, mHp2, mHh2};
813
814 int i = CacheCheck(B0_MZ2_mHp2_0_mHh2_cache, NumPar, params);
815 if (i>=0) {
816 return ( B0_MZ2_mHp2_0_mHh2_cache[NumPar][i] );
817 } else {
818 gslpp::complex newResult = PV.B0(MZ2, mHp2, 0.0, mHh2);
819 CacheShift(B0_MZ2_mHp2_0_mHh2_cache, NumPar, params, newResult);
820 return newResult;
821 }
822}
823
824gslpp::complex GeneralTHDMcache::B0_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
825 int NumPar = 3;
826 double params[] = {MZ2, mHp2, mHl2};
827
828 int i = CacheCheck(B0_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params);
829 if (i>=0) {
830 return ( B0_MZ2_mHp2_mHp2_mHl2_cache[NumPar][i] );
831 } else {
832 gslpp::complex newResult = PV.B0(MZ2, mHp2, mHp2, mHl2);
833 CacheShift(B0_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params, newResult);
834 return newResult;
835 }
836}
837
838gslpp::complex GeneralTHDMcache::B0_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
839 int NumPar = 3;
840 double params[] = {MZ2, mHp2, mHh2};
841
842 int i = CacheCheck(B0_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params);
843 if (i>=0) {
844 return ( B0_MZ2_mHp2_mHp2_mHh2_cache[NumPar][i] );
845 } else {
846 gslpp::complex newResult = PV.B0(MZ2, mHp2, mHp2, mHh2);
847 CacheShift(B0_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params, newResult);
848 return newResult;
849 }
850}
851
852gslpp::complex GeneralTHDMcache::B0_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const {
853 int NumPar = 3;
854 double params[] = {MZ2, mA2, mHl2};
855
856 int i = CacheCheck(B0_MZ2_mA2_0_mHl2_cache, NumPar, params);
857 if (i>=0) {
858 return ( B0_MZ2_mA2_0_mHl2_cache[NumPar][i] );
859 } else {
860 gslpp::complex newResult = PV.B0(MZ2, mA2, 0.0, mHl2);
861 CacheShift(B0_MZ2_mA2_0_mHl2_cache, NumPar, params, newResult);
862 return newResult;
863 }
864}
865
866gslpp::complex GeneralTHDMcache::B0_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const {
867 int NumPar = 3;
868 double params[] = {MZ2, mA2, mHh2};
869
870 int i = CacheCheck(B0_MZ2_mA2_0_mHh2_cache, NumPar, params);
871 if (i>=0) {
872 return ( B0_MZ2_mA2_0_mHh2_cache[NumPar][i] );
873 } else {
874 gslpp::complex newResult = PV.B0(MZ2, mA2, 0.0, mHh2);
875 CacheShift(B0_MZ2_mA2_0_mHh2_cache, NumPar, params, newResult);
876 return newResult;
877 }
878}
879
880gslpp::complex GeneralTHDMcache::B0_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
881 int NumPar = 3;
882 double params[] = {MZ2, mA2, mHl2};
883
884 int i = CacheCheck(B0_MZ2_mA2_mA2_mHl2_cache, NumPar, params);
885 if (i>=0) {
886 return ( B0_MZ2_mA2_mA2_mHl2_cache[NumPar][i] );
887 } else {
888 gslpp::complex newResult = PV.B0(MZ2, mA2, mA2, mHl2);
889 CacheShift(B0_MZ2_mA2_mA2_mHl2_cache, NumPar, params, newResult);
890 return newResult;
891 }
892}
893
894gslpp::complex GeneralTHDMcache::B0_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
895 int NumPar = 3;
896 double params[] = {MZ2, mA2, mHh2};
897
898 int i = CacheCheck(B0_MZ2_mA2_mA2_mHh2_cache, NumPar, params);
899 if (i>=0) {
900 return ( B0_MZ2_mA2_mA2_mHh2_cache[NumPar][i] );
901 } else {
902 gslpp::complex newResult = PV.B0(MZ2, mA2, mA2, mHh2);
903 CacheShift(B0_MZ2_mA2_mA2_mHh2_cache, NumPar, params, newResult);
904 return newResult;
905 }
906}
907
909
911
912gslpp::complex GeneralTHDMcache::B0p_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const {
913 int NumPar = 2;
914 double params[] = {MZ2, mHl2};
915
916 int i = CacheCheck(B0p_MZ2_0_0_mHl2_cache, NumPar, params);
917 if (i>=0) {
918 return ( B0p_MZ2_0_0_mHl2_cache[NumPar][i] );
919 } else {
920 gslpp::complex newResult = PV.B0p(MZ2, 0.0, 0.0, mHl2);
921 CacheShift(B0p_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
922 return newResult;
923 }
924}
925
926gslpp::complex GeneralTHDMcache::B0p_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const {
927 int NumPar = 2;
928 double params[] = {MZ2, mHh2};
929
930 int i = CacheCheck(B0p_MZ2_0_0_mHh2_cache, NumPar, params);
931 if (i>=0) {
932 return ( B0p_MZ2_0_0_mHh2_cache[NumPar][i] );
933 } else {
934 gslpp::complex newResult = PV.B0p(MZ2, 0.0, 0.0, mHh2);
935 CacheShift(B0p_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
936 return newResult;
937 }
938}
939
940gslpp::complex GeneralTHDMcache::B0p_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
941 int NumPar = 3;
942 double params[] = {MZ2, mHp2, mHl2};
943
944 int i = CacheCheck(B0p_MZ2_0_mHp2_mHl2_cache, NumPar, params);
945 if (i>=0) {
946 return ( B0p_MZ2_0_mHp2_mHl2_cache[NumPar][i] );
947 } else {
948 gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mHl2);
949 CacheShift(B0p_MZ2_0_mHp2_mHl2_cache, NumPar, params, newResult);
950 return newResult;
951 }
952}
953
954gslpp::complex GeneralTHDMcache::B0p_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
955 int NumPar = 3;
956 double params[] = {MZ2, mHp2, mHh2};
957
958 int i = CacheCheck(B0p_MZ2_0_mHp2_mHh2_cache, NumPar, params);
959 if (i>=0) {
960 return ( B0p_MZ2_0_mHp2_mHh2_cache[NumPar][i] );
961 } else {
962 gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mHh2);
963 CacheShift(B0p_MZ2_0_mHp2_mHh2_cache, NumPar, params, newResult);
964 return newResult;
965 }
966}
967
968gslpp::complex GeneralTHDMcache::B0p_MZ2_0_mHp2_mA2(const double MZ2, const double mHp2, const double mA2) const {
969 int NumPar = 3;
970 double params[] = {MZ2, mHp2, mA2};
971
972 int i = CacheCheck(B0p_MZ2_0_mHp2_mA2_cache, NumPar, params);
973 if (i>=0) {
974 return ( B0p_MZ2_0_mHp2_mA2_cache[NumPar][i] );
975 } else {
976 gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mA2);
977 CacheShift(B0p_MZ2_0_mHp2_mA2_cache, NumPar, params, newResult);
978 return newResult;
979 }
980}
981
982gslpp::complex GeneralTHDMcache::B0p_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
983 int NumPar = 3;
984 double params[] = {MZ2, mA2, mHl2};
985
986 int i = CacheCheck(B0p_MZ2_0_mA2_mHl2_cache, NumPar, params);
987 if (i>=0) {
988 return ( B0p_MZ2_0_mA2_mHl2_cache[NumPar][i] );
989 } else {
990 gslpp::complex newResult = PV.B0p(MZ2, 0.0, mA2, mHl2);
991 CacheShift(B0p_MZ2_0_mA2_mHl2_cache, NumPar, params, newResult);
992 return newResult;
993 }
994}
995
996gslpp::complex GeneralTHDMcache::B0p_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
997 int NumPar = 3;
998 double params[] = {MZ2, mA2, mHh2};
999
1000 int i = CacheCheck(B0p_MZ2_0_mA2_mHh2_cache, NumPar, params);
1001 if (i>=0) {
1002 return ( B0p_MZ2_0_mA2_mHh2_cache[NumPar][i] );
1003 } else {
1004 gslpp::complex newResult = PV.B0p(MZ2, 0.0, mA2, mHh2);
1005 CacheShift(B0p_MZ2_0_mA2_mHh2_cache, NumPar, params, newResult);
1006 return newResult;
1007 }
1008}
1009
1010gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const {
1011 int NumPar = 2;
1012 double params[] = {MZ2, mHl2};
1013
1014 int i = CacheCheck(B0p_MZ2_0_0_mHl2_cache, NumPar, params);
1015 if (i>=0) {
1016 return ( B0p_MZ2_0_0_mHl2_cache[NumPar][i] );
1017 } else {
1018 gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, 0.0);
1019 CacheShift(B0p_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
1020 return newResult;
1021 }
1022}
1023
1024gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
1025 int NumPar = 3;
1026 double params[] = {MZ2, mHl2, mHp2};
1027
1028 int i = CacheCheck(B0p_MZ2_mHl2_0_mHp2_cache, NumPar, params);
1029 if (i>=0) {
1030 return ( B0p_MZ2_mHl2_0_mHp2_cache[NumPar][i] );
1031 } else {
1032 gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, mHp2);
1033 CacheShift(B0p_MZ2_mHl2_0_mHp2_cache, NumPar, params, newResult);
1034 return newResult;
1035 }
1036}
1037
1038gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const {
1039 int NumPar = 3;
1040 double params[] = {MZ2, mHl2, mA2};
1041
1042 int i = CacheCheck(B0p_MZ2_mHl2_0_mA2_cache, NumPar, params);
1043 if (i>=0) {
1044 return ( B0p_MZ2_mHl2_0_mA2_cache[NumPar][i] );
1045 } else {
1046 gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, mA2);
1047 CacheShift(B0p_MZ2_mHl2_0_mA2_cache, NumPar, params, newResult);
1048 return newResult;
1049 }
1050}
1051
1052gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const {
1053 int NumPar = 2;
1054 double params[] = {MZ2, mHl2};
1055
1056 int i = CacheCheck(B0p_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params);
1057 if (i>=0) {
1058 return ( B0p_MZ2_mHl2_mHl2_mHl2_cache[NumPar][i] );
1059 } else {
1060 gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHl2, mHl2);
1061 CacheShift(B0p_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params, newResult);
1062 return newResult;
1063 }
1064}
1065
1066gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const {
1067 int NumPar = 3;
1068 double params[] = {MZ2, mHl2, mHh2};
1069
1070 int i = CacheCheck(B0p_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params);
1071 if (i>=0) {
1072 return ( B0p_MZ2_mHl2_mHh2_mHl2_cache[NumPar][i] );
1073 } else {
1074 gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHh2, mHl2);
1075 CacheShift(B0p_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params, newResult);
1076 return newResult;
1077 }
1078}
1079
1080gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const {
1081 int NumPar = 3;
1082 double params[] = {MZ2, mHl2, mHh2};
1083
1084 int i = CacheCheck(B0p_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params);
1085 if (i>=0) {
1086 return ( B0p_MZ2_mHl2_mHh2_mHh2_cache[NumPar][i] );
1087 } else {
1088 gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHh2, mHh2);
1089 CacheShift(B0p_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params, newResult);
1090 return newResult;
1091 }
1092}
1093
1094gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
1095 int NumPar = 3;
1096 double params[] = {MZ2, mHl2, mHp2};
1097
1098 int i = CacheCheck(B0p_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params);
1099 if (i>=0) {
1100 return ( B0p_MZ2_mHl2_mHp2_mHp2_cache[NumPar][i] );
1101 } else {
1102 gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHp2, mHp2);
1103 CacheShift(B0p_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params, newResult);
1104 return newResult;
1105 }
1106}
1107
1108gslpp::complex GeneralTHDMcache::B0p_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1109 int NumPar = 3;
1110 double params[] = {MZ2, mHl2, mA2};
1111
1112 int i = CacheCheck(B0p_MZ2_mHl2_mA2_mA2_cache, NumPar, params);
1113 if (i>=0) {
1114 return ( B0p_MZ2_mHl2_mA2_mA2_cache[NumPar][i] );
1115 } else {
1116 gslpp::complex newResult = PV.B0p(MZ2, mHl2, mA2, mA2);
1117 CacheShift(B0p_MZ2_mHl2_mA2_mA2_cache, NumPar, params, newResult);
1118 return newResult;
1119 }
1120}
1121
1122gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const {
1123 int NumPar = 2;
1124 double params[] = {MZ2, mHh2};
1125
1126 int i = CacheCheck(B0p_MZ2_0_0_mHh2_cache, NumPar, params);
1127 if (i>=0) {
1128 return ( B0p_MZ2_0_0_mHh2_cache[NumPar][i] );
1129 } else {
1130 gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, 0.0);
1131 CacheShift(B0p_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
1132 return newResult;
1133 }
1134}
1135
1136gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1137 int NumPar = 3;
1138 double params[] = {MZ2, mHh2, mHp2};
1139
1140 int i = CacheCheck(B0p_MZ2_mHh2_0_mHp2_cache, NumPar, params);
1141 if (i>=0) {
1142 return ( B0p_MZ2_mHh2_0_mHp2_cache[NumPar][i] );
1143 } else {
1144 gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, mHp2);
1145 CacheShift(B0p_MZ2_mHh2_0_mHp2_cache, NumPar, params, newResult);
1146 return newResult;
1147 }
1148}
1149
1150gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const {
1151 int NumPar = 3;
1152 double params[] = {MZ2, mHh2, mA2};
1153
1154 int i = CacheCheck(B0p_MZ2_mHh2_0_mA2_cache, NumPar, params);
1155 if (i>=0) {
1156 return ( B0p_MZ2_mHh2_0_mA2_cache[NumPar][i] );
1157 } else {
1158 gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, mA2);
1159 CacheShift(B0p_MZ2_mHh2_0_mA2_cache, NumPar, params, newResult);
1160 return newResult;
1161 }
1162}
1163
1164gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
1165 int NumPar = 3;
1166 double params[] = {MZ2, mHh2, mHl2};
1167
1168 int i = CacheCheck(B0p_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params);
1169 if (i>=0) {
1170 return ( B0p_MZ2_mHh2_mHl2_mHl2_cache[NumPar][i] );
1171 } else {
1172 gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHl2, mHl2);
1173 CacheShift(B0p_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params, newResult);
1174 return newResult;
1175 }
1176}
1177
1178gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
1179 int NumPar = 3;
1180 double params[] = {MZ2, mHh2, mHl2};
1181
1182 int i = CacheCheck(B0p_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params);
1183 if (i>=0) {
1184 return ( B0p_MZ2_mHh2_mHh2_mHl2_cache[NumPar][i] );
1185 } else {
1186 gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHh2, mHl2);
1187 CacheShift(B0p_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params, newResult);
1188 return newResult;
1189 }
1190}
1191
1192gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const {
1193 int NumPar = 2;
1194 double params[] = {MZ2, mHh2};
1195
1196 int i = CacheCheck(B0p_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params);
1197 if (i>=0) {
1198 return ( B0p_MZ2_mHh2_mHh2_mHh2_cache[NumPar][i] );
1199 } else {
1200 gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHh2, mHh2);
1201 CacheShift(B0p_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params, newResult);
1202 return newResult;
1203 }
1204}
1205
1206gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1207 int NumPar = 3;
1208 double params[] = {MZ2, mHh2, mHp2};
1209
1210 int i = CacheCheck(B0p_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params);
1211 if (i>=0) {
1212 return ( B0p_MZ2_mHh2_mHp2_mHp2_cache[NumPar][i] );
1213 } else {
1214 gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHp2, mHp2);
1215 CacheShift(B0p_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params, newResult);
1216 return newResult;
1217 }
1218}
1219
1220gslpp::complex GeneralTHDMcache::B0p_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1221 int NumPar = 3;
1222 double params[] = {MZ2, mHh2, mA2};
1223
1224 int i = CacheCheck(B0p_MZ2_mHh2_mA2_mA2_cache, NumPar, params);
1225 if (i>=0) {
1226 return ( B0p_MZ2_mHh2_mA2_mA2_cache[NumPar][i] );
1227 } else {
1228 gslpp::complex newResult = PV.B0p(MZ2, mHh2, mA2, mA2);
1229 CacheShift(B0p_MZ2_mHh2_mA2_mA2_cache, NumPar, params, newResult);
1230 return newResult;
1231 }
1232}
1233
1234gslpp::complex GeneralTHDMcache::B0p_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
1235 int NumPar = 3;
1236 double params[] = {MZ2, mHp2, mHl2};
1237
1238 int i = CacheCheck(B0p_MZ2_mHp2_0_mHl2_cache, NumPar, params);
1239 if (i>=0) {
1240 return ( B0p_MZ2_mHp2_0_mHl2_cache[NumPar][i] );
1241 } else {
1242 gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mHl2);
1243 CacheShift(B0p_MZ2_mHp2_0_mHl2_cache, NumPar, params, newResult);
1244 return newResult;
1245 }
1246}
1247
1248gslpp::complex GeneralTHDMcache::B0p_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
1249 int NumPar = 3;
1250 double params[] = {MZ2, mHp2, mHh2};
1251
1252 int i = CacheCheck(B0p_MZ2_mHp2_0_mHh2_cache, NumPar, params);
1253 if (i>=0) {
1254 return ( B0p_MZ2_mHp2_0_mHh2_cache[NumPar][i] );
1255 } else {
1256 gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mHh2);
1257 CacheShift(B0p_MZ2_mHp2_0_mHh2_cache, NumPar, params, newResult);
1258 return newResult;
1259 }
1260}
1261
1262gslpp::complex GeneralTHDMcache::B0p_MZ2_mHp2_0_mA2(const double MZ2, const double mHp2, const double mA2) const {
1263 int NumPar = 3;
1264 double params[] = {MZ2, mHp2, mA2};
1265
1266 int i = CacheCheck(B0p_MZ2_mHp2_0_mA2_cache, NumPar, params);
1267 if (i>=0) {
1268 return ( B0p_MZ2_mHp2_0_mA2_cache[NumPar][i] );
1269 } else {
1270 gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mA2);
1271 CacheShift(B0p_MZ2_mHp2_0_mA2_cache, NumPar, params, newResult);
1272 return newResult;
1273 }
1274}
1275
1276gslpp::complex GeneralTHDMcache::B0p_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
1277 int NumPar = 3;
1278 double params[] = {MZ2, mHp2, mHl2};
1279
1280 int i = CacheCheck(B0p_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params);
1281 if (i>=0) {
1282 return ( B0p_MZ2_mHp2_mHp2_mHl2_cache[NumPar][i] );
1283 } else {
1284 gslpp::complex newResult = PV.B0p(MZ2, mHp2, mHp2, mHl2);
1285 CacheShift(B0p_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params, newResult);
1286 return newResult;
1287 }
1288}
1289
1290gslpp::complex GeneralTHDMcache::B0p_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
1291 int NumPar = 3;
1292 double params[] = {MZ2, mHp2, mHh2};
1293
1294 int i = CacheCheck(B0p_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params);
1295 if (i>=0) {
1296 return ( B0p_MZ2_mHp2_mHp2_mHh2_cache[NumPar][i] );
1297 } else {
1298 gslpp::complex newResult = PV.B0p(MZ2, mHp2, mHp2, mHh2);
1299 CacheShift(B0p_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params, newResult);
1300 return newResult;
1301 }
1302}
1303
1304gslpp::complex GeneralTHDMcache::B0p_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const {
1305 int NumPar = 3;
1306 double params[] = {MZ2, mA2, mHl2};
1307
1308 int i = CacheCheck(B0p_MZ2_mA2_0_mHl2_cache, NumPar, params);
1309 if (i>=0) {
1310 return ( B0p_MZ2_mA2_0_mHl2_cache[NumPar][i] );
1311 } else {
1312 gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHl2);
1313 CacheShift(B0p_MZ2_mA2_0_mHl2_cache, NumPar, params, newResult);
1314 return newResult;
1315 }
1316}
1317
1318gslpp::complex GeneralTHDMcache::B0p_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const {
1319 int NumPar = 3;
1320 double params[] = {MZ2, mA2, mHh2};
1321
1322 int i = CacheCheck(B0p_MZ2_mA2_0_mHh2_cache, NumPar, params);
1323 if (i>=0) {
1324 return ( B0p_MZ2_mA2_0_mHh2_cache[NumPar][i] );
1325 } else {
1326 gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHh2);
1327 CacheShift(B0p_MZ2_mA2_0_mHh2_cache, NumPar, params, newResult);
1328 return newResult;
1329 }
1330}
1331
1332gslpp::complex GeneralTHDMcache::B0p_MZ2_mA2_0_mHp2(const double MZ2, const double mA2, const double mHp2) const {
1333 int NumPar = 3;
1334 double params[] = {MZ2, mA2, mHp2};
1335
1336 int i = CacheCheck(B0p_MZ2_mA2_0_mHp2_cache, NumPar, params);
1337 if (i>=0) {
1338 return ( B0p_MZ2_mA2_0_mHp2_cache[NumPar][i] );
1339 } else {
1340 gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHp2);
1341 CacheShift(B0p_MZ2_mA2_0_mHp2_cache, NumPar, params, newResult);
1342 return newResult;
1343 }
1344}
1345
1346gslpp::complex GeneralTHDMcache::B0p_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
1347 int NumPar = 3;
1348 double params[] = {MZ2, mA2, mHl2};
1349
1350 int i = CacheCheck(B0p_MZ2_mA2_mA2_mHl2_cache, NumPar, params);
1351 if (i>=0) {
1352 return ( B0p_MZ2_mA2_mA2_mHl2_cache[NumPar][i] );
1353 } else {
1354 gslpp::complex newResult = PV.B0p(MZ2, mA2, mA2, mHl2);
1355 CacheShift(B0p_MZ2_mA2_mA2_mHl2_cache, NumPar, params, newResult);
1356 return newResult;
1357 }
1358}
1359
1360gslpp::complex GeneralTHDMcache::B0p_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
1361 int NumPar = 3;
1362 double params[] = {MZ2, mA2, mHh2};
1363
1364 int i = CacheCheck(B0p_MZ2_mA2_mA2_mHh2_cache, NumPar, params);
1365 if (i>=0) {
1366 return ( B0p_MZ2_mA2_mA2_mHh2_cache[NumPar][i] );
1367 } else {
1368 gslpp::complex newResult = PV.B0p(MZ2, mA2, mA2, mHh2);
1369 CacheShift(B0p_MZ2_mA2_mA2_mHh2_cache, NumPar, params, newResult);
1370 return newResult;
1371 }
1372}
1373
1375
1376gslpp::complex GeneralTHDMcache::B00_MZ2_0_mA2_mHp2(const double MZ2, const double mA2, const double mHp2) const {
1377 int NumPar = 3;
1378 double params[] = {MZ2, mA2, mHp2};
1379
1380 int i = CacheCheck(B00_MZ2_0_mA2_mHp2_cache, NumPar, params);
1381 if (i>=0) {
1382 return ( B00_MZ2_0_mA2_mHp2_cache[NumPar][i] );
1383 } else {
1384 gslpp::complex newResult = PV.B00(MZ2, 0., mA2, mHp2);
1385 CacheShift(B00_MZ2_0_mA2_mHp2_cache, NumPar, params, newResult);
1386 return newResult;
1387 }
1388}
1389
1390gslpp::complex GeneralTHDMcache::B00_MZ2_0_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1391 int NumPar = 3;
1392 double params[] = {MZ2, mHh2, mA2};
1393
1394 int i = CacheCheck(B00_MZ2_0_mHh2_mA2_cache, NumPar, params);
1395 if (i>=0) {
1396 return ( B00_MZ2_0_mHh2_mA2_cache[NumPar][i] );
1397 } else {
1398 gslpp::complex newResult = PV.B00(MZ2, 0., mHh2, mA2);
1399 CacheShift(B00_MZ2_0_mHh2_mA2_cache, NumPar, params, newResult);
1400 return newResult;
1401 }
1402}
1403
1404gslpp::complex GeneralTHDMcache::B00_MZ2_0_mHh2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1405 int NumPar = 3;
1406 double params[] = {MZ2, mHh2, mHp2};
1407
1408 int i = CacheCheck(B00_MZ2_0_mHh2_mHp2_cache, NumPar, params);
1409 if (i>=0) {
1410 return ( B00_MZ2_0_mHh2_mHp2_cache[NumPar][i] );
1411 } else {
1412 gslpp::complex newResult = PV.B00(MZ2, 0., mHh2, mHp2);
1413 CacheShift(B00_MZ2_0_mHh2_mHp2_cache, NumPar, params, newResult);
1414 return newResult;
1415 }
1416}
1417
1418gslpp::complex GeneralTHDMcache::B00_MZ2_0_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1419 int NumPar = 3;
1420 double params[] = {MZ2, mHl2, mA2};
1421
1422 int i = CacheCheck(B00_MZ2_0_mHl2_mA2_cache, NumPar, params);
1423 if (i>=0) {
1424 return ( B00_MZ2_0_mHl2_mA2_cache[NumPar][i] );
1425 } else {
1426 gslpp::complex newResult = PV.B00(MZ2, 0., mHl2, mA2);
1427 CacheShift(B00_MZ2_0_mHl2_mA2_cache, NumPar, params, newResult);
1428 return newResult;
1429 }
1430}
1431
1432gslpp::complex GeneralTHDMcache::B00_MZ2_0_mHl2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
1433 int NumPar = 3;
1434 double params[] = {MZ2, mHl2, mHp2};
1435
1436 int i = CacheCheck(B00_MZ2_0_mHl2_mHp2_cache, NumPar, params);
1437 if (i>=0) {
1438 return ( B00_MZ2_0_mHl2_mHp2_cache[NumPar][i] );
1439 } else {
1440 gslpp::complex newResult = PV.B00(MZ2, 0., mHl2, mHp2);
1441 CacheShift(B00_MZ2_0_mHl2_mHp2_cache, NumPar, params, newResult);
1442 return newResult;
1443 }
1444}
1445
1446gslpp::complex GeneralTHDMcache::B00_MZ2_0_mHp2_mHp2(const double MZ2, const double mHp2) const {
1447 int NumPar = 2;
1448 double params[] = {MZ2, mHp2};
1449
1450 int i = CacheCheck(B00_MZ2_0_mHp2_mHp2_cache, NumPar, params);
1451 if (i>=0) {
1452 return ( B00_MZ2_0_mHp2_mHp2_cache[NumPar][i] );
1453 } else {
1454 gslpp::complex newResult = PV.B00(MZ2, 0., mHp2, mHp2);
1455 CacheShift(B00_MZ2_0_mHp2_mHp2_cache, NumPar, params, newResult);
1456 return newResult;
1457 }
1458}
1459
1460gslpp::complex GeneralTHDMcache::B00_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
1461 int NumPar = 3;
1462 double params[] = {MZ2, MW2, mHh2};
1463
1464 int i = CacheCheck(B00_MZ2_0_MW2_mHh2_cache, NumPar, params);
1465 if (i>=0) {
1466 return ( B00_MZ2_0_MW2_mHh2_cache[NumPar][i] );
1467 } else {
1468 gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHh2);
1469 CacheShift(B00_MZ2_0_MW2_mHh2_cache, NumPar, params, newResult);
1470 return newResult;
1471 }
1472}
1473
1474gslpp::complex GeneralTHDMcache::B00_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
1475 int NumPar = 3;
1476 double params[] = {MZ2, MW2, mHl2};
1477
1478 int i = CacheCheck(B00_MZ2_0_MW2_mHl2_cache, NumPar, params);
1479 if (i>=0) {
1480 return ( B00_MZ2_0_MW2_mHl2_cache[NumPar][i] );
1481 } else {
1482 gslpp::complex newResult = PV.B00(MZ2, 0., MW2, mHl2);
1483 CacheShift(B00_MZ2_0_MW2_mHl2_cache, NumPar, params, newResult);
1484 return newResult;
1485 }
1486}
1487
1488gslpp::complex GeneralTHDMcache::B00_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const {
1489 int NumPar = 2;
1490 double params[] = {MZ2, mHh2};
1491
1492 int i = CacheCheck(B00_MZ2_0_MZ2_mHh2_cache, NumPar, params);
1493 if (i>=0) {
1494 return ( B00_MZ2_0_MZ2_mHh2_cache[NumPar][i] );
1495 } else {
1496 gslpp::complex newResult = PV.B00(MZ2, 0., MZ2, mHh2);
1497 CacheShift(B00_MZ2_0_MZ2_mHh2_cache, NumPar, params, newResult);
1498 return newResult;
1499 }
1500}
1501
1502gslpp::complex GeneralTHDMcache::B00_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const {
1503 int NumPar = 2;
1504 double params[] = {MZ2, mHl2};
1505
1506 int i = CacheCheck(B00_MZ2_0_MZ2_mHl2_cache, NumPar, params);
1507 if (i>=0) {
1508 return ( B00_MZ2_0_MZ2_mHl2_cache[NumPar][i] );
1509 } else {
1510 gslpp::complex newResult = PV.B00(MZ2, 0., MZ2, mHl2);
1511 CacheShift(B00_MZ2_0_MZ2_mHl2_cache, NumPar, params, newResult);
1512 return newResult;
1513 }
1514}
1515
1516gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_mA2_mHp2(const double MZ2, const double MW2, const double mA2, const double mHp2) const {
1517 int NumPar = 4;
1518 double params[] = {MZ2, MW2, mA2, mHp2};
1519
1520 int i = CacheCheck(B00_MZ2_MW2_mA2_mHp2_cache, NumPar, params);
1521 if (i>=0) {
1522 return ( B00_MZ2_MW2_mA2_mHp2_cache[NumPar][i] );
1523 } else {
1524 gslpp::complex newResult = PV.B00(MZ2, MW2, mA2, mHp2);
1525 CacheShift(B00_MZ2_MW2_mA2_mHp2_cache, NumPar, params, newResult);
1526 return newResult;
1527 }
1528}
1529
1530gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_mHh2_mHp2(const double MZ2, const double MW2, const double mHh2, const double mHp2) const {
1531 int NumPar = 4;
1532 double params[] = {MZ2, MW2, mHh2, mHp2};
1533
1534 int i = CacheCheck(B00_MZ2_MW2_mHh2_mHp2_cache, NumPar, params);
1535 if (i>=0) {
1536 return ( B00_MZ2_MW2_mHh2_mHp2_cache[NumPar][i] );
1537 } else {
1538 gslpp::complex newResult = PV.B00(MZ2, MW2, mHh2, mHp2);
1539 CacheShift(B00_MZ2_MW2_mHh2_mHp2_cache, NumPar, params, newResult);
1540 return newResult;
1541 }
1542}
1543
1544gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_mHl2_mHp2(const double MZ2, const double MW2, const double mHl2, const double mHp2) const {
1545 int NumPar = 4;
1546 double params[] = {MZ2, MW2, mHl2, mHp2};
1547
1548 int i = CacheCheck(B00_MZ2_MW2_mHl2_mHp2_cache, NumPar, params);
1549 if (i>=0) {
1550 return ( B00_MZ2_MW2_mHl2_mHp2_cache[NumPar][i] );
1551 } else {
1552 gslpp::complex newResult = PV.B00(MZ2, MW2, mHl2, mHp2);
1553 CacheShift(B00_MZ2_MW2_mHl2_mHp2_cache, NumPar, params, newResult);
1554 return newResult;
1555 }
1556}
1557
1558gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_mHp2_mHp2(const double MZ2, const double MW2, const double mHp2) const {
1559 int NumPar = 3;
1560 double params[] = {MZ2, MW2, mHp2};
1561
1562 int i = CacheCheck(B00_MZ2_MW2_mHp2_mHp2_cache, NumPar, params);
1563 if (i>=0) {
1564 return ( B00_MZ2_MW2_mHp2_mHp2_cache[NumPar][i] );
1565 } else {
1566 gslpp::complex newResult = PV.B00(MZ2, MW2, mHp2, mHp2);
1567 CacheShift(B00_MZ2_MW2_mHp2_mHp2_cache, NumPar, params, newResult);
1568 return newResult;
1569 }
1570}
1571
1572gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
1573 int NumPar = 3;
1574 double params[] = {MZ2, MW2, mHh2};
1575
1576 int i = CacheCheck(B00_MZ2_MW2_MW2_mHh2_cache, NumPar, params);
1577 if (i>=0) {
1578 return ( B00_MZ2_MW2_MW2_mHh2_cache[NumPar][i] );
1579 } else {
1580 gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHh2);
1581 CacheShift(B00_MZ2_MW2_MW2_mHh2_cache, NumPar, params, newResult);
1582 return newResult;
1583 }
1584}
1585
1586gslpp::complex GeneralTHDMcache::B00_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
1587 int NumPar = 3;
1588 double params[] = {MZ2, MW2, mHl2};
1589
1590 int i = CacheCheck(B00_MZ2_MW2_MW2_mHl2_cache, NumPar, params);
1591 if (i>=0) {
1592 return ( B00_MZ2_MW2_MW2_mHl2_cache[NumPar][i] );
1593 } else {
1594 gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHl2);
1595 CacheShift(B00_MZ2_MW2_MW2_mHl2_cache, NumPar, params, newResult);
1596 return newResult;
1597 }
1598}
1599
1600gslpp::complex GeneralTHDMcache::B00_MZ2_MZ2_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1601 int NumPar = 3;
1602 double params[] = {MZ2, mHh2, mA2};
1603
1604 int i = CacheCheck(B00_MZ2_MZ2_mHh2_mA2_cache, NumPar, params);
1605 if (i>=0) {
1606 return ( B00_MZ2_MZ2_mHh2_mA2_cache[NumPar][i] );
1607 } else {
1608 gslpp::complex newResult = PV.B00(MZ2, MZ2, mHh2, mA2);
1609 CacheShift(B00_MZ2_MZ2_mHh2_mA2_cache, NumPar, params, newResult);
1610 return newResult;
1611 }
1612}
1613
1614gslpp::complex GeneralTHDMcache::B00_MZ2_MZ2_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1615 int NumPar = 3;
1616 double params[] = {MZ2, mHl2, mA2};
1617
1618 int i = CacheCheck(B00_MZ2_MZ2_mHl2_mA2_cache, NumPar, params);
1619 if (i>=0) {
1620 return ( B00_MZ2_MZ2_mHl2_mA2_cache[NumPar][i] );
1621 } else {
1622 gslpp::complex newResult = PV.B00(MZ2, MZ2, mHl2, mA2);
1623 CacheShift(B00_MZ2_MZ2_mHl2_mA2_cache, NumPar, params, newResult);
1624 return newResult;
1625 }
1626}
1627
1628gslpp::complex GeneralTHDMcache::B00_MZ2_MZ2_mHp2_mHp2(const double MZ2, const double mHp2) const {
1629 int NumPar = 2;
1630 double params[] = {MZ2, mHp2};
1631
1632 int i = CacheCheck(B00_MZ2_MZ2_mHp2_mHp2_cache, NumPar, params);
1633 if (i>=0) {
1634 return ( B00_MZ2_MZ2_mHp2_mHp2_cache[NumPar][i] );
1635 } else {
1636 gslpp::complex newResult = PV.B00(MZ2, MZ2, mHp2, mHp2);
1637 CacheShift(B00_MZ2_MZ2_mHp2_mHp2_cache, NumPar, params, newResult);
1638 return newResult;
1639 }
1640}
1641
1642gslpp::complex GeneralTHDMcache::B00_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const {
1643 int NumPar = 2;
1644 double params[] = {MZ2, mHh2};
1645
1646 int i = CacheCheck(B00_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params);
1647 if (i>=0) {
1648 return ( B00_MZ2_MZ2_MZ2_mHh2_cache[NumPar][i] );
1649 } else {
1650 gslpp::complex newResult = PV.B00(MZ2, MZ2, MZ2, mHh2);
1651 CacheShift(B00_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params, newResult);
1652 return newResult;
1653 }
1654}
1655
1656gslpp::complex GeneralTHDMcache::B00_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const {
1657 int NumPar = 2;
1658 double params[] = {MZ2, mHl2};
1659
1660 int i = CacheCheck(B00_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params);
1661 if (i>=0) {
1662 return ( B00_MZ2_MZ2_MZ2_mHl2_cache[NumPar][i] );
1663 } else {
1664 gslpp::complex newResult = PV.B00(MZ2, MZ2, MZ2, mHl2);
1665 CacheShift(B00_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params, newResult);
1666 return newResult;
1667 }
1668}
1669
1670
1672
1673gslpp::matrix<double> GeneralTHDMcache::readTable(std::string filename, int rowN, int colN){
1674
1675 std::ifstream INfile;
1676 std::string lineTab;
1677 INfile.open( filename.c_str() );
1678 if(INfile.fail()){
1679 std::cout<<"error: in GeneralTHDMcache, table doesn't exist!"<<std::endl;
1680 }
1681
1682 gslpp::matrix<double> arrayTab(rowN, colN, 0.);
1683 int a =0;
1684 int b=0;
1685 double v;
1686
1687 while(INfile.good()){
1688 while(getline(INfile, lineTab)){
1689 if( lineTab[0]=='#' )continue;
1690 else{
1691 std::istringstream streamTab(lineTab);
1692 b=0;
1693 while(streamTab >>v){
1694 arrayTab.assign(a,b,v);
1695 b++;
1696 }
1697 a++;
1698 }
1699 }
1700 }
1701
1702 INfile.close();
1703
1704 return arrayTab;
1705}
1706
1707//1D interpolation
1708
1709double GeneralTHDMcache::interpolate(gslpp::matrix<double> arrayTab, double x){
1710
1711 int rowN=arrayTab.size_i();
1712
1713 double xmin = arrayTab(0,0);
1714 double xmax = arrayTab(rowN-1,0);
1715 double interval = arrayTab(1,0)-arrayTab(0,0);
1716 int Nintervals = (x-xmin)/interval;
1717
1718 if(x<xmin){
1719 std::cout<<"warning: your table parameter value is smaller than the minimum allowed value for m = "<<x<<"\n while xmin = "<<xmin<<std::endl;
1720 //std::cout<<"\033[1;36m warning: your table parameter value is smaller than the minimum allowed value for m = \033[0m "<< x <<std::endl;
1721 //std::cout<<"\033[1;36m while min = \033[0m "<< xmin <<std::endl;
1722 //std::cout << boost::stacktrace::stacktrace() << std::endl;
1723
1724
1725 return 0.;
1726 }
1727 else if(x>xmax){
1728 std::cout<<"warning: your table parameter value is greater than the maximum allowed value for m = "<<x<<"\n while xmax = "<<xmax<<std::endl;
1729 //std::cout<<"\033[1;36m warning: your table parameter value is greater than the maximum allowed value for m = \033[0m "<< x <<std::endl;
1730 //std::cout<<"\033[1;36m while max = \033[0m "<< xmax <<std::endl;
1731 //std::cout << boost::stacktrace::stacktrace() << std::endl;
1732 return 0.;
1733 }
1734 else if(x==xmax){
1735 return arrayTab(rowN-1,1);
1736 }
1737 else{
1738 return ((arrayTab(Nintervals+1,1)-arrayTab(Nintervals,1))/(arrayTab(Nintervals+1,0)
1739 -arrayTab(Nintervals,0))*(x-arrayTab(Nintervals,0))+arrayTab(Nintervals,1));
1740 }
1741}
1742
1743//1D non-uniform interval interpolation
1744
1745double GeneralTHDMcache::interpolateNU(gslpp::matrix<double> arrayTab, double x){
1746
1747 int rowN=arrayTab.size_i();
1748
1749 double xmin = arrayTab(0,0);
1750 double xmax = arrayTab(rowN-1,0);
1751 double test = x - (xmax + xmin) / 2;
1752 int row;
1753
1754 if(test <= 0)
1755 {
1756 for(row = 1; row <= rowN-1; row++)
1757 {
1758 if(arrayTab(row,0) - x > 0)
1759 break;
1760 }
1761 }
1762 else
1763 {
1764 for(row = rowN-2; row >= 0; row--)
1765 {
1766 if(x - arrayTab(row,0) > 0)
1767 break;
1768 }
1769
1770 row = row + 1;
1771 }
1772
1773 if(x<xmin)
1774 return 0.;
1775 else if(x>xmax)
1776 return 0.;
1777 else if(x==xmax)
1778 return arrayTab(rowN-1,1);
1779 else
1780 return ((arrayTab(row,1)-arrayTab(row-1,1))/(arrayTab(row,0)
1781 -arrayTab(row-1,0))*(x-arrayTab(row-1,0))+arrayTab(row-1,1));
1782}
1783
1784//2D interpolation
1785
1786double GeneralTHDMcache::interpolate2D(gslpp::matrix<double> arrayTab, double x, double y){
1787
1788 int rowN=arrayTab.size_i();
1789
1790 double xmin = arrayTab(0,0);
1791 double xmax = arrayTab(rowN-1,0);
1792 double ymin = arrayTab(0,1);
1793 double ymax = arrayTab(rowN-1,1);
1794 double intervalx = arrayTab(1,0)-arrayTab(0,0);
1795 int i=1;
1796 do i++;
1797 while(arrayTab(i,1)-arrayTab(i-1,1)==0&&i<30000);
1798 double intervaly = arrayTab(i,1)-arrayTab(i-1,1);
1799 int Nintervalsx = (x-xmin)/intervalx;
1800 int Nintervalsy = (y-ymin)/intervaly;
1801 if(x<xmin||x>xmax||y<ymin||y>ymax){
1802 std::cout<<"warning: the parameter point lies outside the table on interpolate2D"<<std::endl;
1803 return 0.;
1804 }
1805 else{
1806 double x1=arrayTab(i*Nintervalsy+Nintervalsx,0);
1807 double x2=arrayTab(i*Nintervalsy+Nintervalsx+1,0);
1808 double y1=arrayTab(i*Nintervalsy+Nintervalsx,1);
1809 double y2=arrayTab(i*(Nintervalsy+1)+Nintervalsx,1);
1810 return (arrayTab(i*Nintervalsy+Nintervalsx,2) * (x2-x) * (y2-y)
1811 +arrayTab(i*Nintervalsy+Nintervalsx+1,2) * (x-x1) * (y2-y)
1812 +arrayTab(i*(Nintervalsy+1)+Nintervalsx,2) * (x2-x) * (y-y1)
1813 +arrayTab(i*(Nintervalsy+1)+Nintervalsx+1,2) * (x-x1) * (y-y1))
1814 /((x2-x1)*(y2-y1));
1815 }
1816}
1817
1818//2D interpolation with "y" changing first
1819
1820double GeneralTHDMcache::interpolate2Dv2(gslpp::matrix<double> arrayTab, double x, double y){
1821 int rowN = arrayTab.size_i();
1822
1823 double xmin = arrayTab(0,0);
1824 double xmax = arrayTab(rowN-1,0);
1825 double ymin = arrayTab(0,1);
1826 double ymax = arrayTab(rowN-1,1);
1827 double intervaly = arrayTab(1,1) - arrayTab(0,1);
1828 int i = 1;
1829 do i++;
1830 while (arrayTab(i,0) - arrayTab(i-1,0) == 0 && i < 30000);
1831 double intervalx = arrayTab(i,0) - arrayTab(i-1,0);
1832
1833 int Nintervalsy = (y - ymin) / intervaly;
1834 int Nintervalsx = (x - xmin) / intervalx;
1835 if (x < xmin || x > xmax || y < ymin || y > ymax) {
1836 std::cout << "Warning: the parameter point lies outside the table on interpolate2Dv2" << std::endl;
1837 return 0.;
1838 } else {
1839
1840 double x1 = arrayTab(Nintervalsy + Nintervalsx*i, 0);
1841 double x2 = arrayTab(Nintervalsy + (Nintervalsx+1)*i, 0);
1842 double y1 = arrayTab(Nintervalsy + Nintervalsx*i, 1);
1843 double y2 = arrayTab(Nintervalsy + 1 + Nintervalsx*i, 1);
1844
1845 return ((arrayTab(Nintervalsy + Nintervalsx*i, 2) * (x2 - x) * (y2 - y)
1846 + arrayTab(Nintervalsy + (Nintervalsx + 1)*i, 2) * (x - x1) * (y2 - y)
1847 + arrayTab(Nintervalsy + 1 + Nintervalsx*i, 2) * (x2 - x) * (y - y1)
1848 + arrayTab((Nintervalsy + 1) + (Nintervalsx + 1)*i, 2) * (x - x1) * (y - y1))
1849 / ((x2 - x1) * (y2 - y1)));
1850
1851
1852 }
1853}
1854
1855//2D interpolation change starts in y axis and triangular data
1856
1857double GeneralTHDMcache::interpolate2DtriangularData(gslpp::matrix<double> arrayTab, double x, double y){
1858
1859 int rowN=arrayTab.size_i();
1860
1861 double xmin = arrayTab(0,0);
1862 double xmax = arrayTab(rowN-1,0);
1863 double ymin = arrayTab(0,1);
1864 double ymax = arrayTab(rowN-1,1);
1865 double intervaly = arrayTab(1,1)-arrayTab(0,1);
1866 int i=1;
1867 do i++;
1868 while(arrayTab(i,0)-arrayTab(i-1,0)==0&&i<30000);
1869 double intervalx = arrayTab(i,0)-arrayTab(i-1,0);
1870 int Nintervalsx = (x-xmin)/intervalx;
1871 int Nintervalsy = (y-ymin)/intervaly;
1872 if(x<xmin||x>xmax||y<ymin||y>ymax){
1873 std::cout<<"warning: the parameter point lies outside the table on interpolate2DtriangularData"<<std::endl;
1874 return 0.;
1875 }
1876 else{
1877
1878 int Nx1y1=i*Nintervalsx-(Nintervalsx*(Nintervalsx+1)/2) +Nintervalsy;
1879 int Nx1y2=i*Nintervalsx-(Nintervalsx*(Nintervalsx+1)/2) +Nintervalsy+1;
1880 int Nx2y1=i*(Nintervalsx+1)-((Nintervalsx+1)*((Nintervalsx+1)+1)/2) +Nintervalsy;
1881 int Nx2y2=i*(Nintervalsx+1)-((Nintervalsx+1)*((Nintervalsx+1)+1)/2) +Nintervalsy+1;
1882
1883
1884 //std::cout<<" "<<std::endl;
1885 //std::cout<<" intervalx= "<<intervalx<<std::endl;
1886 //std::cout<<" intervaly= "<<intervaly<<std::endl;
1887 //std::cout<<" Nintervalsx= "<<Nintervalsx<<std::endl;
1888 //std::cout<<" Nintervalsy= "<<Nintervalsy<<std::endl;
1889
1890 //std::cout<<" xmin= "<<xmin<<std::endl;
1891 //std::cout<<" xmax= "<<xmax<<std::endl;
1892 //std::cout<<" ymin= "<<ymin<<std::endl;
1893 //std::cout<<" ymax= "<<ymax<<std::endl;
1894 //std::cout<<" x= "<<x<<std::endl;
1895 //std::cout<<" y= "<<y<<std::endl;
1896 //std::cout<<"i*Nintervalsx+Nintervalsy ="<< i*Nintervalsx+Nintervalsy<<std::endl;
1897 //std::cout<<"i*Nintervalsx+Nintervalsy+1 ="<< i*Nintervalsx+Nintervalsy+1<<std::endl;
1898 //std::cout<<"i*Nintervalsx+Nintervalsy ="<< i*Nintervalsx+Nintervalsy<<std::endl;
1899 //std::cout<<"i*(Nintervalsx+1)+Nintervalsy ="<< i*(Nintervalsx+1)+Nintervalsy<<std::endl;
1900
1901 //std::cout<<"y1(Nx1y1) = "<< arrayTab(Nx1y1,1)<<std::endl;
1902 //std::cout<<"y1(Nx2y1) = "<< arrayTab(Nx2y1,1)<<std::endl;
1903 //std::cout<<"y2(Nx1y2) = "<< arrayTab(Nx1y2,1)<<std::endl;
1904 //std::cout<<"y2(Nx2y2) = "<< arrayTab(Nx2y2,1)<<std::endl;
1905
1906
1907 //std::cout<<"x1(Nx1y1) = "<< arrayTab(Nx1y1,0)<<std::endl;
1908 //std::cout<<"x1(Nx1y2) = "<< arrayTab(Nx1y2,0)<<std::endl;
1909 //std::cout<<"x2(Nx2y1) = "<< arrayTab(Nx2y1,0)<<std::endl;
1910 //std::cout<<"x2(Nx2y2) = "<< arrayTab(Nx2y2,0)<<std::endl;
1911 //std::cout<<"Nx1y1 = "<< Nx1y1 <<std::endl;
1912 //std::cout<<"Nx1y2 = "<< Nx1y2 <<std::endl;
1913 //std::cout<<"Nx2y1 = "<< Nx2y1 <<std::endl;
1914 //std::cout<<"Nx2y2 = "<< Nx2y2 <<std::endl;
1915
1916 double y1 = arrayTab(Nx1y1,1);
1917 double y2 = arrayTab(Nx1y2,1);
1918 double x1 = arrayTab(Nx1y1,0);
1919 double x2 = arrayTab(Nx2y1,0);
1920
1921
1922 return (arrayTab(Nx2y2,2) * (y2-y) * (x2-x)
1923 +arrayTab(Nx2y1,2) * (y-y1) * (x2-x)
1924 +arrayTab(Nx1y2,2) * (y2-y) * (x-x1)
1925 +arrayTab(Nx1y1,2) * (y-y1) * (x-x1))
1926 /((x2-x1)*(y2-y1));
1927 }
1928}
1929
1930//2D interpolation with fixed steps
1931
1932double GeneralTHDMcache::interpolate2Dsteps(gslpp::matrix<double> arrayTab, double x, double y, double dx, double dy)
1933{
1934 unsigned int interpol, Npoints, Nbreak;
1935 std::vector<double> row, aux;
1936 double xdx = x / dx;
1937 double ydy = y / dy;
1938
1939 if(xdx - ((int) xdx) == 0. && ydy - ((int) ydy) == 0.){
1940 interpol = 0;
1941 Npoints = 1;
1942 }
1943 else if(xdx - ((int) xdx) == 0.){
1944 interpol = 1;
1945 Npoints = 2;
1946 }
1947 else if(ydy - ((int) ydy) == 0.){
1948 interpol = 2;
1949 Npoints = 2;
1950 }
1951 else {
1952 interpol = 3;
1953 Npoints = 4;
1954 }
1955
1956 Nbreak = 0;
1957
1958 for(unsigned int i = 0; Nbreak < Npoints; i++)
1959 {
1960 if(i == arrayTab.size_i())
1961 break;
1962
1963 if(std::fabs(x-arrayTab(i,0)) < dx && std::fabs(y-arrayTab(i,1)) < dy)
1964 {
1965 row.push_back(i);
1966 Nbreak = Nbreak + 1;
1967 }
1968 }
1969
1970 if(row.size() == 3)
1971 interpol = 4;
1972
1973 if(row.size() == 2)
1974 interpol = 5;
1975
1976 switch(interpol)
1977 {
1978 case 0:
1979 return (arrayTab(row[0],2));
1980 case 1:
1981 return (arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1982 case 2:
1983 return (arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (x-arrayTab(row[0],0)) / dx);
1984 case 3:
1985 aux.push_back(arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1986 aux.push_back(arrayTab(row[2],2) + (arrayTab(row[3],2)-arrayTab(row[2],2)) * (y-arrayTab(row[2],1)) / dy);
1987 return (aux[0] + (aux[1]-aux[0]) * (x-arrayTab(row[0],0)) / dx);
1988 case 4:
1989 aux.push_back(arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1990 aux.push_back(arrayTab(row[1],2) + (arrayTab(row[2],2)-arrayTab(row[1],2)) * (y-arrayTab(row[0],1)) / dy);
1991 return (aux[0] + (aux[1]-aux[0]) * (x-arrayTab(row[0],0)) / dx);
1992 case 5:
1993 return (arrayTab(row[0],2) + arrayTab(row[1],2)) / 2.;
1994 default:
1995 throw std::runtime_error("Review applicability of the mass ranges provided to GeneralTHDMcache::interpolate2Dsteps");
1996 }
1997}
1998
1999
2000
2001
2002
2003
2005 std::stringstream br1,br2,br3,br4,br5,br6,br7;
2006 std::stringstream dw1;
2007 std::stringstream cs1,cs2,cs3,cs4,cs5,cs6,cs7,cs8,cs9;
2008 std::stringstream cs11,cs12,cs13,cs14,cs15,cs16,cs17,cs18,cs19;
2009 std::stringstream cs20,cs21;
2010 std::stringstream csr1,csr2,csr3,csr4;
2011 std::stringstream csr11,csr12,csr13,csr14;
2012 std::stringstream ex1m6,ex1m5,ex1m4,ex1m3,ex1m2,ex1m1;
2013 std::stringstream ex1,ex2,ex3,ex4,ex5,ex6,ex7,ex8,ex9,ex10,ex11,ex12,ex13,ex14,ex15,ex16,ex17,ex18,ex19,ex20,ex21,ex22,ex23;
2014 std::stringstream ex24,ex25,ex26,ex27,ex28m1,ex28,ex29,ex30,ex31,ex32,ex33,ex34,ex35,ex36,ex37,ex38,ex39m4,ex39m3,ex39m2,ex39m1,ex39,ex40,ex41,ex42,ex43,ex43p1,ex43p2,ex44,\
2015 ex45,ex46n1,ex46n2,ex46a,ex47,ex48,ex49,ex49p2,ex50a,ex50b,ex51,ex52m2,ex52m1,ex52,ex52p1,ex52p2,ex53,ex54,ex55,ex56;
2016 std::stringstream ex57,ex58,ex59,ex60,ex61,ex62,ex63,ex64,ex65,ex66,ex67,ex67p1,ex67p2,ex67p3,ex67p4,ex67p5,ex67p6,ex68,ex69,ex70,ex71,ex72,ex73,ex74,ex75,ex76,ex77,\
2017 ex78,ex79;//,ex80,ex81,ex82,ex83,ex84,ex85,ex86,ex87,ex88,ex89,ex90,ex91,ex92,ex93,ex94,ex95,ex96,ex97,ex98
2018 std::stringstream lowC01,lowC02,lowC03,lowC04,lowC05,lowC06,lowC07,lowC08, lowC09, lowC10, lowC11, lowC12;
2019 std::stringstream lowA01, lowA02, lowA03, lowA04, lowA05, lowA06, lowA07, lowA08, lowA09, lowA10, lowA11, lowA12;
2020 std::stringstream lowA801, lowA802;
2021 std::stringstream lowC801, lowC802, lowC803, lowC804, lowC805, lowC806;
2022 std::stringstream low209a, low209b, low209c, low209d, low209e;
2023 std::stringstream lowHpC801, lowHpC802, lowHpC803, lowHpC1301, lowHpC1302;
2024 std::stringstream lowHpA801, lowHpA1301, lowHpA1302, lowHpA1303;
2025 std::stringstream lowHp209a, lowHp209b, lowHp209c, lowHp172a, lowHp209d, lowHp209e;
2026 std::stringstream thint01, thint02, thint03, thint04, thint05, thint06, thint07, thint08, thint09, thint10;
2027 std::stringstream csrslepLO, csrslepNLO, susyHpA01, susyHpA02, susyHpC01, susyHpC02;
2028 std::stringstream bsg1;
2029
2030 std::cout<<"reading tables"<<std::endl;
2031
2032// std::cout << "HEPFITTABS = " << getenv("HEPFITPATH") << std::endl;
2033 std::stringstream path;
2034 path << getenv("HEPFITTABS") << "/THDM/tabs/";
2035 std::string tablepath=path.str();
2036
2037 br1 << tablepath << "br1.dat";
2038 br_tt = readTable(br1.str(),19981,2);
2039 br2 << tablepath << "br2.dat";
2040 br_bb = readTable(br2.str(),19981,2);
2041 br3 << tablepath << "br3.dat";
2042 br_tautau = readTable(br3.str(),19981,2);
2043 br4 << tablepath << "br4.dat";
2044 br_cc = readTable(br4.str(),19981,2);
2045 br5 << tablepath << "br5.dat";
2046 br_mumu = readTable(br5.str(),19981,2);
2047 br6 << tablepath << "br6.dat";
2048 br_ZZ = readTable(br6.str(),19981,2);
2049 br7 << tablepath << "br7.dat";
2050 br_WW = readTable(br7.str(),19981,2);
2051 dw1 << tablepath << "dw1.dat";
2052 GammaHtot_SM = readTable(dw1.str(),19981,2);
2053 cs1 << tablepath << "log_cs_ggH_8.dat";
2054 log_cs_ggH_8 = readTable(cs1.str(),200,2);
2055 cs11 << tablepath << "log_cs_ggH_13.dat";
2056 log_cs_ggH_13 = readTable(cs11.str(),200,2);
2057 cs2 << tablepath << "log_cs_VBF_8.dat";
2058 log_cs_VBF_8 = readTable(cs2.str(),200,2);
2059 cs12 << tablepath << "log_cs_VBF_13.dat";
2060 log_cs_VBF_13 = readTable(cs12.str(),200,2);
2061 cs3 << tablepath << "log_cs_WH_8.dat";
2062 log_cs_WH_8 = readTable(cs3.str(),200,2);
2063 cs13 << tablepath << "log_cs_WH_13.dat";
2064 log_cs_WH_13 = readTable(cs13.str(),200,2);
2065 cs4 << tablepath << "log_cs_ZH_8.dat";
2066 log_cs_ZH_8 = readTable(cs4.str(),200,2);
2067 cs14 << tablepath << "log_cs_ZH_13.dat";
2068 log_cs_ZH_13 = readTable(cs14.str(),200,2);
2069 cs5 << tablepath << "log_cs_ttH_8.dat";
2070 log_cs_ttH_8 = readTable(cs5.str(),200,2);
2071 cs15 << tablepath << "log_cs_ttH_13.dat";
2072 log_cs_ttH_13 = readTable(cs15.str(),200,2);
2073 cs6 << tablepath << "log_cs_bbH_8.dat";
2074 log_cs_bbH_8 = readTable(cs6.str(),200,2);
2075 cs16 << tablepath << "log_cs_bbH_13.dat";
2076 log_cs_bbH_13 = readTable(cs16.str(),200,2);
2077 cs7 << tablepath << "log_cs_ggA_8.dat";
2078 log_cs_ggA_8 = readTable(cs7.str(),200,2);
2079 cs17 << tablepath << "log_cs_ggA_13.dat";
2080 log_cs_ggA_13 = readTable(cs17.str(),200,2);
2081 cs8 << tablepath << "log_cs_ttA_8.dat";
2082 log_cs_ttA_8 = readTable(cs8.str(),200,2);
2083 cs18 << tablepath << "log_cs_ttA_13.dat";
2084 log_cs_ttA_13 = readTable(cs18.str(),200,2);
2085 cs9 << tablepath << "log_cs_bbA_8.dat";
2086 log_cs_bbA_8 = readTable(cs9.str(),200,2);
2087 cs19 << tablepath << "log_cs_bbA_13.dat";
2088 log_cs_bbA_13 = readTable(cs19.str(),200,2);
2089 cs20 << tablepath << "log_cs_ggHp_8.dat";
2090 log_cs_ggHp_8 = readTable(cs20.str(),744,3);
2091 cs21 << tablepath << "log_cs_ggHp_13.dat";
2092 log_cs_ggHp_13 = readTable(cs21.str(),1104,3);
2093 csr1 << tablepath << "csrH_top_charm_8.dat";
2094 csrH_top_charm_8 = readTable(csr1.str(),200,2);
2095 csr11 << tablepath << "csrH_top_charm_13.dat";
2096 csrH_top_charm_13 = readTable(csr11.str(),200,2);
2097 csr2 << tablepath << "csrH_bottom_8.dat";
2098 csrH_bottom_8 = readTable(csr2.str(),200,2);
2099 csr12 << tablepath << "csrH_bottom_13.dat";
2100 csrH_bottom_13 = readTable(csr12.str(),200,2);
2101 csr3 << tablepath << "csrA_top_charm_8.dat";
2102 csrA_top_charm_8 = readTable(csr3.str(),200,2);
2103 csr13 << tablepath << "csrA_top_charm_13.dat";
2104 csrA_top_charm_13 = readTable(csr13.str(),200,2);
2105 csr4 << tablepath << "csrA_bottom_8.dat";
2106 csrA_bottom_8 = readTable(csr4.str(),200,2);
2107 csr14 << tablepath << "csrA_bottom_13.dat";
2108 csrA_bottom_13 = readTable(csr14.str(),200,2);
2109 csrslepLO << tablepath << "csrHpHm_pp_slepton_13_LO.dat";
2110 csrHpHm_pp_13_LO = readTable(csrslepLO.str(),12,2);
2111 csrslepNLO << tablepath << "csrHpHm_pp_slepton_13_NLONLL.dat";
2112 csrHpHm_pp_13_NLO = readTable(csrslepNLO.str(),31,2);
2113
2114
2115 ex1m6<< tablepath << "150801437_9b.dat"; //Included in mid 2022
2116 CMS8_gg_phi_mumu = readTable(ex1m6.str(),78,2); //Included in mid 2022
2117 ex1m5<< tablepath << "150801437_9a.dat"; //Included in mid 2022
2118 CMS8_bb_phi_mumu = readTable(ex1m5.str(),78,2); //Included in mid 2022
2119 ex1m4<< tablepath << "190703152_6b.dat"; //Included in mid 2022
2120 CMS13_gg_phi_mumu = readTable(ex1m4.str(),175,2); //Included in mid 2022
2121 ex1m3<< tablepath << "190703152_6a.dat"; //Included in mid 2022
2122 CMS13_bb_phi_mumu = readTable(ex1m3.str(),175,2); //Included in mid 2022
2123 ex1m2<< tablepath << "190108144_4b.dat"; //Included in mid 2022
2124 ATLAS13_gg_phi_mumu = readTable(ex1m2.str(),81,2); //Included in mid 2022
2125 ex1m1<< tablepath << "190108144_4a.dat"; //Included in mid 2022
2126 ATLAS13_bb_phi_mumu = readTable(ex1m1.str(),81,2); //Included in mid 2022
2127
2128
2129
2130
2131
2132 ex1 << tablepath << "14096064_a.dat";
2133 ATLAS8_gg_phi_tautau = readTable(ex1.str(),92,2);
2134 ex2 << tablepath << "14096064_b.dat";
2135 ATLAS8_bb_phi_tautau = readTable(ex2.str(),92,2);
2136 ex3 << tablepath << "14076583.dat";
2137 ATLAS8_gg_phi_gaga = readTable(ex3.str(),108,2);
2138 ex4 << tablepath << "14078150.dat";
2139 ATLAS8_pp_phi_Zga_llga = readTable(ex4.str(),141,2);
2140 ex5 << tablepath << "150705930_a.dat";
2141 ATLAS8_gg_phi_ZZ = readTable(ex5.str(),173,2);
2142 ex6 << tablepath << "150705930_b.dat";
2143 ATLAS8_VV_phi_ZZ = readTable(ex6.str(),173,2);
2144 ex7 << tablepath << "150900389_a.dat";
2145 ATLAS8_gg_phi_WW = readTable(ex7.str(),13,2);
2146 ex8 << tablepath << "150900389_b.dat";
2147 ATLAS8_VV_phi_WW = readTable(ex8.str(),13,2);
2148 ex9 << tablepath << "150904670.dat";
2149 ATLAS8_gg_phi_phi1phi1 = readTable(ex9.str(),75,2);
2150 ex10 << tablepath << "150204478_b.dat";
2151 ATLAS8_gg_phi_phi1Z_bbZ = readTable(ex10.str(),79,2);
2152 ex11 << tablepath << "150204478_a.dat";
2153 ATLAS8_gg_phi_phi1Z_tautauZ = readTable(ex11.str(),79,2);
2154 ex12 << tablepath << "150400936.dat";
2155 CMS8_pp_phi_VV = readTable(ex12.str(),172,2);
2156 ex13 << tablepath << "150608329.dat";
2157 CMS8_bb_phi_bb = readTable(ex13.str(),81,2);
2158 ex14 << tablepath << "180206149.dat";
2159 CMS8_gg_phi_bb = readTable(ex14.str(),88,2);
2160 ex15 << tablepath << "CMS-PAS-HIG-14-029_a.dat";
2161 CMS8_gg_phi_tautau = readTable(ex15.str(),92,2);
2162 ex16 << tablepath << "CMS-PAS-HIG-14-029_b.dat";
2163 CMS8_bb_phi_tautau = readTable(ex16.str(),92,2);
2164 ex17 << tablepath << "CMS-PAS-HIG-16-014.dat";
2165 CMS8_pp_phi_Zga_llga = readTable(ex17.str(),101,2);
2166 ex18 << tablepath << "150304114.dat";
2167 CMS8_pp_phi_phi1phi1_bbbb = readTable(ex18.str(),167,2);
2168 ex19 << tablepath << "160306896.dat";
2169 CMS8_pp_phi_phi1phi1_bbgaga = readTable(ex19.str(),85,2);
2170 ex20 << tablepath << "151001181_a.dat";
2171 CMS8_gg_phi_phi1phi1_bbtautau = readTable(ex20.str(),10,2);
2172 ex21 << tablepath << "170700350.dat";
2173 CMS8_pp_phi_phi1phi1_bbtautau = readTable(ex21.str(),71,2);
2174 ex22 << tablepath << "150404710.dat";
2175 CMS8_gg_phi_phi1Z_bbll = readTable(ex22.str(),16,2);
2176 ex23 << tablepath << "151001181_b.dat";
2177 CMS8_gg_phi_phi1Z_tautaull = readTable(ex23.str(),14,2);
2178
2179 ex24 << tablepath << "160302991_a.dat";
2180 CMS8_pp_phii_phijZ_bbll_1 = readTable(ex24.str(),28718,3);
2181 ex25 << tablepath << "160302991_b.dat";
2182 CMS8_pp_phii_phijZ_bbll_2 = readTable(ex25.str(),29050,3);
2183 ex26 << tablepath << "160302991_c.dat";
2184 CMS8_pp_phii_phijZ_tautaull_1 = readTable(ex26.str(),400,3);
2185 ex27 << tablepath << "160302991_d.dat";
2186 CMS8_pp_phii_phijZ_tautaull_2 = readTable(ex27.str(),400,3);
2187
2188
2189
2190 ex28m1 << tablepath << "190702749.dat"; //Included in mid 2022
2191 ATLAS13_bb_phi_bb = readTable(ex28m1.str(),96,2); //Included in mid 2022
2192 //ex28 << tablepath << "180711883.dat"; //OLD previous to mid 2022
2193 //ATLAS13_tt_phi_tt = readTable(ex28.str(),61,2); //OLD previous to mid 2022
2194 ex28 << tablepath << "ATLAS_CONF_2022_008.dat"; //Updated in mid 2022
2195 ATLAS13_tt_phi_tt = readTable(ex28.str(),13,2); //Updated in mid 2022
2196 ex29 << tablepath << "ATLAS-CONF-2016-104_b.dat";
2197 ATLAS13_bb_phi_tt = readTable(ex29.str(),61,2);
2198
2199
2200
2201 //ex30 << tablepath << "170907242_a.dat"; //OLD previous to mid 2022
2202 //ATLAS13_gg_phi_tautau = readTable(ex30.str(),206,2); //OLD previous to mid 2022
2203 //ex31 << tablepath << "170907242_b.dat"; //OLD previous to mid 2022
2204 //ATLAS13_bb_phi_tautau = readTable(ex31.str(),206,2); //OLD previous to mid 2022
2205
2206
2207
2208 ex30 << tablepath << "200212223_2a.dat"; //Updated in mid 2022
2209 ATLAS13_gg_phi_tautau = readTable(ex30.str(),47,2); //Updated in mid 2022
2210 ex31 << tablepath << "200212223_2b.dat"; //Updated in mid 2022
2211 ATLAS13_bb_phi_tautau = readTable(ex31.str(),47,2); //Updated in mid 2022
2212
2213
2214
2215 //ex32 << tablepath << "170704147.dat"; //OLD previous to mid 2022
2216 //ATLAS13_pp_phi_gaga = readTable(ex32.str(),251,2); //OLD previous to mid 2022
2217 ex32 << tablepath << "210213405.dat"; //Updated in mid 2022
2218 ATLAS13_pp_phi_gaga = readTable(ex32.str(),285,2); //Updated in mid 2022
2219
2220
2221
2222 //ex33 << tablepath << "170800212.dat"; //OLD previous to mid 2024
2223 //ATLAS13_gg_phi_Zga_llga = readTable(ex33.str(),216,2); //OLD previous to mid 2024
2224 ex33 << tablepath << "230904364.dat"; //Updated in mid 2024
2225 ATLAS13_gg_phi_Zga_llga = readTable(ex33.str(),1590,2); //Updated in mid 2024
2226
2227
2228
2229
2230 //ex34 << tablepath << "180501908.dat"; //OLD previous to mid 2024
2231 //ATLAS13_gg_phi_Zga_qqga = readTable(ex34.str(),581,2); //OLD previous to mid 2024
2232 ex34 << tablepath << "230411962.dat"; //Updated in mid 2024
2233 ATLAS13_gg_phi_Zga_qqga = readTable(ex34.str(),291,2); //Updated in mid 2024
2234
2235 //ex35 << tablepath << "171206386_a.dat"; //OLD previous to mid 2022
2236 //ATLAS13_gg_phi_ZZ_llllnunu = readTable(ex35.str(),101,2); //OLD previous to mid 2022
2237 //ex36 << tablepath << "171206386_b.dat"; //OLD previous to mid 2022
2238 //ATLAS13_VV_phi_ZZ_llllnunu = readTable(ex36.str(),101,2); //OLD previous to mid 2022
2239
2240
2241 ex35 << tablepath << "200914791_4a.dat"; //Updated in mid 2022
2242 ATLAS13_gg_phi_ZZ_llllnunu = readTable(ex35.str(),359,2); //Updated in mid 2022
2243 ex36 << tablepath << "200914791_4b.dat"; //Updated in mid 2022
2244 ATLAS13_VV_phi_ZZ_llllnunu = readTable(ex36.str(),359,2); //Updated in mid 2022
2245
2246
2247
2248 ex37 << tablepath << "170809638_a.dat";
2249 ATLAS13_gg_phi_ZZ_qqllnunu = readTable(ex37.str(),271,2);
2250 ex38 << tablepath << "170809638_b.dat";
2251 ATLAS13_VV_phi_ZZ_qqllnunu = readTable(ex38.str(),271,2);
2252
2253
2254 ex39m4 << tablepath << "210906055_7a.dat"; //Included in mid 2022
2255 CMS13_gg_phi_WW_heavy = readTable(ex39m4.str(),71,2); //Included in mid 2022
2256 ex39m3 << tablepath << "210906055_7b.dat"; //Included in mid 2022
2257 CMS13_VV_phi_WW_heavy = readTable(ex39m3.str(),71,2); //Included in mid 2022
2258
2259
2260 ex39m2 << tablepath << "191201594_6c.dat"; //Included in mid 2022
2261 CMS13_gg_phi_WW = readTable(ex39m2.str(),281,2); //Included in mid 2022
2262 ex39m1 << tablepath << "191201594_6d.dat"; //Included in mid 2022
2263 CMS13_VV_phi_WW = readTable(ex39m1.str(),561,2); //Included in mid 2022
2264
2265
2266 //ex39 << tablepath << "171001123_a.dat"; //OLD previous to mid 2024
2267 //ATLAS13_gg_phi_WW_enumunu = readTable(ex39.str(),381,2); //OLD previous to mid 2024
2268 //ex40 << tablepath << "171001123_b.dat"; //OLD previous to mid 2024
2269 //ATLAS13_VV_phi_WW_enumunu = readTable(ex40.str(),281,2); //OLD previous to mid 2024
2270
2271 ex39 << tablepath << "ATLAS_CONF_2022_066_ggF.dat"; //Updated in mid 2024
2272 ATLAS13_gg_phi_WW_enumunu = readTable(ex39.str(),72,2); //Updated in mid 2024
2273 ex40 << tablepath << "ATLAS_CONF_2022_066_VBF.dat"; //Updated in mid 2024
2274 ATLAS13_VV_phi_WW_enumunu = readTable(ex40.str(),72,2); //Updated in mid 2024
2275
2276
2277
2278 ex41 << tablepath << "171007235_a.dat";
2279 ATLAS13_gg_phi_WW_lnuqq = readTable(ex41.str(),271,2);
2280 ex42 << tablepath << "171007235_b.dat";
2281 ATLAS13_VV_phi_WW_lnuqq = readTable(ex42.str(),271,2);
2282 ex43 << tablepath << "170804445.dat";
2283 ATLAS13_pp_phi_VV_qqqq = readTable(ex43.str(),181,2);
2284
2285
2286 ex43p1 << tablepath << "200414636_12a.dat";
2287 ATLAS13_gg_phi_VV_llqq = readTable(ex43p1.str(),95,2);
2288 ex43p2 << tablepath << "200414636_12b.dat";
2289 ATLAS13_VV_phi_VV_llqq = readTable(ex43p2.str(),95,2);
2290
2291 //ex44 << tablepath << "180406174.dat"; //OLD previous mid 2022
2292 //ATLAS13_pp_phi_phi1phi1_bbbb = readTable(ex44.str(),275,2); //OLD previous mid 2022
2293 ex44 << tablepath << "220207288.dat"; //Updated in mid 2022
2294 ATLAS13_pp_phi_phi1phi1_bbbb = readTable(ex44.str(),476,2); //Updated in mid 2022
2295 //ex45 << tablepath << "180704873.dat"; //OLD previous mid 2022
2296 //ATLAS13_pp_phi_phi1phi1_bbgaga = readTable(ex45.str(),75,2); //OLD previous mid 2022
2297 ex45 << tablepath << "211211876.dat"; //Updated in mid 2022
2298 ATLAS13_pp_phi_phi1phi1_bbgaga = readTable(ex45.str(),76,2); //Updated in mid 2022
2299 //ex46 << tablepath << "180800336.dat"; //OLD previous mid 2022
2300 //ATLAS13_pp_phi_phi1phi1_bbtautau = readTable(ex46.str(),75,2);//OLD previous mid 2022
2301 ex46n1 << tablepath << "ATLAS-CONF-2021-030.dat"; //Updated in mid 2022
2302 ATLAS13_pp_phi_phi1phi1_bbtautau_1 = readTable(ex46n1.str(),136,2); //Updated in mid 2022
2303 ex46n2 << tablepath << "200714811.dat"; //Updated in mid 2022
2304 ATLAS13_pp_phi_phi1phi1_bbtautau_2 = readTable(ex46n2.str(),41,2); //Updated in mid 2022
2305 ex46a << tablepath << "181104671.dat";
2306 ATLAS13_pp_phi_phi1phi1_bbWW = readTable(ex46a.str(),51,2);
2307 ex47 << tablepath << "180708567.dat";
2308 ATLAS13_gg_phi_phi1phi1_gagaWW = readTable(ex47.str(),25,2);
2309 //ex48 << tablepath << "171206518_a.dat"; //Superseded
2310 //ATLAS13_gg_phi_phi1Z_bbZ = readTable(ex48.str(),181,2); //Superseded
2311 //ex49 << tablepath << "171206518_b.dat"; //Superseded
2312 //ATLAS13_bb_phi_phi1Z_bbZ = readTable(ex49.str(),181,2); //Superseded
2313 ex48 << tablepath << "220700230_ggF.dat"; //Updated in mid 2024
2314 ATLAS13_gg_phi_phi1Z_bbZ = readTable(ex48.str(),45,2); //Updated in mid 2024
2315 ex49 << tablepath << "220700230_bb.dat"; //Updated in mid 2024
2316 ATLAS13_bb_phi_phi1Z_bbZ = readTable(ex49.str(),45,2); //Updated in mid 2024
2317
2318 ex49p2 << tablepath << "191011634.dat";
2319 CMS13_gg_phi_phi1Z_tautaull = readTable(ex49p2.str(),19,2);
2320
2321
2322
2323
2324 //ex50 << tablepath << "180401126_a.dat"; //OLD previous mid 2022
2325 //ATLAS13_gg_phii_phijZ_bbZ = readTable(ex50.str(),3364,3); //OLD previous mid 2022
2326 ex50a << tablepath << "201105639_ggF_decay_bb.dat"; //Updated in mid 2022
2327 ATLAS13_gg_phii_phijZ_bbZ = readTable(ex50a.str(),1711,3); //Updated in mid 2022
2328 //ex51 << tablepath << "180401126_b.dat"; //OLD previous mid 2022
2329 //ATLAS13_bb_phii_phijZ_bbZ = readTable(ex51.str(),3364,3); //OLD previous mid 2022
2330 ex51 << tablepath << "201105639_bb_decay_bb.dat"; //Updated in mid 2022
2331 ATLAS13_bb_phii_phijZ_bbZ = readTable(ex51.str(),1711,3); //Updated in mid 2022
2332
2333 ex50b << tablepath << "201105639_ggF_decay_WW.dat"; //Included in mid 2024
2334 ATLAS13_gg_phii_phijZ_WWZ = readTable(ex50b.str(),1326,3); //Included in mid 2024
2335
2336
2337 ex52m2 << tablepath << "190806463_7a.dat"; //Included in mid 2022
2338 CMS13_tt_phi2_tt = readTable(ex52m2.str(),31,2); //Included in mid 2022
2339 ex52m1 << tablepath << "190806463_7b.dat"; //Included in mid 2022
2340 CMS13_tt_phi3_tt = readTable(ex52m1.str(),31,2); //Included in mid 2022
2341
2342
2343 ex52 << tablepath << "CMS-PAS-HIG-16-025.dat";
2344 CMS13_pp_phi_bb = readTable(ex52.str(),66,2);
2345
2346
2347 ex52p1 << tablepath << "181011822_7a.dat"; //Included in mid 2022
2348 CMS13_pp_phi2_bb_light = readTable(ex52p1.str(),61,2); //Included in mid 2022
2349 ex52p2 << tablepath << "181011822_8a.dat"; //Included in mid 2022
2350 CMS13_pp_phi3_bb_light = readTable(ex52p2.str(),61,2); //Included in mid 2022
2351
2352
2353
2354 ex53 << tablepath << "180512191.dat";
2355 CMS13_bb_phi_bb = readTable(ex53.str(),101,2);
2356
2357
2358 //ex54 << tablepath << "180306553_a.dat"; //OLD previous to mid 2022
2359 //CMS13_gg_phi_tautau = readTable(ex54.str(),312,2); //OLD previous to mid 2022
2360 //ex55 << tablepath << "180306553_b.dat"; //OLD previous to mid 2022
2361 //CMS13_bb_phi_tautau = readTable(ex55.str(),312,2); //OLD previous to mid 2022
2362
2363
2364 //CMS_PAS_HIG_21_001_9b
2365 //ex54 << tablepath << "CMS_PAS_HIG_21_001_9a.dat"; //Updated in mid 2022
2366 //CMS13_gg_phi_tautau = readTable(ex54.str(),689,2); //Updated in mid 2022
2367 //ex55 << tablepath << "CMS_PAS_HIG_21_001_9b.dat"; //Updated in mid 2022
2368 //CMS13_bb_phi_tautau = readTable(ex55.str(),689,2); //Updated in mid 2022
2369
2370
2371 ex54 << tablepath << "220802717_ggF.dat"; //Updated in mid 2024
2372 CMS13_gg_phi_tautau = readTable(ex54.str(),172,2); //Updated in mid 2024
2373 ex55 << tablepath << "220802717_bb.dat"; //Updated in mid 2024
2374 CMS13_bb_phi_tautau = readTable(ex55.str(),172,2); //Updated in mid 2024
2375
2376
2377
2378 //ex56 << tablepath << "160902507.dat"; //OLD previous to mid 2022
2379 //CMS13_gg_phi_gaga = readTable(ex56.str(),351,2); //OLD previous to mid 2022
2380
2381
2382 //ex56 << tablepath << "180900327.dat"; //Updated in mid 2022
2383 //CMS13_gg_phi_gaga = readTable(ex56.str(),901,2); //Updated in mid 2022
2384
2385 ex56 << tablepath << "240509320.dat"; //Updated in mid 2024
2386 CMS13_gg_phi_gaga = readTable(ex56.str(),176,2); //Updated in mid 2024
2387
2388
2389 ex57 << tablepath << "171203143.dat";
2390 CMS13_gg_phi_Zga = readTable(ex57.str(),366,2);
2391 ex58 << tablepath << "180401939_a.dat";
2392 CMS13_pp_phi_ZZ_llqqnunull = readTable(ex58.str(),288,2);
2393 ex59 << tablepath << "180303838.dat";
2394 CMS13_pp_phi_ZZ_qqnunu = readTable(ex59.str(),301,2);
2395 ex60 << tablepath << "CMS-PAS-HIG-16-023.dat";
2396 CMS13_ggVV_phi_WW_lnulnu = readTable(ex60.str(),81,2);
2397 ex61 << tablepath << "180209407.dat";
2398 CMS13_pp_phi_WW_lnuqq = readTable(ex61.str(),341,2);
2399 ex62 << tablepath << "180603548.dat";
2400 CMS13_pp_phi_phi1phi1_bbbb_1 = readTable(ex62.str(),95,2);
2401
2402
2403 //ex63 << tablepath << "180801473.dat"; //OLD previous to mid 2022
2404 //CMS13_pp_phi_phi1phi1_bbbb_2 = readTable(ex63.str(),181,2); //OLD previous to mid 2022
2405 ex63 << tablepath << "CMS-PAS-B2G-20-004.dat"; //Updated in mid 2022
2406 CMS13_pp_phi_phi1phi1_bbbb_2 = readTable(ex63.str(),41,2); //Updated in mid 2022
2407
2408 //ex64 << tablepath << "180600408.dat"; //OLD previous to mid 2024
2409 //CMS13_pp_phi_phi1phi1_bbgaga = readTable(ex64.str(),66,2); //OLD previous to mid 2024
2410 ex64 << tablepath << "231001643.dat"; //Updated in mid 2024
2411 CMS13_pp_phi_phi1phi1_bbgaga = readTable(ex64.str(),74,2); //Updated in mid 2024
2412
2413
2414 ex65 << tablepath << "170702909.dat";
2416 ex66 << tablepath << "180801365.dat";
2417 CMS13_pp_phi_phi1phi1_bbtautau_2 = readTable(ex66.str(),311,2);
2418 ex67 << tablepath << "170804188.dat";
2419 CMS13_pp_phi_phi1phi1_bbVV = readTable(ex67.str(),65,2);
2420 ex67p1 << tablepath << "220610268.dat"; //Included in mid 2022
2421 CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau = readTable(ex67p1.str(),76,2); //Included in mid 2022
2422 ex67p2 << tablepath << "190404193.dat"; //Included in mid 2022
2423 CMS13_pp_phi_phi1phi1_bbWW_qqlnu = readTable(ex67p2.str(),55,2); //Included in mid 2022
2424
2425
2426 ex67p3 << tablepath << "200606391_bblljj.dat"; //Included in mid 2022
2427 CMS13_pp_phi_phi1phi1_bbZZ_lljj = readTable(ex67p3.str(),149,2); //Included in mid 2022
2428
2429 ex67p4 << tablepath << "200606391_bbllnunu.dat"; //Included in mid 2022
2430 CMS13_pp_phi_phi1phi1_bbZZ_llnunu = readTable(ex67p4.str(),151,2); //Included in mid 2022
2431
2432
2433 ex67p5 << tablepath << "211203161.dat"; //Included in mid 2022
2434 CMS13_pp_phi_phi1phi1_bbWWorbbtautau = readTable(ex67p5.str(),75,2); //Included in mid 2022
2435
2436
2437 ex67p6 << tablepath << "240309430.dat"; //Included in mid 2024
2438 CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses = readTable(ex67p6.str(),65,2); //Included in mid 2024
2439
2440
2441 ex68 << tablepath << "CMS-PAS-HIG-18-005_a.dat";
2442 CMS13_gg_phi_phi1Z_bbZ_1 = readTable(ex68.str(),79,2);
2443 ex69 << tablepath << "180702826_a.dat";
2444 CMS13_gg_phi_phi1Z_bbZ_2 = readTable(ex69.str(),121,2);
2445 ex70 << tablepath << "CMS-PAS-HIG-18-005_b.dat";
2446 CMS13_bb_phi_phi1Z_bbZ_1 = readTable(ex70.str(),79,2);
2447 ex71 << tablepath << "180702826_b.dat";
2448 CMS13_bb_phi_phi1Z_bbZ_2 = readTable(ex71.str(),121,2);
2449
2450 ex72 << tablepath << "14126663.dat";
2451 ATLAS8_pp_Hpm_taunu = readTable(ex72.str(),83,2);
2452 ex73 << tablepath << "151203704.dat";
2453 ATLAS8_pp_Hpm_tb = readTable(ex73.str(),41,2);
2454 ex74 << tablepath << "150807774_a.dat";
2455 CMS8_pp_Hp_taunu = readTable(ex74.str(),43,2);
2456 ex75 << tablepath << "150807774_b.dat";
2457 CMS8_pp_Hp_tb = readTable(ex75.str(),43,2);
2458 ex76 << tablepath << "180707915.dat";
2459 ATLAS13_pp_Hpm_taunu = readTable(ex76.str(),192,2);
2460 //ex77 << tablepath << "180803599.dat"; //OLD Previous to mid 2022
2461 //ATLAS13_pp_Hpm_tb = readTable(ex77.str(),181,2); //OLD Previous to mid 2022
2462 ex77 << tablepath << "210210076.dat"; //Updated in mid 2022
2463 ATLAS13_pp_Hpm_tb = readTable(ex77.str(),181,2); //Updated in mid 2022
2464 ex78 << tablepath << "200107763.dat"; //Included in mid 2022
2465 CMS13_pp_Hpm_tb = readTable(ex78.str(),281,2); //Included in mid 2022
2466 //ex78 << tablepath << "CMS-PAS-HIG-16-031.dat"; //OLD Previous to mid 2022
2467 //CMS13_pp_Hpm_taunu = readTable(ex78.str(),283,2); //OLD Previous to mid 2022
2468 ex79 << tablepath << "190304560.dat"; //Updated in mid 2022
2469 CMS13_pp_Hpm_taunu = readTable(ex79.str(),585,2); //Updated in mid 2022
2470
2471 lowC01 << tablepath << "CMS-HIG-17-029_4e.dat"; //Added in late 2023
2472 CMS13_pp_h_phi3phi3_mumutautau = readTable(lowC01.str(),48,2);
2473
2474// lowC02 << tablepath << "CMS-HIG-17-024_7d.dat"; //Added in 2024
2475// CMS13_pp_h_phi3phi3_bbtautau = readTable(lowC02.str(),10,2);
2476
2477 lowC02 << tablepath << "CMS-HIG-22-007_11d.dat"; //Added in 2024
2478 CMS13_pp_h_phi3phi3_bbtautau = readTable(lowC02.str(),11,2);
2479
2480// lowC03 << tablepath << "CMS-HIG-18-011_5b.dat"; //Added in 2024
2481// CMS13_pp_h_phi3phi3_bbmumu = readTable(lowC03.str(),86,2);
2482
2483 lowC03 << tablepath << "CMS-HIG-22-007_10.dat"; //Added in 2024
2484 CMS13_pp_h_phi3phi3_bbmumu = readTable(lowC03.str(),95,2);
2485
2486 lowC04 << tablepath << "CMS-HIG-19-007_4a.dat"; //Added in 2024
2487 CMS13_pp_h_phi23Z_mumull = readTable(lowC04.str(),352,2);
2488
2489 lowC05 << tablepath << "CMS-HIG-19-007_5a.dat"; //Added in 2024
2490 CMS13_pp_h_phi23phi23_mumumumu = readTable(lowC05.str(),462,2);
2491
2492 lowC06 << tablepath << "CMS-HIG-21-003_6.dat"; //Added in 2024
2493 CMS13_pp_h_phi3phi3_gagagaga = readTable(lowC06.str(),95,2);
2494
2495 lowC07 << tablepath << "CMS-HIG-18-006_10.dat"; //Added in 2024
2496 CMS13_pp_h_phi3phi3_tautautautau = readTable(lowC07.str(),12,2);
2497
2498 lowC08 << tablepath << "CMS-PAS-HIG-20-002_5b.dat"; //Added in 2024
2499 CMS13_pp_phi2_gaga = readTable(lowC08.str(),81,2);
2500
2501 lowC09 << tablepath << "CMS-HIG-17-014_4.dat"; //Added in 2024
2502 CMS13_pp_bbphi3_bbtautau = readTable(lowC09.str(),10,2);
2503
2504 lowC10 << tablepath << "CMS-EXO-21-018_14d.dat"; //Added in 2024
2505 CMS13_pp_ttphi3_ttmumu = readTable(lowC10.str(),220,2);
2506
2507 lowC11 << tablepath << "CMS-EXO-21-018_14f.dat"; //Added in 2024
2508 CMS13_pp_ttphi3_tttautau = readTable(lowC11.str(),18,2);
2509
2510 lowC12 << tablepath << "CMS-HIG-18-026_3c.dat"; //Added in 2024
2511 CMS13_Vh_h_phi3phi3_bbbb = readTable(lowC12.str(),10,2);
2512
2513 lowA01 << tablepath << "ATLAS_CERN-EP-2021-157_9.dat"; //Added in 2024
2514 ATLAS13_pp_h_phi3phi3_bbmumu = readTable(lowA01.str(),47,2);
2515
2516 lowA02 << tablepath << "ATLAS_CERN-EP-2021-193_14b.dat"; //Added in 2024
2517 ATLAS13_gg_h_phi23phi23_mumumumu = readTable(lowA02.str(),110,2);
2518
2519 lowA03 << tablepath << "ATLAS_CERN-EP-2021-193_17b.dat"; //Added in 2024
2520 ATLAS13_gg_h_phi23Z_mumull = readTable(lowA03.str(),16,2);
2521
2522 lowA04 << tablepath << "ATLAS_CERN-EP-2018-128_9c.dat"; //Added in 2024
2523 ATLAS13_Vh_h_phi23phi23_bbbb = readTable(lowA04.str(),41,2);
2524
2525 lowA05 << tablepath << "ATLAS_CERN-EP-2020-067_10.dat"; //Added in 2024
2526 ATLAS13_Zh_h_phi23phi23_bbbb = readTable(lowA05.str(),7,2);
2527
2528 lowA06 << tablepath << "ATLAS_CERN-EP-2018-153_6a.dat"; //Added in 2024
2529 ATLAS13_pp_h_phi23phi23_bbmumu_old = readTable(lowA06.str(),101,2);
2530
2531 lowA07 << tablepath << "ATLAS_CERN-EP-2017-295_2.dat"; //Added in 2024
2532 ATLAS13_pp_h_phi23phi23_gagagg = readTable(lowA07.str(),13,2);
2533
2534 lowA08 << tablepath << "ATLAS-CONF-2023-035_7b.dat"; //Added in 2024
2535 ATLAS13_pp_phi2_gaga_low = readTable(lowA08.str(),89,2);
2536
2537 lowA09 << tablepath << "ATLAS_CERN-EP-2023-070_5a.dat"; //Added in 2024
2538 ATLAS13_pp_ttphi3_ttmumu = readTable(lowA09.str(),37,2);
2539
2540 lowA10 << tablepath << "ATLAS_CERN-EP-2024-235_7.dat"; //Added in 2024
2541 ATLAS13_gg_phi3_tautau_low = readTable(lowA10.str(),12,2);
2542
2543 lowA11 << tablepath << "ATLAS_CERN-EP-2023-202_5d.dat"; //Added in 2024
2544 ATLAS13_pp_h_phi3phi3_gagagaga = readTable(lowA11.str(),53,2);
2545
2546 lowA12 << tablepath << "ATLAS_CERN-EP-2024-164_10a.dat"; //Added in 2024
2547 ATLAS13_pp_h_phi3phi3_bbtautau = readTable(lowA12.str(),8,2);
2548
2549 lowA801 << tablepath << "ATLAS_CERN-PH-EP-2015-187_4b.dat"; //Added in 2024
2550 ATLAS8_pp_h_phi3phi3_gagagaga = readTable(lowA801.str(),105,2);
2551
2552 lowA802 << tablepath << "ATLAS_CERN-PH-EP-2015-057_6a.dat"; //Added in 2024
2553 ATLAS8_gg_h_phi3phi3_tautautautau = readTable(lowA802.str(),101,2);
2554
2555 lowC801 << tablepath << "CMS-HIG-16-015_4.dat"; //Added in 2024
2556 CMS8_pp_h_phi3phi3_tautautautau = readTable(lowC801.str(),6,2);
2557
2558 lowC802 << tablepath << "CMS-HIG-16-015_5.dat"; //Added in 2024
2559 CMS8_pp_h_phi3phi3_bbmumu = readTable(lowC802.str(),76,2);
2560
2561 lowC803 << tablepath << "CMS-HIG-16-015_6.dat"; //Added in 2024
2562 CMS8_pp_h_phi3phi3_mumutautau = readTable(lowC803.str(),96,2);
2563
2564 lowC804 << tablepath << "CMS-HIG-17-013_4a.dat"; //Added in 2024
2565 CMS8_pp_phi2_gaga = readTable(lowC804.str(),300,2);
2566
2567 lowC805 << tablepath << "CMS-HIG-14-033_3.dat"; //Added in 2024
2568 CMS8_pp_bbphi3_bbtautau = readTable(lowC805.str(),12,2);
2569
2570 lowC806 << tablepath << "CMS-HIG-15-009_5b.dat"; //Added in 2024
2571 CMS8_pp_bbphi3_bbmumu = readTable(lowC806.str(),36,2);
2572
2573 low209a << tablepath << "LEP_LHWG-NOTE-2001-08_4.dat"; //Added in 2024
2574 LEP209_phi2Z_gagaZ = readTable(low209a.str(),49,2);
2575
2576 low209b << tablepath << "LEP_CERN-PH-EP-2006-001_t14b.dat"; //Added in 2024
2577 LEP209_phi2Z_bbZ = readTable(low209b.str(),217,2);
2578
2579 low209c << tablepath << "LEP_CERN-PH-EP-2006-001_t14c.dat"; //Added in 2024
2580 LEP209_phi2Z_tautauZ = readTable(low209c.str(),233,2);
2581
2582 low209d << tablepath << "LEP_CERN-PH-EP-2006-001_t18.dat"; //Added in 2024
2583 LEP209_phiEphi3_bbbb = readTable(low209d.str(),324,3);
2584
2585 low209e << tablepath << "LEP_CERN-PH-EP-2006-001_t19.dat"; //Added in 2024
2586 LEP209_phiEphi3_tautautautau = readTable(low209e.str(),365,3);
2587
2588 lowHpC801 << tablepath << "CMS-HIG-13-035_t4.dat"; //Added in 2024
2589 CMS8_t_Hpb_csb = readTable(lowHpC801.str(),7,2);
2590
2591 lowHpC802 << tablepath << "CMS-HIG-14-023_t10.dat"; //Added in 2024
2592 CMS8_t_Hpb_taunub = readTable(lowHpC802.str(),8,2);
2593
2594 lowHpC803 << tablepath << "CMS-HIG-16-030_3.dat"; //Added in 2024
2595 CMS8_t_Hpb_cbb = readTable(lowHpC803.str(),7,2);
2596
2597 lowHpC1301 << tablepath << "CMS-HIG-18-020_2a.dat"; //Added in 2024
2598 CMS13_t_Hpb_WAb_Wmumub = readTable(lowHpC1301.str(),95,2);
2599
2600 lowHpC1302 << tablepath << "CMS-HIG-18-021_4c.dat"; //Added in 2024
2601 CMS13_t_Hpb_csb = readTable(lowHpC1302.str(),8,2);
2602
2603 lowHpA801 << tablepath << "ATLAS_CERN-PH-EP-2014-274_7a.dat"; //Added in 2024
2604 ATLAS8_t_Hpb_taunub = readTable(lowHpA801.str(),9,2);
2605
2606 lowHpA1301 << tablepath << "ATLAS_CERN-EP-2022-207_8.dat"; //Added in 2024
2607 ATLAS13_t_Hpb_cbb = readTable(lowHpA1301.str(),11,2);
2608
2609 lowHpA1302 << tablepath << "ATLAS_CERN-EP-2023-070_5b.dat"; //Added in 2024
2610 ATLAS13_t_Hpb_WAb_Wmumub = readTable(lowHpA1302.str(),31,2);
2611
2612 lowHpA1303 << tablepath << "ATLAS_CERN-EP-2024-185_6.dat"; //Added in 2024
2613 ATLAS13_t_Hpb_csb = readTable(lowHpA1303.str(),12,2);
2614
2615 lowHp209a << tablepath << "LEP_CERN-PH-EP-2012-369_4a.dat"; //Added in 2024
2616 LEP209_HpHm_taunutaunu = readTable(lowHp209a.str(),105,2);
2617
2618 lowHp209b << tablepath << "LEP_CERN-PH-EP-2012-369_4d.dat"; //Added in 2024
2619 LEP209_HpHm_qqqq = readTable(lowHp209b.str(),105,2);
2620
2621 lowHp209c << tablepath << "LEP_CERN-PH-EP-2008-016_7b.dat"; //Added in 2024
2622 OPAL209_HpHm_qqtaunu = readTable(lowHp209c.str(),87,2);
2623
2624 lowHp172a << tablepath << "LEP_CERN-PPE-97-168_3b_tnqq.dat"; //Added in 2024
2625 OPAL172_HpHm_qqtaunu = readTable(lowHp172a.str(),41,2);
2626
2627 lowHp209d << tablepath << "LEP_CERN-PH-EP-2008-016_10a.dat"; //Added in 2024
2628 OPAL209_HpHm_AWstAWst_bbbb = readTable(lowHp209d.str(),2835,3);
2629
2630 lowHp209e << tablepath << "LEP_CERN-PH-EP-2008-016_10b.dat"; //Added in 2024
2631 OPAL209_HpHm_taunuAWst_taunubb = readTable(lowHp209e.str(),2835,3);
2632
2633 susyHpA01 << tablepath << "ATLAS_CERN-EP-2019-191_7b.dat"; //Added in 2024
2634 ATLAS13_pp_HpHm_taunutaunu = readTable(susyHpA01.str(),19,2);
2635
2636 susyHpA02 << tablepath << "ATLAS_CERN-EP-2022-132_6a.dat"; //Added in 2024
2637 ATLAS13_pp_HpHm_munumunu = readTable(susyHpA02.str(),11,2);
2638
2639 susyHpC01 << tablepath << "CMS-SUS-21-001_5a.dat"; //Added in 2024
2640 CMS13_pp_HpHm_taunutaunu = readTable(susyHpC01.str(),16,2);
2641
2642 susyHpC02 << tablepath << "CMS-SUS-21-008_16a.dat"; //Added in 2024
2643 CMS13_pp_HpHm_munumunu = readTable(susyHpC02.str(),22,2);
2644
2645 thint01 << tablepath << "integral_x2_1mx_G_values_log.dat";
2646 integral_x2_1mx_G_log = readTable(thint01.str(),62500,3);
2647
2648 thint02 << tablepath << "integral_x2_1px_G_values_log.dat";
2649 integral_x2_1px_G_log = readTable(thint02.str(),62500,3);
2650
2651 thint03 << tablepath << "integral_x2_G_values_log.dat";
2652 integral_x2_G_log = readTable(thint03.str(),62500,3);
2653
2654 thint04 << tablepath << "integral_x_1mx2_G_values_log.dat";
2655 integral_x_1mx2_G_log = readTable(thint04.str(),62500,3);
2656
2657 thint05 << tablepath << "integral_x_1mx_1px_G_values_log.dat";
2658 integral_x_1mx_1px_G_log = readTable(thint05.str(),62500,3);
2659
2660 thint06 << tablepath << "integral_x2_1mx_G_variable_set_1_values_log.dat";
2661 integral_x2_1mx_G_variable_set_1_log = readTable(thint06.str(),2000,2);
2662
2663 thint07 << tablepath << "integral_x2_G_variable_set_1_values_log.dat";
2664 integral_x2_G_variable_set_1_log = readTable(thint07.str(),2000,2);
2665
2666 thint08 << tablepath << "integral_x_1mx2_G_variable_set_0_values_log.dat";
2667 integral_x_1mx2_G_variable_set_0_log = readTable(thint08.str(),2000,2);
2668
2669 thint09 << tablepath << "integral_perturb_ATHDM_values_log.dat";
2670 integral_perturb_ATHDM_values_log = readTable(thint09.str(),2000,2);
2671
2672 thint10 << tablepath << "integral_Hp_A_Wstar.dat";
2673 integral_Hp_A_Wstar = readTable(thint10.str(),2835,3);
2674
2675 //std::cout<< CMS13_pp_Hpm_taunu<<std::endl;
2676
2677 bsg1 << tablepath << "bsgammatable.dat";
2678 arraybsgamma = readTable(bsg1.str(),1111,3);
2679}
2680
2681
2682
2684 int NumPar = 1;
2685 double params[] = {mass};
2686
2687 int i = CacheCheckReal(ip_Br_HPtott_cache, NumPar, params);
2688 if (i>=0) {
2689 return ( ip_Br_HPtott_cache[NumPar][i] );
2690 } else {
2691 double newResult = pow(10.0,interpolate(br_tt,mass));
2692 CacheShiftReal(ip_Br_HPtott_cache, NumPar, params, newResult);
2693 return newResult;
2694 }
2695}
2696
2697
2698
2700 int NumPar = 1;
2701 double params[] = {mass};
2702
2703 int i = CacheCheckReal(ip_Br_HPtobb_cache, NumPar, params);
2704 if (i>=0) {
2705 return ( ip_Br_HPtobb_cache[NumPar][i] );
2706 } else {
2707 double newResult = pow(10.0,interpolate(br_bb,mass));
2708 CacheShiftReal(ip_Br_HPtobb_cache, NumPar, params, newResult);
2709 return newResult;
2710 }
2711}
2712
2713
2714
2716 int NumPar = 1;
2717 double params[] = {mass};
2718
2719 int i = CacheCheckReal(ip_Br_HPtotautau_cache, NumPar, params);
2720 if (i>=0) {
2721 return ( ip_Br_HPtotautau_cache[NumPar][i] );
2722 } else {
2723 double newResult = pow(10.0,interpolate(br_tautau,mass));
2724 CacheShiftReal(ip_Br_HPtotautau_cache, NumPar, params, newResult);
2725 return newResult;
2726 }
2727}
2728
2729
2730
2732 int NumPar = 1;
2733 double params[] = {mass};
2734
2735 int i = CacheCheckReal(ip_Br_HPtocc_cache, NumPar, params);
2736 if (i>=0) {
2737 return ( ip_Br_HPtocc_cache[NumPar][i] );
2738 } else {
2739 double newResult = pow(10.0,interpolate(br_cc,mass));
2740 CacheShiftReal(ip_Br_HPtocc_cache, NumPar, params, newResult);
2741 return newResult;
2742 }
2743}
2744
2745
2746
2748 int NumPar = 1;
2749 double params[] = {mass};
2750
2751 int i = CacheCheckReal(ip_Br_HPtomumu_cache, NumPar, params);
2752 if (i>=0) {
2753 return ( ip_Br_HPtomumu_cache[NumPar][i] );
2754 } else {
2755 double newResult = pow(10.0,interpolate(br_mumu,mass));
2756 CacheShiftReal(ip_Br_HPtomumu_cache, NumPar, params, newResult);
2757 return newResult;
2758 }
2759}
2760
2761
2762
2764 int NumPar = 1;
2765 double params[] = {mass};
2766
2767 int i = CacheCheckReal(ip_Br_HPtoZZ_cache, NumPar, params);
2768 if (i>=0) {
2769 return ( ip_Br_HPtoZZ_cache[NumPar][i] );
2770 } else {
2771 double newResult = pow(10.0,interpolate(br_ZZ,mass));
2772 CacheShiftReal(ip_Br_HPtoZZ_cache, NumPar, params, newResult);
2773 return newResult;
2774 }
2775}
2776
2777
2778
2780 int NumPar = 1;
2781 double params[] = {mass};
2782
2783 int i = CacheCheckReal(ip_Br_HPtoWW_cache, NumPar, params);
2784 if (i>=0) {
2785 return ( ip_Br_HPtoWW_cache[NumPar][i] );
2786 } else {
2787 double newResult = pow(10.0,interpolate(br_WW,mass));
2788 CacheShiftReal(ip_Br_HPtoWW_cache, NumPar, params, newResult);
2789 return newResult;
2790 }
2791}
2792
2793
2794
2796 int NumPar = 1;
2797 double params[] = {mass};
2798
2799 int i = CacheCheckReal(ip_GammaHPtotSM_cache, NumPar, params);
2800 if (i>=0) {
2801 return ( ip_GammaHPtotSM_cache[NumPar][i] );
2802 } else {
2803 double newResult = pow(10.0,interpolate(GammaHtot_SM,mass));
2804 CacheShiftReal(ip_GammaHPtotSM_cache, NumPar, params, newResult);
2805 return newResult;
2806 }
2807}
2808
2809
2810
2812 int NumPar = 1;
2813 double params[] = {mass};
2814
2815 int i = CacheCheckReal(ip_cs_ggtoH_8_cache, NumPar, params);
2816 if (i>=0) {
2817 return ( ip_cs_ggtoH_8_cache[NumPar][i] );
2818 } else {
2819 double newResult = 0.0;
2820 if (mass>=10. && mass <=2000.) {
2821 newResult = pow(10.0,interpolate (log_cs_ggH_8,mass));
2822 }
2823 CacheShiftReal(ip_cs_ggtoH_8_cache, NumPar, params, newResult);
2824 return newResult;
2825 }
2826}
2827
2828
2829
2831 int NumPar = 1;
2832 double params[] = {mass};
2833
2834 int i = CacheCheckReal(ip_cs_ggtoH_13_cache, NumPar, params);
2835 if (i>=0) {
2836 return ( ip_cs_ggtoH_13_cache[NumPar][i] );
2837 } else {
2838 double newResult = 0.0;
2839 if (mass>=10. && mass <=2000.) {
2840 newResult = pow(10.0,interpolate (log_cs_ggH_13,mass));
2841 }
2842 CacheShiftReal(ip_cs_ggtoH_13_cache, NumPar, params, newResult);
2843 return newResult;
2844 }
2845}
2846
2847
2848
2850 int NumPar = 1;
2851 double params[] = {mass};
2852
2853 int i = CacheCheckReal(ip_cs_VBFtoH_8_cache, NumPar, params);
2854 if (i>=0) {
2855 return ( ip_cs_VBFtoH_8_cache[NumPar][i] );
2856 } else {
2857 double newResult = 0.0;
2858 if (mass>=10. && mass <=2000.) {
2859 newResult = pow(10.0,interpolate (log_cs_VBF_8,mass));
2860 }
2861 CacheShiftReal(ip_cs_VBFtoH_8_cache, NumPar, params, newResult);
2862 return newResult;
2863 }
2864}
2865
2866
2867
2869 int NumPar = 1;
2870 double params[] = {mass};
2871
2872 int i = CacheCheckReal(ip_cs_VBFtoH_13_cache, NumPar, params);
2873 if (i>=0) {
2874 return ( ip_cs_VBFtoH_13_cache[NumPar][i] );
2875 } else {
2876 double newResult = 0.0;
2877 if (mass>=10. && mass <=2000.) {
2878 newResult = pow(10.0,interpolate (log_cs_VBF_13,mass));
2879 }
2880 CacheShiftReal(ip_cs_VBFtoH_13_cache, NumPar, params, newResult);
2881 return newResult;
2882 }
2883}
2884
2885
2886
2888 int NumPar = 1;
2889 double params[] = {mass};
2890
2891 int i = CacheCheckReal(ip_cs_WtoWH_8_cache, NumPar, params);
2892 if (i>=0) {
2893 return ( ip_cs_WtoWH_8_cache[NumPar][i] );
2894 } else {
2895 double newResult = 0.0;
2896 if (mass>=10. && mass <=2000.) {
2897 newResult = pow(10.0,interpolate (log_cs_WH_8,mass));
2898 }
2899 CacheShiftReal(ip_cs_WtoWH_8_cache, NumPar, params, newResult);
2900 return newResult;
2901 }
2902}
2903
2904
2905
2907 int NumPar = 1;
2908 double params[] = {mass};
2909
2910 int i = CacheCheckReal(ip_cs_WtoWH_13_cache, NumPar, params);
2911 if (i>=0) {
2912 return ( ip_cs_WtoWH_13_cache[NumPar][i] );
2913 } else {
2914 double newResult = 0.0;
2915 if (mass>=10. && mass <=2000.) {
2916 newResult = pow(10.0,interpolate (log_cs_WH_13,mass));
2917 }
2918 CacheShiftReal(ip_cs_WtoWH_13_cache, NumPar, params, newResult);
2919 return newResult;
2920 }
2921}
2922
2923
2924
2926 int NumPar = 1;
2927 double params[] = {mass};
2928
2929 int i = CacheCheckReal(ip_cs_ZtoZH_8_cache, NumPar, params);
2930 if (i>=0) {
2931 return ( ip_cs_ZtoZH_8_cache[NumPar][i] );
2932 } else {
2933 double newResult = 0.0;
2934 if (mass>=10. && mass <=2000.) {
2935 newResult = pow(10.0,interpolate (log_cs_ZH_8,mass));
2936 }
2937 CacheShiftReal(ip_cs_ZtoZH_8_cache, NumPar, params, newResult);
2938 return newResult;
2939 }
2940}
2941
2942
2943
2945 int NumPar = 1;
2946 double params[] = {mass};
2947
2948 int i = CacheCheckReal(ip_cs_ZtoZH_13_cache, NumPar, params);
2949 if (i>=0) {
2950 return ( ip_cs_ZtoZH_13_cache[NumPar][i] );
2951 } else {
2952 double newResult = 0.0;
2953 if (mass>=10. && mass <=2000.) {
2954 newResult = pow(10.0,interpolate (log_cs_ZH_13,mass));
2955 }
2956 CacheShiftReal(ip_cs_ZtoZH_13_cache, NumPar, params, newResult);
2957 return newResult;
2958 }
2959}
2960
2961
2962
2964 int NumPar = 1;
2965 double params[] = {mass};
2966
2967 int i = CacheCheckReal(ip_cs_pptottH_8_cache, NumPar, params);
2968 if (i>=0) {
2969 return ( ip_cs_pptottH_8_cache[NumPar][i] );
2970 } else {
2971 double newResult = 0.0;
2972 if (mass>=10. && mass <=2000.) {
2973 newResult = pow(10.0,interpolate (log_cs_ttH_8,mass));
2974 }
2975 CacheShiftReal(ip_cs_pptottH_8_cache, NumPar, params, newResult);
2976 return newResult;
2977 }
2978}
2979
2980
2981
2983 int NumPar = 1;
2984 double params[] = {mass};
2985
2986 int i = CacheCheckReal(ip_cs_pptottH_13_cache, NumPar, params);
2987 if (i>=0) {
2988 return ( ip_cs_pptottH_13_cache[NumPar][i] );
2989 } else {
2990 double newResult = 0.0;
2991 if (mass>=10. && mass <=2000.) {
2992 newResult = pow(10.0,interpolate (log_cs_ttH_13,mass));
2993 }
2994 CacheShiftReal(ip_cs_pptottH_13_cache, NumPar, params, newResult);
2995 return newResult;
2996 }
2997}
2998
2999
3000
3002 int NumPar = 1;
3003 double params[] = {mass};
3004
3005 int i = CacheCheckReal(ip_cs_pptobbH_8_cache, NumPar, params);
3006 if (i>=0) {
3007 return ( ip_cs_pptobbH_8_cache[NumPar][i] );
3008 } else {
3009 double newResult = 0.0;
3010 if (mass>=10. && mass <=2000.) {
3011 newResult = pow(10.0,interpolate (log_cs_bbH_8,mass));
3012 }
3013 CacheShiftReal(ip_cs_pptobbH_8_cache, NumPar, params, newResult);
3014 return newResult;
3015 }
3016}
3017
3018
3019
3021 int NumPar = 1;
3022 double params[] = {mass};
3023
3024 int i = CacheCheckReal(ip_cs_pptobbH_13_cache, NumPar, params);
3025 if (i>=0) {
3026 return ( ip_cs_pptobbH_13_cache[NumPar][i] );
3027 } else {
3028 double newResult = 0.0;
3029 if (mass>=10. && mass <=2000.) {
3030 newResult = pow(10.0,interpolate (log_cs_bbH_13,mass));
3031 }
3032 CacheShiftReal(ip_cs_pptobbH_13_cache, NumPar, params, newResult);
3033 return newResult;
3034 }
3035}
3036
3037
3038
3040 int NumPar = 1;
3041 double params[] = {mass};
3042
3043 int i = CacheCheckReal(ip_cs_ggtoA_8_cache, NumPar, params);
3044 if (i>=0) {
3045 return ( ip_cs_ggtoA_8_cache[NumPar][i] );
3046 } else {
3047 double newResult = 0.0;
3048 if (mass>=20. && mass <=2000.) {
3049 newResult = pow(10.0,interpolate (log_cs_ggA_8,mass));
3050 }
3051 CacheShiftReal(ip_cs_ggtoA_8_cache, NumPar, params, newResult);
3052 return newResult;
3053 }
3054}
3055
3056
3057
3059 int NumPar = 1;
3060 double params[] = {mass};
3061
3062 int i = CacheCheckReal(ip_cs_ggtoA_13_cache, NumPar, params);
3063 if (i>=0) {
3064 return ( ip_cs_ggtoA_13_cache[NumPar][i] );
3065 } else {
3066 double newResult = 0.0;
3067 if (mass>=20. && mass <=2000.) {
3068 newResult = pow(10.0,interpolate (log_cs_ggA_13,mass));
3069 }
3070 CacheShiftReal(ip_cs_ggtoA_13_cache, NumPar, params, newResult);
3071 return newResult;
3072 }
3073}
3074
3075
3076
3078 int NumPar = 1;
3079 double params[] = {mass};
3080
3081 int i = CacheCheckReal(ip_cs_pptottA_8_cache, NumPar, params);
3082 if (i>=0) {
3083 return ( ip_cs_pptottA_8_cache[NumPar][i] );
3084 } else {
3085 double newResult = 0.0;
3086 if (mass>=20. && mass <=2000.) {
3087 newResult = pow(10.0,interpolate (log_cs_ttA_8,mass));
3088 }
3089 CacheShiftReal(ip_cs_pptottA_8_cache, NumPar, params, newResult);
3090 return newResult;
3091 }
3092}
3093
3094
3095
3097 int NumPar = 1;
3098 double params[] = {mass};
3099
3100 int i = CacheCheckReal(ip_cs_pptottA_13_cache, NumPar, params);
3101 if (i>=0) {
3102 return ( ip_cs_pptottA_13_cache[NumPar][i] );
3103 } else {
3104 double newResult = 0.0;
3105 if (mass>=20. && mass <=2000.) {
3106 newResult = pow(10.0,interpolate (log_cs_ttA_13,mass));
3107 }
3108 CacheShiftReal(ip_cs_pptottA_13_cache, NumPar, params, newResult);
3109 return newResult;
3110 }
3111}
3112
3113
3114
3116 int NumPar = 1;
3117 double params[] = {mass};
3118
3119 int i = CacheCheckReal(ip_cs_pptobbA_8_cache, NumPar, params);
3120 if (i>=0) {
3121 return ( ip_cs_pptobbA_8_cache[NumPar][i] );
3122 } else {
3123 double newResult = 0.0;
3124 if (mass>=20. && mass <=2000.) {
3125 newResult = pow(10.0,interpolate (log_cs_bbA_8,mass));
3126 }
3127 CacheShiftReal(ip_cs_pptobbA_8_cache, NumPar, params, newResult);
3128 return newResult;
3129 }
3130}
3131
3132
3133
3135 int NumPar = 1;
3136 double params[] = {mass};
3137
3138 int i = CacheCheckReal(ip_cs_pptobbA_13_cache, NumPar, params);
3139 if (i>=0) {
3140 return ( ip_cs_pptobbA_13_cache[NumPar][i] );
3141 } else {
3142 double newResult = 0.0;
3143 if (mass>=20. && mass <=2000.) {
3144 newResult = pow(10.0,interpolate (log_cs_bbA_13,mass));
3145 }
3146 CacheShiftReal(ip_cs_pptobbA_13_cache, NumPar, params, newResult);
3147 return newResult;
3148 }
3149}
3150
3151
3152
3153double GeneralTHDMcache::ip_cs_ggtoHp_8(double mHp, double logtb){
3154 int NumPar = 2;
3155 double params[] = {mHp, logtb};
3156
3157 int i = CacheCheckReal(ip_cs_ggtoHp_8_cache, NumPar, params);
3158 if (i>=0) {
3159 return ( ip_cs_ggtoHp_8_cache[NumPar][i] );
3160 } else {
3161 double newResult = 0.0;
3162 if (mHp>=180. && mHp <=1400. && logtb>=-1. && logtb<=1.75) {
3163 newResult = pow(10.0,interpolate2D(log_cs_ggHp_8, logtb, mHp));
3164 }
3165 CacheShiftReal(ip_cs_ggtoHp_8_cache, NumPar, params, newResult);
3166 return newResult;
3167 }
3168}
3169
3170
3171
3172double GeneralTHDMcache::ip_cs_ggtoHp_13(double mHp, double logtb){
3173 int NumPar = 2;
3174 double params[] = {mHp, logtb};
3175
3176 int i = CacheCheckReal(ip_cs_ggtoHp_13_cache, NumPar, params);
3177 if (i>=0) {
3178 return ( ip_cs_ggtoHp_13_cache[NumPar][i] );
3179 } else {
3180 double newResult = 0.0;
3181 if (mHp>=180. && mHp <=2000. && logtb>=-1. && logtb<=1.75) {
3182 newResult = pow(10.0,interpolate2D(log_cs_ggHp_13, logtb, mHp));
3183
3184 }
3185 CacheShiftReal(ip_cs_ggtoHp_13_cache, NumPar, params, newResult);
3186 return newResult;
3187 }
3188}
3189
3190
3191
3193 int NumPar = 1;
3194 double params[] = {mass};
3195
3196 int i = CacheCheckReal(ip_csr_ggH_tc_8_cache, NumPar, params);
3197 if (i>=0) {
3198 return ( ip_csr_ggH_tc_8_cache[NumPar][i] );
3199 } else {
3200 double newResult = interpolate (csrH_top_charm_8,mass);
3201 CacheShiftReal(ip_csr_ggH_tc_8_cache, NumPar, params, newResult);
3202 return newResult;
3203 }
3204}
3205
3206
3207
3209 int NumPar = 1;
3210 double params[] = {mass};
3211
3212 int i = CacheCheckReal(ip_csr_ggH_tc_13_cache, NumPar, params);
3213 if (i>=0) {
3214 return ( ip_csr_ggH_tc_13_cache[NumPar][i] );
3215 } else {
3216 double newResult = interpolate (csrH_top_charm_13,mass);
3217 CacheShiftReal(ip_csr_ggH_tc_13_cache, NumPar, params, newResult);
3218 return newResult;
3219 }
3220}
3221
3222
3223
3225 int NumPar = 1;
3226 double params[] = {mass};
3227
3228 int i = CacheCheckReal(ip_csr_ggH_b_8_cache, NumPar, params);
3229 if (i>=0) {
3230 return ( ip_csr_ggH_b_8_cache[NumPar][i] );
3231 } else {
3232 double newResult = interpolate (csrH_bottom_8,mass);
3233 CacheShiftReal(ip_csr_ggH_b_8_cache, NumPar, params, newResult);
3234 return newResult;
3235 }
3236}
3237
3238
3239
3241 int NumPar = 1;
3242 double params[] = {mass};
3243
3244 int i = CacheCheckReal(ip_csr_ggH_b_13_cache, NumPar, params);
3245 if (i>=0) {
3246 return ( ip_csr_ggH_b_13_cache[NumPar][i] );
3247 } else {
3248 double newResult = interpolate (csrH_bottom_13,mass);
3249 CacheShiftReal(ip_csr_ggH_b_13_cache, NumPar, params, newResult);
3250 return newResult;
3251 }
3252}
3253
3254
3255
3257 int NumPar = 1;
3258 double params[] = {mass};
3259
3260 int i = CacheCheckReal(ip_csr_ggA_tc_8_cache, NumPar, params);
3261 if (i>=0) {
3262 return ( ip_csr_ggA_tc_8_cache[NumPar][i] );
3263 } else {
3264 double newResult = interpolate (csrA_top_charm_8,mass);
3265 CacheShiftReal(ip_csr_ggA_tc_8_cache, NumPar, params, newResult);
3266 return newResult;
3267 }
3268}
3269
3270
3271
3273 int NumPar = 1;
3274 double params[] = {mass};
3275
3276 int i = CacheCheckReal(ip_csr_ggA_tc_13_cache, NumPar, params);
3277 if (i>=0) {
3278 return ( ip_csr_ggA_tc_13_cache[NumPar][i] );
3279 } else {
3280 double newResult = interpolate (csrA_top_charm_13,mass);
3281 CacheShiftReal(ip_csr_ggA_tc_13_cache, NumPar, params, newResult);
3282 return newResult;
3283 }
3284}
3285
3286
3287
3289 int NumPar = 1;
3290 double params[] = {mass};
3291
3292 int i = CacheCheckReal(ip_csr_ggA_b_8_cache, NumPar, params);
3293 if (i>=0) {
3294 return ( ip_csr_ggA_b_8_cache[NumPar][i] );
3295 } else {
3296 double newResult = interpolate (csrA_bottom_8,mass);
3297 CacheShiftReal(ip_csr_ggA_b_8_cache, NumPar, params, newResult);
3298 return newResult;
3299 }
3300}
3301
3302
3303
3305 int NumPar = 1;
3306 double params[] = {mass};
3307
3308 int i = CacheCheckReal(ip_csr_ggA_b_13_cache, NumPar, params);
3309 if (i>=0) {
3310 return ( ip_csr_ggA_b_13_cache[NumPar][i] );
3311 } else {
3312 double newResult = interpolate (csrA_bottom_13,mass);
3313 CacheShiftReal(ip_csr_ggA_b_13_cache, NumPar, params, newResult);
3314 return newResult;
3315 }
3316}
3317
3318
3320 int NumPar = 1;
3321 double params[] = {mass};
3322
3323 int i = CacheCheckReal(ip_csr_HpHm_pp_13_LO_cache, NumPar, params);
3324 if (i>=0) {
3325 return ( ip_csr_HpHm_pp_13_LO_cache[NumPar][i] );
3326 } else {
3327 double newResult = interpolate (csrHpHm_pp_13_LO,mass);
3328 CacheShiftReal(ip_csr_HpHm_pp_13_LO_cache, NumPar, params, newResult);
3329 return newResult;
3330 }
3331}
3332
3333
3335 int NumPar = 1;
3336 double params[] = {mass};
3337
3338 int i = CacheCheckReal(ip_csr_HpHm_pp_13_NLO_cache, NumPar, params);
3339 if (i>=0) {
3340 return ( ip_csr_HpHm_pp_13_NLO_cache[NumPar][i] );
3341 } else {
3342 double newResult = interpolateNU (csrHpHm_pp_13_NLO,mass);
3343 CacheShiftReal(ip_csr_HpHm_pp_13_NLO_cache, NumPar, params, newResult);
3344 return newResult;
3345 }
3346}
3347
3348
3349//ATLAS13_bb_phi_bb
3351 int NumPar = 1;
3352 double params[] = {mass};
3353
3354 int i = CacheCheckReal(ip_ex_bb_phi_bb_ATLAS13_cache, NumPar, params);
3355 if (i>=0) {
3356 return ( ip_ex_bb_phi_bb_ATLAS13_cache[NumPar][i] );
3357 } else {
3358 double newResult = interpolate(ATLAS13_bb_phi_bb,mass);
3359 CacheShiftReal(ip_ex_bb_phi_bb_ATLAS13_cache, NumPar, params, newResult);
3360 return newResult;
3361 }
3362}
3363
3364
3365
3366
3368 int NumPar = 1;
3369 double params[] = {mass};
3370
3371 int i = CacheCheckReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params);
3372 if (i>=0) {
3373 return ( ip_ex_tt_phi_tt_ATLAS13_cache[NumPar][i] );
3374 } else {
3375 double newResult = interpolate(ATLAS13_tt_phi_tt,mass);
3376 CacheShiftReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3377 return newResult;
3378 }
3379}
3380
3382 int NumPar = 1;
3383 double params[] = {mass};
3384
3385 int i = CacheCheckReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params);
3386 if (i>=0) {
3387 return ( ip_ex_bb_phi_tt_ATLAS13_cache[NumPar][i] );
3388 } else {
3389 double newResult = interpolate(ATLAS13_bb_phi_tt,mass);
3390 CacheShiftReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3391 return newResult;
3392 }
3393}
3394
3396 int NumPar = 1;
3397 double params[] = {mass};
3398
3399 int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params);
3400 if (i>=0) {
3401 return ( ip_ex_bb_phi_bb_CMS8_cache[NumPar][i] );
3402 } else {
3403 double newResult = interpolate(CMS8_bb_phi_bb,mass);
3404 CacheShiftReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params, newResult);
3405 return newResult;
3406 }
3407}
3408
3410 int NumPar = 1;
3411 double params[] = {mass};
3412
3413 int i = CacheCheckReal(ip_ex_gg_phi_bb_CMS8_cache, NumPar, params);
3414 if (i>=0) {
3415 return ( ip_ex_gg_phi_bb_CMS8_cache[NumPar][i] );
3416 } else {
3417 double newResult = interpolate(CMS8_gg_phi_bb,mass);
3418 CacheShiftReal(ip_ex_gg_phi_bb_CMS8_cache, NumPar, params, newResult);
3419 return newResult;
3420 }
3421}
3422
3423//CMS13_tt_phi3_tt
3424
3426 int NumPar = 1;
3427 double params[] = {mass};
3428
3429 int i = CacheCheckReal(ip_ex_tt_phi2_tt_CMS13_cache, NumPar, params);
3430 if (i>=0) {
3431 return ( ip_ex_tt_phi2_tt_CMS13_cache[NumPar][i] );
3432 } else {
3433 double newResult = interpolate(CMS13_tt_phi2_tt,mass);
3434 CacheShiftReal(ip_ex_tt_phi2_tt_CMS13_cache, NumPar, params, newResult);
3435 return newResult;
3436 }
3437}
3438
3439
3441 int NumPar = 1;
3442 double params[] = {mass};
3443
3444 int i = CacheCheckReal(ip_ex_tt_phi3_tt_CMS13_cache, NumPar, params);
3445 if (i>=0) {
3446 return ( ip_ex_tt_phi3_tt_CMS13_cache[NumPar][i] );
3447 } else {
3448 double newResult = interpolate(CMS13_tt_phi3_tt,mass);
3449 CacheShiftReal(ip_ex_tt_phi3_tt_CMS13_cache, NumPar, params, newResult);
3450 return newResult;
3451 }
3452}
3453
3454
3455
3456
3457
3458
3459
3461 int NumPar = 1;
3462 double params[] = {mass};
3463
3464 int i = CacheCheckReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params);
3465 if (i>=0) {
3466 return ( ip_ex_pp_phi_bb_CMS13_cache[NumPar][i] );
3467 } else {
3468 double newResult = interpolate(CMS13_pp_phi_bb,mass);
3469 CacheShiftReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params, newResult);
3470 return newResult;
3471 }
3472}
3473
3474
3475
3476
3477
3478
3479
3480
3482 int NumPar = 1;
3483 double params[] = {mass};
3484
3485 int i = CacheCheckReal(ip_ex_pp_phi2_bb_light_CMS13_cache, NumPar, params);
3486 if (i>=0) {
3487 return ( ip_ex_pp_phi2_bb_light_CMS13_cache[NumPar][i] );
3488 } else {
3489 double newResult = interpolate(CMS13_pp_phi2_bb_light,mass);
3490 CacheShiftReal(ip_ex_pp_phi2_bb_light_CMS13_cache, NumPar, params, newResult);
3491 return newResult;
3492 }
3493}
3494
3495
3496
3497
3499 int NumPar = 1;
3500 double params[] = {mass};
3501
3502 int i = CacheCheckReal(ip_ex_pp_phi3_bb_light_CMS13_cache, NumPar, params);
3503 if (i>=0) {
3504 return ( ip_ex_pp_phi3_bb_light_CMS13_cache[NumPar][i] );
3505 } else {
3506 double newResult = interpolate(CMS13_pp_phi3_bb_light,mass);
3507 CacheShiftReal(ip_ex_pp_phi3_bb_light_CMS13_cache, NumPar, params, newResult);
3508 return newResult;
3509 }
3510}
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3530 int NumPar = 1;
3531 double params[] = {mass};
3532
3533 int i = CacheCheckReal(ip_ex_gg_phi_mumu_CMS8_cache, NumPar, params);
3534 if (i>=0) {
3535 return ( ip_ex_gg_phi_mumu_CMS8_cache[NumPar][i] );
3536 } else {
3537 double newResult = interpolate(CMS8_gg_phi_mumu,mass);
3538 CacheShiftReal(ip_ex_gg_phi_mumu_CMS8_cache, NumPar, params, newResult);
3539 return newResult;
3540 }
3541}
3542
3543
3545 int NumPar = 1;
3546 double params[] = {mass};
3547
3548 int i = CacheCheckReal(ip_ex_bb_phi_mumu_CMS8_cache, NumPar, params);
3549 if (i>=0) {
3550 return ( ip_ex_bb_phi_mumu_CMS8_cache[NumPar][i] );
3551 } else {
3552 double newResult = interpolate(CMS8_bb_phi_mumu,mass);
3553 CacheShiftReal(ip_ex_bb_phi_mumu_CMS8_cache, NumPar, params, newResult);
3554 return newResult;
3555 }
3556}
3557
3558
3560 int NumPar = 1;
3561 double params[] = {mass};
3562
3563 int i = CacheCheckReal(ip_ex_gg_phi_mumu_CMS13_cache, NumPar, params);
3564 if (i>=0) {
3565 return ( ip_ex_gg_phi_mumu_CMS13_cache[NumPar][i] );
3566 } else {
3567 double newResult = interpolate(CMS13_gg_phi_mumu,mass);
3568 CacheShiftReal(ip_ex_gg_phi_mumu_CMS13_cache, NumPar, params, newResult);
3569 return newResult;
3570 }
3571}
3572
3573
3574
3576 int NumPar = 1;
3577 double params[] = {mass};
3578
3579 int i = CacheCheckReal(ip_ex_bb_phi_mumu_CMS13_cache, NumPar, params);
3580 if (i>=0) {
3581 return ( ip_ex_bb_phi_mumu_CMS13_cache[NumPar][i] );
3582 } else {
3583 double newResult = interpolate(CMS13_bb_phi_mumu,mass);
3584 CacheShiftReal(ip_ex_bb_phi_mumu_CMS13_cache, NumPar, params, newResult);
3585 return newResult;
3586 }
3587}
3588
3589
3591 int NumPar = 1;
3592 double params[] = {mass};
3593
3594 int i = CacheCheckReal(ip_ex_gg_phi_mumu_ATLAS13_cache, NumPar, params);
3595 if (i>=0) {
3596 return ( ip_ex_gg_phi_mumu_ATLAS13_cache[NumPar][i] );
3597 } else {
3598 double newResult = interpolate(ATLAS13_gg_phi_mumu,mass);
3599 CacheShiftReal(ip_ex_gg_phi_mumu_ATLAS13_cache, NumPar, params, newResult);
3600 return newResult;
3601 }
3602}
3603
3604
3605
3607 int NumPar = 1;
3608 double params[] = {mass};
3609
3610 int i = CacheCheckReal(ip_ex_bb_phi_mumu_ATLAS13_cache, NumPar, params);
3611 if (i>=0) {
3612 return ( ip_ex_bb_phi_mumu_ATLAS13_cache[NumPar][i] );
3613 } else {
3614 double newResult = interpolate(ATLAS13_bb_phi_mumu,mass);
3615 CacheShiftReal(ip_ex_bb_phi_mumu_ATLAS13_cache, NumPar, params, newResult);
3616 return newResult;
3617 }
3618}
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3635 int NumPar = 1;
3636 double params[] = {mass};
3637
3638 int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS13_cache, NumPar, params);
3639 if (i>=0) {
3640 return ( ip_ex_bb_phi_bb_CMS13_cache[NumPar][i] );
3641 } else {
3642 double newResult = interpolate(CMS13_bb_phi_bb,mass);
3643 CacheShiftReal(ip_ex_bb_phi_bb_CMS13_cache, NumPar, params, newResult);
3644 return newResult;
3645 }
3646}
3647
3649 int NumPar = 1;
3650 double params[] = {mass};
3651
3652 int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params);
3653 if (i>=0) {
3654 return ( ip_ex_gg_phi_tautau_ATLAS8_cache[NumPar][i] );
3655 } else {
3656 double newResult = interpolate(ATLAS8_gg_phi_tautau,mass);
3657 CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
3658 return newResult;
3659 }
3660}
3661
3663 int NumPar = 1;
3664 double params[] = {mass};
3665
3666 int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params);
3667 if (i>=0) {
3668 return ( ip_ex_gg_phi_tautau_CMS8_cache[NumPar][i] );
3669 } else {
3670 double newResult = interpolate(CMS8_gg_phi_tautau,mass);
3671 CacheShiftReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params, newResult);
3672 return newResult;
3673 }
3674}
3675
3677 int NumPar = 1;
3678 double params[] = {mass};
3679
3680 int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params);
3681 if (i>=0) {
3682 return ( ip_ex_bb_phi_tautau_ATLAS8_cache[NumPar][i] );
3683 } else {
3684 double newResult = interpolate(ATLAS8_bb_phi_tautau,mass);
3685 CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
3686 return newResult;
3687 }
3688}
3689
3691 int NumPar = 1;
3692 double params[] = {mass};
3693
3694 int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params);
3695 if (i>=0) {
3696 return ( ip_ex_bb_phi_tautau_CMS8_cache[NumPar][i] );
3697 } else {
3698 double newResult = interpolate(CMS8_bb_phi_tautau,mass);
3699 CacheShiftReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params, newResult);
3700 return newResult;
3701 }
3702}
3703
3705 int NumPar = 1;
3706 double params[] = {mass};
3707
3708 int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params);
3709 if (i>=0) {
3710 return ( ip_ex_gg_phi_tautau_ATLAS13_cache[NumPar][i] );
3711 } else {
3712 double newResult = interpolate(ATLAS13_gg_phi_tautau,mass);
3713 CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3714 return newResult;
3715 }
3716}
3717
3719 int NumPar = 1;
3720 double params[] = {mass};
3721
3722 int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params);
3723 if (i>=0) {
3724 return ( ip_ex_gg_phi_tautau_CMS13_cache[NumPar][i] );
3725 } else {
3726 double newResult = interpolate(CMS13_gg_phi_tautau,mass);
3727 CacheShiftReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params, newResult);
3728 return newResult;
3729 }
3730}
3731
3733 int NumPar = 1;
3734 double params[] = {mass};
3735
3736 int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params);
3737 if (i>=0) {
3738 return ( ip_ex_bb_phi_tautau_ATLAS13_cache[NumPar][i] );
3739 } else {
3740 double newResult = interpolate(ATLAS13_bb_phi_tautau,mass);
3741 CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3742 return newResult;
3743 }
3744}
3745
3747 int NumPar = 1;
3748 double params[] = {mass};
3749
3750 int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params);
3751 if (i>=0) {
3752 return ( ip_ex_bb_phi_tautau_CMS13_cache[NumPar][i] );
3753 } else {
3754 double newResult = interpolate(CMS13_bb_phi_tautau,mass);
3755 CacheShiftReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params, newResult);
3756 return newResult;
3757 }
3758}
3759
3761 int NumPar = 1;
3762 double params[] = {mass};
3763
3764 int i = CacheCheckReal(ip_ex_gg_phi_gaga_ATLAS8_cache, NumPar, params);
3765 if (i>=0) {
3766 return ( ip_ex_gg_phi_gaga_ATLAS8_cache[NumPar][i] );
3767 } else {
3768 double newResult = interpolate(ATLAS8_gg_phi_gaga,mass);
3769 CacheShiftReal(ip_ex_gg_phi_gaga_ATLAS8_cache, NumPar, params, newResult);
3770 return newResult;
3771 }
3772}
3773
3775 int NumPar = 1;
3776 double params[] = {mass};
3777
3778 int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params);
3779 if (i>=0) {
3780 return ( ip_ex_pp_phi_gaga_ATLAS13_cache[NumPar][i] );
3781 } else {
3782 double newResult = interpolate(ATLAS13_pp_phi_gaga,mass);
3783 CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params, newResult);
3784 return newResult;
3785 }
3786}
3787
3789 int NumPar = 1;
3790 double params[] = {mass};
3791
3792 int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params);
3793 if (i>=0) {
3794 return ( ip_ex_gg_phi_gaga_CMS13_cache[NumPar][i] );
3795 } else {
3796 double newResult = interpolate(CMS13_gg_phi_gaga,mass);
3797 CacheShiftReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params, newResult);
3798 return newResult;
3799 }
3800}
3801
3803 int NumPar = 1;
3804 double params[] = {mass};
3805
3806 int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params);
3807 if (i>=0) {
3808 return ( ip_ex_pp_phi_Zga_llga_ATLAS8_cache[NumPar][i] );
3809 } else {
3810 double newResult = interpolate(ATLAS8_pp_phi_Zga_llga,mass);
3811 CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params, newResult);
3812 return newResult;
3813 }
3814}
3815
3817 int NumPar = 1;
3818 double params[] = {mass};
3819
3820 int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_CMS8_cache, NumPar, params);
3821 if (i>=0) {
3822 return ( ip_ex_pp_phi_Zga_llga_CMS8_cache[NumPar][i] );
3823 } else {
3824 double newResult = interpolate(CMS8_pp_phi_Zga_llga,mass);
3825 CacheShiftReal(ip_ex_pp_phi_Zga_llga_CMS8_cache, NumPar, params, newResult);
3826 return newResult;
3827 }
3828}
3829
3831 int NumPar = 1;
3832 double params[] = {mass};
3833
3834 int i = CacheCheckReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params);
3835 if (i>=0) {
3836 return ( ip_ex_gg_phi_Zga_llga_ATLAS13_cache[NumPar][i] );
3837 } else {
3838 double newResult = interpolate(ATLAS13_gg_phi_Zga_llga,mass);
3839 CacheShiftReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params, newResult);
3840 return newResult;
3841 }
3842}
3843
3845 int NumPar = 1;
3846 double params[] = {mass};
3847
3848 int i = CacheCheckReal(ip_ex_gg_phi_Zga_qqga_ATLAS13_cache, NumPar, params);
3849 if (i>=0) {
3850 return ( ip_ex_gg_phi_Zga_qqga_ATLAS13_cache[NumPar][i] );
3851 } else {
3852 double newResult = interpolate(ATLAS13_gg_phi_Zga_qqga,mass);
3853 CacheShiftReal(ip_ex_gg_phi_Zga_qqga_ATLAS13_cache, NumPar, params, newResult);
3854 return newResult;
3855 }
3856}
3857
3859 int NumPar = 1;
3860 double params[] = {mass};
3861
3862 int i = CacheCheckReal(ip_ex_gg_phi_Zga_CMS13_cache, NumPar, params);
3863 if (i>=0) {
3864 return ( ip_ex_gg_phi_Zga_CMS13_cache[NumPar][i] );
3865 } else {
3866 double newResult = interpolate(CMS13_gg_phi_Zga,mass);
3867 CacheShiftReal(ip_ex_gg_phi_Zga_CMS13_cache, NumPar, params, newResult);
3868 return newResult;
3869 }
3870}
3871
3873 int NumPar = 1;
3874 double params[] = {mass};
3875
3876 int i = CacheCheckReal(ip_ex_gg_phi_ZZ_ATLAS8_cache, NumPar, params);
3877 if (i>=0) {
3878 return ( ip_ex_gg_phi_ZZ_ATLAS8_cache[NumPar][i] );
3879 } else {
3880 double newResult = interpolate(ATLAS8_gg_phi_ZZ,mass);
3881 CacheShiftReal(ip_ex_gg_phi_ZZ_ATLAS8_cache, NumPar, params, newResult);
3882 return newResult;
3883 }
3884}
3885
3887 int NumPar = 1;
3888 double params[] = {mass};
3889
3890 int i = CacheCheckReal(ip_ex_VV_phi_ZZ_ATLAS8_cache, NumPar, params);
3891 if (i>=0) {
3892 return ( ip_ex_VV_phi_ZZ_ATLAS8_cache[NumPar][i] );
3893 } else {
3894 double newResult = interpolate(ATLAS8_VV_phi_ZZ,mass);
3895 CacheShiftReal(ip_ex_VV_phi_ZZ_ATLAS8_cache, NumPar, params, newResult);
3896 return newResult;
3897 }
3898}
3899
3901 int NumPar = 1;
3902 double params[] = {mass};
3903
3905 if (i>=0) {
3906 return ( ip_ex_gg_phi_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
3907 } else {
3908 double newResult = interpolate(ATLAS13_gg_phi_ZZ_llllnunu,mass);
3909 CacheShiftReal(ip_ex_gg_phi_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
3910 return newResult;
3911 }
3912}
3913
3915 int NumPar = 1;
3916 double params[] = {mass};
3917
3919 if (i>=0) {
3920 return ( ip_ex_VV_phi_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
3921 } else {
3922 double newResult = interpolate(ATLAS13_VV_phi_ZZ_llllnunu,mass);
3923 CacheShiftReal(ip_ex_VV_phi_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
3924 return newResult;
3925 }
3926}
3927
3929 int NumPar = 1;
3930 double params[] = {mass};
3931
3933 if (i>=0) {
3934 return ( ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
3935 } else {
3936 double newResult = interpolate(ATLAS13_gg_phi_ZZ_qqllnunu,mass);
3937 CacheShiftReal(ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
3938 return newResult;
3939 }
3940}
3941
3943 int NumPar = 1;
3944 double params[] = {mass};
3945
3947 if (i>=0) {
3948 return ( ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
3949 } else {
3950 double newResult = interpolate(ATLAS13_VV_phi_ZZ_qqllnunu,mass);
3951 CacheShiftReal(ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
3952 return newResult;
3953 }
3954}
3955
3957 int NumPar = 1;
3958 double params[] = {mass};
3959
3961 if (i>=0) {
3962 return ( ip_ex_pp_phi_ZZ_llqqnunull_CMS13_cache[NumPar][i] );
3963 } else {
3964 double newResult = interpolate(CMS13_pp_phi_ZZ_llqqnunull,mass);
3965 CacheShiftReal(ip_ex_pp_phi_ZZ_llqqnunull_CMS13_cache, NumPar, params, newResult);
3966 return newResult;
3967 }
3968}
3969
3971 int NumPar = 1;
3972 double params[] = {mass};
3973
3974 int i = CacheCheckReal(ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache, NumPar, params);
3975 if (i>=0) {
3976 return ( ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache[NumPar][i] );
3977 } else {
3978 double newResult = interpolate(CMS13_pp_phi_ZZ_qqnunu,mass);
3979 CacheShiftReal(ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache, NumPar, params, newResult);
3980 return newResult;
3981 }
3982}
3983
3985 int NumPar = 1;
3986 double params[] = {mass};
3987
3988 int i = CacheCheckReal(ip_ex_gg_phi_WW_ATLAS8_cache, NumPar, params);
3989 if (i>=0) {
3990 return ( ip_ex_gg_phi_WW_ATLAS8_cache[NumPar][i] );
3991 } else {
3992 double newResult = interpolate(ATLAS8_gg_phi_WW,mass);
3993 CacheShiftReal(ip_ex_gg_phi_WW_ATLAS8_cache, NumPar, params, newResult);
3994 return newResult;
3995 }
3996}
3997
3999 int NumPar = 1;
4000 double params[] = {mass};
4001
4002 int i = CacheCheckReal(ip_ex_VV_phi_WW_ATLAS8_cache, NumPar, params);
4003 if (i>=0) {
4004 return ( ip_ex_VV_phi_WW_ATLAS8_cache[NumPar][i] );
4005 } else {
4006 double newResult = interpolate(ATLAS8_VV_phi_WW,mass);
4007 CacheShiftReal(ip_ex_VV_phi_WW_ATLAS8_cache, NumPar, params, newResult);
4008 return newResult;
4009 }
4010}
4011
4012
4013
4014
4015
4016
4018 int NumPar = 1;
4019 double params[] = {mass};
4020
4021 int i = CacheCheckReal(ip_ex_gg_phi_WW_heavy_CMS13_cache, NumPar, params);
4022 if (i>=0) {
4023 return ( ip_ex_gg_phi_WW_heavy_CMS13_cache[NumPar][i] );
4024 } else {
4025 double newResult = interpolate(CMS13_gg_phi_WW_heavy,mass);
4026 CacheShiftReal(ip_ex_gg_phi_WW_heavy_CMS13_cache, NumPar, params, newResult);
4027 return newResult;
4028 }
4029}
4030
4031
4032
4033
4034
4036 int NumPar = 1;
4037 double params[] = {mass};
4038
4039 int i = CacheCheckReal(ip_ex_VV_phi_WW_heavy_CMS13_cache, NumPar, params);
4040 if (i>=0) {
4041 return ( ip_ex_VV_phi_WW_heavy_CMS13_cache[NumPar][i] );
4042 } else {
4043 double newResult = interpolate(CMS13_VV_phi_WW_heavy,mass);
4044 CacheShiftReal(ip_ex_VV_phi_WW_heavy_CMS13_cache, NumPar, params, newResult);
4045 return newResult;
4046 }
4047}
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4060 int NumPar = 1;
4061 double params[] = {mass};
4062
4063 int i = CacheCheckReal(ip_ex_gg_phi_WW_CMS13_cache, NumPar, params);
4064 if (i>=0) {
4065 return ( ip_ex_gg_phi_WW_CMS13_cache[NumPar][i] );
4066 } else {
4067 double newResult = interpolate(CMS13_gg_phi_WW,mass);
4068 CacheShiftReal(ip_ex_gg_phi_WW_CMS13_cache, NumPar, params, newResult);
4069 return newResult;
4070 }
4071}
4072
4073
4074
4075
4076
4078 int NumPar = 1;
4079 double params[] = {mass};
4080
4081 int i = CacheCheckReal(ip_ex_VV_phi_WW_CMS13_cache, NumPar, params);
4082 if (i>=0) {
4083 return ( ip_ex_VV_phi_WW_CMS13_cache[NumPar][i] );
4084 } else {
4085 double newResult = interpolate(CMS13_VV_phi_WW,mass);
4086 CacheShiftReal(ip_ex_VV_phi_WW_CMS13_cache, NumPar, params, newResult);
4087 return newResult;
4088 }
4089}
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4109 int NumPar = 1;
4110 double params[] = {mass};
4111
4113 if (i>=0) {
4114 return ( ip_ex_gg_phi_WW_enumunu_ATLAS13_cache[NumPar][i] );
4115 } else {
4116 double newResult = interpolate(ATLAS13_gg_phi_WW_enumunu,mass);
4117 CacheShiftReal(ip_ex_gg_phi_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4118 return newResult;
4119 }
4120}
4121
4123 int NumPar = 1;
4124 double params[] = {mass};
4125
4127 if (i>=0) {
4128 return ( ip_ex_VV_phi_WW_enumunu_ATLAS13_cache[NumPar][i] );
4129 } else {
4130 double newResult = interpolate(ATLAS13_VV_phi_WW_enumunu,mass);
4131 CacheShiftReal(ip_ex_VV_phi_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4132 return newResult;
4133 }
4134}
4135
4137 int NumPar = 1;
4138 double params[] = {mass};
4139
4141 if (i>=0) {
4142 return ( ip_ex_ggVV_phi_WW_lnulnu_CMS13_cache[NumPar][i] );
4143 } else {
4144 double newResult = interpolate(CMS13_ggVV_phi_WW_lnulnu,mass);
4145 CacheShiftReal(ip_ex_ggVV_phi_WW_lnulnu_CMS13_cache, NumPar, params, newResult);
4146 return newResult;
4147 }
4148}
4149
4151 int NumPar = 1;
4152 double params[] = {mass};
4153
4154 int i = CacheCheckReal(ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache, NumPar, params);
4155 if (i>=0) {
4156 return ( ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4157 } else {
4158 double newResult = interpolate(ATLAS13_gg_phi_WW_lnuqq,mass);
4159 CacheShiftReal(ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4160 return newResult;
4161 }
4162}
4163
4165 int NumPar = 1;
4166 double params[] = {mass};
4167
4168 int i = CacheCheckReal(ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache, NumPar, params);
4169 if (i>=0) {
4170 return ( ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4171 } else {
4172 double newResult = interpolate(ATLAS13_VV_phi_WW_lnuqq,mass);
4173 CacheShiftReal(ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4174 return newResult;
4175 }
4176}
4177
4179 int NumPar = 1;
4180 double params[] = {mass};
4181
4182 int i = CacheCheckReal(ip_ex_pp_phi_WW_lnuqq_CMS13_cache, NumPar, params);
4183 if (i>=0) {
4184 return ( ip_ex_pp_phi_WW_lnuqq_CMS13_cache[NumPar][i] );
4185 } else {
4186 double newResult = interpolate(CMS13_pp_phi_WW_lnuqq,mass);
4187 CacheShiftReal(ip_ex_pp_phi_WW_lnuqq_CMS13_cache, NumPar, params, newResult);
4188 return newResult;
4189 }
4190}
4191
4193 int NumPar = 1;
4194 double params[] = {mass};
4195
4196 int i = CacheCheckReal(ip_ex_pp_phi_VV_CMS8_cache, NumPar, params);
4197 if (i>=0) {
4198 return ( ip_ex_pp_phi_VV_CMS8_cache[NumPar][i] );
4199 } else {
4200 double newResult = interpolate(CMS8_pp_phi_VV,mass);
4201 CacheShiftReal(ip_ex_pp_phi_VV_CMS8_cache, NumPar, params, newResult);
4202 return newResult;
4203 }
4204}
4205
4207 int NumPar = 1;
4208 double params[] = {mass};
4209
4210 int i = CacheCheckReal(ip_ex_pp_phi_VV_qqqq_ATLAS13_cache, NumPar, params);
4211 if (i>=0) {
4212 return ( ip_ex_pp_phi_VV_qqqq_ATLAS13_cache[NumPar][i] );
4213 } else {
4214 double newResult = interpolate(ATLAS13_pp_phi_VV_qqqq,mass);
4215 CacheShiftReal(ip_ex_pp_phi_VV_qqqq_ATLAS13_cache, NumPar, params, newResult);
4216 return newResult;
4217 }
4218}
4219
4220
4221
4222
4223
4224
4225
4227 int NumPar = 1;
4228 double params[] = {mass};
4229
4230 int i = CacheCheckReal(ip_ex_gg_phi_VV_llqq_ATLAS13_cache, NumPar, params);
4231 if (i>=0) {
4232 return ( ip_ex_gg_phi_VV_llqq_ATLAS13_cache[NumPar][i] );
4233 } else {
4234 double newResult = interpolate(ATLAS13_gg_phi_VV_llqq,mass);
4235 CacheShiftReal(ip_ex_gg_phi_VV_llqq_ATLAS13_cache, NumPar, params, newResult);
4236 return newResult;
4237 }
4238}
4239
4240
4242 int NumPar = 1;
4243 double params[] = {mass};
4244
4245 int i = CacheCheckReal(ip_ex_VV_phi_VV_llqq_ATLAS13_cache, NumPar, params);
4246 if (i>=0) {
4247 return ( ip_ex_VV_phi_VV_llqq_ATLAS13_cache[NumPar][i] );
4248 } else {
4249 double newResult = interpolate(ATLAS13_VV_phi_VV_llqq,mass);
4250 CacheShiftReal(ip_ex_VV_phi_VV_llqq_ATLAS13_cache, NumPar, params, newResult);
4251 return newResult;
4252 }
4253}
4254
4255
4256
4257
4258
4259
4260
4261
4263 int NumPar = 1;
4264 double params[] = {mass};
4265
4266 int i = CacheCheckReal(ip_ex_gg_phi_phi1phi1_ATLAS8_cache, NumPar, params);
4267 if (i>=0) {
4268 return(ip_ex_gg_phi_phi1phi1_ATLAS8_cache[NumPar][i] );
4269 } else {
4270 double newResult = interpolate (ATLAS8_gg_phi_phi1phi1,mass);
4271 CacheShiftReal(ip_ex_gg_phi_phi1phi1_ATLAS8_cache, NumPar, params, newResult);
4272 return newResult;
4273 }
4274}
4275
4277 int NumPar = 1;
4278 double params[] = {mass};
4279
4281 if (i>=0) {
4282 return(ip_ex_pp_phi_phi1phi1_bbbb_CMS8_cache[NumPar][i] );
4283 } else {
4284 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbbb,mass);
4285 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_CMS8_cache, NumPar, params, newResult);
4286 return newResult;
4287 }
4288}
4289
4291 int NumPar = 1;
4292 double params[] = {mass};
4293
4295 if (i>=0) {
4296 return(ip_ex_pp_phi_phi1phi1_bbgaga_CMS8_cache[NumPar][i] );
4297 } else {
4298 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbgaga,mass);
4299 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbgaga_CMS8_cache, NumPar, params, newResult);
4300 return newResult;
4301 }
4302}
4303
4305 int NumPar = 1;
4306 double params[] = {mass};
4307
4309 if (i>=0) {
4311 } else {
4312 double newResult = interpolate (CMS8_gg_phi_phi1phi1_bbtautau,mass);
4314 return newResult;
4315 }
4316}
4317
4319 int NumPar = 1;
4320 double params[] = {mass};
4321
4323 if (i>=0) {
4325 } else {
4326 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbtautau,mass);
4328 return newResult;
4329 }
4330}
4331
4333 int NumPar = 1;
4334 double params[] = {mass};
4335
4337 if (i>=0) {
4338 return(ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13_cache[NumPar][i] );
4339 } else {
4340 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbbb,mass);
4341 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13_cache, NumPar, params, newResult);
4342 return newResult;
4343 }
4344}
4345
4347 int NumPar = 1;
4348 double params[] = {mass};
4349
4351 if (i>=0) {
4352 return(ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13_cache[NumPar][i] );
4353 } else {
4354 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbbb_1,mass);
4355 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13_cache, NumPar, params, newResult);
4356 return newResult;
4357 }
4358}
4359
4361 int NumPar = 1;
4362 double params[] = {mass};
4363
4365 if (i>=0) {
4366 return(ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13_cache[NumPar][i] );
4367 } else {
4368 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbbb_2,mass);
4369 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13_cache, NumPar, params, newResult);
4370 return newResult;
4371 }
4372}
4373
4375 int NumPar = 1;
4376 double params[] = {mass};
4377
4379 if (i>=0) {
4381 } else {
4382 double newResult = interpolate(ATLAS13_pp_phi_phi1phi1_bbgaga,mass);
4384 return newResult;
4385 }
4386}
4387
4389 int NumPar = 1;
4390 double params[] = {mass};
4391
4393 if (i>=0) {
4394 return(ip_ex_pp_phi_phi1phi1_bbgaga_CMS13_cache[NumPar][i] );
4395 } else {
4396 double newResult = interpolate(CMS13_pp_phi_phi1phi1_bbgaga,mass);
4397 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbgaga_CMS13_cache, NumPar, params, newResult);
4398 return newResult;
4399 }
4400}
4401
4402
4403/*
4404double GeneralTHDMcache::ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(double mass){
4405 int NumPar = 1;
4406 double params[] = {mass};
4407
4408 int i = CacheCheckReal(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache, NumPar, params);
4409 if (i>=0) {
4410 return(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache[NumPar][i] );
4411 } else {
4412 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau,mass);
4413 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache, NumPar, params, newResult);
4414 return newResult;
4415 }
4416}
4417*/
4418
4419
4420
4422 int NumPar = 1;
4423 double params[] = {mass};
4424
4426 if (i>=0) {
4428 } else {
4429 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau_1,mass);
4431 return newResult;
4432 }
4433}
4434
4435
4437 int NumPar = 1;
4438 double params[] = {mass};
4439
4441 if (i>=0) {
4443 } else {
4444 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau_2,mass);
4446 return newResult;
4447 }
4448}
4449
4451 int NumPar = 1;
4452 double params[] = {mass};
4453
4455 if (i>=0) {
4457 } else {
4458 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbtautau_1,mass);
4460 return newResult;
4461 }
4462}
4463
4465 int NumPar = 1;
4466 double params[] = {mass};
4467
4469 if (i>=0) {
4471 } else {
4472 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbtautau_2,mass);
4474 return newResult;
4475 }
4476}
4477
4479 int NumPar = 1;
4480 double params[] = {mass};
4481
4483 if (i>=0) {
4484 return(ip_ex_pp_phi_phi1phi1_bbVV_CMS13_cache[NumPar][i] );
4485 } else {
4486 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbVV,mass);
4487 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbVV_CMS13_cache, NumPar, params, newResult);
4488 return newResult;
4489 }
4490}
4491
4492
4493
4495 int NumPar = 1;
4496 double params[] = {mass};
4497
4499 if (i>=0) {
4501 } else {
4502 double newResult = interpolate (CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau,mass);
4504 return newResult;
4505 }
4506}
4507
4508
4509
4510
4511//CMS13_pp_phi_phi1phi1_bbWW_qqlnu
4513 int NumPar = 1;
4514 double params[] = {mass};
4515
4517 if (i>=0) {
4519 } else {
4520 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbWW_qqlnu,mass);
4522 return newResult;
4523 }
4524}
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541//CMS13_pp_phi_phi1phi1_bbZZ_lljj
4543 int NumPar = 1;
4544 double params[] = {mass};
4545
4547 if (i>=0) {
4549 } else {
4550 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbZZ_lljj,mass);
4552 return newResult;
4553 }
4554}
4555
4556
4557
4558
4559//CMS13_pp_phi_phi1phi1_bbZZ_llnunu
4561 int NumPar = 1;
4562 double params[] = {mass};
4563
4565 if (i>=0) {
4567 } else {
4568 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbZZ_llnunu,mass);
4570 return newResult;
4571 }
4572}
4573
4574
4575
4576
4577//CMS13_pp_phi_phi1phi1_bbWWorbbtautau
4579 int NumPar = 1;
4580 double params[] = {mass};
4581
4583 if (i>=0) {
4585 } else {
4586 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbWWorbbtautau,mass);
4588 return newResult;
4589 }
4590}
4591
4592
4593//CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses
4595 int NumPar = 1;
4596 double params[] = {mass};
4597
4599 if (i>=0) {
4601 } else {
4604 return newResult;
4605 }
4606}
4607
4608
4609
4610
4612 int NumPar = 1;
4613 double params[] = {mass};
4614
4616 if (i>=0) {
4617 return(ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13_cache[NumPar][i] );
4618 } else {
4619 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbWW,mass);
4620 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13_cache, NumPar, params, newResult);
4621 return newResult;
4622 }
4623}
4624
4625
4626
4627
4628
4629
4630
4631
4633 int NumPar = 1;
4634 double params[] = {mass};
4635
4637 if (i>=0) {
4639 } else {
4640 double newResult = interpolate (ATLAS13_gg_phi_phi1phi1_gagaWW,mass);
4642 return newResult;
4643 }
4644}
4645
4647 int NumPar = 1;
4648 double params[] = {mass};
4649
4650 int i = CacheCheckReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache, NumPar, params);
4651 if (i>=0) {
4652 return ( ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache[NumPar][i] );
4653 } else {
4654 double newResult = interpolate(ATLAS8_gg_phi_phi1Z_bbZ,mass);
4655 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache, NumPar, params, newResult);
4656 return newResult;
4657 }
4658}
4659
4661 int NumPar = 1;
4662 double params[] = {mass};
4663
4664 int i = CacheCheckReal(ip_ex_gg_phi_phi1Z_bbll_CMS8_cache, NumPar, params);
4665 if (i>=0) {
4666 return ( ip_ex_gg_phi_phi1Z_bbll_CMS8_cache[NumPar][i] );
4667 } else {
4668 double newResult = interpolate(CMS8_gg_phi_phi1Z_bbll,mass);
4669 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbll_CMS8_cache, NumPar, params, newResult);
4670 return newResult;
4671 }
4672}
4673
4675 int NumPar = 1;
4676 double params[] = {mass};
4677
4679 if (i>=0) {
4680 return ( ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8_cache[NumPar][i] );
4681 } else {
4682 double newResult = interpolate(ATLAS8_gg_phi_phi1Z_tautauZ,mass);
4683 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8_cache, NumPar, params, newResult);
4684 return newResult;
4685 }
4686}
4687
4689 int NumPar = 1;
4690 double params[] = {mass};
4691
4693 if (i>=0) {
4694 return ( ip_ex_gg_phi_phi1Z_tautaull_CMS8_cache[NumPar][i] );
4695 } else {
4696 double newResult = interpolate(CMS8_gg_phi_phi1Z_tautaull,mass);
4697 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautaull_CMS8_cache, NumPar, params, newResult);
4698 return newResult;
4699 }
4700}
4701
4703 int NumPar = 1;
4704 double params[] = {mass};
4705
4707 if (i>=0) {
4708 return ( ip_ex_gg_phi_phi1Z_bbZ_ATLAS13_cache[NumPar][i] );
4709 } else {
4710 double newResult = interpolate(ATLAS13_gg_phi_phi1Z_bbZ,mass);
4711 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS13_cache, NumPar, params, newResult);
4712 return newResult;
4713 }
4714}
4715
4717 int NumPar = 1;
4718 double params[] = {mass};
4719
4721 if (i>=0) {
4722 return ( ip_ex_gg_phi_phi1Z_bbZ_1_CMS13_cache[NumPar][i] );
4723 } else {
4724 double newResult = interpolate(CMS13_gg_phi_phi1Z_bbZ_1,mass);
4725 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_1_CMS13_cache, NumPar, params, newResult);
4726 return newResult;
4727 }
4728}
4729
4731 int NumPar = 1;
4732 double params[] = {mass};
4733
4735 if (i>=0) {
4736 return ( ip_ex_gg_phi_phi1Z_bbZ_2_CMS13_cache[NumPar][i] );
4737 } else {
4738 double newResult = interpolate(CMS13_gg_phi_phi1Z_bbZ_2,mass);
4739 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_2_CMS13_cache, NumPar, params, newResult);
4740 return newResult;
4741 }
4742}
4743
4745 int NumPar = 1;
4746 double params[] = {mass};
4747
4749 if (i>=0) {
4750 return ( ip_ex_bb_phi_phi1Z_bbZ_ATLAS13_cache[NumPar][i] );
4751 } else {
4752 double newResult = interpolate(ATLAS13_bb_phi_phi1Z_bbZ,mass);
4753 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_ATLAS13_cache, NumPar, params, newResult);
4754 return newResult;
4755 }
4756}
4757
4758
4759
4760
4762 int NumPar = 1;
4763 double params[] = {mass};
4764
4766 if (i>=0) {
4767 return ( ip_ex_gg_phi_phi1Z_tautaull_CMS13_cache[NumPar][i] );
4768 } else {
4769 double newResult = interpolate(CMS13_gg_phi_phi1Z_tautaull,mass);
4770 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautaull_CMS13_cache, NumPar, params, newResult);
4771 return newResult;
4772 }
4773}
4774
4775
4776
4777
4778//ATLAS13_bb_phi_phi1Z_tautaull
4779
4780
4782 int NumPar = 1;
4783 double params[] = {mass};
4784
4786 if (i>=0) {
4787 return ( ip_ex_bb_phi_phi1Z_bbZ_1_CMS13_cache[NumPar][i] );
4788 } else {
4789 double newResult = interpolate(CMS13_bb_phi_phi1Z_bbZ_1,mass);
4790 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_1_CMS13_cache, NumPar, params, newResult);
4791 return newResult;
4792 }
4793}
4794
4796 int NumPar = 1;
4797 double params[] = {mass};
4798
4800 if (i>=0) {
4801 return ( ip_ex_bb_phi_phi1Z_bbZ_2_CMS13_cache[NumPar][i] );
4802 } else {
4803 double newResult = interpolate(CMS13_bb_phi_phi1Z_bbZ_2,mass);
4804 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_2_CMS13_cache, NumPar, params, newResult);
4805 return newResult;
4806 }
4807}
4808
4810 int NumPar = 2;
4811 double params[] = {mi, mj};
4812
4814 if (i>=0) {
4815 return ( ip_ex_pp_phii_phijZ_bbll_1_CMS8_cache[NumPar][i] );
4816 } else {
4817 double newResult = interpolate2D(CMS8_pp_phii_phijZ_bbll_1, mi, mj);
4818 CacheShiftReal(ip_ex_pp_phii_phijZ_bbll_1_CMS8_cache, NumPar, params, newResult);
4819 return newResult;
4820 }
4821}
4822
4823
4824
4826 int NumPar = 2;
4827 double params[] = {mi, mj};
4828
4830 if (i>=0) {
4831 return ( ip_ex_pp_phii_phijZ_bbll_2_CMS8_cache[NumPar][i] );
4832 } else {
4833 double newResult = interpolate2D(CMS8_pp_phii_phijZ_bbll_2,mi, mj);
4834 CacheShiftReal(ip_ex_pp_phii_phijZ_bbll_2_CMS8_cache, NumPar, params, newResult);
4835 return newResult;
4836 }
4837}
4838
4839
4841 int NumPar = 2;
4842 double params[] = {mi, mj};
4843
4845 if (i>=0) {
4846 return ( ip_ex_pp_phii_phijZ_tautaull_1_CMS8_cache[NumPar][i] );
4847 } else {
4848 double newResult = interpolate2D(CMS8_pp_phii_phijZ_tautaull_1,mi, mj);
4850 return newResult;
4851 }
4852}
4853
4854
4855
4857 int NumPar = 2;
4858 double params[] = {mi, mj};
4859
4861 if (i>=0) {
4862 return ( ip_ex_pp_phii_phijZ_tautaull_2_CMS8_cache[NumPar][i] );
4863 } else {
4864 double newResult = interpolate2D(CMS8_pp_phii_phijZ_tautaull_2, mi, mj);
4866 return newResult;
4867 }
4868}
4869
4870
4871
4873 int NumPar = 2;
4874 double params[] = {mj, mi};
4875
4877 if (i>=0) {
4878 return ( ip_ex_gg_phii_phijZ_bbZ_ATLAS13_cache[NumPar][i] );
4879 } else {
4880 double newResult = interpolate2DtriangularData(ATLAS13_gg_phii_phijZ_bbZ, mj, mi);
4881
4882 CacheShiftReal(ip_ex_gg_phii_phijZ_bbZ_ATLAS13_cache, NumPar, params, newResult);
4883 return newResult;
4884 }
4885}
4886
4887
4889 int NumPar = 2;
4890 double params[] = {mj, mi};
4891
4893 if (i>=0) {
4894 return ( ip_ex_bb_phii_phijZ_bbZ_ATLAS13_cache[NumPar][i] );
4895 } else {
4896 double newResult = interpolate2DtriangularData(ATLAS13_bb_phii_phijZ_bbZ, mj, mi);
4897 CacheShiftReal(ip_ex_bb_phii_phijZ_bbZ_ATLAS13_cache, NumPar, params, newResult);
4898 return newResult;
4899 }
4900}
4901
4902
4903
4904
4906 int NumPar = 2;
4907 double params[] = {mj, mi};
4908
4910 if (i>=0) {
4911 return ( ip_ex_gg_phii_phijZ_WWZ_ATLAS13_cache[NumPar][i] );
4912 } else {
4913 double newResult = interpolate2DtriangularData(ATLAS13_gg_phii_phijZ_WWZ, mj, mi);
4914 CacheShiftReal(ip_ex_gg_phii_phijZ_WWZ_ATLAS13_cache, NumPar, params, newResult);
4915 return newResult;
4916 }
4917}
4918
4919
4920
4921
4923 int NumPar = 1;
4924 double params[] = {mass};
4925
4926 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params);
4927 if (i>=0) {
4928 return(ip_ex_pp_Hpm_taunu_ATLAS8_cache[NumPar][i] );
4929 } else {
4930 double newResult = interpolate (ATLAS8_pp_Hpm_taunu,mass);
4931 CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params, newResult);
4932 return newResult;
4933 }
4934}
4935
4936
4937
4939 int NumPar = 1;
4940 double params[] = {mass};
4941
4942 int i = CacheCheckReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params);
4943 if (i>=0) {
4944 return(ip_ex_pp_Hp_taunu_CMS8_cache[NumPar][i] );
4945 } else {
4946 double newResult = interpolate (CMS8_pp_Hp_taunu,mass);
4947 CacheShiftReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params, newResult);
4948 return newResult;
4949 }
4950}
4951
4952
4953
4955 int NumPar = 1;
4956 double params[] = {mass};
4957
4958 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params);
4959 if (i>=0) {
4960 return(ip_ex_pp_Hpm_taunu_ATLAS13_cache[NumPar][i] );
4961 } else {
4962 double newResult = interpolate (ATLAS13_pp_Hpm_taunu,mass);
4963 CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params, newResult);
4964 return newResult;
4965 }
4966}
4967
4968
4969
4971 int NumPar = 1;
4972 double params[] = {mass};
4973
4974 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params);
4975 if (i>=0) {
4976 return(ip_ex_pp_Hpm_taunu_CMS13_cache[NumPar][i] );
4977 } else {
4978 double newResult = interpolate (CMS13_pp_Hpm_taunu,mass);
4979 CacheShiftReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params, newResult);
4980 return newResult;
4981 }
4982}
4983
4984
4985
4987 int NumPar = 1;
4988 double params[] = {mass};
4989
4990 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params);
4991 if (i>=0) {
4992 return(ip_ex_pp_Hpm_tb_ATLAS8_cache[NumPar][i] );
4993 } else {
4994 double newResult = interpolate (ATLAS8_pp_Hpm_tb,mass);
4995 CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params, newResult);
4996 return newResult;
4997 }
4998}
4999
5000
5001
5003 int NumPar = 1;
5004 double params[] = {mass};
5005
5006 int i = CacheCheckReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params);
5007 if (i>=0) {
5008 return(ip_ex_pp_Hp_tb_CMS8_cache[NumPar][i] );
5009 } else {
5010 double newResult = interpolate (CMS8_pp_Hp_tb,mass);
5011 CacheShiftReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params, newResult);
5012 return newResult;
5013 }
5014}
5015
5017 int NumPar = 1;
5018 double params[] = {mass};
5019
5020 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS13_cache, NumPar, params);
5021 if (i>=0) {
5022 return(ip_ex_pp_Hpm_tb_ATLAS13_cache[NumPar][i] );
5023 } else {
5024 double newResult = interpolate (ATLAS13_pp_Hpm_tb,mass);
5025 CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS13_cache, NumPar, params, newResult);
5026 return newResult;
5027 }
5028}
5029
5030
5031
5033 int NumPar = 1;
5034 double params[] = {mass};
5035
5036 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_CMS13_cache, NumPar, params);
5037 if (i>=0) {
5038 return(ip_ex_pp_Hpm_tb_CMS13_cache[NumPar][i] );
5039 } else {
5040 double newResult = interpolate (CMS13_pp_Hpm_tb,mass);
5041 CacheShiftReal(ip_ex_pp_Hpm_tb_CMS13_cache, NumPar, params, newResult);
5042 return newResult;
5043 }
5044}
5045
5046
5048 int NumPar = 1;
5049 double params[] = {mass};
5050
5052 if (i>=0) {
5054 } else {
5055 double newResult = interpolate (CMS13_pp_h_phi3phi3_mumutautau,mass);
5057 return newResult;
5058 }
5059}
5060
5062 int NumPar = 1;
5063 double params[] = {mass};
5064
5066 if (i>=0) {
5068 } else {
5069 double newResult = interpolateNU (CMS13_pp_h_phi3phi3_bbtautau,mass);
5071 return newResult;
5072 }
5073}
5074
5076 int NumPar = 1;
5077 double params[] = {mass};
5078
5080 if (i>=0) {
5081 return(ip_low_pp_h_phi3phi3_bbmumu_CMS13_cache[NumPar][i] );
5082 } else {
5083 double newResult = interpolate (CMS13_pp_h_phi3phi3_bbmumu,mass);
5084 CacheShiftReal(ip_low_pp_h_phi3phi3_bbmumu_CMS13_cache, NumPar, params, newResult);
5085 return newResult;
5086 }
5087}
5088
5090 int NumPar = 1;
5091 double params[] = {mass};
5092
5094 if (i>=0) {
5095 return(ip_low_pp_h_phi23Z_mumull_CMS13_cache[NumPar][i] );
5096 } else {
5097 double newResult = interpolateNU (CMS13_pp_h_phi23Z_mumull,mass);
5098 CacheShiftReal(ip_low_pp_h_phi23Z_mumull_CMS13_cache, NumPar, params, newResult);
5099 return newResult;
5100 }
5101}
5102
5104 int NumPar = 1;
5105 double params[] = {mass};
5106
5108 if (i>=0) {
5110 } else {
5111 double newResult = interpolateNU (CMS13_pp_h_phi23phi23_mumumumu,mass);
5113 return newResult;
5114 }
5115}
5116
5118 int NumPar = 1;
5119 double params[] = {mass};
5120
5122 if (i>=0) {
5124 } else {
5125 double newResult = interpolate (CMS13_pp_h_phi3phi3_gagagaga,mass);
5127 return newResult;
5128 }
5129}
5130
5132 int NumPar = 1;
5133 double params[] = {mass};
5134
5136 if (i>=0) {
5138 } else {
5139 double newResult = interpolate (CMS13_pp_h_phi3phi3_tautautautau,mass);
5141 return newResult;
5142 }
5143}
5144
5146 int NumPar = 1;
5147 double params[] = {mass};
5148
5149 int i = CacheCheckReal(ip_low_pp_ttphi3_ttmumu_CMS13_cache, NumPar, params);
5150 if (i>=0) {
5151 return(ip_low_pp_ttphi3_ttmumu_CMS13_cache[NumPar][i] );
5152 } else {
5153 double newResult = interpolateNU (CMS13_pp_ttphi3_ttmumu,mass);
5154 CacheShiftReal(ip_low_pp_ttphi3_ttmumu_CMS13_cache, NumPar, params, newResult);
5155 return newResult;
5156 }
5157}
5158
5160 int NumPar = 1;
5161 double params[] = {mass};
5162
5164 if (i>=0) {
5165 return(ip_low_pp_ttphi3_tttautau_CMS13_cache[NumPar][i] );
5166 } else {
5167 double newResult = interpolateNU (CMS13_pp_ttphi3_tttautau,mass);
5168 CacheShiftReal(ip_low_pp_ttphi3_tttautau_CMS13_cache, NumPar, params, newResult);
5169 return newResult;
5170 }
5171}
5172
5174 int NumPar = 1;
5175 double params[] = {mass};
5176
5178 if (i>=0) {
5179 return(ip_low_Vh_h_phi3phi3_bbbb_CMS13_cache[NumPar][i] );
5180 } else {
5181 double newResult = interpolate (CMS13_Vh_h_phi3phi3_bbbb,mass);
5182 CacheShiftReal(ip_low_Vh_h_phi3phi3_bbbb_CMS13_cache, NumPar, params, newResult);
5183 return newResult;
5184 }
5185}
5186
5188 int NumPar = 1;
5189 double params[] = {mass};
5191 if (i>=0) {
5193 } else {
5194 double newResult = interpolate (ATLAS13_pp_h_phi3phi3_bbmumu,mass);
5196 return newResult;
5197 }
5198}
5199
5201 int NumPar = 1;
5202 double params[] = {mass};
5204 if (i>=0) {
5206 } else {
5207 double newResult = interpolateNU (ATLAS13_gg_h_phi23phi23_mumumumu,mass);
5209 return newResult;
5210 }
5211}
5212
5214 int NumPar = 1;
5215 double params[] = {mass};
5217 if (i>=0) {
5218 return(ip_low_gg_h_phi23Z_mumull_ATLAS13_cache[NumPar][i] );
5219 } else {
5220 double newResult = interpolate (ATLAS13_gg_h_phi23Z_mumull,mass);
5221 CacheShiftReal(ip_low_gg_h_phi23Z_mumull_ATLAS13_cache, NumPar, params, newResult);
5222 return newResult;
5223 }
5224}
5225
5227 int NumPar = 1;
5228 double params[] = {mass};
5230 if (i>=0) {
5232 } else {
5233 double newResult = interpolate (ATLAS13_Vh_h_phi23phi23_bbbb,mass);
5235 return newResult;
5236 }
5237}
5238
5240 int NumPar = 1;
5241 double params[] = {mass};
5243 if (i>=0) {
5245 } else {
5246 double newResult = interpolate (ATLAS13_Zh_h_phi23phi23_bbbb,mass);
5248 return newResult;
5249 }
5250}
5251
5253 int NumPar = 1;
5254 double params[] = {mass};
5256 if (i>=0) {
5258 } else {
5259 double newResult = interpolate (ATLAS13_pp_h_phi23phi23_bbmumu_old,mass);
5261 return newResult;
5262 }
5263}
5264
5266 int NumPar = 1;
5267 double params[] = {mass};
5269 if (i>=0) {
5271 } else {
5272 double newResult = interpolateNU (ATLAS13_pp_h_phi23phi23_gagagg,mass);
5274 return newResult;
5275 }
5276}
5277
5279 int NumPar = 1;
5280 double params[] = {mass};
5281 int i = CacheCheckReal(ip_low_gg_phi3_tautau_ATLAS13_cache, NumPar, params);
5282 if (i>=0) {
5283 return(ip_low_gg_phi3_tautau_ATLAS13_cache[NumPar][i] );
5284 } else {
5285 double newResult = interpolateNU (ATLAS13_gg_phi3_tautau_low,mass);
5286 CacheShiftReal(ip_low_gg_phi3_tautau_ATLAS13_cache, NumPar, params, newResult);
5287 return newResult;
5288 }
5289}
5290
5292 int NumPar = 1;
5293 double params[] = {mass};
5295 if (i>=0) {
5297 } else {
5298 double newResult = interpolate (ATLAS13_pp_h_phi3phi3_gagagaga,mass);
5300 return newResult;
5301 }
5302}
5303
5305 int NumPar = 1;
5306 double params[] = {mass};
5308 if (i>=0) {
5310 } else {
5311 double newResult = interpolateNU (ATLAS13_pp_h_phi3phi3_bbtautau,mass);
5313 return newResult;
5314 }
5315}
5316
5318 int NumPar = 1;
5319 double params[] = {mass};
5321 if (i>=0) {
5323 } else {
5324 double newResult = interpolate (ATLAS8_pp_h_phi3phi3_gagagaga,mass);
5326 return newResult;
5327 }
5328}
5329
5331 int NumPar = 1;
5332 double params[] = {mass};
5334 if (i>=0) {
5336 } else {
5337 double newResult = interpolateNU (ATLAS8_gg_h_phi3phi3_tautautautau,mass);
5339 return newResult;
5340 }
5341}
5342
5344 int NumPar = 1;
5345 double params[] = {mass};
5347 if (i>=0) {
5349 } else {
5350 double newResult = interpolate (CMS8_pp_h_phi3phi3_tautautautau,mass);
5352 return newResult;
5353 }
5354}
5355
5357 int NumPar = 1;
5358 double params[] = {mass};
5360 if (i>=0) {
5361 return(ip_low_pp_h_phi3phi3_bbmumu_CMS8_cache[NumPar][i] );
5362 } else {
5363 double newResult = interpolate (CMS8_pp_h_phi3phi3_bbmumu,mass);
5364 CacheShiftReal(ip_low_pp_h_phi3phi3_bbmumu_CMS8_cache, NumPar, params, newResult);
5365 return newResult;
5366 }
5367}
5368
5370 int NumPar = 1;
5371 double params[] = {mass};
5373 if (i>=0) {
5375 } else {
5376 double newResult = interpolate (CMS8_pp_h_phi3phi3_mumutautau,mass);
5378 return newResult;
5379 }
5380}
5381
5382
5384 int NumPar = 1;
5385 double params[] = {mass};
5386 int i = CacheCheckReal(ip_low_pp_phi2_gaga_CMS8_cache, NumPar, params);
5387 if (i>=0) {
5388 return(ip_low_pp_phi2_gaga_CMS8_cache[NumPar][i] );
5389 } else {
5390 double newResult = interpolate(CMS8_pp_phi2_gaga,mass);
5391 CacheShiftReal(ip_low_pp_phi2_gaga_CMS8_cache, NumPar, params, newResult);
5392 return newResult;
5393 }
5394}
5395
5397 int NumPar = 1;
5398 double params[] = {mass};
5399 int i = CacheCheckReal(ip_low_pp_phi2_gaga_CMS13_cache, NumPar, params);
5400 if (i>=0) {
5401 return(ip_low_pp_phi2_gaga_CMS13_cache[NumPar][i] );
5402 } else {
5403 double newResult = interpolate (CMS13_pp_phi2_gaga,mass);
5404 CacheShiftReal(ip_low_pp_phi2_gaga_CMS13_cache, NumPar, params, newResult);
5405 return newResult;
5406 }
5407}
5408
5410 int NumPar = 1;
5411 double params[] = {mass};
5412 int i = CacheCheckReal(ip_low_pp_phi2_gaga_ATLAS13_cache, NumPar, params);
5413 if (i>=0) {
5414 return(ip_low_pp_phi2_gaga_ATLAS13_cache[NumPar][i] );
5415 } else {
5416 double newResult = interpolate (ATLAS13_pp_phi2_gaga_low,mass);
5417 CacheShiftReal(ip_low_pp_phi2_gaga_ATLAS13_cache, NumPar, params, newResult);
5418 return newResult;
5419 }
5420}
5421
5423 int NumPar = 1;
5424 double params[] = {mass};
5426 if (i>=0) {
5427 return(ip_low_pp_bbphi3_bbtautau_CMS13_cache[NumPar][i] );
5428 } else {
5429 double newResult = interpolate (CMS13_pp_bbphi3_bbtautau,mass);
5430 CacheShiftReal(ip_low_pp_bbphi3_bbtautau_CMS13_cache, NumPar, params, newResult);
5431 return newResult;
5432 }
5433}
5434
5436 int NumPar = 1;
5437 double params[] = {mass};
5439 if (i>=0) {
5440 return(ip_low_pp_bbphi3_bbtautau_CMS8_cache[NumPar][i] );
5441 } else {
5442 double newResult = interpolate (CMS8_pp_bbphi3_bbtautau,mass);
5443 CacheShiftReal(ip_low_pp_bbphi3_bbtautau_CMS8_cache, NumPar, params, newResult);
5444 return newResult;
5445 }
5446}
5447
5449 int NumPar = 1;
5450 double params[] = {mass};
5452 if (i>=0) {
5453 return(ip_low_pp_ttphi3_ttmumu_ATLAS13_cache[NumPar][i] );
5454 } else {
5455 double newResult = interpolateNU (ATLAS13_pp_ttphi3_ttmumu,mass);
5456 CacheShiftReal(ip_low_pp_ttphi3_ttmumu_ATLAS13_cache, NumPar, params, newResult);
5457 return newResult;
5458 }
5459}
5460
5462 int NumPar = 1;
5463 double params[] = {mass};
5464 int i = CacheCheckReal(ip_low_pp_bbphi3_bbmumu_CMS8_cache, NumPar, params);
5465 if (i>=0) {
5466 return(ip_low_pp_bbphi3_bbmumu_CMS8_cache[NumPar][i] );
5467 } else {
5468 double newResult = interpolate (CMS8_pp_bbphi3_bbmumu,mass);
5469 CacheShiftReal(ip_low_pp_bbphi3_bbmumu_CMS8_cache, NumPar, params, newResult);
5470 return newResult;
5471 }
5472}
5473
5475 int NumPar = 1;
5476 double params[] = {mass};
5477 int i = CacheCheckReal(ip_low_phi2Z_gagaZ_LEP209_cache, NumPar, params);
5478 if (i>=0) {
5479 return(ip_low_phi2Z_gagaZ_LEP209_cache[NumPar][i] );
5480 } else {
5481 double newResult = interpolate (LEP209_phi2Z_gagaZ,mass);
5482 CacheShiftReal(ip_low_phi2Z_gagaZ_LEP209_cache, NumPar, params, newResult);
5483 return newResult;
5484 }
5485}
5486
5488 int NumPar = 1;
5489 double params[] = {mass};
5490 int i = CacheCheckReal(ip_low_phi2Z_bbZ_LEP209_cache, NumPar, params);
5491 if (i>=0) {
5492 return(ip_low_phi2Z_bbZ_LEP209_cache[NumPar][i] );
5493 } else {
5494 double newResult = interpolate (LEP209_phi2Z_bbZ,mass);
5495 CacheShiftReal(ip_low_phi2Z_bbZ_LEP209_cache, NumPar, params, newResult);
5496 return newResult;
5497 }
5498}
5499
5501 int NumPar = 1;
5502 double params[] = {mass};
5503 int i = CacheCheckReal(ip_low_phi2Z_tautauZ_LEP209_cache, NumPar, params);
5504 if (i>=0) {
5505 return(ip_low_phi2Z_tautauZ_LEP209_cache[NumPar][i] );
5506 } else {
5507 double newResult = interpolate (LEP209_phi2Z_tautauZ,mass);
5508 CacheShiftReal(ip_low_phi2Z_tautauZ_LEP209_cache, NumPar, params, newResult);
5509 return newResult;
5510 }
5511}
5512
5513double GeneralTHDMcache::ip_low_phiEphi3_bbbb_LEP209(double mi, double mj, double di, double dj){
5514 int NumPar = 2;
5515 double params[] = {mi, mj};
5516 int i = CacheCheckReal(ip_low_phiEphi3_bbbb_LEP209_cache, NumPar, params);
5517 if (i>=0) {
5518 return ( ip_low_phiEphi3_bbbb_LEP209_cache[NumPar][i] );
5519 } else {
5520 double newResult = interpolate2Dsteps(LEP209_phiEphi3_bbbb, mi, mj, di, dj);
5521 CacheShiftReal(ip_low_phiEphi3_bbbb_LEP209_cache, NumPar, params, newResult);
5522 return newResult;
5523 }
5524}
5525
5526double GeneralTHDMcache::ip_low_phiEphi3_tautautautau_LEP209(double mi, double mj, double di, double dj){
5527 int NumPar = 2;
5528 double params[] = {mi, mj};
5530 if (i>=0) {
5531 return ( ip_low_phiEphi3_tautautautau_LEP209_cache[NumPar][i] );
5532 } else {
5533 double newResult = interpolate2Dsteps (LEP209_phiEphi3_tautautautau, mi, mj, di, dj);
5535 return newResult;
5536 }
5537}
5538
5540 int NumPar = 1;
5541 double params[] = {mass};
5542 int i = CacheCheckReal(ip_low_t_Hpb_csb_CMS8_cache, NumPar, params);
5543 if (i>=0) {
5544 return(ip_low_t_Hpb_csb_CMS8_cache[NumPar][i] );
5545 } else {
5546 double newResult = interpolateNU (CMS8_t_Hpb_csb,mass);
5547 CacheShiftReal(ip_low_t_Hpb_csb_CMS8_cache, NumPar, params, newResult);
5548 return newResult;
5549 }
5550}
5551
5553 int NumPar = 1;
5554 double params[] = {mass};
5555 int i = CacheCheckReal(ip_low_t_Hpb_taunub_CMS8_cache, NumPar, params);
5556 if (i>=0) {
5557 return(ip_low_t_Hpb_taunub_CMS8_cache[NumPar][i] );
5558 } else {
5559 double newResult = interpolateNU (CMS8_t_Hpb_taunub,mass);
5560 CacheShiftReal(ip_low_t_Hpb_taunub_CMS8_cache, NumPar, params, newResult);
5561 return newResult;
5562 }
5563}
5564
5566 int NumPar = 1;
5567 double params[] = {mass};
5568 int i = CacheCheckReal(ip_low_t_Hpb_cbb_CMS8_cache, NumPar, params);
5569 if (i>=0) {
5570 return(ip_low_t_Hpb_cbb_CMS8_cache[NumPar][i] );
5571 } else {
5572 double newResult = interpolate (CMS8_t_Hpb_cbb,mass);
5573 CacheShiftReal(ip_low_t_Hpb_cbb_CMS8_cache, NumPar, params, newResult);
5574 return newResult;
5575 }
5576}
5577
5579 int NumPar = 1;
5580 double params[] = {mass};
5581 int i = CacheCheckReal(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache, NumPar, params);
5582 if (i>=0) {
5583 return(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache[NumPar][i] );
5584 } else {
5585 double newResult = interpolateNU (CMS13_t_Hpb_WAb_Wmumub,mass);
5586 CacheShiftReal(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache, NumPar, params, newResult);
5587 return newResult;
5588 }
5589}
5590
5592 int NumPar = 1;
5593 double params[] = {mass};
5594 int i = CacheCheckReal(ip_low_t_Hpb_csb_CMS13_cache, NumPar, params);
5595 if (i>=0) {
5596 return(ip_low_t_Hpb_csb_CMS13_cache[NumPar][i] );
5597 } else {
5598 double newResult = interpolateNU (CMS13_t_Hpb_csb,mass);
5599 CacheShiftReal(ip_low_t_Hpb_csb_CMS13_cache, NumPar, params, newResult);
5600 return newResult;
5601 }
5602}
5603
5605 int NumPar = 1;
5606 double params[] = {mass};
5607 int i = CacheCheckReal(ip_low_t_Hpb_taunub_ATLAS8_cache, NumPar, params);
5608 if (i>=0) {
5609 return(ip_low_t_Hpb_taunub_ATLAS8_cache[NumPar][i] );
5610 } else {
5611 double newResult = interpolate (ATLAS8_t_Hpb_taunub,mass);
5612 CacheShiftReal(ip_low_t_Hpb_taunub_ATLAS8_cache, NumPar, params, newResult);
5613 return newResult;
5614 }
5615}
5616
5618 int NumPar = 1;
5619 double params[] = {mass};
5620 int i = CacheCheckReal(ip_low_t_Hpb_cbb_ATLAS13_cache, NumPar, params);
5621 if (i>=0) {
5622 return(ip_low_t_Hpb_cbb_ATLAS13_cache[NumPar][i] );
5623 } else {
5624 double newResult = interpolate (ATLAS13_t_Hpb_cbb,mass);
5625 CacheShiftReal(ip_low_t_Hpb_cbb_ATLAS13_cache, NumPar, params, newResult);
5626 return newResult;
5627 }
5628}
5629
5631 int NumPar = 1;
5632 double params[] = {mass};
5634 if (i>=0) {
5635 return(ip_low_t_Hpb_WAb_Wmumub_ATLAS13_cache[NumPar][i] );
5636 } else {
5637 double newResult = interpolateNU (ATLAS13_t_Hpb_WAb_Wmumub,mass);
5638 CacheShiftReal(ip_low_t_Hpb_WAb_Wmumub_ATLAS13_cache, NumPar, params, newResult);
5639 return newResult;
5640 }
5641}
5642
5644 int NumPar = 1;
5645 double params[] = {mass};
5646 int i = CacheCheckReal(ip_low_t_Hpb_csb_ATLAS13_cache, NumPar, params);
5647 if (i>=0) {
5648 return(ip_low_t_Hpb_csb_ATLAS13_cache[NumPar][i] );
5649 } else {
5650 double newResult = interpolateNU (ATLAS13_t_Hpb_csb,mass);
5651 CacheShiftReal(ip_low_t_Hpb_csb_ATLAS13_cache, NumPar, params, newResult);
5652 return newResult;
5653 }
5654}
5655
5657 int NumPar = 1;
5658 double params[] = {mass};
5659 int i = CacheCheckReal(ip_low_HpHm_taunutaunu_LEP209_cache, NumPar, params);
5660 if (i>=0) {
5661 return(ip_low_HpHm_taunutaunu_LEP209_cache[NumPar][i] );
5662 } else {
5663 double newResult = interpolate (LEP209_HpHm_taunutaunu,mass);
5664 CacheShiftReal(ip_low_HpHm_taunutaunu_LEP209_cache, NumPar, params, newResult);
5665 return newResult;
5666 }
5667}
5668
5670 int NumPar = 1;
5671 double params[] = {mass};
5672 int i = CacheCheckReal(ip_low_HpHm_qqqq_LEP209_cache, NumPar, params);
5673 if (i>=0) {
5674 return(ip_low_HpHm_qqqq_LEP209_cache[NumPar][i] );
5675 } else {
5676 double newResult = interpolate (LEP209_HpHm_qqqq,mass);
5677 CacheShiftReal(ip_low_HpHm_qqqq_LEP209_cache, NumPar, params, newResult);
5678 return newResult;
5679 }
5680}
5681
5683 int NumPar = 1;
5684 double params[] = {mass};
5685 int i = CacheCheckReal(ip_low_HpHm_qqtaunu_OPAL209_cache, NumPar, params);
5686 if (i>=0) {
5687 return(ip_low_HpHm_qqtaunu_OPAL209_cache[NumPar][i] );
5688 } else {
5689 double newResult = interpolate (OPAL209_HpHm_qqtaunu,mass);
5690 CacheShiftReal(ip_low_HpHm_qqtaunu_OPAL209_cache, NumPar, params, newResult);
5691 return newResult;
5692 }
5693}
5694
5696 int NumPar = 1;
5697 double params[] = {mass};
5698 int i = CacheCheckReal(ip_low_HpHm_qqtaunu_OPAL172_cache, NumPar, params);
5699 if (i>=0) {
5700 return(ip_low_HpHm_qqtaunu_OPAL172_cache[NumPar][i] );
5701 } else {
5702 double newResult = interpolate (OPAL172_HpHm_qqtaunu,mass);
5703 CacheShiftReal(ip_low_HpHm_qqtaunu_OPAL172_cache, NumPar, params, newResult);
5704 return newResult;
5705 }
5706}
5707
5708double GeneralTHDMcache::ip_low_HpHm_AWstAWst_bbbb_OPAL209(double mi, double mj, double di, double dj){
5709 int NumPar = 2;
5710 double params[] = {mi, mj};
5712 if (i>=0) {
5713 return ( ip_low_HpHm_AWstAWst_bbbb_OPAL209_cache[NumPar][i] );
5714 } else {
5715 double newResult = interpolate2Dsteps (OPAL209_HpHm_AWstAWst_bbbb, mi, mj, di, dj);
5716 CacheShiftReal(ip_low_HpHm_AWstAWst_bbbb_OPAL209_cache, NumPar, params, newResult);
5717 return newResult;
5718 }
5719}
5720
5721double GeneralTHDMcache::ip_low_HpHm_taunuAWst_taunubb_OPAL209(double mi, double mj, double di, double dj){
5722 int NumPar = 2;
5723 double params[] = {mi, mj};
5725 if (i>=0) {
5726 return ( ip_low_HpHm_taunuAWst_taunubb_OPAL209_cache[NumPar][i] );
5727 } else {
5728 double newResult = interpolate2Dsteps (OPAL209_HpHm_taunuAWst_taunubb, mi, mj, di, dj);
5730 return newResult;
5731 }
5732}
5733
5735 int NumPar = 1;
5736 double params[] = {mass};
5738 if (i>=0) {
5739 return(ip_susy_pp_HpHm_taunutaunu_ATLAS13_cache[NumPar][i] );
5740 } else {
5741 double newResult = interpolate (ATLAS13_pp_HpHm_taunutaunu,mass);
5742 CacheShiftReal(ip_susy_pp_HpHm_taunutaunu_ATLAS13_cache, NumPar, params, newResult);
5743 return newResult;
5744 }
5745}
5746
5748 int NumPar = 1;
5749 double params[] = {mass};
5751 if (i>=0) {
5752 return(ip_susy_pp_HpHm_taunutaunu_CMS13_cache[NumPar][i] );
5753 } else {
5754 double newResult = interpolateNU (CMS13_pp_HpHm_taunutaunu,mass);
5755 CacheShiftReal(ip_susy_pp_HpHm_taunutaunu_CMS13_cache, NumPar, params, newResult);
5756 return newResult;
5757 }
5758}
5759
5761 int NumPar = 1;
5762 double params[] = {mass};
5764 if (i>=0) {
5765 return(ip_susy_pp_HpHm_munumunu_ATLAS13_cache[NumPar][i] );
5766 } else {
5767 double newResult = interpolateNU (ATLAS13_pp_HpHm_munumunu,mass);
5768 CacheShiftReal(ip_susy_pp_HpHm_munumunu_ATLAS13_cache, NumPar, params, newResult);
5769 return newResult;
5770 }
5771}
5772
5774 int NumPar = 1;
5775 double params[] = {mass};
5777 if (i>=0) {
5778 return(ip_susy_pp_HpHm_munumunu_CMS13_cache[NumPar][i] );
5779 } else {
5780 double newResult = interpolateNU (CMS13_pp_HpHm_munumunu,mass);
5781 CacheShiftReal(ip_susy_pp_HpHm_munumunu_CMS13_cache, NumPar, params, newResult);
5782 return newResult;
5783 }
5784}
5785
5787 // data from lepsusy.web.cern.ch/lepsusy/www/sleptons_summer04/slep_final.html
5788 // taking mid-value from each coloured range
5789
5790 double sigxBRxBR;
5791
5792 if(mass >= 45. && mass <= 65.)
5793 sigxBRxBR = 0.025;
5794 else if(mass > 65. && mass <= 76.)
5795 sigxBRxBR = 0.035;
5796 else if(mass > 76. && mass <= 86.)
5797 sigxBRxBR = 0.025;
5798 else if(mass > 86. && mass <= 89.)
5799 sigxBRxBR = 0.035;
5800 else if(mass > 89. && mass <= 96.)
5801 sigxBRxBR = 0.025;
5802 else if(mass > 96. && mass <= 97.)
5803 sigxBRxBR = 0.015;
5804 else if(mass > 97. && mass <= 98.)
5805 sigxBRxBR = 0.025;
5806 else if(mass > 98. && mass <= 99.)
5807 sigxBRxBR = 0.015;
5808 else if(mass > 99. && mass <= 101.)
5809 sigxBRxBR = 0.025;
5810 else if(mass > 101. && mass <= 102.)
5811 sigxBRxBR = 0.035;
5812 else
5813 sigxBRxBR = 1.e-10;
5814
5815 return sigxBRxBR;
5816}
5817
5818
5819//Interpolation function for the integrals
5820
5821double GeneralTHDMcache::ip_integral_x2_1mx_G(double wa, double wb){
5822 int NumPar = 2;
5823 double params[] = {wa, wb};
5824 int i = CacheCheckReal(ip_integral_x2_1mx_G_cache, NumPar, params);
5825 if (i>=0) {
5826 return(ip_integral_x2_1mx_G_cache[NumPar][i] );
5827 } else {
5828 double log10wa = log10(wa);
5829 double log10wb = log10(wb);
5830 double newResult = interpolate2Dv2(integral_x2_1mx_G_log,log10wa,log10wb);
5831 CacheShiftReal(ip_integral_x2_1mx_G_cache, NumPar, params, newResult);
5832 return newResult;
5833 }
5834}
5835
5836
5837double GeneralTHDMcache::ip_integral_x2_1px_G(double wa, double wb){
5838 int NumPar = 2;
5839 double params[] = {wa, wb};
5840 int i = CacheCheckReal(ip_integral_x2_1px_G_cache, NumPar, params);
5841 if (i>=0) {
5842 return(ip_integral_x2_1px_G_cache[NumPar][i] );
5843 } else {
5844 double log10wa = log10(wa);
5845 double log10wb = log10(wb);
5846 double newResult = interpolate2Dv2(integral_x2_1px_G_log,log10wa,log10wb);
5847 CacheShiftReal(ip_integral_x2_1px_G_cache, NumPar, params, newResult);
5848 return newResult;
5849 }
5850}
5851
5852
5853
5854double GeneralTHDMcache::ip_integral_x2_G(double wa, double wb){
5855 int NumPar = 2;
5856 double params[] = {wa, wb};
5857 int i = CacheCheckReal(ip_integral_x2_G_cache, NumPar, params);
5858 if (i>=0) {
5859 return(ip_integral_x2_G_cache[NumPar][i] );
5860 } else {
5861 double log10wa = log10(wa);
5862 double log10wb = log10(wb);
5863 double newResult = interpolate2Dv2(integral_x2_G_log,log10wa,log10wb);
5864 CacheShiftReal(ip_integral_x2_G_cache, NumPar, params, newResult);
5865 return newResult;
5866 }
5867}
5868
5869double GeneralTHDMcache::ip_integral_x_1mx2_G(double wa, double wb){
5870 int NumPar = 2;
5871 double params[] = {wa, wb};
5872 int i = CacheCheckReal(ip_integral_x_1mx2_G_cache, NumPar, params);
5873 if (i>=0) {
5874 return(ip_integral_x_1mx2_G_cache[NumPar][i] );
5875 } else {
5876 double log10wa = log10(wa);
5877 double log10wb = log10(wb);
5878 double newResult = interpolate2Dv2(integral_x_1mx2_G_log,log10wa,log10wb);
5879 CacheShiftReal(ip_integral_x_1mx2_G_cache, NumPar, params, newResult);
5880 return newResult;
5881 }
5882}
5883
5884
5886 int NumPar = 2;
5887 double params[] = {wa, wb};
5888 int i = CacheCheckReal(ip_integral_x_1mx_1px_G_cache, NumPar, params);
5889 if (i>=0) {
5890 return(ip_integral_x_1mx_1px_G_cache[NumPar][i] );
5891 } else {
5892 double log10wa = log10(wa);
5893 double log10wb = log10(wb);
5894 double newResult = interpolate2Dv2(integral_x_1mx_1px_G_log,log10wa,log10wb);
5895 CacheShiftReal(ip_integral_x_1mx_1px_G_cache, NumPar, params, newResult);
5896 return newResult;
5897 }
5898}
5899
5900
5902 int NumPar = 1;
5903 double params[] = {wb};
5905 if (i>=0) {
5907 } else {
5908 double log10wb = log10(wb);
5909 double newResult = interpolate(integral_x2_1mx_G_variable_set_1_log,log10wb);
5911 return newResult;
5912 }
5913}
5914
5915
5917 int NumPar = 1;
5918 double params[] = {wb};
5920 if (i>=0) {
5921 return(ip_integral_x2_G_variable_set_1_cache[NumPar][i] );
5922 } else {
5923 double log10wb = log10(wb);
5924 double newResult = interpolate(integral_x2_G_variable_set_1_log,log10wb);
5925 CacheShiftReal(ip_integral_x2_G_variable_set_1_cache, NumPar, params, newResult);
5926 return newResult;
5927 }
5928}
5929
5930
5932 int NumPar = 1;
5933 double params[] = {wb};
5935 if (i>=0) {
5937 } else {
5938 double log10wb = log10(wb);
5939 double newResult = interpolate(integral_x_1mx2_G_variable_set_0_log,log10wb);
5941 return newResult;
5942 }
5943}
5944
5945
5947 int NumPar = 1;
5948 double params[] = {ratio};
5949 int i = CacheCheckReal(ip_integral_perturb_ATHDM_cache, NumPar, params);
5950 if (i>=0) {
5951 return(ip_integral_perturb_ATHDM_cache[NumPar][i] );
5952 } else {
5953 double log10ratio = log10(ratio);
5954 double newResult = interpolate(integral_perturb_ATHDM_values_log,log10ratio);
5955 CacheShiftReal(ip_integral_perturb_ATHDM_cache, NumPar, params, newResult);
5956 return newResult;
5957 }
5958}
5959
5960
5961double GeneralTHDMcache::ip_integral_Hp_A_Wstar(double mi, double mj, double di, double dj){
5962 int NumPar = 2;
5963 double params[] = {mi, mj};
5964 int i = CacheCheckReal(ip_integral_Hp_A_Wstar_cache, NumPar, params);
5965 if (i>=0) {
5966 return ( ip_integral_Hp_A_Wstar_cache[NumPar][i] );
5967 } else {
5968 double newResult = interpolate2Dsteps (integral_Hp_A_Wstar, mi, mj, di, dj);
5969 CacheShiftReal(ip_integral_Hp_A_Wstar_cache, NumPar, params, newResult);
5970 return newResult;
5971 }
5972}
5973
5974
5975//This seems not to be used by the code. Check if this was only something included of the THDM
5976double GeneralTHDMcache::ip_ex_bsgamma(double logtb, double logmHp){
5977 int NumPar = 2;
5978 double params[] = {logtb, logmHp};
5979
5980 int i = CacheCheckReal(ip_ex_bsgamma_cache, NumPar, params);
5981 if (i>=0) {
5982 return ( ip_ex_bsgamma_cache[NumPar][i] );
5983 } else {
5984 double newResult = interpolate2D(arraybsgamma, logtb, logmHp);
5985 CacheShiftReal(ip_ex_bsgamma_cache, NumPar, params, newResult);
5986 return newResult;
5987 }
5988}
5989
5990
5991
5992
5993// Function needed to calculate some loop functions
5994
5995gslpp::complex GeneralTHDMcache::f_func(const double x) const{
5996 if(x<1) {
5997 gslpp::complex z = -gslpp::complex::i()*M_PI;
5998 return -pow(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z,2)/4.0;
5999 }
6000 else {
6001 return pow(asin(sqrt(1.0/x)),2);
6002 }
6003}
6004
6005gslpp::complex GeneralTHDMcache::g_func(const double x) const{
6006 if(x<1) {
6007 gslpp::complex z = -gslpp::complex::i()*M_PI;
6008 gslpp::complex gs1 = sqrt(1.0-x)*(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z)/2.0;
6009 return gs1;
6010 }
6011 else {
6012 gslpp::complex gg1 = sqrt(x-1.0)*asin(sqrt(1.0/x));
6013 return gg1;
6014 }
6015}
6016
6017gslpp::complex GeneralTHDMcache::Int1(const double tau, const double lambda) const{
6018 return tau*lambda/(tau-lambda)/2.0+tau*tau*lambda*lambda/((tau-lambda)
6019 *(tau-lambda))/2.0*(f_func(tau)-f_func(lambda))+tau*tau*lambda/((tau-lambda)
6020 *(tau-lambda))*(g_func(tau)-g_func(lambda));
6021}
6022
6023gslpp::complex GeneralTHDMcache::Int2(const double tau, const double lambda) const{
6024 return -tau*lambda/(tau-lambda)/2.0*(f_func(tau)-f_func(lambda));
6025}
6026
6027 //Loop functions needed for decays and cross sections
6028
6029
6030gslpp::complex GeneralTHDMcache::I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const {
6031 int NumPar = 4;
6032 double params[] = {mHl2, Mu, Mc, Mt};
6033
6034 int i = CacheCheck(I_h_U_cache, NumPar, params);
6035 if (i>=0) {
6036 return ( I_h_U_cache[NumPar][i] );
6037 } else {
6038 double TAUu=4.0*Mu*Mu/mHl2;
6039 double TAUc=4.0*Mc*Mc/mHl2;
6040 double TAUt=4.0*Mt*Mt/mHl2;
6041 gslpp::complex newResult = -(8./3.)*(TAUu*(1.0+(1.0-TAUu)*f_func(TAUu))
6042 +TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))+TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
6043 CacheShift(I_h_U_cache, NumPar, params, newResult);
6044 return newResult;
6045 }
6046}
6047
6048gslpp::complex GeneralTHDMcache::I_HH_U(const double mHh2, const double Mc, const double Mt) const {
6049 int NumPar = 3;
6050 double params[] = {mHh2, Mc, Mt};
6051
6052 int i = CacheCheck(I_HH_U_cache, NumPar, params);
6053 if (i>=0) {
6054 return ( I_HH_U_cache[NumPar][i] );
6055 } else {
6056 double TAUc=4.0*Mc*Mc/mHh2;
6057 double TAUt=4.0*Mt*Mt/mHh2;
6058 gslpp::complex newResult = -(8./3.)*(TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))
6059 +TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
6060 CacheShift(I_HH_U_cache, NumPar, params, newResult);
6061 return newResult;
6062 }
6063}
6064
6065gslpp::complex GeneralTHDMcache::I_A_U(const double mA2, const double Mc, const double Mt) const {
6066 int NumPar = 3;
6067 double params[] = {mA2, Mc, Mt};
6068
6069 int i = CacheCheck(I_A_U_cache, NumPar, params);
6070 if (i>=0) {
6071 return ( I_A_U_cache[NumPar][i] );
6072 } else {
6073 double TAUc=4.0*Mc*Mc/mA2;
6074 double TAUt=4.0*Mt*Mt/mA2;
6075 gslpp::complex newResult = -(8./3.)*(TAUc*f_func(TAUc)+TAUt*f_func(TAUt));
6076 CacheShift(I_A_U_cache, NumPar, params, newResult);
6077 return newResult;
6078 }
6079}
6080
6081gslpp::complex GeneralTHDMcache::I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const {
6082 int NumPar = 4;
6083 double params[] = {mHl2, Md, Ms, Mb};
6084
6085 int i = CacheCheck(I_h_D_cache, NumPar, params);
6086 if (i>=0) {
6087 return ( I_h_D_cache[NumPar][i] );
6088 } else {
6089 double TAUd=4.0*Md*Md/mHl2;
6090 double TAUs=4.0*Ms*Ms/mHl2;
6091 double TAUb=4.0*Mb*Mb/mHl2;
6092 gslpp::complex newResult = -(2./3.)*(TAUd*(1.0+(1.0-TAUd)*f_func(TAUd))
6093 +TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))+TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
6094 CacheShift(I_h_D_cache, NumPar, params, newResult);
6095 return newResult;
6096 }
6097}
6098
6099gslpp::complex GeneralTHDMcache::I_HH_D(const double mHh2, const double Ms, const double Mb) const {
6100 int NumPar = 3;
6101 double params[] = {mHh2, Ms, Mb};
6102
6103 int i = CacheCheck(I_HH_D_cache, NumPar, params);
6104 if (i>=0) {
6105 return ( I_HH_D_cache[NumPar][i] );
6106 } else {
6107 double TAUs=4.0*Ms*Ms/mHh2;
6108 double TAUb=4.0*Mb*Mb/mHh2;
6109 gslpp::complex newResult = -(2./3.)*(TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))
6110 +TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
6111 CacheShift(I_HH_D_cache, NumPar, params, newResult);
6112 return newResult;
6113 }
6114}
6115
6116gslpp::complex GeneralTHDMcache::I_A_D(const double mA2, const double Ms, const double Mb) const {
6117 int NumPar = 3;
6118 double params[] = {mA2, Ms, Mb};
6119
6120 int i = CacheCheck(I_A_D_cache, NumPar, params);
6121 if (i>=0) {
6122 return ( I_A_D_cache[NumPar][i] );
6123 } else {
6124 double TAUs=4.0*Ms*Ms/mA2;
6125 double TAUb=4.0*Mb*Mb/mA2;
6126 gslpp::complex newResult = -(2./3.)*(TAUs*f_func(TAUs)+TAUb*f_func(TAUb));
6127 CacheShift(I_A_D_cache, NumPar, params, newResult);
6128 return newResult;
6129 }
6130}
6131
6132gslpp::complex GeneralTHDMcache::I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const {
6133 int NumPar = 4;
6134 double params[] = {mHl2, Me, Mmu, Mtau};
6135
6136 int i = CacheCheck(I_h_L_cache, NumPar, params);
6137 if (i>=0) {
6138 return ( I_h_L_cache[NumPar][i] );
6139 } else {
6140 double TAUe=4.0*Me*Me/mHl2;
6141 double TAUmu=4.0*Mmu*Mmu/mHl2;
6142 double TAUtau=4.0*Mtau*Mtau/mHl2;
6143 gslpp::complex newResult = -2.0*(TAUe*(1.0+(1.0-TAUe)*f_func(TAUe))
6144 +TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))
6145 +TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
6146 CacheShift(I_h_L_cache, NumPar, params, newResult);
6147 return newResult;
6148 }
6149}
6150
6151gslpp::complex GeneralTHDMcache::I_HH_L(const double mHh2, const double Mmu, const double Mtau) const {
6152 int NumPar = 3;
6153 double params[] = {mHh2, Mmu, Mtau};
6154
6155 int i = CacheCheck(I_HH_L_cache, NumPar, params);
6156 if (i>=0) {
6157 return ( I_HH_L_cache[NumPar][i] );
6158 } else {
6159 double TAUmu=4.0*Mmu*Mmu/mHh2;
6160 double TAUtau=4.0*Mtau*Mtau/mHh2;
6161 gslpp::complex newResult = -2.0*(TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))+
6162 TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
6163 CacheShift(I_HH_L_cache, NumPar, params, newResult);
6164 return newResult;
6165 }
6166}
6167
6168gslpp::complex GeneralTHDMcache::I_A_L(const double mA2, const double Mmu, const double Mtau) const {
6169 int NumPar = 3;
6170 double params[] = {mA2, Mmu, Mtau};
6171
6172 int i = CacheCheck(I_A_L_cache, NumPar, params);
6173 if (i>=0) {
6174 return ( I_A_L_cache[NumPar][i] );
6175 } else {
6176 double TAUmu=4.0*Mmu*Mmu/mA2;
6177 double TAUtau=4.0*Mtau*Mtau/mA2;
6178 gslpp::complex newResult = -2.0*(TAUmu*f_func(TAUmu)+TAUtau*f_func(TAUtau));
6179 CacheShift(I_A_L_cache, NumPar, params, newResult);
6180 return newResult;
6181 }
6182}
6183
6184gslpp::complex GeneralTHDMcache::I_H_W(const double mH, const double MW) const {
6185 int NumPar = 2;
6186 double params[] = {mH, MW};
6187
6188 int i = CacheCheck(I_H_W_cache, NumPar, params);
6189 if (i>=0) {
6190 return ( I_H_W_cache[NumPar][i] );
6191 } else {
6192 double TAUw=4.0*MW*MW/(mH*mH);
6193 gslpp::complex newResult = 2.0 + 3.0*TAUw + 3.0*TAUw*(2.0-TAUw)*f_func(TAUw);
6194 CacheShift(I_H_W_cache, NumPar, params, newResult);
6195 return newResult;
6196 }
6197}
6198
6199gslpp::complex GeneralTHDMcache::I_H_Hp(const double mHp2, const double mH) const {
6200 int NumPar = 2;
6201 double params[] = {mHp2, mH};
6202
6203 int i = CacheCheck(I_H_Hp_cache, NumPar, params);
6204 if (i>=0) {
6205 return ( I_H_Hp_cache[NumPar][i] );
6206 } else {
6207 double TAUhp=4.0*mHp2/(mH*mH);
6208 gslpp::complex newResult = -TAUhp*(1.0-TAUhp*f_func(TAUhp));
6209 CacheShift(I_H_Hp_cache, NumPar, params, newResult);
6210 return newResult;
6211 }
6212}
6213
6214gslpp::complex GeneralTHDMcache::A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const {
6215 int NumPar = 6;
6216 double params[] = {mHl2, cW2, Mu, Mc, Mt, MZ};
6217
6218 int i = CacheCheck(A_h_U_cache, NumPar, params);
6219 if (i>=0) {
6220 return ( A_h_U_cache[NumPar][i] );
6221 } else {
6222 double TAUu=4.0*Mu*Mu/mHl2;
6223 double TAUc=4.0*Mc*Mc/mHl2;
6224 double TAUt=4.0*Mt*Mt/mHl2;
6225 double LAMu=4.0*Mu*Mu/(MZ*MZ);
6226 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6227 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6228 double sW2=1.0-cW2;
6229 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUu,LAMu)+Int1(TAUc,LAMc)
6230 +Int1(TAUt,LAMt)-Int2(TAUu,LAMu)-Int2(TAUc,LAMc)-Int2(TAUt,LAMt));
6231 CacheShift(A_h_U_cache, NumPar, params, newResult);
6232 return newResult;
6233 }
6234
6235}
6236
6237gslpp::complex GeneralTHDMcache::A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const {
6238 int NumPar = 5;
6239 double params[] = {mHh2, cW2, Mc, Mt, MZ};
6240
6241 int i = CacheCheck(A_HH_U_cache, NumPar, params);
6242 if (i>=0) {
6243 return ( A_HH_U_cache[NumPar][i] );
6244 } else {
6245 double TAUc=4.0*Mc*Mc/mHh2;
6246 double TAUt=4.0*Mt*Mt/mHh2;
6247 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6248 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6249 double sW2=1.0-cW2;
6250
6251
6252
6253 //std::cout<<"\033[1;36m sW2= \033[0m "<< sW2 <<std::endl;
6254
6255 //std::cout<<"\033[1;36m cW2= \033[0m "<< cW2 <<std::endl;
6256
6257 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUc,LAMc)-Int2(TAUc,LAMc)
6258 +Int1(TAUt,LAMt)-Int2(TAUt,LAMt));
6259 CacheShift(A_HH_U_cache, NumPar, params, newResult);
6260 return newResult;
6261 }
6262}
6263
6264gslpp::complex GeneralTHDMcache::A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const {
6265 int NumPar = 5;
6266 double params[] = {mA2, cW2, Mc, Mt, MZ};
6267
6268 int i = CacheCheck(A_A_U_cache, NumPar, params);
6269 if (i>=0) {
6270 return ( A_A_U_cache[NumPar][i] );
6271 } else {
6272 double TAUc=4.0*Mc*Mc/mA2;
6273 double TAUt=4.0*Mt*Mt/mA2;
6274 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6275 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6276 double sW2=1.0-cW2;
6277 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(-Int2(TAUc,LAMc)-Int2(TAUt,LAMt))/sqrt(sW2*cW2);
6278 CacheShift(A_A_U_cache, NumPar, params, newResult);
6279 return newResult;
6280 }
6281}
6282
6283gslpp::complex GeneralTHDMcache::A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const {
6284 int NumPar = 6;
6285 double params[] = {mHl2, cW2, Md, Ms, Mb, MZ};
6286
6287 int i = CacheCheck(A_h_D_cache, NumPar, params);
6288 if (i>=0) {
6289 return ( A_h_D_cache[NumPar][i] );
6290 } else {
6291 double TAUd=4.0*Md*Md/mHl2;
6292 double TAUs=4.0*Ms*Ms/mHl2;
6293 double TAUb=4.0*Mb*Mb/mHl2;
6294 double LAMd=4.0*Md*Md/(MZ*MZ);
6295 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6296 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6297 double sW2=1.0-cW2;
6298 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUd,LAMd)+Int1(TAUs,LAMs)
6299 +Int1(TAUb,LAMb)-Int2(TAUd,LAMd)-Int2(TAUs,LAMs)-Int2(TAUb,LAMb));
6300 CacheShift(A_h_D_cache, NumPar, params, newResult);
6301 return newResult;
6302 }
6303}
6304
6305gslpp::complex GeneralTHDMcache::A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const {
6306 int NumPar = 5;
6307 double params[] = {mHh2, cW2, Ms, Mb, MZ};
6308
6309 int i = CacheCheck(A_HH_D_cache, NumPar, params);
6310 if (i>=0) {
6311 return ( A_HH_D_cache[NumPar][i] );
6312 } else {
6313 double TAUs=4.0*Ms*Ms/mHh2;
6314 double TAUb=4.0*Mb*Mb/mHh2;
6315 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6316 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6317 double sW2=1.0-cW2;
6318 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUs,LAMs)-Int2(TAUs,LAMs)
6319 +Int1(TAUb,LAMb)-Int2(TAUb,LAMb));
6320 CacheShift(A_HH_D_cache, NumPar, params, newResult);
6321 return newResult;
6322 }
6323}
6324
6325gslpp::complex GeneralTHDMcache::A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const {
6326 int NumPar = 5;
6327 double params[] = {mA2, cW2, Ms, Mb, MZ};
6328
6329 int i = CacheCheck(A_A_D_cache, NumPar, params);
6330 if (i>=0) {
6331 return ( A_A_D_cache[NumPar][i] );
6332 } else {
6333 double TAUs=4.0*Ms*Ms/mA2;
6334 double TAUb=4.0*Mb*Mb/mA2;
6335 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6336 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6337 double sW2=1.0-cW2;
6338 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(-Int2(TAUs,LAMs)-Int2(TAUb,LAMb))/sqrt(sW2*cW2);
6339 CacheShift(A_A_D_cache, NumPar, params, newResult);
6340 return newResult;
6341 }
6342}
6343
6344gslpp::complex GeneralTHDMcache::A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const {
6345 int NumPar = 6;
6346 double params[] = {mHl2, cW2, Me, Mmu, Mtau, MZ};
6347
6348 int i = CacheCheck(A_h_L_cache, NumPar, params);
6349 if (i>=0) {
6350 return ( A_h_L_cache[NumPar][i] );
6351 } else {
6352 double TAUe=4.0*Me*Me/mHl2;
6353 double TAUmu=4.0*Mmu*Mmu/mHl2;
6354 double TAUtau=4.0*Mtau*Mtau/mHl2;
6355 double LAMe=4.0*Me*Me/(MZ*MZ);
6356 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6357 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6358 double sW2=1.0-cW2;
6359 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUe,LAMe)+Int1(TAUmu,LAMmu)
6360 +Int1(TAUtau,LAMtau)-Int2(TAUe,LAMe)-Int2(TAUmu,LAMmu)
6361 -Int2(TAUtau,LAMtau));
6362 CacheShift(A_h_L_cache, NumPar, params, newResult);
6363 return newResult;
6364 }
6365}
6366
6367gslpp::complex GeneralTHDMcache::A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
6368 int NumPar = 5;
6369 double params[] = {mHh2, cW2, Mmu, Mtau, MZ};
6370
6371 int i = CacheCheck(A_HH_L_cache, NumPar, params);
6372 if (i>=0) {
6373 return ( A_HH_L_cache[NumPar][i] );
6374 } else {
6375 double TAUmu=4.0*Mmu*Mmu/mHh2;
6376 double TAUtau=4.0*Mtau*Mtau/mHh2;
6377 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6378 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6379 double sW2=1.0-cW2;
6380 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUmu,LAMmu)-Int2(TAUmu,LAMmu)
6381 +Int1(TAUtau,LAMtau)-Int2(TAUtau,LAMtau));
6382 CacheShift(A_HH_L_cache, NumPar, params, newResult);
6383 return newResult;
6384 }
6385}
6386
6387
6388
6389gslpp::complex GeneralTHDMcache::A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
6390 int NumPar = 5;
6391 double params[] = {mA2, cW2, Mmu, Mtau, MZ};
6392
6393 int i = CacheCheck(A_A_L_cache, NumPar, params);
6394 if (i>=0) {
6395 return ( A_A_L_cache[NumPar][i] );
6396 } else {
6397 double TAUmu=4.0*Mmu*Mmu/mA2;
6398 double TAUtau=4.0*Mtau*Mtau/mA2;
6399 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6400 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6401 double sW2=1.0-cW2;
6402 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(-Int2(TAUmu,LAMmu)-Int2(TAUtau,LAMtau))/sqrt(sW2*cW2);
6403 CacheShift(A_A_L_cache, NumPar, params, newResult);
6404 return newResult;
6405 }
6406}
6407
6408gslpp::complex GeneralTHDMcache::A_H_W(const double mH, const double cW2, const double MW, const double MZ) const {
6409 int NumPar = 4;
6410 double params[] = {mH, cW2, MW, MZ};
6411
6412 int i = CacheCheck(A_H_W_cache, NumPar, params);
6413 if (i>=0) {
6414 return ( A_H_W_cache[NumPar][i] );
6415 } else {
6416 double TAUw=4.0*MW*MW/(mH*mH);
6417 double LAMw=4.0*MW*MW/(MZ*MZ);
6418 double sW2=1.0-cW2;
6419 gslpp::complex newResult = -sqrt(cW2/sW2)*(4.0*(3.0-sW2/cW2)*Int2(TAUw,LAMw)
6420 +((1.0+2.0/TAUw)*sW2/cW2-(5.0+2.0/TAUw))*Int1(TAUw,LAMw));
6421 CacheShift(A_H_W_cache, NumPar, params, newResult);
6422 return newResult;
6423 }
6424}
6425
6426gslpp::complex GeneralTHDMcache::A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const {
6427 int NumPar = 4;
6428 double params[] = {mHp2, mH, cW2, MZ};
6429
6430 int i = CacheCheck(A_H_Hp_cache, NumPar, params);
6431 if (i>=0) {
6432 return ( A_H_Hp_cache[NumPar][i] );
6433 } else {
6434 double TAUhp=4.0*mHp2/(mH*mH);
6435 double LAMhp=4.0*mHp2/(MZ*MZ);
6436 double sW2=1.0-cW2;
6437 gslpp::complex newResult = (1.0-2.0*sW2)/sqrt(cW2*sW2)*Int1(TAUhp,LAMhp);
6438 CacheShift(A_H_Hp_cache, NumPar, params, newResult);
6439 return newResult;
6440 }
6441}
6442
6443
6444double GeneralTHDMcache::Sigma_HpHm_LEP(const double mass2, const double sqrts) const
6445{
6446 double s_LEP = sqrts * sqrts;
6447 double one_MZ2_s = 1. - MZ*MZ / s_LEP;
6448
6449 double cWsW = sqrt(cW2) * sqrt(sW2);
6450 double ahat_e = -1. / 4. / cWsW;
6451 double vhat_e = (-1. + 4. * sW2) / 4. / cWsW;
6452 double vhat_H = (-1. + 2. * sW2) / 2. / cWsW;
6453 double beta_H = sqrt(std::fabs(1. - 4. * mass2 / s_LEP));
6454
6455 return (2. * GF*GF * MW*MW*MW*MW * sW2*sW2 * (1. + 2. * vhat_e * vhat_H / one_MZ2_s +
6456 (ahat_e*ahat_e + vhat_e*vhat_e) * vhat_H*vhat_H / one_MZ2_s / one_MZ2_s) *
6457 beta_H*beta_H*beta_H / (3. * M_PI * s_LEP));
6458};
6459
6460
6461int GeneralTHDMcache::HSTheta (const double x) const{
6462 if(x<0) return 0.0;
6463 else return 1.0;
6464}
6465
6466
6467double GeneralTHDMcache::KaellenFunction(const double a2, const double b2, const double c2) const{
6468 int NumPar = 3;
6469 double params[] = {a2, b2, c2};
6470
6471 int i = CacheCheckReal(KaellenFunction_cache, NumPar, params);
6472 if (i>=0) {
6473 return ( KaellenFunction_cache[NumPar][i] );
6474 }
6475 else {
6476 double newResult = 0.0;
6477 double x = (a2-b2-c2)*(a2-b2-c2)-4.0*b2*c2;
6478 if(x>0) newResult = sqrt(std::fabs(x/a2))/2.0;
6479 CacheShiftReal(KaellenFunction_cache, NumPar, params, newResult);
6480 return newResult;
6481 }
6482}
6483
6484
6485 double GeneralTHDMcache::cW2GTHDM(const double c02) const{
6486 //std::cout<<"\033[1;32m c02= \033[0m "<< c02 <<std::endl;
6487 return c02;
6488 }
6489
6490
6491
6492 double GeneralTHDMcache::MWGTHDM(const double MW) const{
6493 return MW;
6494 }
6495
6496
6497
6498 double GeneralTHDMcache::beta(const double mf, const double m_2) const
6499 {
6500 // We take the absolute value; this beta should always be multiplied by Heaviside theta
6501 return sqrt(std::fabs(1.0 - 4.0*mf*mf / m_2));
6502 }
6503
6504
6505
6506 double GeneralTHDMcache::lambdaijk(const double Ri1,const double Ri2,const double Ri3,const double Rj1,const double Rj2,const double Rj3, const double Rk1,const double Rk2,const double Rk3, const double lambda1H, const double lambda3H, const double lambda4H, const double Relambda5H, const double Imlambda5H, const double Relambda6H, const double Imlambda6H, const double Relambda7H, const double Imlambda7H) const
6507 {
6508 return (1.0/2.0)*vev*(Imlambda7H*(-Ri3*Rj3*Rk3 - Ri2*Rj2*Rk3) - 3.0*Imlambda6H*Ri1*Rj1*Rk3
6509 + lambda1H*Ri1*Rj1*Rk1 + Relambda7H*Ri2*Rj2*Rk2 + 3.0*Relambda6H*Ri1*Rj1*Rk2
6510 +(Relambda5H + lambda3H + lambda4H)*Ri1*Rj2*Rk2 - (2.0*Relambda5H - lambda3H - lambda4H)*Ri1*Rj3*Rk3
6511 + Relambda7H*Ri2*Rj3*Rk3 - Imlambda5H*Ri1*Rj2*Rk3);
6512 }
6513
6514 double GeneralTHDMcache::lambdaipm(const double Ri1,const double Ri2, const double Ri3) const
6515 {
6516 return vev*(lambda3*Ri1 + Relambda7*Ri2 - Imlambda7*Ri3);
6517 }
6518
6520{
6521 //FLAG to select only the model in which all the couplings are the same (by families)
6522 if (!myGTHDM->getATHDMflag())
6523 {
6524 throw std::runtime_error("Signal strengths are only available in the A2HDM.");
6525 }
6526
6527 /*complex i */
6528 gslpp::complex i = gslpp::complex::i();
6529
6530 //fermionic couplings for phi1
6531 yu1 = myGTHDM->getyu1();
6532 yd1 = myGTHDM->getyd1();
6533 yl1 = myGTHDM->getyl1();
6534
6535 yu1R = myGTHDM->getyu1R();
6536 yd1R = myGTHDM->getyd1R();
6537 yl1R = myGTHDM->getyl1R();
6538
6539
6540 //std::cout<<"\033[1;30m yu1 = \033[0m "<< yu1 <<std::endl;
6541 //std::cout<<"\033[1;30m yd1 = \033[0m "<< yd1 <<std::endl;
6542 //std::cout<<"\033[1;30m yl1 = \033[0m "<< yl1 <<std::endl;
6543
6544 //std::cout<<"\033[1;30m yu1R = \033[0m "<< yu1R <<std::endl;
6545 //std::cout<<"\033[1;30m yd1R = \033[0m "<< yd1R <<std::endl;
6546 //std::cout<<"\033[1;30m yl1R = \033[0m "<< yl1R <<std::endl;
6547
6548 //The ggH cross section in the SM at 8 TeV
6549 double SigmaggF8 = myGTHDM->computeSigmaggH(8.0);
6550 //The square of the top-quark contribution to the ggH cross section in the SM at 8 TeV
6551 double Sigmaggh_tt8 = myGTHDM->computeSigmaggH_tt(8.0);
6552 //The square of the top-quark contribution to the ggH cross section in the SM at 13 TeV
6553 //double Sigmaggh_tt13 = myTHDM->computeSigmaggH_tt(13.0);
6554 //The square of the bottom-quark contribution to the ggH cross section in the SM at 8 TeV
6555 double Sigmaggh_bb8 = myGTHDM->computeSigmaggH_bb(8.0);
6556 //The square of the bottom-quark contribution to the ggH cross section in the SM at 13 TeV
6557 //double Sigmaggh_bb13 = myTHDM->computeSigmaggH_bb(13.0);
6558 //The ttH production cross section in the SM at 8 TeV
6559 double Sigmatth8 = myGTHDM->computeSigmattH(8.0);
6560 //The Vh cross section in the SM at 8 TeV.
6561 SigmaVh8 = myGTHDM->computeSigmaWH(8.0)+myGTHDM->computeSigmaZH(8.0);
6562 //The VBF cross section in the SM at 8 TeV.
6563 SigmaVBF8 = myGTHDM->computeSigmaVBF(8.0);
6564 //The bbH production cross section in the SM at 8 TeV
6565 double Sigmabbh8 = ip_cs_pptobbH_8(mHl);
6566
6567 //The ggH cross section in the SM at 13 TeV.
6568 SigmaggF13 = myGTHDM->computeSigmaggH(13.0);
6569 //The Vh cross section in the SM at 13 TeV.
6570 SigmaVh13 = myGTHDM->computeSigmaWH(13.0)+myGTHDM->computeSigmaZH(13.0);
6571 //The Zh cross section in the SM at 13 TeV.
6572 SigmaZh13 = myGTHDM->computeSigmaZH(13.0);
6573 //The ttH production cross section in the SM at 13 TeV
6574 double Sigmatth13 = myGTHDM->computeSigmattH(13.0);
6575 //The bbH production cross section in the SM at 13 TeV
6576 double Sigmabbh13 = ip_cs_pptobbH_13(mHl);
6577 //The VBF plus Vh production cross section in the SM at 13 TeV
6578 double SigmaVBFVh13 = (myGTHDM->computeSigmaVBF(13.0)+myGTHDM->computeSigmaWH(13.0)+myGTHDM->computeSigmaZH(13.0));
6579
6580
6582
6583
6584 //gg -> A (phi odd) production cross section ratio at 8 TeV, top loop only over total
6585 // double rSigmagghO_t8 = ip_csr_ggA_t_8(m1);
6586 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
6587 double rSigmagghO_b8 = ip_csr_ggA_b_8(m1);
6588
6589 //gg -> A (phiodd) production cross section at 8 TeV, total
6590 double SigmagghO_8 = ip_cs_ggtoA_8(m1);
6591
6592
6593 //gg -> A (phiodd) production cross section at 13 TeV, total
6594 // double SigmagghO_13 = ip_cs_ggtoA_13(m1);
6595
6596 // beta_h_t = beta(Mt, m1_2);
6597 beta_h_t = sqrt(-1.0+4.0*Mt*Mt/m1_2);
6598 beta_h_b = beta(Mb, m1_2);
6600 beta_h_c = beta(Mc, m1_2);
6601 beta_h_mu = beta(Mmu, m1_2);
6602
6603 /* r_ii is the ratio of the squared 2HDM vertex coupling of h to
6604 the particle i and the respective squared SM coupling. Where separated
6605 E means the even part (coming from the CP-even scalar) and O
6606 the odd part (coming from the CP-odd scalar) */
6607
6608 rh_QuQuE= yu1.real()*yu1.real();
6609 rh_QuQuO= yu1.imag()*yu1.imag();
6610 rh_QdQdE= yd1.real()*yd1.real();
6611 rh_QdQdO= yd1.imag()*yd1.imag();
6612 rh_QlQlE= yl1.real()*yl1.real();
6613 rh_QlQlO= yl1.imag()*yl1.imag();
6614 //Isn't the interference missing here???
6615 rh_ggE = yu1.real()*yd1.real() + (yu1.real()*yu1.real() - yu1.real()*yd1.real())*(Sigmaggh_tt8/SigmaggF8) + (yd1.real()*yd1.real() - yu1.real()*yd1.real())*(Sigmaggh_bb8/SigmaggF8);
6616 rh_ggO = yu1.imag()*yu1.imag() + (yu1.imag()*yu1.imag() - yu1.imag()*yd1.imag())*rSigmagghO_b8 + (yd1.imag()*yd1.imag() - yu1.imag()*yd1.imag())*rSigmagghO_b8;
6617 rh_gg = rh_ggE+rh_ggO*(SigmagghO_8/SigmaggF8);
6618 rh_VV=Rij_GTHDM(0,0)*Rij_GTHDM(0,0);
6619
6620
6621
6622 /*Loop functions needed to rh_gaga and rh_Zga ...*/
6623
6624
6625 gslpp::complex fermU=I_h_U(m1_2,Mu,Mc,Mt);
6626 gslpp::complex fermD=I_h_D(m1_2,Md,Ms,Mb);
6627 gslpp::complex fermL=I_h_L(m1_2,Me,Mmu,Mtau);
6628 gslpp::complex I_hSM_W=I_H_W(mHl,MW);
6629 gslpp::complex I_h_W=Rij_GTHDM(0,0)*I_hSM_W;
6630
6631
6632 gslpp::complex I_hSM_F= fermU+fermD+fermL;
6633 gslpp::complex I_hE_F= yu1.real()*fermU+ yd1.real()*fermD+yl1.real()*fermL;
6634
6635
6636 /*Coupling between h and two charged Higgs*/
6637
6638
6639 double lambdahHpHm = lambdaipm(Rij_GTHDM(0,0), Rij_GTHDM(0,1), Rij_GTHDM(0,2));
6640
6641 gslpp::complex I_h_Hp=(vev)/(2.0*mHp2)*I_H_Hp(mHp2,m1)*lambdahHpHm;
6642
6643 /*CP ODD */
6644
6645 gslpp::complex I_h_Ux=I_A_U(m1_2,Mc,Mt);
6646 gslpp::complex I_h_Dx=I_A_D(m1_2,Ms,Mb);
6647 gslpp::complex I_h_Lx=I_A_L(m1_2,Mmu,Mtau);
6648
6649 gslpp::complex I_hO_F = yu1.imag()*I_h_Ux + yd1.imag()*I_h_Dx + yl1.imag()*I_h_Lx;
6650
6651 // double Gamma_hgaga=(GF*Ale*Ale*m1*m1*m1/(sqrt(2.0)*128.0*M_PI*M_PI*M_PI))*((I_hE_F+I_h_W+I_h_Hp).abs2()+ (I_hO_F).abs2());
6652 rh_gaga = ((I_hE_F+I_h_W+I_h_Hp).abs2()+ (I_hO_F).abs2())/(I_hSM_F +I_hSM_W).abs2();
6653
6654 /* std::cout << "rh_gaga = " << rh_gaga << std::endl;
6655 std::cout << "I_hE_F = " << I_hE_F << std::endl;
6656 std::cout << "I_h_W = " << I_h_W << std::endl;
6657 std::cout << "I_h_Hp = " << I_h_Hp << std::endl;
6658 std::cout << "I_hO_F = " << I_hO_F << std::endl;
6659 std::cout << "I_hSM_F = " << I_hSM_F << std::endl;
6660 std::cout << "I_hSM_W = " << I_hSM_W << std::endl;*/
6661
6662 /* std::cout << "yu1 c = " << yu1 << std::endl;
6663 std::cout << "yd1 c = " << yd1 << std::endl;
6664 std::cout << "yl1 c = " << yl1 << std::endl;*/
6665
6666
6667 /*Decay to Z gamma
6668 CP-EVEN PART*/
6669
6670 gslpp::complex A_hE_Ux = A_h_U(m1_2,cW2,Mu,Mc,Mt,MZ);
6671 gslpp::complex A_hE_Dx = A_h_D(m1_2,cW2,Md,Ms,Mb,MZ);
6672 gslpp::complex A_hE_Lx = A_h_L(m1_2,cW2,Me,Mmu,Mtau,MZ);
6673 gslpp::complex A_hSM_W = A_H_W(m1,cW2,MW,MZ);
6674 gslpp::complex A_h_W = Rij_GTHDM(0,0)*A_hSM_W;
6675
6676 gslpp::complex A_hSM_F = (A_hE_Ux+ A_hE_Dx+ A_hE_Lx)/sqrt(sW2*cW2);
6677 gslpp::complex A_hE_F = (yu1.real()*A_hE_Ux+ yd1.real()*A_hE_Dx+ yl1.real()*A_hE_Lx)/sqrt(sW2*cW2);
6678
6679 gslpp::complex A_h_Hp =(vev)/(2.0*mHp2)*A_H_Hp(mHp2,m1,cW2,MZ)*(lambdahHpHm);
6680
6681 /*CP-ODD PART*/
6682
6683 gslpp::complex A_hO_Ux = A_A_U(m1_2,cW2,Mc,Mt,MZ);
6684 gslpp::complex A_hO_Dx = A_A_D(m1_2,cW2,Ms,Mb,MZ);
6685 gslpp::complex A_hO_Lx = A_A_L(m1_2,cW2,Mmu,Mtau,MZ);
6686
6687 gslpp::complex A_hO_F=yu1.imag()*A_hO_Ux + yd1.imag()*A_hO_Dx + yl1.imag()*A_hO_Lx;
6688
6689 // double Gamma_hZga=HSTheta(m1-MZ)*GF*Ale*Ale*m1*m1*m1/(sqrt(2.0)*64.0*M_PI*M_PI*M_PI)*(1.0-MZ*MZ/(m1*m1))*(1.0-MZ*MZ/(m1*m1))*(1.0-MZ*MZ/(m1*m1))*((A_hE_F+A_h_W+A_h_Hp).abs2()+ A_hO_F.abs2());
6690 rh_Zga = ((A_hE_F+A_h_W+A_h_Hp).abs2()+ A_hO_F.abs2())/(A_hSM_F +A_hSM_W ).abs2();
6691 //std::cout<<"\033[1;32m rh_Zga= \033[0m "<< rh_Zga <<std::endl;
6692 /*Decay to gluons*/
6693 //std::cout<<"\033[1;32m Ale= \033[0m "<< Ale <<std::endl;
6694
6695 //std::cout<<"\033[1;32m sW2= \033[0m "<< sW2 <<std::endl;
6696
6697// double Gamma_hgg=rh_gg*GF*Als*Als*m1*m1*m1/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)*(9.0/4.0)*(fermU/4.0+fermD).abs2();
6698
6699// double lambda122 = (2.0)*(lambdaijk(R11, R12, R13, R21, R22, R23, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
6700// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7) +
6701// lambdaijk(R21, R22, R23, R11, R12, R13, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
6702// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7) +
6703// lambdaijk(R21, R22, R23, R21, R22, R23, R11, R21, R13, lambda1, lambda3, lambda4, Relambda5,
6704// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7 ));
6705
6706 double lambda345 = (lambda3 + lambda4 + Relambda5);
6707
6708 //Modify for CPV cases
6709 double lambda122 = vev*(3.0*R21*R21*(lambda1*R11 + Relambda6*R12) + 2.0*R21*R22*(3.0*Relambda6*R11 + lambda345*R12) + R22*R22*(lambda345*R11 + 3.0*Relambda7*R12));
6710
6711 double lambda133 = (vev)*(Relambda7*R12 + (lambda3 + lambda4 - Relambda5)*R11);
6712
6713 double lambda1pm = vev*(lambda3*R11 + Relambda7*R12 - Imlambda7*R13);
6714
6715 double Gamma_hHH = HSTheta(m1 - 2.0*m2)*sqrt(std::fabs(1 - 4*(m2*m2)/(m1*m1)))*(lambda122*lambda122)/(32.0*M_PI*m1);
6716
6717 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6718 //double Gamma_hHH = HSTheta(m1 - 2.0*m2)*(KaellenFunction(m1_2,m2_2,m2_2)*lambda122*lambda122)/(8.0*m1_2*M_PI);
6719
6720 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6721 //double Gamma_hAA = HSTheta(m1 - 2.0*m3)*(KaellenFunction(m1_2,m3_2,m3_2)*lambda133*lambda133)/(8.0*m1_2*M_PI);
6722
6723 double Gamma_hAA = HSTheta(m1 - 2.0*m3)*sqrt(std::fabs(1 - 4*(m3*m3)/(m1*m1)))*(lambda133*lambda133)/(32.0*M_PI*m1);
6724
6725 double Gamma_hHpHm = HSTheta(m1-2.0*mHp)*sqrt(std::fabs(1 - 4*(mHp*mHp)/(m1*m1)))*(lambda1pm*lambda1pm)/(16.0*M_PI*m1);
6726
6727 //Check the sign of Rij in CPV case
6728 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6729 double Gamma_hHZ = HSTheta(m1-(m2+MZ))*pow(KaellenFunction(m1_2,MZ*MZ,m2_2),3)*(R23*R12 + R22*R13)*(R23*R12 + R22*R13)/(2.0*M_PI*vev*vev);//h -> phi2 Z
6730 double Gamma_hAZ = HSTheta(m1-(m3+MZ))*pow(KaellenFunction(m1_2,MZ*MZ,m3_2),3)*(R33*R12 + R32*R13)*(R33*R12 + R32*R13)/(2.0*M_PI*vev*vev);//h -> phi3 Z
6731
6732 // /* ggF_tth8 is the ratio of the THDM and SM cross sections for ggF or tth production at 8 TeV*/
6733 // ggF_tth8 = (SigmaggF8*rh_ggE + SigmagghO_8*rh_ggO + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF8 + Sigmatth8);
6734 // /* ggF_tth13 is the ratio of the THDM and SM cross sections for ggF or tth production at 13 TeV */
6735 // ggF_tth13 = (SigmaggF13*rh_ggE + SigmagghO_13*rh_ggO + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF13 + Sigmatth13);
6736 // /* pph13 is the ratio of the THDM and SM cross sections for an h production at 13 TeV */
6737 // pph13 = (SigmaggF13*rh_ggE + SigmagghO_13*rh_ggO+ SigmaVBFVh13*rh_VV + Sigmatth13*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))) + Sigmabbh13*(rh_QdQdE + rh_QdQdE/(beta(Mb, m1_2)*beta(Mb, m1_2))))/(SigmaggF13 + SigmaVBFVh13 + Sigmatth13 + Sigmabbh13);
6738 // /* VBF_Vh is the ratio of the THDM and SM cross sections for VBF or Vh production */
6739 // VBF_Vh = rh_VV;
6740
6741 /* ggF_tth8 is the ratio of the THDM and SM cross sections for ggF and tth production at 8 TeV*/
6742 //ggF_tth8 = (SigmaggF8*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF8 + Sigmatth8);
6743 ggF_tth8 = (SigmaggF8*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO))/(SigmaggF8 + Sigmatth8);
6744
6745 /*SM cross-section of higgs production at 8 TeV at LHC*/
6746 SigSM_pph8 = (SigmaggF8 + SigmaVBF8 + SigmaVh8 + Sigmatth8 + Sigmabbh8);
6747 /* pph8 is the ratio of the THDM and SM cross sections for h production at 8 TeV */
6748 //pph8 = (SigmaggF8*rh_gg+ (SigmaVBF8 + SigmaVh8)*rh_VV + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))) + Sigmabbh8*(rh_QdQdE + rh_QdQdE/(beta(Mb, m1_2)*beta(Mb, m1_2))))/SigSM_pph8;
6749 pph8 = (SigmaggF8*rh_gg+ (SigmaVBF8 + SigmaVh8)*rh_VV + Sigmatth8*(rh_QuQuE + rh_QuQuO) + Sigmabbh8*(rh_QdQdE + rh_QdQdE))/SigSM_pph8;
6750
6751 /* ggF_tth13 is the ratio of the THDM and SM cross sections for ggF and tth production at 13 TeV */
6752 //ggF_tth13 = (SigmaggF13*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF13 + Sigmatth13);
6753 ggF_tth13 = (SigmaggF13*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO))/(SigmaggF13 + Sigmatth13);
6754
6755 /*SM cross-section of higgs production at 13 TeV at LHC*/
6756 SigSM_pph13 = (SigmaggF13 + SigmaVBFVh13 + Sigmatth13 + Sigmabbh13);
6757 /* pph13 is the ratio of the THDM and SM cross sections for h production at 13 TeV */
6758 //pph13 = (SigmaggF13*rh_gg+ SigmaVBFVh13*rh_VV + Sigmatth13*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))) + Sigmabbh13*(rh_QdQdE + rh_QdQdE/(beta(Mb, m1_2)*beta(Mb, m1_2))))/SigSM_pph13;
6759 pph13 = (SigmaggF13*rh_gg+ SigmaVBFVh13*rh_VV + Sigmatth13*(rh_QuQuE + rh_QuQuO) + Sigmabbh13*(rh_QdQdE + rh_QdQdE))/SigSM_pph13;
6760
6761 /* VBF_Vh is the ratio of the THDM and SM cross sections for VBF and Vh production */
6762 VBF_Vh = rh_VV;
6763
6764 /* ggF_VBF_Vh13 is the ratio of the GTHDM and SM cross sections for ggF + VBF + Vh production at 13 TeV */
6765 ggF_VBF_Vh13 = (SigmaggF13 * rh_gg + SigmaVBFVh13 * rh_VV)/(SigmaggF13 + SigmaVBFVh13);
6766
6767 double Gamma_h_exp = myGTHDM->computeGammaHTotal();
6768
6769 //double Gamma_htobb = BrSM_htobb * (rh_QdQdE + rh_QdQdO/(beta(Mb, m1_2)*beta(Mb, m1_2))) * Gamma_h_exp;
6770 double Gamma_htobb = BrSM_htobb * (rh_QdQdE + rh_QdQdO) * Gamma_h_exp;
6771 double Gamma_htoWW = BrSM_htoWW * rh_VV * Gamma_h_exp;
6772 double Gamma_htoZZ = BrSM_htoZZ * rh_VV * Gamma_h_exp;
6773 //double Gamma_htotautau = BrSM_htotautau * (rh_QlQlE + rh_QlQlO/(beta(Mtau, m1_2)*beta(Mtau, m1_2))) * Gamma_h_exp;
6774 double Gamma_htotautau = BrSM_htotautau * (rh_QlQlE + rh_QlQlO) * Gamma_h_exp;
6775 double Gamma_htogaga = BrSM_htogaga * rh_gaga * Gamma_h_exp;
6776 double Gamma_htogg = BrSM_htogg * rh_gg * Gamma_h_exp;
6777 double Gamma_htoZga = BrSM_htoZga * rh_Zga * Gamma_h_exp;
6778 //double Gamma_htocc = BrSM_htocc * (rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))) * Gamma_h_exp;
6779 double Gamma_htocc = BrSM_htocc * (rh_QuQuE + rh_QuQuO) * Gamma_h_exp;
6780
6781 Gamma_h_inv = Gamma_hHpHm + Gamma_hHH + Gamma_hAA + Gamma_hHZ + Gamma_hAZ;
6782
6783 Gamma_h = (Gamma_htobb + Gamma_htoWW + Gamma_htoZZ + Gamma_htotautau + Gamma_htogaga +
6784 Gamma_htogg + Gamma_htoZga + Gamma_htocc + Gamma_h_inv);
6785
6786 GTHDM_BR_h_bb = Gamma_htobb / Gamma_h;
6787 GTHDM_BR_h_WW = Gamma_htoWW / Gamma_h;
6788 GTHDM_BR_h_ZZ = Gamma_htoZZ / Gamma_h;
6789 GTHDM_BR_h_tautau = Gamma_htotautau / Gamma_h;
6790 GTHDM_BR_h_cc = Gamma_htocc / Gamma_h;
6791 GTHDM_BR_h_gaga = Gamma_htogaga / Gamma_h;
6792 GTHDM_BR_h_gg = Gamma_htogg / Gamma_h;
6793 GTHDM_BR_h_HpHm = Gamma_hHpHm / Gamma_h;
6794 GTHDM_BR_h_HH = Gamma_hHH / Gamma_h;
6795 GTHDM_BR_h_AA = Gamma_hAA / Gamma_h;
6796 GTHDM_BR_h_HZ = Gamma_hHZ / Gamma_h;
6797 GTHDM_BR_h_AZ = Gamma_hAZ / Gamma_h;
6798
6799 sumModBRs = Gamma_h / Gamma_h_exp;
6800}
6801
6802
6803
6805{
6806 //FLAG to select only the model in which all the couplings are the same (by families)
6807 if (!myGTHDM->getATHDMflag())
6808 {
6809 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
6810 }
6811
6812 /*complex i */
6813 gslpp::complex i = gslpp::complex::i();
6814
6815 //Here we define the couplings to the fermions for the mass states
6816 yu2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) - i*Rij_GTHDM(1,2))*su.conjugate();
6817 yd2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) + i*Rij_GTHDM(1,2))*sd;
6818 yl2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) + i*Rij_GTHDM(1,2))*sl;
6819
6820 yu2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*su.real();
6821 yd2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*sd.real();
6822 yl2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*sl.real();
6823
6824 //These cross sections ratios are necessary for rphi2_gg
6825 //At 8 TeV
6826
6827 //SM gg -> H (phi even) production cross section ratio at 8 TeV, charm and top loop only over total
6828 double rSigmaggphi2E_tc8 = ip_csr_ggH_tc_8(m2);
6829 //SM gg -> H (phi even) production cross section ratio at 8 TeV, bottom loop only over total
6830 double rSigmaggphi2E_b8 = ip_csr_ggH_b_8(m2);
6831 //gg -> H (phieven) production cross section at 8 TeV, total
6832 // double Sigmaggphi2E_8 = ip_cs_ggtoH_8(m2);
6833
6834
6835 //gg -> A (phi odd) production cross section ratio at 8 TeV, charm and top loop only over total
6836 double rSigmaggphi2O_tc8 = ip_csr_ggA_tc_8(m2);
6837 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
6838 double rSigmaggphi2O_b8 = ip_csr_ggA_b_8(m2);
6839
6840 //gg -> A (phiodd) production cross section at 8 TeV, total
6841 // double Sigmaggphi2O_8 = ip_cs_ggtoA_8(m2);
6842
6843
6844 /* r_ii is the ratio of the squared 2HDM vertex coupling of phi2
6845 * to the particle phi2 and the respective squared SM coupling.
6846 * phi2 is fixed to be the non-SM and lightests (phi2), but can be translated*/
6847
6848 double rphi2_QuQuE= yu2.real()*yu2.real();
6849 double rphi2_QuQuO= yu2.imag()*yu2.imag();
6850 double rphi2_QdQdE= yd2.real()*yd2.real();
6851 double rphi2_QdQdO= yd2.imag()*yd2.imag();
6852 double rphi2_QlQlE= yl2.real()*yl2.real();
6853 double rphi2_QlQlO= yl2.imag()*yl2.imag();
6854 rphi2_ggE = yu2.real()*yd2.real() + (yu2.real()*yu2.real() - yu2.real()*yd2.real())*rSigmaggphi2E_tc8 + (yd2.real()*yd2.real() - yu2.real()*yd2.real())*rSigmaggphi2E_b8;
6855 rphi2_ggO = yu2.imag()*yu2.imag() + (yu2.imag()*yu2.imag() - yu2.imag()*yd2.imag())*rSigmaggphi2O_tc8 + (yd2.imag()*yd2.imag() - yu2.imag()*yd2.imag())*rSigmaggphi2O_b8;
6856
6857 rphi2_VV=Rij_GTHDM(1,0)*Rij_GTHDM(1,0);
6858
6859
6860 /*Gamma_phi2gaga and Gamma_phi2Zga expressions ...*/
6861
6862 /*Decay to photons. The fermionic contribution has a CP-even part (HH) and a CP-odd (A)*/
6863 /*CP EVEN*/
6864
6865
6866 gslpp::complex I_HH2_Ux=I_HH_U(m2_2,Mc,Mt);
6867 gslpp::complex I_HH2_Dx=I_HH_D(m2_2,Ms,Mb);
6868 gslpp::complex I_HH2_Lx=I_HH_L(m2_2,Mmu,Mtau);
6869 gslpp::complex I_phi2E_F= yu2.real()*I_HH2_Ux+ yd2.real()*I_HH2_Dx+yl2.real()*I_HH2_Lx;
6870
6871 gslpp::complex I_phi2_W=Rij_GTHDM(1,0)*I_H_W(m2,MW);
6872
6873
6874 double lambdaphi2HpHm = lambdaipm(R21, R22, R32);
6875
6876 gslpp::complex I_phi2_Hp=(vev*vev)/(2.0*mHp2)*I_H_Hp(mHp2,m2)*(lambdaphi2HpHm);
6877
6878
6879 /*CP ODD */
6880
6881 gslpp::complex I_A2_Ux=I_A_U(m2_2,Mc,Mt);
6882 gslpp::complex I_A2_Dx=I_A_D(m2_2,Ms,Mb);
6883 gslpp::complex I_A2_Lx=I_A_L(m2_2,Mmu,Mtau);
6884
6885 gslpp::complex I_phi2O_F = yu2.imag()*I_A2_Ux + yd2.imag()*I_A2_Dx + yl2.imag()*I_A2_Lx;
6886
6887 double Gamma_phi2gaga=(GF*Ale*Ale*m2*m2*m2/(sqrt(2.0)*128.0*M_PI*M_PI*M_PI))*((I_phi2E_F+I_phi2_W+I_phi2_Hp).abs2()
6888 + (I_phi2O_F).abs2());
6889
6890 //std::cout<<"\033[1;33m Ale= \033[0m "<< Ale <<std::endl;
6891
6892 /*Decay to Z gamma
6893 CP-EVEN PART*/
6894
6895 gslpp::complex A_HH2_Ux = A_HH_U(m2_2,cW2,Mc,Mt,MZ);
6896 gslpp::complex A_HH2_Dx = A_HH_D(m2_2,cW2,Ms,Mb,MZ);
6897 gslpp::complex A_HH2_Lx = A_HH_L(m2_2,cW2,Mmu,Mtau,MZ);
6898
6899 gslpp::complex A_phi2E_F = (yu2.real()*A_HH2_Ux+ yd2.real()*A_HH2_Dx+ yl2.real()*A_HH2_Lx)/sqrt(sW2*cW2);
6900
6901
6902
6903 gslpp::complex A_phi2_W = Rij_GTHDM(1,0)*A_H_W(m2,cW2,MW,MZ);
6904
6905 gslpp::complex A_phi2_Hp = (vev*vev)/(2.0*mHp2)*A_H_Hp(mHp2,m2,cW2,MZ)*(lambdaphi2HpHm);
6906
6907 /*CP-ODD PART*/
6908
6909 gslpp::complex A_A2_Ux = A_A_U(m2_2,cW2,Mc,Mt,MZ);
6910 gslpp::complex A_A2_Dx = A_A_D(m2_2,cW2,Ms,Mb,MZ);
6911 gslpp::complex A_A2_Lx = A_A_L(m2_2,cW2,Mmu,Mtau,MZ);
6912
6913 gslpp::complex A_phi2O_F=yu2.imag()*A_A2_Ux + yd2.imag()*A_A2_Dx + yl2.imag()*A_A2_Lx;
6914
6915
6916
6917 double Gamma_phi2Zga=HSTheta(m2-MZ)*GF*Ale*Ale*m2*m2*m2/(sqrt(2.0)*64.0*M_PI*M_PI*M_PI)*(1.0-MZ*MZ/(m2*m2))*(1.0-MZ*MZ/(m2*m2))*(1.0-MZ*MZ/(m2*m2))*((A_phi2E_F+A_phi2_W+A_phi2_Hp).abs2()
6918 + A_phi2O_F.abs2());
6919
6920
6921
6922 //std::cout<<"\033[1;35m Gamma_phi2Zga= \033[0m "<< Gamma_phi2Zga <<std::endl;
6923
6924
6925 /*Decay to gluons*/
6926
6927
6928 double Gamma_phi2gg=(rphi2_ggE)*GF*Als*Als*m2*m2*m2/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)*(9.0/4.0)*(I_HH2_Ux/4.0+I_HH2_Dx).abs2()
6929 +rphi2_ggO*GF*Als*Als*m2*m2*m2/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)*(9.0/4.0)*(I_A2_Ux/4.0+I_A2_Dx).abs2();
6930
6931
6932 //Cross-sections of ggF, bbF and VBF at 8 TeV Sigmaxx_H8 = Sigmaxx_H8SM*rphi2_xx
6933 /*
6934 SigmaggF_phi2_8=ip_cs_ggtoH_8(m2)*rphi2_gg;
6935 SigmabbF_phi2_8=ip_cs_pptobbH_8(m2)*rphi2_QbQb;
6936 SigmaVBF_phi2_8=ip_cs_VBFtoH_8(m2)*rphi2_VV;
6937 SigmattF_phi2_8=ip_cs_pptottH_8(m2)*rphi2_QtQt;
6938 SigmaVH_phi2_8=(ip_cs_WtoWH_8(m2)+ip_cs_ZtoZH_8(m2))*rphi2_VV;*/
6939
6940
6942 SigmabbF_phi2_8=ip_cs_pptobbH_8(m2)*rphi2_QdQdE + ip_cs_pptobbA_8(m2)*rphi2_QdQdO;
6944 SigmattF_phi2_8=ip_cs_pptottH_8(m2)*rphi2_QuQuE + ip_cs_pptottA_8(m2)*rphi2_QuQuO;
6946
6947
6948 //SM PREDICTIONS
6949
6950 SigmaTotSM_phi2_8 = 1.0e-15;
6951
6952 if (m2>=20. && m2 <=2000.) {
6954 }
6956
6957 /* SigmaggF_phi2_13=ip_cs_ggtoH_13(m2)*rphi2_gg;
6958 SigmabbF_phi2_13=ip_cs_pptobbH_13(m2)*rphi2_QbQb;
6959 SigmaVBF_phi2_13=ip_cs_VBFtoH_13(m2)*rphi2_VV;
6960 SigmattF_phi2_13=ip_cs_pptottH_13(m2)*rphi2_QtQt;
6961 SigmaVH_phi2_13=(ip_cs_WtoWH_13(m2)+ip_cs_ZtoZH_13(m2))*rphi2_VV;*/
6962
6963
6964
6966 SigmabbF_phi2_13=ip_cs_pptobbH_13(m2)*rphi2_QdQdE + ip_cs_pptobbA_13(m2)*rphi2_QdQdO;
6968 SigmattF_phi2_13=ip_cs_pptottH_13(m2)*rphi2_QuQuE + ip_cs_pptottA_13(m2)*rphi2_QuQuO;
6970
6971// std::cout<< SigmaggF_phi2_13<<std::endl;
6972// std::cout<<SigmaVBF_phi2_13;
6973
6974 /*std::cout << "THoEX_bb_phi2_tautau_ATLAS13 = " << THoEX_bb_phi2_tautau_ATLAS13 << std::endl;
6975 std::cout << "bb_phi2_tautau_TH13 = " << bb_phi2_tautau_TH13 << std::endl;
6976 std::cout << "ip_ex_bb_phi_tautau_ATLAS13(m2) = " << ip_ex_bb_phi_tautau_ATLAS13(m2) << std::endl;
6977 std::cout << "SigmabbF_phi2_13 = " << SigmabbF_phi2_13 << std::endl;
6978 std::cout << "ip_cs_pptobbH_13(m2) = " << ip_cs_pptobbH_13(m2) << std::endl;
6979 std::cout << "rphi2_QdQdE = " << rphi2_QdQdE << std::endl;
6980 std::cout << "yd2 = " << yd2 << std::endl;
6981 std::cout << "R21 = " << R21 << std::endl;
6982 std::cout << "R22 = " << R22 << std::endl;
6983 std::cout << "R23 = " << R23 << std::endl;
6984 std::cout << "sd " << sd << std::endl;
6985 std::cout << "ip_cs_pptobbA_13(m2) = " << ip_cs_pptobbA_13(m2) << std::endl;
6986 std::cout << "rphi2_QdQdO = " << rphi2_QdQdO << std::endl;*/
6987
6988
6989
6990// double SigmaTotSM_H13 = 1.0e-15;
6991// if (mHh>=20. && mHh <=2000.) {
6992// SigmaTotSM_H13=ip_cs_ggtoH_13(mHh)+ip_cs_VBFtoH_13(mHh)+ip_cs_WtoWH_13(mHh)+ip_cs_ZtoZH_13(mHh)+ip_cs_pptottH_13(mHh)+ip_cs_pptobbH_13(mHh);
6993// }
6995
6996 double BrSM_phi2tott=ip_Br_HPtott(m2);
6997 double BrSM_phi2tocc=ip_Br_HPtocc(m2);
6998 double BrSM_phi2tobb=ip_Br_HPtobb(m2);
6999 double BrSM_phi2totautau=ip_Br_HPtotautau(m2);
7000 double BrSM_phi2tomumu=ip_Br_HPtomumu(m2);
7001 double BrSM_phi2toWW =ip_Br_HPtoWW(m2);
7002 double BrSM_phi2toZZ =ip_Br_HPtoZZ(m2);
7003
7005
7006 /*Decay of phi3 to the others scalars*/
7007double lambda132 = lambdaijk(R11, R12, R13, R31, R32, R33, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
7019
7020double lambda332 = lambdaijk(R31, R32, R33, R31, R32, R33, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
7026
7027//phi2 -> phi1 phi3
7028double Gammaphi2_phi1phi3=HSTheta(m2 - (m1+m3))*KaellenFunction(m2_2,m1_2,m3_2)*lambda132*lambda132/(8.0*m3_2*M_PI);
7029double Gammaphi2_phi3phi3=HSTheta(m2 - 2.0*m3)*sqrt(std::fabs(1.0 - (4.0*m3_2)/m2_2))*lambda332*lambda332/(32.0*m2*M_PI);
7030
7031/*Decay of phi2 to the others scalars*/
7032double lambda112 = (2.0)*(lambdaijk(R11, R12, R13, R21, R22, R23, R11, R12, R13, lambda1, lambda3, lambda4, Relambda5,
7038
7039//phi2 -> phi1phi1
7040double Gammaphi2_phi1phi1=HSTheta(m2 - 2.0*m1)*sqrt(std::fabs(1.0 - (4.0*m1_2)/m2_2))*lambda112*lambda112/(32.0*m2*M_PI);
7041
7042//std::cout<<"\033[1;35m m2 =\033[0m "<< m2 <<std::endl;
7043//std::cout<<"\033[1;35m m1 =\033[0m "<< m1 <<std::endl;
7044//std::cout<<"\033[1;35m m1_2 =\033[0m "<< m1_2 <<std::endl;
7045//std::cout<<"\033[1;35m m2_2 =\033[0m "<< m2_2 <<std::endl;
7046//std::cout<<"\033[1;35m sqrt(std::fabs(1.0 - (4.0*m1_2)/m2_2)) =\033[0m "<< sqrt(std::fabs(1.0 - (4.0*m1_2)/m2_2)) <<std::endl;
7047
7048
7049//std::cout<<"\033[1;35m lambda112*lambda112 =\033[0m "<< lambda112*lambda112 <<std::endl;
7050//std::cout<<"\033[1;35m 1/(32.0*m2*M_PI) =\033[0m "<< 1/(32.0*m2*M_PI) <<std::endl;
7051
7052
7053//std::cout<<"\033[1;35m HSTheta(m2 - 2.0*m1) =\033[0m "<< HSTheta(m2 - 2.0*m1) <<std::endl;
7054
7055
7056 //phi2 ->H+H-
7057double Gammaphi2_HpHm=HSTheta(m2 - 2.0*sqrt(mHp2))*sqrt(std::fabs(1.0 - (4.0*mHp2)/m2_2))*lambdaphi2HpHm*lambdaphi2HpHm/(8.0*m2*M_PI);
7058//phi2 -> phi1 Z
7059double Gammaphi2_phi1Z=HSTheta(m2-(m1+MZ))*pow(KaellenFunction(m2_2,MZ*MZ,m1_2),3)*(R23*R12 + R22*R13)*(R23*R12 + R22*R13)/(2.0*M_PI*vev*vev);
7060
7061//phi2 -> phi3 Z
7062double Gammaphi2_phi3Z=HSTheta(m2-(m3+MZ))*pow(KaellenFunction(m2_2,MZ*MZ,m3_2),3)*(R33*R22 + R32*R23)*(R33*R22 + R32*R23)/(2.0*M_PI*vev*vev);
7063
7064
7065/* phi2 -> H+W- */
7066double Gammaphi2_HpW=HSTheta(m2-sqrt(mHp2)-MW)*pow(KaellenFunction(m2_2,MW*MW,mHp2),3)*(R23-i*R22).abs2()/(M_PI*vev*vev);
7067
7068double Gammaphi2_tt = HSTheta(m2 - 2*Mt)*BrSM_phi2tott*(rphi2_QuQuE + rphi2_QuQuO/(beta(Mt, m2_2)*beta(Mt, m2_2)))*Gammaphi2totSM;
7069
7070double Gammaphi2_cc = HSTheta(m2 - 2*Mc)*BrSM_phi2tocc*(rphi2_QuQuE + rphi2_QuQuO/(beta(Mc, m2_2)*beta(Mc, m2_2)))*Gammaphi2totSM;
7071
7072double Gammaphi2_bb = HSTheta(m2 - 2*Mb)*BrSM_phi2tobb*(rphi2_QdQdE + rphi2_QdQdO/(beta(Mb, m2_2)*beta(Mb, m2_2)))*Gammaphi2totSM;
7073
7074double Gammaphi2_mumu = HSTheta(m2 - 2*Mmu)*BrSM_phi2tomumu*(rphi2_QlQlE + rphi2_QlQlO/(beta(Mmu, m2_2)*beta(Mmu, m2_2)))*Gammaphi2totSM;
7075
7076double Gammaphi2_tautau = HSTheta(m2 - 2*Mtau)*BrSM_phi2totautau*(rphi2_QlQlE + rphi2_QlQlO/(beta(Mtau, m2_2)*beta(Mtau, m2_2)))*Gammaphi2totSM;
7077
7078double Gammaphi2_WW = HSTheta(m2 - 2*MW)*BrSM_phi2toWW*(rphi2_VV)*Gammaphi2totSM;
7079
7080double Gammaphi2_ZZ = HSTheta(m2 - 2*MZ)*BrSM_phi2toZZ*(rphi2_VV)*Gammaphi2totSM;
7081
7082
7083
7084
7085Gammaphi2tot = 1.e-10;
7086
7087Gammaphi2tot= Gammaphi2tot + Gammaphi2_tt+Gammaphi2_cc
7088 +Gammaphi2_bb+Gammaphi2_tautau+Gammaphi2_mumu
7089 +Gammaphi2_WW+Gammaphi2_ZZ+Gamma_phi2gaga
7090 +Gamma_phi2Zga+Gamma_phi2gg +Gammaphi2_phi1phi3
7091 +Gammaphi2_phi1phi1+Gammaphi2_phi3phi3+Gammaphi2_HpHm
7092 +Gammaphi2_phi1Z+Gammaphi2_phi3Z+Gammaphi2_HpW;
7093
7094
7095 //std::cout<<"\033[1;34m R11 =\033[0m "<< R11 <<std::endl;
7096
7097 //std::cout<<"\033[1;34m R23 =\033[0m "<< R23 <<std::endl;
7098 //std::cout<<"\033[1;34m R22 =\033[0m "<< R22 <<std::endl;
7099
7100 //std::cout<<"\033[1;34m lambdaphi2HpHm =\033[0m "<< lambdaphi2HpHm <<std::endl;
7101 //std::cout<<"\033[1;34m lambdaphi2HpHm =\033[0m "<< lambdaphi2HpHm <<std::endl;
7102 //std::cout<<"\033[1;34m Gammaphi2_HpHm =\033[0m "<< Gammaphi2_HpHm <<std::endl;
7103 //std::cout<<"\033[1;34m Gammaphi2_HpW =\033[0m "<< Gammaphi2_HpW <<std::endl;
7104
7105
7106
7107
7108 Br_phi2tott=Gammaphi2_tt/Gammaphi2tot;
7109 Br_phi2tobb=Gammaphi2_bb/Gammaphi2tot;
7110 Br_phi2totautau=Gammaphi2_tautau/Gammaphi2tot;
7111 Br_phi2tomumu=Gammaphi2_mumu/Gammaphi2tot;
7112
7113 Br_phi2toWW=Gammaphi2_WW/Gammaphi2tot;
7114 Br_phi2toZZ=Gammaphi2_ZZ/Gammaphi2tot;
7115 Br_phi2togaga=Gamma_phi2gaga/Gammaphi2tot;
7116 Br_phi2togg=Gamma_phi2gg/Gammaphi2tot;
7117 Br_phi2toZga=Gamma_phi2Zga/Gammaphi2tot;
7118 Br_phi2tophi1phi1=Gammaphi2_phi1phi1/Gammaphi2tot;
7119 Br_phi2tophi3phi3=Gammaphi2_phi3phi3/Gammaphi2tot;
7120 Br_phi2tophi1phi3=Gammaphi2_phi1phi3/Gammaphi2tot;
7121 Br_phi2toHpHm=Gammaphi2_HpHm/Gammaphi2tot;
7122 Br_phi2tophi1Z=Gammaphi2_phi1Z/Gammaphi2tot;
7123 Br_phi2tophi3Z=Gammaphi2_phi3Z/Gammaphi2tot;
7124 Br_phi2toHpW=Gammaphi2_HpW/Gammaphi2tot;
7125
7126
7127 //std::cout<<"\033[1;30m Gammaphi2_tt =\033[0m "<< Gammaphi2_tt <<std::endl;
7128 //std::cout<<"\033[1;30m Gammaphi2_bb =\033[0m "<< Gammaphi2_bb <<std::endl;
7129 //std::cout<<"\033[1;30m Gammaphi2_cc =\033[0m "<< Gammaphi2_cc <<std::endl;
7130 //std::cout<<"\033[1;30m Gammaphi2_tautau =\033[0m "<< Gammaphi2_tautau <<std::endl;
7131 //std::cout<<"\033[1;30m Gammaphi2_mumu =\033[0m "<< Gammaphi2_mumu <<std::endl;
7132
7133 //std::cout<<"\033[1;30m Gammaphi2_WW =\033[0m "<< Gammaphi2_WW <<std::endl;
7134 //std::cout<<"\033[1;30m Gammaphi2_ZZ =\033[0m "<< Gammaphi2_ZZ <<std::endl;
7135 //std::cout<<"\033[1;30m Gamma_phi2gaga =\033[0m "<< Gamma_phi2gaga <<std::endl;
7136 //std::cout<<"\033[1;30m Gamma_phi2Zga =\033[0m "<< Gamma_phi2Zga <<std::endl;
7137 //std::cout<<"\033[1;30m Gamma_phi2gg =\033[0m "<< Gamma_phi2gg <<std::endl;
7138
7139 //std::cout<<"\033[1;30m Gammaphi2_phi1phi3 =\033[0m "<< Gammaphi2_phi1phi3 <<std::endl;
7140 //std::cout<<"\033[1;30m Gammaphi2_phi1phi1 =\033[0m "<< Gammaphi2_phi1phi1 <<std::endl;
7141 //std::cout<<"\033[1;30m Gammaphi2_phi3phi3 =\033[0m "<< Gammaphi2_phi3phi3 <<std::endl;
7142 //std::cout<<"\033[1;30m Gammaphi2_HpHm =\033[0m "<< Gammaphi2_HpHm <<std::endl;
7143 //std::cout<<"\033[1;30m Gammaphi2_phi1Z =\033[0m "<< Gammaphi2_phi1Z <<std::endl;
7144
7145 //std::cout<<"\033[1;30m Gammaphi2_phi3Z =\033[0m "<< Gammaphi2_phi3Z <<std::endl;
7146 //std::cout<<"\033[1;30m Gammaphi2_HpW =\033[0m "<< Gammaphi2_HpW <<std::endl;
7147}
7148
7149
7150
7152{
7153 //FLAG to select only the model in which all the couplings are the same (by families)
7154 if (!myGTHDM->getATHDMflag())
7155 {
7156 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
7157 }
7158
7159 /*complex i */
7160 gslpp::complex i = gslpp::complex::i();
7161
7162 //fermionic couplings for phi3
7163 yu3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) - i*Rij_GTHDM(2,2))*su.conjugate();
7164 yd3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) + i*Rij_GTHDM(2,2))*sd;
7165 yl3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) + i*Rij_GTHDM(2,2))*sl;
7166
7167 yu3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*su.real();
7168 yd3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*sd.real();
7169 yl3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*sl.real();
7170
7171 //These cross sections ratios are necessary for rphi3_gg
7172 //At 8 TeV
7173
7174 //SM gg -> H (phi even) production cross section ratio at 8 TeV, charm and top loop only over total
7175 double rSigmaggphi3E_tc8 = ip_csr_ggH_tc_8(m3);
7176 //SM gg -> H (phi even) production cross section ratio at 8 TeV, bottom loop only over total
7177 double rSigmaggphi3E_b8 = ip_csr_ggH_b_8(m3);
7178 //gg -> H (phieven) production cross section at 8 TeV, total
7179 // double Sigmaggphi3E_8 = ip_cs_ggtoH_8(m3);
7180
7181
7182 //gg -> A (phi odd) production cross section ratio at 8 TeV, charm and top loop only over total
7183 double rSigmaggphi3O_tc8 = ip_csr_ggA_tc_8(m3);
7184 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
7185 double rSigmaggphi3O_b8 = ip_csr_ggA_b_8(m3);
7186
7187 //gg -> A (phiodd) production cross section at 8 TeV, total
7188 // double Sigmaggphi3O_8 = ip_cs_ggtoA_8(m3);
7189
7190
7191
7192 /* r_ii is the ratio of the squared 2HDM vertex coupling of phi3
7193 * to the particle phi3 and the respective squared SM coupling.
7194 * phi is fixed to be the non-SM and heaviest (phi3), but can be translated*/
7195
7196
7197 double rphi3_QuQuE= yu3.real()*yu3.real();
7198 double rphi3_QuQuO= yu3.imag()*yu3.imag();
7199 double rphi3_QdQdE= yd3.real()*yd3.real();
7200 double rphi3_QdQdO= yd3.imag()*yd3.imag();
7201 double rphi3_QlQlE= yl3.real()*yl3.real();
7202 double rphi3_QlQlO= yl3.imag()*yl3.imag();
7203 rphi3_ggE = yu3.real()*yd3.real() + (yu3.real()*yu3.real() - yu3.real()*yd3.real())*rSigmaggphi3E_tc8 + (yd3.real()*yd3.real() - yu3.real()*yd3.real())*rSigmaggphi3E_b8;
7204 rphi3_ggO = yu3.imag()*yd3.imag() + (yu3.imag()*yu3.imag() - yu3.imag()*yd3.imag())*rSigmaggphi3O_tc8 + (yd3.imag()*yd3.imag() - yu3.imag()*yd3.imag())*rSigmaggphi3O_b8;
7205 rphi3_VV=Rij_GTHDM(2,0)*Rij_GTHDM(2,0);
7206
7207
7208 /*Gamma_phi3gaga and Gamma_phi3Zga expressions ...*/
7209
7210 /*Decay to photons. The fermionic contribution has a CP-even part (HH) and a CP-odd (A)*/
7211 /*CP EVEN*/
7212
7213 gslpp::complex I_HH_Ux=I_HH_U(m3_2,Mc,Mt);
7214 gslpp::complex I_HH_Dx=I_HH_D(m3_2,Ms,Mb);
7215 gslpp::complex I_HH_Lx=I_HH_L(m3_2,Mmu,Mtau);
7216 gslpp::complex I_phi3E_F= yu3.real()*I_HH_Ux+ yd3.real()*I_HH_Dx+yl3.real()*I_HH_Lx;
7217
7218 gslpp::complex I_phi3_W=Rij_GTHDM(2,0)*I_H_W(m3,MW);
7219
7220
7221
7222 double lambdaphi3HpHm = lambdaipm(R31, R32, R33);
7223 gslpp::complex I_phi3_Hp=(vev*vev)/(2.0*mHp2)*I_H_Hp(mHp2,m3)*(lambdaphi3HpHm);
7224
7225
7226 /*CP ODD */
7227
7228 gslpp::complex I_A_Ux=I_A_U(m3_2,Mc,Mt);
7229 gslpp::complex I_A_Dx=I_A_D(m3_2,Ms,Mb);
7230 gslpp::complex I_A_Lx=I_A_L(m3_2,Mmu,Mtau);
7231
7232 gslpp::complex I_phi3O_F = yu3.imag()*I_A_Ux + yd3.imag()*I_A_Dx + yl3.imag()*I_A_Lx;
7233
7234 double Gamma_phi3gaga=(GF*Ale*Ale*m3*m3*m3/(sqrt(2.0)*128.0*M_PI*M_PI*M_PI))*((I_phi3E_F+I_phi3_W+I_phi3_Hp).abs2() + (I_phi3O_F).abs2());
7235
7236
7237 /*Decay to Z gamma
7238 CP-EVEN PART*/
7239
7240 gslpp::complex A_HH_Ux = A_HH_U(m3_2,cW2,Mc,Mt,MZ);
7241 gslpp::complex A_HH_Dx = A_HH_D(m3_2,cW2,Ms,Mb,MZ);
7242 gslpp::complex A_HH_Lx = A_HH_L(m3_2,cW2,Mmu,Mtau,MZ);
7243
7244 gslpp::complex A_phi3E_F = (yu3.real()*A_HH_Ux+ yd3.real()*A_HH_Dx+ yl3.real()*A_HH_Lx)/sqrt(sW2*cW2);
7245 gslpp::complex A_phi3_W = Rij_GTHDM(2,0)*A_H_W(m3,cW2,MW,MZ);
7246
7247 gslpp::complex A_phi3_Hp = (vev*vev)/(2.0*mHp2)*A_H_Hp(mHp2,m3,cW2,MZ)*(lambdaphi3HpHm);
7248
7249 /*CP-ODD PART*/
7250
7251 gslpp::complex A_A_Ux = A_A_U(m3_2,cW2,Mc,Mt,MZ);
7252 gslpp::complex A_A_Dx = A_A_D(m3_2,cW2,Ms,Mb,MZ);
7253 gslpp::complex A_A_Lx = A_A_L(m3_2,cW2,Mmu,Mtau,MZ);
7254
7255 gslpp::complex A_phi3O_F=yu3.imag()*A_A_Ux + yd3.imag()*A_A_Dx + yl3.imag()*A_A_Lx;
7256
7257 double Gamma_phi3Zga=HSTheta(m3-MZ)*GF*Ale*Ale*m3*m3*m3/(sqrt(2.0)*64.0*M_PI*M_PI*M_PI)*(1.0-MZ*MZ/(m3*m3))*(1.0-MZ*MZ/(m3*m3))*(1.0-MZ*MZ/(m3*m3))*((A_phi3E_F+A_phi3_W+A_phi3_Hp).abs2()
7258 + A_phi3O_F.abs2());
7259
7260
7261 /*Decay to gluons */
7262
7263 double Gamma_phi3gg=(rphi3_ggE)*GF*Als*Als*m3*m3*m3/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)*(9.0/4.0)*(I_HH_Ux/4.0+I_HH_Dx).abs2()
7264 +rphi3_ggO*GF*Als*Als*m3*m3*m3/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)*(9.0/4.0)*(I_A_Ux/4.0+I_A_Dx).abs2();
7265
7266
7267 //Cross-sections of ggF, bbF and VBF at 8 TeV Sigmaxx_H8 = Sigmaxx_H8SM*rphi3_xx
7268
7269 /*SigmaggF_phi3_8=ip_cs_ggtoH_8(m3)*rphi3_gg;
7270 SigmabbF_phi3_8=ip_cs_pptobbH_8(m3)*rphi3_QbQb;
7271 SigmattF_phi3_8=ip_cs_pptottH_8(m3)*rphi3_QtQt;
7272 */
7273
7275 //std::cout<<"\033[1;33m ip_cs_ggtoH_8(m3) =\033[0m "<< ip_cs_ggtoH_8(m3) <<std::endl;
7276 //std::cout<<"\033[1;33m rphi3_ggE =\033[0m "<< rphi3_ggE <<std::endl;
7277 //std::cout<<"\033[1;33m ip_cs_ggtoA_8(m3) =\033[0m "<< ip_cs_ggtoA_8(m3) <<std::endl;
7278 //std::cout<<"\033[1;33m rphi3_ggO =\033[0m "<< rphi3_ggO <<std::endl;
7279 SigmabbF_phi3_8=ip_cs_pptobbH_8(m3)*rphi3_QdQdE + ip_cs_pptobbA_8(m3)*rphi3_QdQdO;
7281 SigmattF_phi3_8=ip_cs_pptottH_8(m3)*rphi3_QuQuE + ip_cs_pptottA_8(m3)*rphi3_QuQuO;
7283
7284 //SM PREDICTIONS
7285 SigmaTotSM_phi3_8 = 1.0e-15;
7286
7287 if (m3>=20. && m3 <=2000.) {
7289 }
7291
7292 /* SigmaggF_phi3_13=ip_cs_ggtoH_13(m3)*rphi3_gg;
7293 SigmabbF_phi3_13=ip_cs_pptobbH_13(m3)*rphi3_QbQb;
7294 SigmattF_phi3_13=ip_cs_pptottH_13(m3)*rphi3_QtQt;*/
7295
7297 SigmabbF_phi3_13=ip_cs_pptobbH_13(m3)*rphi3_QdQdE + ip_cs_pptobbA_13(m3)*rphi3_QdQdO;
7299 SigmattF_phi3_13=ip_cs_pptottH_13(m3)*rphi3_QuQuE + ip_cs_pptottA_13(m3)*rphi3_QuQuO;
7301
7302
7303// double SigmaTotSM_H13 = 1.0e-15;
7304// if (mHh>=20. && mHh <=2000.) {
7305// SigmaTotSM_H13=ip_cs_ggtoH_13(mHh)+ip_cs_VBFtoH_13(mHh)+ip_cs_WtoWH_13(mHh)+ip_cs_ZtoZH_13(mHh)+ip_cs_pptottH_13(mHh)+ip_cs_pptobbH_13(mHh);
7306// }
7308
7309
7310double BrSM_phi3tott=ip_Br_HPtott(m3);
7311double BrSM_phi3tocc=ip_Br_HPtocc(m3);
7312double BrSM_phi3tobb=ip_Br_HPtobb(m3);
7313double BrSM_phi3totautau=ip_Br_HPtotautau(m3);
7314double BrSM_phi3tomumu=ip_Br_HPtomumu(m3);
7315double BrSM_phi3toWW =ip_Br_HPtoWW(m3);
7316double BrSM_phi3toZZ =ip_Br_HPtoZZ(m3);
7317
7319
7320
7321
7322/*Decay of phi3 to the others scalars*/
7323double lambda123 = lambdaijk(R11, R12, R13, R21, R22, R23, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7335double lambda223 = lambdaijk(R21, R22, R23, R21, R22, R23, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7341double lambda113 = lambdaijk(R11, R12, R13, R11, R13, R13, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7347
7348//phi3 -> phi1 phi2
7349double Gammaphi3_phi1phi2=HSTheta(m3 - (m1+m2))*KaellenFunction(m3_2,m1_2,m2_2)*lambda123*lambda123/(8.0*m3_2*M_PI);
7350// phi3 -> phi2 phi2
7351double Gammaphi3_phi2phi2=HSTheta(m3 - 2.0*m2)*sqrt(std::fabs(1.0 - (4.0*m2_2)/m3_2))*lambda223*lambda223/(32.0*m3*M_PI);
7352//phi3 -> phi1phi1
7353double Gammaphi3_phi1phi1=HSTheta(m3 - 2.0*m1)*sqrt(std::fabs(1.0 - (4.0*m1_2)/m3_2))*lambda113*lambda113/(32.0*m3*M_PI);
7354//phi3 ->H+H-
7355double Gammaphi3_HpHm=HSTheta(m3 - 2.0*sqrt(mHp2))*sqrt(std::fabs(1.0 - (4.0*mHp2)/m3_2))*lambdaphi3HpHm*lambdaphi3HpHm/(32.0*m3*M_PI);
7356//phi3 -> phi1 Z
7357double Gammaphi3_phi1Z=HSTheta(m3-(m1+MZ))*pow(KaellenFunction(m3_2,MZ*MZ,m1_2),3)*(R33*R12 + R32*R13)*(R33*R12 + R32*R13)/(2.0*M_PI*vev*vev);
7358//phi3 -> phi2 Z
7359double Gammaphi3_phi2Z=HSTheta(m3-(m2+MZ))*pow(KaellenFunction(m3_2,MZ*MZ,m2_2),3)*(R33*R22 + R32*R23)*(R33*R22 + R32*R23)/(2.0*M_PI*vev*vev);
7360/* phi3 -> H+W- */
7361double Gammaphi3_HpW=HSTheta(m3-sqrt(mHp2)-MW)*pow(KaellenFunction(m3_2,MW*MW,mHp2),3)*(R33-i*R32).abs2()/(M_PI*vev*vev);
7362
7363double Gammaphi3_tt = HSTheta(m3 - 2*Mt)*BrSM_phi3tott*(rphi3_QuQuE + rphi3_QuQuO/(beta(Mt, m3_2)*beta(Mt, m3_2)))*Gammaphi3totSM;
7364
7365double Gammaphi3_cc = HSTheta(m3 - 2*Mc)*BrSM_phi3tocc*(rphi3_QuQuE + rphi3_QuQuO/(beta(Mc, m3_2)*beta(Mc, m3_2)))*Gammaphi3totSM;
7366
7367double Gammaphi3_bb = HSTheta(m3 - 2*Mb)*BrSM_phi3tobb*(rphi3_QdQdE + rphi3_QdQdO/(beta(Mb, m3_2)*beta(Mb, m3_2)))*Gammaphi3totSM;
7368
7369double Gammaphi3_tautau = HSTheta(m3 - 2*Mtau)*BrSM_phi3totautau*(rphi3_QlQlE + rphi3_QlQlO/(beta(Mtau, m3_2)*beta(Mtau, m3_2)))*Gammaphi3totSM;
7370
7371double Gammaphi3_mumu = HSTheta(m3 - 2*Mmu)*BrSM_phi3tomumu*(rphi3_QlQlE + rphi3_QlQlO/(beta(Mmu, m3_2)*beta(Mmu, m3_2)))*Gammaphi3totSM;
7372
7373double Gammaphi3_WW = HSTheta(m3 - 2*MW)*BrSM_phi3toWW*(rphi3_VV)*Gammaphi3totSM;
7374
7375double Gammaphi3_ZZ = HSTheta(m3 - 2*MZ)*BrSM_phi3toZZ*(rphi3_VV)*Gammaphi3totSM;
7376
7377
7378Gammaphi3tot = 1.e-15;
7379
7380Gammaphi3tot = Gammaphi3tot + Gammaphi3_tt + Gammaphi3_cc + Gammaphi3_bb
7381 + Gammaphi3_tautau + Gammaphi3_mumu + Gammaphi3_WW
7382 + Gammaphi3_ZZ + Gamma_phi3gaga + Gamma_phi3Zga + Gamma_phi3gg
7383 + Gammaphi3_phi1phi1 + Gammaphi3_phi2phi2 + Gammaphi3_phi1phi2
7384 + Gammaphi3_HpHm + Gammaphi3_phi1Z + Gammaphi3_phi2Z
7385 + Gammaphi3_HpW;
7386
7387
7388
7389
7390 //std::cout<<"\033[1;34m R31 =\033[0m "<< R31 <<std::endl;
7391 //std::cout<<"\033[1;34m R32 =\033[0m "<< R32 <<std::endl;
7392 //std::cout<<"\033[1;34m R33 =\033[0m "<< R33 <<std::endl;
7393
7394 //std::cout<<"\033[1;34m lambdaphi3HpHm =\033[0m "<< lambdaphi3HpHm <<std::endl;
7395 //std::cout<<"\033[1;34m lambdaphi3HpHm =\033[0m "<< lambdaphi3HpHm <<std::endl;
7396 //std::cout<<"\033[1;34m Gammaphi3_HpHm =\033[0m "<< Gammaphi3_HpHm <<std::endl;
7397 //std::cout<<"\033[1;34m Gammaphi3_HpW =\033[0m "<< Gammaphi3_HpW <<std::endl;
7398
7399
7400
7401
7402
7403
7404
7405 Br_phi3tott=Gammaphi3_tt/Gammaphi3tot;
7406 Br_phi3tobb=Gammaphi3_bb/Gammaphi3tot;
7407 Br_phi3tomumu=Gammaphi3_mumu/Gammaphi3tot;
7408 Br_phi3totautau=Gammaphi3_tautau/Gammaphi3tot;
7409 Br_phi3toWW=Gammaphi3_WW/Gammaphi3tot;
7410 Br_phi3toZZ=Gammaphi3_ZZ/Gammaphi3tot;
7411 Br_phi3togaga=Gamma_phi3gaga/Gammaphi3tot;
7412 Br_phi3togg=Gamma_phi3gg/Gammaphi3tot;
7413 Br_phi3toZga=Gamma_phi3Zga/Gammaphi3tot;
7414 Br_phi3tophi1phi1=Gammaphi3_phi1phi1/Gammaphi3tot;
7415 Br_phi3tophi2phi2=Gammaphi3_phi2phi2/Gammaphi3tot;
7416 Br_phi3tophi1phi2=Gammaphi3_phi1phi2/Gammaphi3tot;
7417 Br_phi3toHpHm=Gammaphi3_HpHm/Gammaphi3tot;
7418 Br_phi3tophi1Z=Gammaphi3_phi1Z/Gammaphi3tot;
7419 Br_phi3tophi2Z=Gammaphi3_phi2Z/Gammaphi3tot;
7420 Br_phi3toHpW=Gammaphi3_HpW/Gammaphi3tot;
7421
7422
7423 //std::cout<<"\033[1;34m BrSM_phi3totautau =\033[0m "<< BrSM_phi3totautau <<std::endl;
7424}
7425
7426
7428{
7429 //FLAG to select only the model in which all the couplings are the same (by families)
7430 if (!myGTHDM->getATHDMflag())
7431 {
7432 throw std::runtime_error("Direct Searches are only available in the A2HDM.");
7433 }
7434
7435 /*complex i */
7436 gslpp::complex i = gslpp::complex::i();
7437
7438 // Pole masses and CKM matrix elements relevant for Hp quantities
7439 double alsmuc = myGTHDM->Als(myGTHDM->getMuc(), FULLNNNLO, true, true);
7440 // Mbar2Mp does not receive Mc
7441 double Mcp = Mc*(1.+4.*alsmuc/3./M_PI+alsmuc*alsmuc/M_PI/M_PI*(-1.0414*(1.-4.*Ms/3.*Mc)+13.4434));
7442 double Mbp = myGTHDM->Mbar2Mp(Mb, QCD::BOTTOM, FULLNNLO);
7443 double Mtp = myGTHDM->getMtpole();
7444 double Mmu2 = Mmu*Mmu;
7445 double Mtau2 = Mtau*Mtau;
7446 double Ms2 = Ms*Ms;
7447 double Mc2 = Mcp*Mcp;
7448 double Mb2 = Mbp*Mbp;
7449 double Mt2 = Mtp*Mtp;
7450 double r2hot = mHp*mHp/Mtp/Mtp;
7451 double r2bot = Mbp*Mbp/Mtp/Mtp;
7452 double Vtb = myGTHDM->getCKM().getV_tb().abs();
7453 double Vcb = myGTHDM->getCKM().getV_cb().abs();
7454 double Vcs = myGTHDM->getCKM().getV_cs().abs();
7455
7456 //In order to compute the xsection we use the xsections generated in the table log_cs_ggtoHp_8
7457 //such a table is generated for the type II mode, basically we take the value for tanb=1 and
7458 //then we rescale with the coupling of the top-quark, there should be a residual dependence on
7459 //the coupling to the bottom-quarks which we neglect since it should be proportional to the bottom
7460 //quark (and the one included to the top quark)
7461 SigmaHp8=0.0;
7462 SigmaHpm13=0.0;
7463
7464 SigmaHp8=ip_cs_ggtoHp_8(mHp,0.0)*su.abs2();
7465 SigmaHpm13=ip_cs_ggtoHp_13(mHp,0.0)*su.abs2();
7466
7467
7468 double GammaHpmunu = HSTheta(mHp-Mmu) * (Mmu2 * (mHp2-Mmu2) * (mHp2-Mmu2) * sl.abs2()) / (8.0*mHp*mHp2*M_PI*vev*vev);
7469 double GammaHptaunu = HSTheta(mHp-Mtau) * (Mtau2 * (mHp2-Mtau2) * (mHp2-Mtau2) * sl.abs2()) / (8.0*mHp*mHp2*M_PI*vev*vev);
7470
7471 double GammaHpcs = 0.;
7472 double GammaHpcb = 0.;
7473 double GammaHptb = 0.;
7474 double GammaHpHlW = 0.;
7475 double GammaHpphi2W = 0.;
7476 double GammaHpphi3W = 0.;
7477 double GammaHpphi3Wst = 0.;
7478
7479 if(mHp>=Mtp+Mbp)
7480 {
7481 GammaHptb = HSTheta(mHp-Mtp-Mbp)*(Vtb*Vtb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mt2
7482 -sd.abs2()*Mb2*(Mb2-mHp2+Mt2)-su.abs2()*Mt2*(Mb2-mHp2+Mt2))
7483 *sqrt((Mb2*Mb2+(mHp2-Mt2)*(mHp2-Mt2)-2.0*Mb2*(mHp2+Mt2))/(mHp2*mHp2));
7484 }
7485
7486 if(mHp>=Mcp+Mbp)
7487 {
7488 GammaHpcb = HSTheta(mHp-Mcp-Mbp)*(Vcb*Vcb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mc2
7489 -sd.abs2()*Mb2*(Mb2-mHp2+Mc2)-su.abs2()*Mc2*(Mb2-mHp2+Mc2))
7490 *sqrt((Mb2*Mb2+(mHp2-Mc2)*(mHp2-Mc2)-2.0*Mb2*(mHp2+Mc2))/(mHp2*mHp2));
7491 }
7492
7493 if(mHp>=Mcp+Ms)
7494 {
7495 GammaHpcs = HSTheta(mHp-Mcp-Ms)*(Vcs*Vcs/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Ms2*Mc2
7496 -sd.abs2()*Ms2*(Ms2-mHp2+Mc2)-su.abs2()*Mc2*(Ms2-mHp2+Mc2))
7497 *sqrt((Ms2*Ms2+(mHp2-Mc2)*(mHp2-Mc2)-2.0*Ms2*(mHp2+Mc2))/(mHp2*mHp2));
7498 }
7499
7500 //decay to phi1 (SM Higgs)
7501 if(mHp>=mHl+MW)
7502 {
7503 GammaHpHlW = KaellenFunction(1.0, mHl*mHl/mHp/mHp, MW*MW/mHp/mHp) *
7506 mHp*mHp*mHp * (R12*R12 + R13*R13) / (2.0*M_PI*vev*vev);
7507 }
7508
7509 //decay to phi2
7510 if(mHp>=m2+MW)
7511 {
7512 GammaHpphi2W = KaellenFunction(1.0, m2*m2/mHp/mHp, MW*MW/mHp/mHp) *
7515 mHp*mHp*mHp * (R22*R22 + R23*R23) / (2.0*M_PI*vev*vev);
7516 }
7517
7518 //decay to phi3
7519 if(mHp>=m3+MW)
7520 {
7521 GammaHpphi3W = KaellenFunction(1.0, m3*m3/mHp/mHp, MW*MW/mHp/mHp) *
7524 mHp*mHp*mHp * (R32*R32 + R33*R33) / (2.0*M_PI*vev*vev);
7525 }
7526
7527 //decay to phi3 + Wstar
7528 //computed for LEP interval of Hp and phi3 masses
7529 if(mHp >= 40.0 && mHp <= 93.0 && mH3 >= 12.0 && mH3 <= (mHp - 3.))
7530 GammaHpphi3Wst = ip_integral_Hp_A_Wstar(mHp,mH3,1.,1.);
7531
7532 GammaHptot = 1.e-10;
7533
7534 GammaHptot = GammaHptot + GammaHpmunu + GammaHptaunu +
7535 GammaHpcs + GammaHpcb + GammaHptb +
7536 GammaHpHlW + GammaHpphi2W + GammaHpphi3W + GammaHpphi3Wst;
7537
7538
7539 Br_Hptomunu = GammaHpmunu/GammaHptot;
7540 Br_Hptotaunu = GammaHptaunu/GammaHptot;
7541 Br_Hptocs = GammaHpcs/GammaHptot;
7542 Br_Hptocb = GammaHpcb/GammaHptot;
7543 Br_Hptotb = GammaHptb/GammaHptot;
7544 Br_Hptophi3W = GammaHpphi3W/GammaHptot;
7545 Br_Hptophi3Wst = GammaHpphi3Wst/GammaHptot;
7546
7547 //HSTheta(mHp-Mt-Mb)*(Vtb*Vtb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mt2
7548 // -sd.abs2()*Mb2*(Mb2-mHp2+Mt2)-su.abs2()*Mt2*(Mb2-mHp2+Mt2))
7549 // *sqrt((Mb2*Mb2+(mHp2-Mt2)*(mHp2-Mt2)-2.0*Mb2*(mHp2+Mt2))/(mHp2*mHp2))
7550
7551
7552 // Hp production from top decay, for light charged scalars
7553 // Formula according to Czarnecki and Davidson, hep-ph/9301237
7554 //double Gammatoptot = 1.42; // PDG 2023
7555 double GammatHpb = 0.;
7556 double pre_tHpb = GF * Mt2 * Mtp * Vtb * Vtb / 4. / sqrt(2.) / M_PI;
7557 gslpp::complex aCD = su - sd * Mbp / Mtp;
7558 gslpp::complex bCD = su + sd * Mbp / Mtp;
7559 double aCD2 = (aCD * aCD.conjugate()).real();
7560 double bCD2 = (bCD * bCD.conjugate()).real();
7561
7562 if(Mtp>=mHp+Mbp)
7563 {
7564 GammatHpb = pre_tHpb * ((1. - r2hot + r2bot) * (aCD2 + bCD2) / 2. + r2bot * (aCD2 - bCD2)) *
7565 sqrt(1. + r2hot*r2hot + r2bot*r2bot - 2. * (r2hot + r2bot + r2hot*r2bot)) / 2.;
7566 }
7567
7568 double GammatWb = 1.35; // (in GeV) at NLO-QCD from 2409.04179
7569
7570 Gammatoptot = GammatWb + GammatHpb;
7571
7572 Br_ttoHpb = GammatHpb / Gammatoptot;
7573}
7574
7575
7577{
7578 double MZ2 = MZ * MZ;
7579 double MW2 = MW * MW;
7580 double preZ = GF * MZ * MZ2 / 24. / sqrt(2.) / M_PI;
7581 double preW = GF * MW * MW2 / 24. / sqrt(2.) / M_PI;
7582
7583 double gZAH_2 = R22 * R22; // CP conserving case; needs to be generalised for CPV analyses
7584 double gZHpHm_2 = (sW2 - cW2) * (sW2 - cW2);
7585 double gWHpH_2 = R22 * R22; // CP conserving case; needs to be generalised for CPV analyses
7586 double gWHpA_2 = R33 * R33; // CP conserving case; needs to be generalised for CPV analyses
7587
7588 double func_ZAH = 1. + (mH3sq - mH2sq) * (mH3sq - mH2sq) / MZ2 / MZ2 - 2. * (mH3sq + mH2sq) / MZ2;
7589 double func_ZHpHm = 1. - 4. * mHp2 / MZ2;
7590 double func_WHpH = 1. + (mHp2 - mH2sq) * (mHp2 - mH2sq) / MW2 / MW2 - 2. * (mHp2 + mH2sq) / MW2;
7591 double func_WHpA = 1. + (mHp2 - mH3sq) * (mHp2 - mH3sq) / MW2 / MW2 - 2. * (mHp2 + mH3sq) / MW2;
7592
7593 double Gamma_ZAH = HSTheta(MZ-mH3-mH2) * preZ * gZAH_2 * sqrt(std::fabs(func_ZAH)) * func_ZAH;
7594 double Gamma_ZHpHm = HSTheta(MZ-2.*mHp) * preZ * gZHpHm_2 * sqrt(std::fabs(func_ZHpHm)) * func_ZHpHm;
7595 double Gamma_WHpH = HSTheta(MW-mHp-mH2) * preW * gWHpH_2 * sqrt(std::fabs(func_WHpH)) * func_WHpH;
7596 double Gamma_WHpA = HSTheta(MW-mHp-mH3) * preW * gWHpA_2 * sqrt(std::fabs(func_WHpA)) * func_WHpA;
7597
7598 Gamma_Z_inv = myGTHDM->Gamma_inv() + Gamma_ZAH + Gamma_ZHpHm;
7599
7600 Gamma_W_inv = Gamma_WHpH + Gamma_WHpA;
7601}
7602
7603
7604//Higgs direct searches
7605
7607{
7608 //FLAG to select only the model in which all the couplings are the same (by families)
7609 if (!myGTHDM->getATHDMflag())
7610 {
7611 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
7612 }
7613
7614 /*complex i */
7615 gslpp::complex i = gslpp::complex::i();
7616
7617 double Br_Ztoee=0.03363; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7618 double Br_Ztomumu=0.03366; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7619 double Br_Ztotautau=0.0337; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7620 double Br_Ztoinv=0.2; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7621// double Br_Ztohadrons=0.69911; //PDG2022
7622 double Br_Wtoenu=0.1071; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7623 double Br_Wtomunu=0.1063; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7624 double Br_Wtotaunu=0.1138; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7625 double Br_Wtohadrons=0.6741; // PDG2022
7626 double Br_tautoleptons=0.3521; // PDG2022
7627 double Br_tautohadrons=1-Br_tautoleptons; // PDG2022
7628
7629
7648
7649
7654
7659
7664
7665
7666
7667
7668
7721
7722
7727
7728
7733
7750
7755
7776 //THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13=0.0; //OLD this has been splitted in two
7779 //THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13=0.0; //OLD this has been splitted in two
7788
7791
7792
7795
7796
7797
7802
7803
7806
7807
7828
7831
7836
7851
7860
7861 //Theoretical expressions for the Heavy Higgs cross sections times branching ratios
7862
7867
7868
7869
7870
7879
7880
7881
7890
7891
7892
7901
7902
7903
7910
7911
7912
7913
7914 pp_phi2_Zga_llga_TH8=SigmaSumphi2_8*Br_phi2toZga*(Br_Ztoee+Br_Ztomumu);
7915 pp_phi3_Zga_llga_TH8=SigmaSumphi3_8*Br_phi3toZga*(Br_Ztoee+Br_Ztomumu);
7918
7919
7920
7921
7922
7923
7934
7935
7936
7937
7946 ggVV_phi2_WW_lnulnu_TH13=(SigmaggF_phi2_13+SigmaVBF_phi2_13)*Br_phi2toWW*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu);
7947 ggVV_phi3_WW_lnulnu_TH13=(SigmaggF_phi3_13+SigmaVBF_phi3_13)*Br_phi3toWW*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu);
7950
7951
7952
7953
7954
7955
7960
7963
7966
7967
7968
7969
7978
7981
7986
7989
7994
7997
8000
8001
8002 pp_phi2_phi1phi1_bbVV_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*2.0*GTHDM_BR_h_bb*(GTHDM_BR_h_WW*pow(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautoleptons,2)
8003 +GTHDM_BR_h_ZZ*2.0*Br_Ztoinv*(Br_Ztoee+Br_Ztomumu+Br_Ztotautau*Br_tautoleptons*Br_tautoleptons));
8004 pp_phi3_phi1phi1_bbVV_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*2.0*GTHDM_BR_h_bb*(GTHDM_BR_h_WW*pow(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautoleptons,2)
8005 +GTHDM_BR_h_ZZ*2.0*Br_Ztoinv*(Br_Ztoee+Br_Ztomumu+Br_Ztotautau*Br_tautoleptons*Br_tautoleptons));
8006
8007
8008
8009// I'd say that in the paper give values for \phi->HH and assume SM for the other decays so we correct those final dicays but divide by the
8010// BR of the SM (which is what experimentalist have assumed)
8012 +2.0*GTHDM_BR_h_WW*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)
8013 +GTHDM_BR_h_tautau*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons)/
8014 (BrSM_htoWW*BrSM_htoWW*pow((Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons),4)
8015 +2.0*BrSM_htoWW*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)
8016 +BrSM_htotautau*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons);
8017
8019 +2.0*GTHDM_BR_h_WW*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)
8020 +GTHDM_BR_h_tautau*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons)/
8021 (BrSM_htoWW*BrSM_htoWW*pow((Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons),4)
8022 +2.0*BrSM_htoWW*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)*(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons)
8023 +BrSM_htotautau*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons);
8024
8025
8026
8027
8028 //pp_phi2_phi1phi1_bbWW_qqlnu_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_WW*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons;
8029 //pp_phi3_phi1phi1_bbWW_qqlnu_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_WW*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons;
8030
8033
8034
8035
8038
8039
8040 //pp_phi2_phi1phi1_bbZZ_lljj_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_ZZ*(Br_Ztoee+Br_Ztomumu)*Br_Ztohadrons;
8041 //pp_phi3_phi1phi1_bbZZ_lljj_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_ZZ*(Br_Ztoee+Br_Ztomumu)*Br_Ztohadrons;
8042
8043 //pp_phi2_phi1phi1_bbZZ_llnunu_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_ZZ*(Br_Ztoee+Br_Ztomumu)*Br_Ztoinv;
8044 //pp_phi3_phi1phi1_bbZZ_llnunu_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*GTHDM_BR_h_bb*2.0*GTHDM_BR_h_ZZ*(Br_Ztoee+Br_Ztomumu)*Br_Ztoinv;
8045
8046
8047
8048
8049 //pp_phi2_phi1phi1_bbWWorbbtautau_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*
8050 // 2.0*GTHDM_BR_h_bb*
8051 // (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8052 // +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8053 // +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons);
8054 //pp_phi3_phi1phi1_bbWWorbbtautau_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*
8055 // 2.0*GTHDM_BR_h_bb*
8056 // (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8057 // +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8058 // +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons);
8059
8060
8062 2.0*GTHDM_BR_h_bb*
8063 (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8064 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8065 +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons)/(
8066 2.0*BrSM_htobb*
8067 (BrSM_htoWW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8068 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8069 +BrSM_htotautau*Br_tautoleptons*Br_tautoleptons)
8070 );
8072 2.0*GTHDM_BR_h_bb*
8073 (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8074 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8075 +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons)/(
8076 2.0*BrSM_htobb*
8077 (BrSM_htoWW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8078 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8079 +BrSM_htotautau*Br_tautoleptons*Br_tautoleptons)
8080 );
8081
8082
8083
8084
8085
8086 //pp_phi2_phi1phi1_bbWW_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*2.0*5.77e-1*2.15e-1; //SM Br of hh assumed
8087 //pp_phi3_phi1phi1_bbWW_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*2.0*5.77e-1*2.15e-1; //SM Br of hh assumed
8088
8091
8092
8093
8096
8097
8098
8107
8112
8117
8118 //gg_phi2_phi1Z_tautaull_TH13=SigmaggF_phi2_13*Br_phi2tophi1Z*GTHDM_BR_h_tautau*(Br_Ztoee+Br_Ztomumu)*Br_tautohadrons*Br_tautohadrons;
8119 //gg_phi3_phi1Z_tautaull_TH13=SigmaggF_phi3_13*Br_phi3tophi1Z*GTHDM_BR_h_tautau*(Br_Ztoee+Br_Ztomumu)*Br_tautohadrons*Br_tautohadrons;
8122
8123
8124 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbZ_TH8 = \033[0m "<<gg_phi2_phi1Z_bbZ_TH8<<std::endl;
8125 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbZ_TH8 = \033[0m "<<gg_phi3_phi1Z_bbZ_TH8<<std::endl;
8126 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbll_TH8 = \033[0m "<<gg_phi2_phi1Z_bbll_TH8<<std::endl;
8127 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbll_TH8 = \033[0m "<<gg_phi3_phi1Z_bbll_TH8<<std::endl;
8128 //std::cout<<"\033[1;34m gg_phi2_phi1Z_tautauZ_TH8 = \033[0m "<<gg_phi2_phi1Z_tautauZ_TH8<<std::endl;
8129 //std::cout<<"\033[1;34m gg_phi3_phi1Z_tautauZ_TH8 = \033[0m "<<gg_phi3_phi1Z_tautauZ_TH8<<std::endl;
8130 //std::cout<<"\033[1;34m gg_phi2_phi1Z_tautaull_TH8 = \033[0m "<<gg_phi2_phi1Z_tautaull_TH8<<std::endl;
8131 //std::cout<<"\033[1;34m gg_phi3_phi1Z_tautaull_TH8 = \033[0m "<<gg_phi3_phi1Z_tautaull_TH8<<std::endl;
8132 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbZ_TH13 = \033[0m "<<gg_phi2_phi1Z_bbZ_TH13<<std::endl;
8133 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbZ_TH13 = \033[0m "<<gg_phi3_phi1Z_bbZ_TH13<<std::endl;
8134 //std::cout<<"\033[1;34m bb_phi2_phi1Z_bbZ_TH13 = \033[0m "<<bb_phi2_phi1Z_bbZ_TH13<<std::endl;
8135 //std::cout<<"\033[1;34m bb_phi3_phi1Z_bbZ_TH13 = \033[0m "<<bb_phi3_phi1Z_bbZ_TH13<<std::endl;
8136 //std::cout<<"\033[1;31m Br_phi2tophi1Z = \033[0m "<<Br_phi2tophi1Z<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8137 //std::cout<< "\n" <<std::endl;
8138
8139
8140
8141
8150
8153
8154 //std::cout<<"\033[1;34m SigmaggF_phi2_13*Br_phi2tophi3Z = \033[0m "<<SigmaggF_phi2_13*Br_phi2tophi3Z<<std::endl;
8155 //std::cout<<"\033[1;34m Br_phi3toWW = \033[0m "<<Br_phi3toWW<<std::endl;
8156
8157 //std::cout<<"\033[1;34m pp_phi3_phi2Z_bbll_TH8 = \033[0m "<<pp_phi3_phi2Z_bbll_TH8<<std::endl;
8158 //std::cout<<"\033[1;34m pp_phi2_phi3Z_bbll_TH8 = \033[0m "<<pp_phi2_phi3Z_bbll_TH8<<std::endl;
8159 //std::cout<<"\033[1;34m pp_phi3_phi2Z_tautaull_TH8 = \033[0m "<<pp_phi3_phi2Z_tautaull_TH8<<std::endl;
8160 //std::cout<<"\033[1;34m pp_phi2_phi3Z_tautaull_TH8 = \033[0m "<<pp_phi2_phi3Z_tautaull_TH8<<std::endl;
8161 //std::cout<<"\033[1;34m gg_phi3_phi2Z_bbZ_TH13 = \033[0m "<<gg_phi3_phi2Z_bbZ_TH13<<std::endl;
8162 //std::cout<<"\033[1;34m gg_phi2_phi3Z_bbZ_TH13 = \033[0m "<<gg_phi2_phi3Z_bbZ_TH13<<std::endl;
8163 //std::cout<<"\033[1;34m bb_phi3_phi2Z_bbZ_TH13 = \033[0m "<<bb_phi3_phi2Z_bbZ_TH13<<std::endl;
8164 //std::cout<<"\033[1;34m bb_phi2_phi3Z_bbZ_TH13 = \033[0m "<<bb_phi2_phi3Z_bbZ_TH13<<std::endl;
8165 //std::cout<<"\033[1;31m Br_phi3tophi2Z = \033[0m "<<Br_phi3tophi2Z<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8166 //std::cout<< "\n" <<std::endl;
8167
8168
8169 //std::cout<<"\033[1;34m SigmaHp8 = \033[0m "<<SigmaHp8<<std::endl;
8170 //std::cout<<"\033[1;34m Br_Hptotaunu = \033[0m "<<Br_Hptotaunu<<std::endl;
8171
8178
8179 //std::cout<<"\033[1;34m SigmaHp8 = \033[0m "<<SigmaHp8<<std::endl;
8180 //std::cout<<"\033[1;34m pp_Hpm_tb_TH13 = \033[0m "<<pp_Hpm_tb_TH13<<std::endl;
8181
8182 //std::cout<<"mHp = "<<mHp<<std::endl;
8183 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(100) = "<<ip_ex_pp_Hpm_taunu_CMS13(100)<<std::endl;
8184 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(200) = "<<ip_ex_pp_Hpm_taunu_CMS13(200)<<std::endl;
8185 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(300) = "<<ip_ex_pp_Hpm_taunu_CMS13(300)<<std::endl;
8186 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(400) = "<<ip_ex_pp_Hpm_taunu_CMS13(400)<<std::endl;
8187 //std::cout<<"pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(500)<<std::endl;
8188 //std::cout<<"pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(1065.95)<<std::endl;
8189
8190 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(mHp)<<std::endl;
8191
8192 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH8 = \033[0m "<<pp_Hpm_taunu_TH8<<std::endl;
8193 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH8 = \033[0m "<<pp_Hpm_taunu_TH8<<std::endl;
8194 //std::cout<<"\033[1;34m pp_Hp_taunu_TH8 = \033[0m "<<pp_Hp_taunu_TH8<<std::endl;
8195 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH13 = \033[0m "<<pp_Hpm_taunu_TH13<<std::endl;
8196 //std::cout<<"\033[1;34m pp_Hpm_tb_TH8 = \033[0m "<<pp_Hpm_tb_TH8<<std::endl;
8197 //std::cout<<"\033[1;34m pp_Hp_tb_TH8 = \033[0m "<<pp_Hp_tb_TH8<<std::endl;
8198 //std::cout<<"\033[1;34m pp_Hpm_tb_TH13 = \033[0m "<<pp_Hpm_tb_TH13<<std::endl;
8199
8200 //std::cout<<"\033[1;31m SigmaHp8 = \033[0m "<<SigmaHp8<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8201
8202
8203 //95% to 1 sigma conversion factor, roughly sqrt(3.84)
8204// double nftos=1.95996398454;
8205
8206
8207 //std::cout<<"\033[1;33m m2 = \033[0m "<<m2<<std::endl;
8208 //std::cout<<"\033[1;33m m3 = \033[0m "<<m3<<std::endl;
8209 //std::cout<<"\033[1;33m mHp = \033[0m "<<mHp<<std::endl;
8210
8211 //std::cout<<"\033[1;31m mHp = \033[0m "<< mHp <<std::endl;
8212
8213 if(m2>= 450.0 && m2<1400.0) {
8214
8215 //std::cout<<"\033[1;31m stop1 \033[0m "<<std::endl;
8216
8218 // if(THoEX_bb_phi2_bb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8219 }
8220 if(m3>= 450.0 && m3<1400.0){
8221
8222 //std::cout<<"\033[1;31m stop2 \033[0m "<<std::endl;
8223
8225 // if(THoEX_bb_phi3_bb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8226 }
8227
8228
8229
8230 if(m2>= 400.0 && m2<1000.0) {
8231
8232 //std::cout<<"\033[1;31m stop3 \033[0m "<<std::endl;
8233
8235 // if(THoEX_tt_phi2_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8236 }
8237 if(m3>= 400.0 && m3<1000.0){
8238
8239 //std::cout<<"\033[1;31m stop4 \033[0m "<<std::endl;
8240
8242 // if(THoEX_tt_phi3_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8243 }
8244
8245 if(m2>= 400.0 && m2<1000.0) {
8246
8247 //std::cout<<"\033[1;31m stop5 \033[0m "<<std::endl;
8248
8250 // if(THoEX_bb_phi2_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8251 }
8252
8253 if(m3>= 400.0 && m3<1000.0){
8254
8255 //std::cout<<"\033[1;31m stop6 \033[0m "<<std::endl;
8256
8258 // if(THoEX_bb_phi3_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8259
8260 }
8261
8262 if(m2>= 100.0 && m2< 900.0) {
8263
8264 //std::cout<<"\033[1;31m stop7 \033[0m "<<std::endl;
8265
8267 // if(THoEX_bb_phi2_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8268
8269 }
8270 if(m3>= 100.0 && m3< 900.0) {
8271
8272 //std::cout<<"\033[1;31m stop8 \033[0m "<<std::endl;
8273
8275 // if(THoEX_bb_phi3_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8276 }
8277 if(m2>= 330.0 && m2<1200.0) {
8278
8279 //std::cout<<"\033[1;31m stop9 \033[0m "<<std::endl;
8280
8282 // if(THoEX_gg_phi2_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8283 }
8284 if(m3>= 330.0 && m3<1200.0) {
8285
8286 //std::cout<<"\033[1;31m stop10 \033[0m "<<std::endl;
8287
8289 // if(THoEX_gg_phi3_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8290 }
8291
8292
8293
8294
8295
8296
8297
8298 if(m2>= 350.0 && m2<650.0) {
8299
8300 //std::cout<<"\033[1;31m stop11 \033[0m "<<std::endl;
8301
8303
8304 }
8305 if(m3>= 350.0 && m3<650.0) {
8306
8307 //std::cout<<"\033[1;31m stop12 \033[0m "<<std::endl;
8308
8310 // if(THoEX_tt_phi3_tt_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8311 }
8312
8313
8314
8315
8316
8317
8318
8319
8320 if(m2>= 550.0 && m2<1200.0) {
8321
8322 //std::cout<<"\033[1;31m stop13 \033[0m "<<std::endl;
8323
8325 // if(THoEX_pp_phi2_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8326 }
8327 if(m3>= 550.0 && m3<1200.0) {
8328
8329 //std::cout<<"\033[1;31m stop14 \033[0m "<<std::endl;
8330
8332 // if(THoEX_pp_phi3_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8333 }
8334
8335
8336
8337
8338
8339
8340
8341 if(m2>= 50.0 && m2<350.0) {
8342
8343 //std::cout<<"\033[1;31m stop15 \033[0m "<<std::endl;
8344
8346 // if(THoEX_pp_phi2_bb_light_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8347 }
8348 if(m3>= 50.0 && m3<350.0) {
8349
8350 //std::cout<<"\033[1;31m stop16 \033[0m "<<std::endl;
8351
8353 // if(THoEX_pp_phi3_bb_light_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8354 }
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364 if(m2>= 300.0 && m2<1300.0) {
8365
8366 //std::cout<<"\033[1;31m stop17 \033[0m "<<std::endl;
8367
8369 // if(THoEX_bb_phi2_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8370 }
8371 if(m3>= 300.0 && m3<1300.0) {
8372
8373 //std::cout<<"\033[1;31m stop18 \033[0m "<<std::endl;
8374
8376 // if(THoEX_bb_phi3_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8377 }
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387 //1508.01437
8388 if(m2>= 120.0 && m2<500.0) {
8389
8390 //std::cout<<"\033[1;31m stop19 \033[0m "<<std::endl;
8391
8393 // if(THoEX_gg_phi2_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8394 }
8395 if(m3>= 120.0 && m3<500.0) {
8396
8397 //std::cout<<"\033[1;31m stop20 \033[0m "<<std::endl;
8398
8400 // if(THoEX_gg_phi3_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8401 }
8402
8403
8404 if(m2>= 120.0 && m2<500.0) {
8405
8406 //std::cout<<"\033[1;31m stop21 \033[0m "<<std::endl;
8407
8409 // if(THoEX_bb_phi2_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8410 }
8411 if(m3>= 120.0 && m3<500.0) {
8412
8413 //std::cout<<"\033[1;31m stop22 \033[0m "<<std::endl;
8414
8416 // if(THoEX_bb_phi3_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8417 }
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430 //1907.03152
8431 if(m2>= 140.0 && m2<1000.0) {
8432
8433 //std::cout<<"\033[1;31m stop23 \033[0m "<<std::endl;
8434
8435
8436 //std::cout<<"\033[1;32m gg_phi2_mumu_TH13= \033[0m "<< gg_phi2_mumu_TH13 <<std::endl;
8437 //std::cout<<"\033[1;32m ip_ex_gg_phi_mumu_CMS13= \033[0m "<< ip_ex_gg_phi_mumu_CMS13(m2) <<std::endl;
8438
8439
8440
8442 // if(THoEX_gg_phi2_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8443 }
8444 if(m3>= 140.0 && m3<1000.0) {
8445
8446 //std::cout<<"\033[1;31m stop24 \033[0m "<<std::endl;
8447
8449 // if(THoEX_gg_phi3_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8450 }
8451
8452
8453 if(m2>= 140.0 && m2<1000.0) {
8454
8455 //std::cout<<"\033[1;31m stop25 \033[0m "<<std::endl;
8456
8457
8458
8459
8460
8461
8462
8463
8465 // if(THoEX_bb_phi2_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8466 }
8467 if(m3>= 140.0 && m3<1000.0) {
8468
8469 //std::cout<<"\033[1;31m stop26 \033[0m "<<std::endl;
8470
8471
8472
8473
8474
8475
8477 // if(THoEX_bb_phi3_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8478 }
8479
8480
8481
8482
8483
8484
8485
8486 //1901.08144
8487 if(m2>= 200.0 && m2<1000.0) {
8488
8489 //std::cout<<"\033[1;31m stop27 \033[0m "<<std::endl;
8490
8491 //std::cout<<"\033[1;32m gg_phi2_mumu_TH13= \033[0m "<< gg_phi2_mumu_TH13 <<std::endl;
8492 //std::cout<<"\033[1;32m ip_ex_gg_phi_mumu_ATLAS13= \033[0m "<< ip_ex_gg_phi_mumu_ATLAS13(m2) <<std::endl;
8493
8495 // if(THoEX_gg_phi2_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8496 }
8497 if(m3>= 200.0 && m3<1000.0) {
8498
8499 //std::cout<<"\033[1;31m stop28 \033[0m "<<std::endl;
8500
8502 // if(THoEX_gg_phi3_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8503 }
8504
8505
8506 if(m2>= 200.0 && m2<1000.0) {
8507
8508 //std::cout<<"\033[1;31m stop29 \033[0m "<<std::endl;
8509
8511 // if(THoEX_bb_phi2_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8512 }
8513 if(m3>= 200.0 && m3<1000.0) {
8514
8515 //std::cout<<"\033[1;31m stop30 \033[0m "<<std::endl;
8516
8518 // if(THoEX_bb_phi3_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8519 }
8520
8521
8522
8523
8524
8525
8526
8527 if(m2>= 90.0 && m2<1000.0) { //
8528
8529 //std::cout<<"\033[1;31m gg_phi2_tautau_TH8 =\033[0m "<< gg_phi2_tautau_TH8 <<std::endl;
8530 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS8(m2) =\033[0m "<< ip_ex_gg_phi_tautau_ATLAS8(m2) <<std::endl;
8531
8533 // if(THoEX_gg_phi2_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8534 }
8535 if(m3>= 90.0 && m3<1000.0) { //
8536
8537 //std::cout<<"\033[1;31m stop32 \033[0m "<<std::endl;
8538
8539 //std::cout<<"\033[1;31m gg_phi3_tautau_TH8 = \033[0m "<< gg_phi3_tautau_TH8 <<std::endl;
8540 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS8(m3) = \033[0m "<< ip_ex_gg_phi_tautau_ATLAS8(m3) <<std::endl;
8541
8542
8544 // if(THoEX_gg_phi3_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8545 }
8546 if(m2>= 90.0 && m2<1000.0) {
8547
8548 //std::cout<<"\033[1;31m stop33 \033[0m "<<std::endl;
8549
8551 // if(THoEX_gg_phi2_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8552 }
8553 if(m3>= 90.0 && m3<1000.0) {
8554
8555 //std::cout<<"\033[1;31m stop34 \033[0m "<<std::endl;
8556
8558 // if(THoEX_gg_phi3_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8559 }
8560 if(m2>= 90.0 && m2<1000.0) {
8561
8562 //std::cout<<"\033[1;31m stop35 \033[0m "<<std::endl;
8563
8565 // if(THoEX_bb_phi2_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8566 }
8567 if(m3>= 90.0 && m3<1000.0) {
8568
8569 //std::cout<<"\033[1;31m stop36 \033[0m "<<std::endl;
8570
8572 // if(THoEX_bb_phi3_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8573 }
8574 if(m2>= 90.0 && m2<1000.0) {
8575
8576 //std::cout<<"\033[1;31m stop37 \033[0m "<<std::endl;
8577
8579 // if(THoEX_bb_phi2_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8580 }
8581 if(m3>= 90.0 && m3<1000.0) {
8582
8583 //std::cout<<"\033[1;31m stop38 \033[0m "<<std::endl;
8584
8586 // if(THoEX_bb_phi3_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8587 }
8588 if(m2>= 200.0 && m2<2250.0) {
8589
8590 //std::cout<<"\033[1;31m stop39 \033[0m "<<std::endl;
8591
8592
8593
8595 // if(THoEX_gg_phi2_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8596 }
8597
8598
8599 if(m3>= 200.0 && m3<2250.0) {
8600
8601 //std::cout<<"\033[1;31m stop40 \033[0m "<<std::endl;
8602
8603 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS13(m2) \033[0m "<< ip_ex_gg_phi_tautau_ATLAS13(m3) <<std::endl;
8604 //std::cout<<"\033[1;31m gg_phi3_tautau_TH13 \033[0m "<< gg_phi3_tautau_TH13 <<std::endl;
8605
8607 // if(THoEX_gg_phi3_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8608 }
8609 if(m2>= 90.0 && m2<3200.0) {
8610
8611 //std::cout<<"\033[1;31m stop41 \033[0m "<<std::endl;
8612
8613 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_CMS13(m2) \033[0m "<< ip_ex_gg_phi_tautau_CMS13(m2) <<std::endl;
8614 //std::cout<<"\033[1;31m gg_phi2_tautau_TH13 \033[0m "<< gg_phi2_tautau_TH13 <<std::endl;
8615
8617 // if(THoEX_gg_phi2_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8618 }
8619 if(m3>= 90.0 && m3<3200.0) {
8620
8621 //std::cout<<"\033[1;31m stop42 \033[0m "<<std::endl;
8622
8624 // if(THoEX_gg_phi3_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8625 }
8626 if(m2>= 200.0 && m2<2250.0) {
8627
8628 //std::cout<<"\033[1;31m stop43 \033[0m "<<std::endl;
8629
8631 // if(THoEX_bb_phi2_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8632 }
8633
8634
8635 if(m3>= 200.0 && m3<2250.0) {
8636
8637 //std::cout<<"\033[1;31m stop44 \033[0m "<<std::endl;
8638
8640 // if(THoEX_bb_phi3_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8641 }
8642 if(m2>= 60.0 && m2<3500.0) {
8643
8644 //std::cout<<"\033[1;31m stop45 \033[0m "<<std::endl;
8645
8647 // if(THoEX_bb_phi2_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8648 }
8649 if(m3>= 60.0 && m3<3500.0) {
8650
8651 //std::cout<<"\033[1;31m stop46 \033[0m "<<std::endl;
8652
8654 // if(THoEX_bb_phi3_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8655 }
8656
8657
8658 if(m2>= 65.0 && m2< 600.0) {
8659
8660 //std::cout<<"\033[1;31m stop47 \033[0m "<<std::endl;
8661
8663 // if(THoEX_gg_phi2_gaga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8664 }
8665 if(m3>= 65.0 && m3< 600.0) {
8666
8667 //std::cout<<"\033[1;31m stop48 \033[0m "<<std::endl;
8668
8670 // if(THoEX_gg_phi3_gaga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8671 }
8672 if(m2>= 160.0 && m2<3000.0) {
8673
8674 //std::cout<<"\033[1;31m stop49 \033[0m "<<std::endl;
8675
8676
8677
8678
8680 // if(THoEX_pp_phi2_gaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8681 }
8682
8683
8684 if(m3>= 160.0 && m3<3000.0)
8685 {
8686
8688
8689 }
8690 if(m2>= 600.0 && m2<5000.0)
8691 {
8692
8694
8695 }
8696 if(m3>= 600.0 && m3<5000.0)
8697 {
8698
8700
8701 }
8702 if(m2>= 200.0 && m2<1600.0)
8703 {
8704
8706
8707 }
8708
8709 if(m3>= 200.0 && m3<1600.0)
8710 {
8711
8712 //std::cout<<"\033[1;31m stop54 \033[0m "<<std::endl;
8713
8715 // if(THoEX_pp_phi3_Zga_llga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8716 }
8717 if(m2>= 200.0 && m2<1200.0)
8718 {
8719
8720 //std::cout<<"\033[1;31m stop55 \033[0m "<<std::endl;
8721
8723 // if(THoEX_pp_phi2_Zga_llga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8724 }
8725 if(m3>= 200.0 && m3<1200.0)
8726 {
8727
8728 //std::cout<<"\033[1;31m stop56 \033[0m "<<std::endl;
8729
8731 // if(THoEX_pp_phi3_Zga_llga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8732 }
8733 if(m2>= 250.0 && m2<2400.0)
8734 {
8735
8736 //std::cout<<"\033[1;31m stop57 \033[0m "<<std::endl;
8737
8739 // if(THoEX_gg_phi2_Zga_llga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8740 }
8741 if(m3>= 250.0 && m3<2400.0)
8742 {
8743
8744 //std::cout<<"\033[1;31m stop58 \033[0m "<<std::endl;
8745
8747 // if(THoEX_gg_phi3_Zga_llga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8748 }
8749 if(m2>=1000.0 && m2<6800.0)
8750 {
8751
8752 //std::cout<<"\033[1;31m stop59 \033[0m "<<std::endl;
8753
8755 // if(THoEX_gg_phi2_Zga_qqga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8756 }
8757 if(m3>=1000.0 && m3<6800.0)
8758 {
8759
8760 //std::cout<<"\033[1;31m stop60 \033[0m "<<std::endl;
8761
8763 // if(THoEX_gg_phi3_Zga_qqga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8764 }
8765
8766 if(m2>= 350.0 && m2<4000.0)
8767 {
8768
8769 //std::cout<<"\033[1;31m stop61 \033[0m "<<std::endl;
8770
8772 // if(THoEX_gg_phi2_Zga_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8773 }
8774 if(m3>= 350.0 && m3<4000.0)
8775 {
8776
8777 //std::cout<<"\033[1;31m stop62 \033[0m "<<std::endl;
8778
8780 // if(THoEX_gg_phi3_Zga_CMS13>5) return std::numeric_limits<double>::quiet_NaN();
8781 }
8782 if(m2>= 140.0 && m2<1000.0)
8783 {
8784
8785 //std::cout<<"\033[1;31m stop63 \033[0m "<<std::endl;
8786
8788 // if(THoEX_gg_phi2_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8789 }
8790 if(m3>= 140.0 && m3<1000.0)
8791 {
8792
8793 //std::cout<<"\033[1;31m stop64 \033[0m "<<std::endl;
8794
8796 // if(THoEX_gg_phi3_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8797 }
8798 if(m2>= 140.0 && m2<1000.0)
8799 {
8800
8801 //std::cout<<"\033[1;31m stop65 \033[0m "<<std::endl;
8802
8804 // if(THoEX_VV_phi2_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8805 }
8806
8807 if(m3>= 140.0 && m3<1000.0)
8808 {
8809
8810 //std::cout<<"\033[1;31m stop66 \033[0m "<<std::endl;
8811
8813 // if(THoEX_VV_phi3_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8814 }
8815 if(m2>= 210.0 && m2<1200.0)
8816 {
8817
8818 //std::cout<<"\033[1;31m stop67 \033[0m "<<std::endl;
8819
8821 // if(THoEX_gg_phi2_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8822 }
8823 if(m3>= 210.0 && m3<1200.0)
8824 {
8825
8826 //std::cout<<"\033[1;31m stop68 \033[0m "<<std::endl;
8827
8829 // if(THoEX_gg_phi3_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8830 }
8831 if(m2>= 210.0 && m2<2000.0)
8832 {
8833
8834 //std::cout<<"\033[1;31m stop69 \033[0m "<<std::endl;
8835
8837 // if(THoEX_VV_phi2_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8838 }
8839 if(m3>= 210.0 && m3<2000.0)
8840 {
8841
8842 //std::cout<<"\033[1;31m stop70 \033[0m "<<std::endl;
8843
8845 // if(THoEX_VV_phi3_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8846 }
8847 if(m2>= 300.0 && m2<3000.0)
8848 {
8849
8850 //std::cout<<"\033[1;31m stop71 \033[0m "<<std::endl;
8851
8853 // if(THoEX_gg_phi2_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8854 }
8855 if(m3>= 300.0 && m3<3000.0)
8856 {
8857
8858 //std::cout<<"\033[1;31m stop72 \033[0m "<<std::endl;
8859
8861 // if(THoEX_gg_phi3_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8862 }
8863 if(m2>= 300.0 && m2<3000.0)
8864 {
8865
8866 //std::cout<<"\033[1;31m stop73 \033[0m "<<std::endl;
8867
8869 // if(THoEX_VV_phi2_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8870 }
8871 if(m3>= 300.0 && m3<3000.0)
8872 {
8873
8874 //std::cout<<"\033[1;31m stop74 \033[0m "<<std::endl;
8875
8877 // if(THoEX_VV_phi3_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8878 }
8879
8880 if(m2>= 130.0 && m2<3000.0)
8881 {
8882
8883 //std::cout<<"\033[1;31m stop75 \033[0m "<<std::endl;
8884
8886 // if(THoEX_pp_phi2_ZZ_llqqnunull_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8887 }
8888 if(m3>= 130.0 && m3<3000.0)
8889 {
8890
8891 //std::cout<<"\033[1;31m stop76 \033[0m "<<std::endl;
8892
8894 // if(THoEX_pp_phi3_ZZ_llqqnunull_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8895 }
8896 if(m2>=1000.0 && m2<4000.0)
8897 {
8898
8899 //std::cout<<"\033[1;31m stop77 \033[0m "<<std::endl;
8900
8902 // if(THoEX_pp_phi2_ZZ_qqnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8903 }
8904 if(m3>=1000.0 && m3<4000.0)
8905 {
8906
8907 //std::cout<<"\033[1;31m stop78 \033[0m "<<std::endl;
8908
8910 // if(THoEX_pp_phi3_ZZ_qqnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8911 }
8912 if(m2>= 300.0 && m2<1500.0)
8913 {
8914
8915 //std::cout<<"\033[1;31m stop79 \033[0m "<<std::endl;
8916
8918 // if(THoEX_gg_phi2_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8919 }
8920 if(m3>= 300.0 && m3<1500.0)
8921 {
8922
8923 //std::cout<<"\033[1;31m stop80 \033[0m "<<std::endl;
8924
8926 // if(THoEX_gg_phi3_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8927 }
8928 if(m2>= 300.0 && m2<1500.0)
8929 {
8930
8931 //std::cout<<"\033[1;31m stop81 \033[0m "<<std::endl;
8932
8934 // if(THoEX_VV_phi2_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8935 }
8936 if(m3>= 300.0 && m3<1500.0)
8937 {
8938
8939 //std::cout<<"\033[1;31m stop82 \033[0m "<<std::endl;
8940
8942 // if(THoEX_VV_phi3_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8943 }
8944
8945 //ip_ex_VV_phi_WW_CMS13
8946
8947 if(m2>= 200.0 && m2<3000.0)
8948 {
8949
8950 //std::cout<<"\033[1;31m stop83 \033[0m "<<std::endl;
8951
8953 // if(THoEX_VV_phi2_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8954 }
8955 if(m3>= 200.0 && m3<3000.0)
8956 {
8957
8958 //std::cout<<"\033[1;31m stop84 \033[0m "<<std::endl;
8959
8961 // if(THoEX_VV_phi3_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8962 }
8963 if(m2>= 200.0 && m2<3000.0)
8964 {
8965
8966 //std::cout<<"\033[1;31m stop85 \033[0m "<<std::endl;
8967
8969 // if(THoEX_gg_phi2_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8970 }
8971 if(m3>= 200.0 && m3<3000.0)
8972 {
8973
8974 //std::cout<<"\033[1;31m stop86 \033[0m "<<std::endl;
8975
8977 // if(THoEX_gg_phi3_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8978 }
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989 if(m2>= 1000.0 && m2<4500.0)
8990 {
8991
8992 //std::cout<<"\033[1;31m stop87 \033[0m "<<std::endl;
8993
8995 // if(THoEX_VV_phi2_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8996 }
8997 if(m3>= 1000.0 && m3<4500.0)
8998 {
8999
9000 //std::cout<<"\033[1;31m stop88 \033[0m "<<std::endl;
9001
9003 // if(THoEX_VV_phi3_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9004 }
9005 if(m2>= 1000.0 && m2<4500.0)
9006 {
9007
9008 //std::cout<<"\033[1;31m stop89 \033[0m "<<std::endl;
9009
9011 // if(THoEX_gg_phi2_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9012 }
9013 if(m3>= 1000.0 && m3<4500.0)
9014 {
9015
9016 //std::cout<<"\033[1;31m stop90 \033[0m "<<std::endl;
9017
9019 // if(THoEX_gg_phi3_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9020 }
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033 if(m2>= 250.0 && m2<4000.0)
9034 {
9035
9036 //std::cout<<"\033[1;31m stop91 \033[0m "<<std::endl;
9037
9039 // if(THoEX_gg_phi2_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9040 }
9041 if(m3>= 250.0 && m3<4000.0)
9042 {
9043
9044 //std::cout<<"\033[1;31m stop92 \033[0m "<<std::endl;
9045
9047 // if(THoEX_gg_phi3_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9048 }
9049 if(m2>= 250.0 && m2<3000.0)
9050 {
9051
9052 //std::cout<<"\033[1;31m stop93 \033[0m "<<std::endl;
9053
9055 // if(THoEX_VV_phi2_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9056 }
9057 if(m3>= 250.0 && m3<3000.0)
9058 {
9059
9060 //std::cout<<"\033[1;31m stop94 \033[0m "<<std::endl;
9061
9063 // if(THoEX_VV_phi3_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9064 }
9065 if(m2>= 200.0 && m2<1000.0)
9066 {
9067
9068 //std::cout<<"\033[1;31m stop95 \033[0m "<<std::endl;
9069
9071 // if(THoEX_ggVV_phi2_WW_lnulnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9072 }
9073 if(m3>= 200.0 && m3<1000.0)
9074 {
9075
9076 //std::cout<<"\033[1;31m stop96 \033[0m "<<std::endl;
9077
9079 // if(THoEX_ggVV_phi3_WW_lnulnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9080 }
9081 if(m2>= 300.0 && m2<3000.0)
9082 {
9083
9084 //std::cout<<"\033[1;31m stop97 \033[0m "<<std::endl;
9085
9087 // if(THoEX_gg_phi2_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9088 }
9089 if(m3>= 300.0 && m3<3000.0)
9090 {
9091
9092 //std::cout<<"\033[1;31m stop98 \033[0m "<<std::endl;
9093
9095 // if(THoEX_gg_phi3_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9096 }
9097 if(m2>= 300.0 && m2<3000.0)
9098 {
9099
9100 //std::cout<<"\033[1;31m stop99 \033[0m "<<std::endl;
9101
9103 // if(THoEX_VV_phi2_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9104 }
9105 if(m3>= 300.0 && m3<3000.0)
9106 {
9107
9108 //std::cout<<"\033[1;31m stop100 \033[0m "<<std::endl;
9109
9111 // if(THoEX_VV_phi3_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9112 }
9113 if(m2>=1000.0 && m2<4400.0)
9114 {
9115
9116 //std::cout<<"\033[1;31m stop101 \033[0m "<<std::endl;
9117
9119 // if(THoEX_pp_phi2_WW_lnuqq_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9120 }
9121 if(m3>=1000.0 && m3<4400.0)
9122 {
9123
9124 //std::cout<<"\033[1;31m stop102 \033[0m "<<std::endl;
9125
9127 // if(THoEX_pp_phi3_WW_lnuqq_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9128 }
9129 if(m2>= 145.0 && m2<1000.0)
9130 {
9131
9133 // if(THoEX_mu_pp_phi2_VV_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9134 }
9135 if(m3>= 145.0 && m3<1000.0)
9136 {
9137
9139
9140 }
9141 if(m2>=1200.0 && m2<3000.0)
9142 {
9143
9144
9146 // if(THoEX_pp_phi2_VV_qqqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9147 }
9148 if(m3>=1200.0 && m3<3000.0)
9149 {
9150
9151 //std::cout<<"\033[1;31m stop106 \033[0m "<<std::endl;
9152
9154 // if(THoEX_pp_phi3_VV_qqqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9155 }
9156
9157
9158
9159
9160
9161 if(m2>=300.0 && m2<5000.0)
9162 {
9163
9164 //std::cout<<"\033[1;31m stop107 \033[0m "<<std::endl;
9165
9167 // if(THoEX_gg_phi2_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9168 }
9169 if(m3>=300.0 && m3<5000.0)
9170 {
9171
9172 //std::cout<<"\033[1;31m stop108 \033[0m "<<std::endl;
9173
9175 // if(THoEX_gg_phi3_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9176 }
9177
9178
9179 if(m2>=300.0 && m2<5000.0)
9180 {
9181
9182 //std::cout<<"\033[1;31m stop109 \033[0m "<<std::endl;
9183
9185 // if(THoEX_VV_phi2_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9186 }
9187 if(m3>=300.0 && m3<5000.0)
9188 {
9189
9190 //std::cout<<"\033[1;31m stop110 \033[0m "<<std::endl;
9191
9193 // if(THoEX_VV_phi3_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9194 }
9195
9196
9197
9198
9199
9200 if(m2>= 260.0 && m2<1000.0)
9201 {
9202
9203
9205
9206 }
9207 if(m3>= 260.0 && m3<1000.0)
9208 {
9209
9210 //std::cout<<"\033[1;31m stop112 \033[0m "<<std::endl;
9211
9213 // if(THoEX_gg_phi3_phi1phi1_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9214 }
9215 if(m2>= 270.0 && m2<1100.0)
9216 {
9217
9218 //std::cout<<"\033[1;31m stop113 \033[0m "<<std::endl;
9219
9221 // if(THoEX_pp_phi2_phi1phi1_bbbb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9222 }
9223 if(m3>= 270.0 && m3<1100.0)
9224 {
9225
9226 //std::cout<<"\033[1;31m stop114 \033[0m "<<std::endl;
9227
9229 // if(THoEX_pp_phi3_phi1phi1_bbbb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9230 }
9231 if(m2>= 260.0 && m2<1100.0)
9232 {
9233
9234 //std::cout<<"\033[1;31m stop115 \033[0m "<<std::endl;
9235
9237 // if(THoEX_pp_phi2_phi1phi1_bbgaga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9238 }
9239 if(m3>= 260.0 && m3<1100.0)
9240 {
9241
9242 //std::cout<<"\033[1;31m stop116 \033[0m "<<std::endl;
9243
9245 // if(THoEX_pp_phi3_phi1phi1_bbgaga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9246 }
9247 if(m2>= 260.0 && m2< 350.0)
9248 {
9249
9250 //std::cout<<"\033[1;31m stop117 \033[0m "<<std::endl;
9251
9253 // if(THoEX_gg_phi2_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9254 }
9255 if(m3>= 260.0 && m3< 350.0)
9256 {
9257
9258 //std::cout<<"\033[1;31m stop118 \033[0m "<<std::endl;
9259
9261 // if(THoEX_gg_phi3_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9262 }
9263 if(m2>= 350.0 && m2<1000.0)
9264 {
9265
9266 //std::cout<<"\033[1;31m stop119 \033[0m "<<std::endl;
9267
9269 // if(THoEX_pp_phi2_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9270 }
9271 if(m3>= 350.0 && m3<1000.0)
9272 {
9273
9274 //std::cout<<"\033[1;31m stop120 \033[0m "<<std::endl;
9275
9277 // if(THoEX_pp_phi3_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9278 }
9279 if(m2>= 250.0 && m2<3000.0)
9280 {
9281
9282 //std::cout<<"\033[1;31m stop121 \033[0m "<<std::endl;
9283
9285 // if(THoEX_pp_phi2_phi1phi1_bbbb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9286 }
9287 if(m3>= 250.0 && m3<3000.0)
9288 {
9289
9290 //std::cout<<"\033[1;31m stop122 \033[0m "<<std::endl;
9291
9293 // if(THoEX_pp_phi3_phi1phi1_bbbb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9294 }
9295 if(m2>= 260.0 && m2<1200.0)
9296 {
9297
9298 //std::cout<<"\033[1;31m stop123 \033[0m "<<std::endl;
9299
9301 // if(THoEX_pp_phi2_phi1phi1_bbbb_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9302 }
9303 if(m3>= 260.0 && m3<1200.0)
9304 {
9305
9306 //std::cout<<"\033[1;31m stop124 \033[0m "<<std::endl;
9307
9309 // if(THoEX_pp_phi3_phi1phi1_bbbb_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9310 }
9311 if(m2>=1000.0 && m2<3000.0)
9312 {
9313
9314 //std::cout<<"\033[1;31m stop125 \033[0m "<<std::endl;
9315
9317 // if(THoEX_pp_phi2_phi1phi1_bbbb_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9318 }
9319 if(m3>=1000.0 && m3<3000.0)
9320 {
9321
9322 //std::cout<<"\033[1;31m stop126 \033[0m "<<std::endl;
9323
9325 // if(THoEX_pp_phi3_phi1phi1_bbbb_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9326 }
9327 if(m2>= 251.0 && m2<1000.0)
9328 {
9329
9330 //std::cout<<"\033[1;31m stop127 \033[0m "<<std::endl;
9331
9333 // if(THoEX_pp_phi2_phi1phi1_bbgaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9334 }
9335 if(m3>= 251.0 && m3<1000.0)
9336 {
9337
9339 // if(THoEX_pp_phi3_phi1phi1_bbgaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9340 }
9341 //if(m2>= 250.0 && m2< 900.0) //Old limits
9342 if(m2>= 260.0 && m2< 1000.0)
9343 {
9344
9345
9347
9348 }
9349 //if(m3>= 250.0 && m3< 900.0) //Old limits
9350 if(m3>= 260.0 && m3< 1000.0)
9351 {
9352
9354 }
9355 /*
9356 if(m2>= 260.0 && m2<1000.0)
9357 {
9358 THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13=pp_phi2_phi1phi1_bbtautau_TH13/ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(m2);
9359 if(THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13 >2) return std::numeric_limits<double>::quiet_NaN();
9360 }
9361 if(m3>= 260.0 && m3<1000.0)
9362 {
9363 THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13=pp_phi3_phi1phi1_bbtautau_TH13/ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(m3);
9364 if(THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13 >2) return std::numeric_limits<double>::quiet_NaN();
9365 }
9366 */ //OLD We have split this one in two parts
9368 if(m2>= 251.0 && m2<1600.0)
9369 {
9370
9371 //std::cout<<"\033[1;31m stop131 \033[0m "<<std::endl;
9372
9374 // if(THoEX_pp_phi2_phi1phi1_bbtautau_1_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9375 }
9376 if(m3>= 251.0 && m3<1600.0)
9377 {
9378
9379 //std::cout<<"\033[1;31m stop132 \033[0m "<<std::endl;
9380
9382 // if(THoEX_pp_phi3_phi1phi1_bbtautau_1_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9383 }
9384 if(m2>= 1000.0 && m2<3000.0)
9385 {
9386
9387 //std::cout<<"\033[1;31m stop133 \033[0m "<<std::endl;
9388
9390 // if(THoEX_pp_phi2_phi1phi1_bbtautau_2_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9391 }
9392 if(m3>= 1000.0 && m3<3000.0)
9393 {
9394
9395 //std::cout<<"\033[1;31m stop134 \033[0m "<<std::endl;
9396
9398 // if(THoEX_pp_phi3_phi1phi1_bbtautau_2_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9399 }
9401 if(m2>= 250.0 && m2< 900.0)
9402 {
9403
9404 //std::cout<<"\033[1;31m stop135 \033[0m "<<std::endl;
9405
9407 // if(THoEX_pp_phi2_phi1phi1_bbtautau_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9408 }
9409 if(m3>= 250.0 && m3< 900.0)
9410 {
9411
9412 //std::cout<<"\033[1;31m stop136 \033[0m "<<std::endl;
9413
9415 // if(THoEX_pp_phi3_phi1phi1_bbtautau_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9416 }
9417 if(m2>= 900.0 && m2<4000.0)
9418 {
9419
9420 //std::cout<<"\033[1;31m stop137 \033[0m "<<std::endl;
9421
9423 // if(THoEX_pp_phi2_phi1phi1_bbtautau_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9424 }
9425 if(m3>= 900.0 && m3<4000.0)
9426 {
9427
9428 //std::cout<<"\033[1;31m stop138 \033[0m "<<std::endl;
9429
9431 // if(THoEX_pp_phi3_phi1phi1_bbtautau_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9432 }
9433 if(m2>= 260.0 && m2< 900.0)
9434 {
9435
9436 //std::cout<<"\033[1;31m stop139 \033[0m "<<std::endl;
9437
9439 // if(THoEX_pp_phi2_phi1phi1_bbVV_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9440 }
9441 if(m3>= 260.0 && m3< 900.0)
9442 {
9443
9444 //std::cout<<"\033[1;31m stop140 \033[0m "<<std::endl;
9445
9447 // if(THoEX_pp_phi3_phi1phi1_bbVV_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9448 }
9449
9450
9451 if(m2>= 250.0 && m2< 1000.0)
9452 {
9453
9454 //std::cout<<"\033[1;31m stop141 \033[0m "<<std::endl;
9455
9457 // if(THoEX_pp_phi2_phi1phi1_4WOr2W2tauOr4tau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9458 }
9459 if(m3>= 250.0 && m3< 1000.0)
9460 {
9461
9462 //std::cout<<"\033[1;31m stop142 \033[0m "<<std::endl;
9463
9465 // if(THoEX_pp_phi3_phi1phi1_4WOr2W2tauOr4tau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9466 }
9467
9468
9469
9470 if(m2>= 800.0 && m2< 3500.0)
9471 {
9472
9473 //std::cout<<"\033[1;31m stop143 \033[0m "<<std::endl;
9474
9476 // if(THoEX_pp_phi2_phi1phi1_bbWW_qqlnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9477 }
9478 if(m3>= 800.0 && m3< 3500.0)
9479 {
9480
9481 //std::cout<<"\033[1;31m stop144 \033[0m "<<std::endl;
9482
9484 // if(THoEX_pp_phi3_phi1phi1_bbWW_qqlnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9485 }
9486
9487
9488
9489
9490
9491
9492 if(m2>= 260.0 && m2< 1000.0)
9493 {
9494
9495 //std::cout<<"\033[1;31m stop145 \033[0m "<<std::endl;
9496
9498 // if(THoEX_pp_phi2_phi1phi1_bbZZ_lljj_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9499 }
9500 if(m3>= 260.0 && m3< 1000.0)
9501 {
9502
9503 //std::cout<<"\033[1;31m stop146 \033[0m "<<std::endl;
9504
9506 // if(THoEX_pp_phi3_phi1phi1_bbZZ_lljj_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9507 }
9508 if(m2>= 250.0 && m2< 1000.0)
9509 {
9510
9511 //std::cout<<"\033[1;31m stop147 \033[0m "<<std::endl;
9512
9514 // if(THoEX_pp_phi2_phi1phi1_bbZZ_llnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9515 }
9516 if(m3>= 250.0 && m3< 1000.0)
9517 {
9518
9519 //std::cout<<"\033[1;31m stop148 \033[0m "<<std::endl;
9520
9522 // if(THoEX_pp_phi3_phi1phi1_bbZZ_llnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9523 }
9524
9525
9526 //ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_CMS13
9527
9528 if(m2>= 800.0 && m2< 4500.0)
9529 {
9530
9532
9533 }
9534 if(m3>= 800.0 && m3< 4500.0)
9535 {
9536
9538 }
9539
9540
9541 //This will overwrite the previous one when the mass is in this range.
9542 //This way we consider this search only once so it's fine
9543 if(m2>= 250.0 && m2 < 899.0)
9544 {
9545
9547
9548 }
9549 if(m3>= 250.0 && m3< 899.0)
9550 {
9551
9553 }
9554
9555
9556
9557 if(m2>= 500.0 && m2< 3000.0)
9558 {
9559
9560 //std::cout<<"\033[1;31m stop151 \033[0m "<<std::endl;
9561
9563 // if(THoEX_pp_phi2_phi1phi1_bbWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9564 }
9565 if(m3>= 500.0 && m3< 3000.0)
9566 {
9567
9568 //std::cout<<"\033[1;31m stop152 \033[0m "<<std::endl;
9569
9571 // if(THoEX_pp_phi3_phi1phi1_bbWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9572 }
9573 if(m2>= 260.0 && m2< 500.0)
9574 {
9575
9576 //std::cout<<"\033[1;31m stop153 \033[0m "<<std::endl;
9577
9579 // if(THoEX_gg_phi2_phi1phi1_gagaWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9580 }
9581 if(m3>= 260.0 && m3< 500.0)
9582 {
9583
9584 //std::cout<<"\033[1;31m stop154 \033[0m "<<std::endl;
9585
9587 // if(THoEX_gg_phi3_phi1phi1_gagaWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9588 }
9589 if(m2>= 220.0 && m2<1000.0)
9590 {
9591
9592 //std::cout<<"\033[1;31m stop155 \033[0m "<<std::endl;
9593
9595 // if(THoEX_gg_phi2_phi1Z_bbZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9596 }
9597 if(m3>= 220.0 && m3<1000.0)
9598 {
9599
9600 //std::cout<<"\033[1;31m stop156 \033[0m "<<std::endl;
9601
9603 // if(THoEX_gg_phi3_phi1Z_bbZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9604 }
9605 if(m2>= 225.0 && m2< 600.0)
9606 {
9607
9608 //std::cout<<"\033[1;31m stop157 \033[0m "<<std::endl;
9609
9611 // if(THoEX_gg_phi2_phi1Z_bbll_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9612 }
9613 if(m3>= 225.0 && m3< 600.0)
9614 {
9615
9616 //std::cout<<"\033[1;31m stop158 \033[0m "<<std::endl;
9617
9619 // if(THoEX_gg_phi3_phi1Z_bbll_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9620 }
9621 if(m2>= 220.0 && m2<1000.0)
9622 {
9623
9624 //std::cout<<"\033[1;31m stop159 \033[0m "<<std::endl;
9625
9627 // if(THoEX_gg_phi2_phi1Z_tautauZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9628 }
9629 if(m3>= 220.0 && m3<1000.0)
9630 {
9631
9632 //std::cout<<"\033[1;31m stop160 \033[0m "<<std::endl;
9633
9635 // if(THoEX_gg_phi3_phi1Z_tautauZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9636 }
9637 if(m2>= 220.0 && m2< 350.0)
9638 {
9639
9640 //std::cout<<"\033[1;31m stop161 \033[0m "<<std::endl;
9641
9643 // if(THoEX_gg_phi2_phi1Z_tautaull_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9644 }
9645 if(m3>= 220.0 && m3< 350.0)
9646 {
9648
9649 }
9650 //if(m2>= 200.0 && m2<2000.0)
9651 if(m2>= 220.0 && m2<2000.0)
9652 {
9653
9654
9655 //THoEX_gg_phi2_phi1Z_bbZ_ATLAS13=gg_phi2_phi1Z_bbZ_TH13/ip_ex_gg_phi_phi1Z_bbZ_ATLAS13(m2);
9657
9658
9659 }
9660 //if(m3>= 200.0 && m3<2000.0)
9661 if(m3>= 220.0 && m3<2000.0)
9662 {
9663
9664 //THoEX_gg_phi3_phi1Z_bbZ_ATLAS13=gg_phi3_phi1Z_bbZ_TH13/ip_ex_gg_phi_phi1Z_bbZ_ATLAS13(m3);
9666
9667
9668 }
9669 if(m2>= 220.0 && m2< 800.0)
9670 {
9671
9672
9674
9675 }
9676 if(m3>= 220.0 && m3< 800.0)
9677 {
9678
9680
9681 }
9682 if(m2>= 800.0 && m2<2000.0)
9683 {
9684
9685 //std::cout<<"\033[1;31m stop167 \033[0m "<<std::endl;
9686
9688 // if(THoEX_gg_phi2_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9689 }
9690 if(m3>= 800.0 && m3<2000.0)
9691 {
9692
9693 //std::cout<<"\033[1;31m stop168 \033[0m "<<std::endl;
9694
9696 // if(THoEX_gg_phi3_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9697 }
9698 //if(m2>= 200.0 && m2<2000.0)
9699 if(m2>= 220.0 && m2<2000.0)
9700 {
9701
9702 //THoEX_bb_phi2_phi1Z_bbZ_ATLAS13=bb_phi2_phi1Z_bbZ_TH13/ip_ex_bb_phi_phi1Z_bbZ_ATLAS13(m2);
9704
9705 }
9706 //if(m3>= 220.0 && m3<2000.0)
9707 if(m3>= 220.0 && m3<2000.0)
9708 {
9709
9710 //THoEX_bb_phi3_phi1Z_bbZ_ATLAS13=bb_phi3_phi1Z_bbZ_TH13/ip_ex_bb_phi_phi1Z_bbZ_ATLAS13(m3);
9712
9713 }
9714
9715 //ip_ex_bb_phi_phi1Z_tautaull_ATLAS13
9716 if(m2>= 220.0 && m2<400.0)
9717 {
9718
9719 //std::cout<<"\033[1;31m stop171 \033[0m "<<std::endl;
9720
9722 // if(THoEX_gg_phi2_phi1Z_tautaull_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9723 }
9724 if(m3>= 220.0 && m3<400.0)
9725 {
9726
9727 //std::cout<<"\033[1;31m stop172 \033[0m "<<std::endl;
9728
9730 // if(THoEX_gg_phi3_phi1Z_tautaull_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9731 }
9732
9733
9734
9735
9736
9737
9738 if(m2>= 220.0 && m2< 800.0)
9739 {
9740
9741 //std::cout<<"\033[1;31m stop173 \033[0m "<<std::endl;
9742
9744 // if(THoEX_bb_phi2_phi1Z_bbZ_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9745 }
9746 if(m3>= 220.0 && m3< 800.0)
9747 {
9748
9749 //std::cout<<"\033[1;31m stop174 \033[0m "<<std::endl;
9750
9752 // if(THoEX_bb_phi3_phi1Z_bbZ_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9753 }
9754 if(m2>= 800.0 && m2<2000.0)
9755 {
9756
9757 //std::cout<<"\033[1;31m stop175 \033[0m "<<std::endl;
9758
9760 // if(THoEX_bb_phi2_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9761 }
9762 if(m3>= 800.0 && m3<2000.0)
9763 {
9764
9765 //std::cout<<"\033[1;31m stop176 \033[0m "<<std::endl;
9766
9768 // if(THoEX_bb_phi3_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9769 }
9770 if(m3>= 175.0 && m3<1000.0 && m2 >=50.0 && m2 <910.0)
9771 {
9772
9773 //std::cout<<"\033[1;31m stop177 \033[0m "<<std::endl;
9774
9776 // if(THoEX_pp_phi3_phi2Z_bbll_1_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9777 } //mA=m3, mH=m2
9778 if(m2>= 175.0 && m2<1000.0 && m3 >=50.0 && m3 <910.0)
9779 {
9780
9781 //std::cout<<"\033[1;31m stop178 \033[0m "<<std::endl;
9782
9784 // if(THoEX_pp_phi2_phi3Z_bbll_1_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9785 } //mA=m3, mH=m2
9786 if(m3>= 50.0 && m3<1000.0 && m2 >=50.0 && m2 <1000.0)
9787 {
9788
9789
9791
9792 } //mA=m3, mH=m2
9793 if(m2>= 50.0 && m2<1000.0 && m3 >=50.0 && m3 <1000.0)
9794 {
9795
9796
9798
9799 } //mA=m3, mH=m2
9800 if(m3>= 50.0 && m3<1000.0 && m2 >=50.0 && m2 <1000.0)
9801 {
9802
9803
9805
9806 } //mA=m2, mH=m3
9807 if(m2>= 50.0 && m2<1000.0 && m3 >=50.0 && m3 <1000.0)
9808 {
9809
9810
9812
9813 }
9814 if(m2 >= 230.0 && m2 <800.0 && m3>=130.0 && m3<700.0 && m2-m3>=100)
9815 {
9816
9818 //std::cout<<"\033[1;31m Enters = \033[0m " <<std::endl;
9819 //std::cout<<"\033[1;31m gg_phi3_phi2Z_bbZ_TH13 = \033[0m "<< gg_phi3_phi2Z_bbZ_TH13 <<std::endl;
9820 //std::cout<<"\033[1;31m ip_ex_gg_phii_phijZ_bbZ_ATLAS13(m3,m2) = \033[0m "<< ip_ex_gg_phii_phijZ_bbZ_ATLAS13(m2,m3) <<std::endl;
9821
9822 }
9823 if(m3 >= 230.0 && m3 <800.0 && m2>=130.0 && m2<700.0 && m3-m2>=100)
9824 {
9825
9826
9828 }
9829
9830 if(m2 >= 230.0 && m2 <800.0 && m3>=130.0 && m3<700.0 && m2-m3>=100)
9831 {
9832
9834
9835 }
9836 if(m3 >= 230.0 && m3 <800.0 && m2>=130.0 && m2<700.0 && m3-m2>=100)
9837 {
9838
9840
9841
9842 }
9843
9844
9845 if(m2 >= 300.0 && m2 <800.0 && m3>=200.0 && m3<700.0 && m2-m3>=100)
9846 {
9847
9849
9850 }
9851 if(m3 >= 300.0 && m3 <800.0 && m2>=200.0 && m2<700.0 && m3-m2>=100)
9852 {
9853
9854
9856 }
9857
9858
9859
9860 if(mHp>= 180.0 && mHp<1000.0)
9861 {
9862
9863
9864
9865
9866 //std::cout<<"\033[1;31m pp_Hpm_taunu_TH8 = \033[0m "<< pp_Hpm_taunu_TH8 <<std::endl;
9867
9868 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_taunu_ATLAS8(mHp) = \033[0m "<< ip_ex_pp_Hpm_taunu_ATLAS8(mHp) <<std::endl;
9869
9870
9871 //std::cout<<"\033[1;31m pp_Hpm_taunu_TH8/ip_ex_pp_Hpm_taunu_ATLAS8(mHp) = \033[0m "<< pp_Hpm_taunu_TH8/ip_ex_pp_Hpm_taunu_ATLAS8(mHp) <<std::endl;
9872
9874
9875
9876
9877 // if(THoEX_pp_Hpm_taunu_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9878 }
9879
9880 if(mHp>= 180.0 && mHp< 600.0)
9881 {
9882
9884
9885
9887 //std::cout<<"\033[1;31m THoEX_pp_Hp_taunu_CMS8 = \033[0m "<< THoEX_pp_Hp_taunu_CMS8 <<std::endl;
9888
9889
9890
9892
9893 // if(THoEX_pp_Hp_taunu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9894 }
9895 if(mHp>= 180.0 && mHp<2000.0)//exp can start in 150 GeV but theoretical no, we should compute more points there
9896 {
9897
9899
9901 //std::cout<<"\033[1;31m THoEX_pp_Hpm_taunu_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_taunu_ATLAS13 <<std::endl;
9902
9903
9904
9905
9906
9908 // if(THoEX_pp_Hpm_taunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9909 }
9910 if(mHp>= 180.0 && mHp<3000.0)//exp can start in 80 GeV but theoretical no, we should compute more points there
9911 {
9912
9914
9915 //if(THoEX_pp_Hpm_taunu_CMS13 != 0) std::cout<<"\033[1;31m THoEX_pp_Hpm_taunu_CMS13 = \033[0m "<< THoEX_pp_Hpm_taunu_CMS13 <<std::endl;
9916
9917 //std::cout<<"\033[1;31m THoEX_pp_Hpm_taunu_CMS13 = \033[0m "<< THoEX_pp_Hpm_taunu_CMS13 <<std::endl;
9918
9919
9920
9922 // if(THoEX_pp_Hpm_taunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9923 }
9924 if(mHp>= 200.0 && mHp< 600.0)
9925 {
9926
9928
9930
9931 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS8 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS8 <<std::endl;
9932
9933
9934
9936 // if(THoEX_pp_Hpm_tb_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9937 }
9938 if(mHp>= 180.0 && mHp< 600.0)
9939 {
9940
9942
9944
9945 //std::cout<<"\033[1;31m THoEX_pp_Hp_tb_CMS8 = \033[0m "<< THoEX_pp_Hp_tb_CMS8 <<std::endl;
9946
9947
9949 // if(THoEX_pp_Hp_tb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9950 }
9951 if(mHp>= 200.0 && mHp<2000.0)
9952 {
9953
9955
9957
9958 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS13 <<std::endl;
9959 //std::cout<<"\033[1;31m pp_Hpm_tb_TH13 = \033[0m "<< pp_Hpm_tb_TH13 <<std::endl;
9960 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_tb_ATLAS13(mHp) = \033[0m "<< ip_ex_pp_Hpm_tb_ATLAS13(mHp) <<std::endl;
9961
9962
9964 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS13 <<std::endl;
9965
9966 // if(THoEX_pp_Hpm_tb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9967 }
9968 if(mHp>= 200.0 && mHp<3000.0)
9969 {
9970
9972
9974
9975 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_CMS13 = \033[0m "<< THoEX_pp_Hpm_tb_CMS13 <<std::endl;
9976
9977
9978
9979
9980 //std::cout<<"\033[1;31m GammaHptot = \033[0m "<< GammaHptot <<std::endl;
9981 //std::cout<<"\033[1;31m GammaHptb = \033[0m "<< GammaHptb <<std::endl;
9982 //std::cout<<"\033[1;32m Br_Hptotb = \033[0m "<< Br_Hptotb <<std::endl;
9983 //std::cout<<"\033[1;32m SigmaHpm13 = \033[0m "<< SigmaHpm13 <<std::endl;
9984 //std::cout<<"\033[1;31m pp_Hpm_tb_TH13 = \033[0m "<< pp_Hpm_tb_TH13 <<std::endl;
9985 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_tb_CMS13(mHp) = \033[0m "<< ip_ex_pp_Hpm_tb_CMS13(mHp) <<std::endl;
9986 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_CMS13 = \033[0m "<< THoEX_pp_Hpm_tb_CMS13 <<std::endl;
9987
9988
9989
9991 // if(THoEX_pp_Hpm_tb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9992 }
9993}
9994
9996{
9997 /*********************************/
9998 /* Observables with phi_3, i.e A */
9999 /*********************************/
10000
10002
10003 if(mH3 >= 15.0 && mH3 <= 62.0)
10004 {
10006 }
10007
10008// THoEX_pp_h_phi3phi3_bbtautau_CMS13 = 0.0;
10009//
10010// if(mH3 >= 15.0 && mH3 <= 60.0)
10011// {
10012// THoEX_pp_h_phi3phi3_bbtautau_CMS13 = (2.0 * pph13 * GTHDM_BR_h_AA * Br_phi3tobb * Br_phi3totautau) / ip_low_pp_h_phi3phi3_bbtautau_CMS13(mH3);
10013// }
10014
10016
10017 if(mH3 >= 12.0 && mH3 <= 60.0)
10018 {
10020 }
10021
10022// THoEX_pp_h_phi3phi3_bbmumu_CMS13 = 0.0;
10023//
10024// if(mH3 >= 20.0 && mH3 <= 62.5)
10025// {
10026// THoEX_pp_h_phi3phi3_bbmumu_CMS13 = (2.0 * pph13 * GTHDM_BR_h_AA * Br_phi3tobb * Br_phi3tomumu) / ip_low_pp_h_phi3phi3_bbmumu_CMS13(mH3);
10027// }
10028
10030
10031 if(mH3 >= 15.0 && mH3 <= 62.0)
10032 {
10034 }
10035
10037
10038 if(mH3 >= 4.2045 && mH3 <= 34.843)
10039 {
10041 }
10042
10044
10045 if(mH3 >= 4.2 && mH3 <= 59.946)
10046 {
10048 }
10049
10051
10052 if(mH3 >= 15.0 && mH3 <= 62.0)
10053 {
10054 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10056 }
10057
10059
10060 if(mH3 >= 4.0 && mH3 <= 15.0)
10061 {
10063 }
10064
10066
10067 if(mH3 >= 15.0 && mH3 <= 350.0)
10068 {
10070 }
10071
10073
10074 if(mH3 >= 15.0 && mH3 <= 350.0)
10075 {
10077 }
10078
10080
10081 if(mH3 >= 15.0 && mH3 <= 60.0)
10082 {
10084 }
10085
10087
10088 if(mH3 >= 16.0 && mH3 <= 62.0)
10089 {
10091 }
10092
10094
10095 if((mH3 >= 1.5 && mH3 <= 2.0)||(mH3 >= 4.5 && mH3 <= 8.5)||(mH3 >= 11.5 && mH3 <= 14.999)||(mH3 >= 15.0 && mH3 <= 60.0))
10096 {
10097 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10099 }
10100
10102
10103 if(mH3 >= 15.0 && mH3 <= 30.0)
10104 {
10105 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10107 }
10108
10110
10111 if(mH3 >= 20.0 && mH3 <= 60.0)
10112 {
10114 }
10115
10117
10118 if(mH3 >= 15.0 && mH3 <= 30.0)
10119 {
10121 }
10122
10124
10125 if(mH3 >= 20.0 && mH3 <= 60.0)
10126 {
10128 }
10129
10131
10132 if((mH3 >= 20.0 && mH3 <= 24.999)||(mH3 >= 25.0 && mH3 <= 34.999)||(mH3 >= 35.0 && mH3 <= 44.999)||(mH3 >= 45.0 && mH3 <= 54.999)||(mH3 >= 55.0 && mH3 <= 60.0))
10133 {
10135 }
10136
10138
10139 if(mH3 >= 20.0 && mH3 <= 90.0)
10140 {
10142 }
10143
10145
10146 if(mH3 >= 10.0 && mH3 <= 62.0)
10147 {
10149 }
10150
10152
10153 if(mH3 >= 3.7 && mH3 <= 50.0)
10154 {
10156 }
10157
10159
10160 if(mH3 >= 5.0 && mH3 <= 15.0)
10161 {
10163 }
10164
10166
10167 if(mH3 >= 25.0 && mH3 <= 62.5)
10168 {
10170 }
10171
10173
10174 if(mH3 >= 15.0 && mH3 <= 62.5)
10175 {
10177 }
10178
10180
10181 if(mH3 >= 25.0 && mH3 <= 70.0)
10182 {
10184 }
10185
10187
10188 if(mH3 >= 25.0 && mH3 <= 80.0)
10189 {
10191 }
10192
10194
10195 if(mH3 >= 15.1 && mH3 <= 73.3)
10196 {
10198 }
10199
10201
10202 if(mH3 >= 25.0 && mH3 <= 60.0)
10203 {
10205 }
10206
10208
10209 if(mH3 >= 10.0 && mH3 <= 62.0)
10210 {
10212 }
10213
10215
10216 if(mH3 >= 12.0 && mH3 <= 60.0)
10217 {
10219 }
10220
10221 /*********************************/
10222 /* Observables with phi_2, i.e H */
10223 /*********************************/
10224
10226
10227 if(mH2 >= 4.2045 && mH2 <= 34.843)
10228 {
10230 }
10231
10233
10234 if(mH2 >= 4.2 && mH2 <= 59.946)
10235 {
10237 }
10238
10240
10241 if((mH2 >= 1.5 && mH2 <= 2.0)||(mH2 >= 4.5 && mH2 <= 8.5)||(mH2 >= 11.5 && mH2 <= 14.999)||(mH2 >= 15.0 && mH2 <= 60.0))
10242 {
10243 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10245 }
10246
10248
10249 if(mH2 >= 15.0 && mH2 <= 30.0)
10250 {
10251 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10253 }
10254
10256
10257 if(mH2 >= 20.0 && mH2 <= 60.0)
10258 {
10260 }
10261
10263
10264 if(mH2 >= 15.0 && mH2 <= 30.0)
10265 {
10267 }
10268
10270
10271 if(mH2 >= 20.0 && mH2 <= 60.0)
10272 {
10274 }
10275
10277
10278 if((mH2 >= 20.0 && mH2 <= 24.999)||(mH2 >= 25.0 && mH2 <= 34.999)||(mH2 >= 35.0 && mH2 <= 44.999)||(mH2 >= 45.0 && mH2 <= 54.999)||(mH2 >= 55.0 && mH2 <= 60.0))
10279 {
10281 }
10282
10284
10285 if(mH2 >= 80.0 && mH2 <= 109.9)
10286 {
10288 }
10289
10291
10292 if(mH2 >= 70.0 && mH2 <= 110.0)
10293 {
10295 }
10296
10298
10299 if(mH2 >= 66.0 && mH2 <= 110.0)
10300 {
10302 }
10303
10305
10306 if(mH2 >= 20.0 && mH2 <= 116.0)
10307 {
10309 }
10310
10312
10313 if(mH2 >= 12.0 && mH2 <= 120.0)
10314 {
10316 }
10317
10319
10320 if(mH2 >= 4.0 && mH2 <= 120.0)
10321 {
10323 }
10324
10325 /**********************************/
10326 /* Observables with phi_i + phi_j */
10327 /**********************************/
10328
10329 // To generalise for CPV analyses, also the Z-h-H combination has to be considered with the LEP data below
10330
10333
10334 if(mH2 <= mH3)
10335 {
10336 if(mH2 >= 10.0 && mH3 >= 15.0 && mH3 <= 145.0 && mH2+mH3 <= 205.0)
10338
10339 if(mH2 >= 5.0 && mH3 >= 5.0 && mH3 <= 150.0 && mH2+mH3 <= 205.0)
10341 }
10342 else
10343 {
10344 if(mH3 >= 10.0 && mH2 >= 15.0 && mH2 <= 145.0 && mH2+mH3 <= 205.0)
10346
10347 if(mH3 >= 5.0 && mH2 >= 5.0 && mH2 <= 150.0 && mH2+mH3 <= 205.0)
10349 }
10350
10352
10353 if(mH3 >= 10.0 && mHl+mH3 <= 205.0)
10354 {
10356 }
10357
10359
10360 if(mH3 >= 5.0 && mHl+mH3 <= 205.0)
10361 {
10363 }
10364
10365 /***********************/
10366 /* Observables with Hp */
10367 /***********************/
10368
10370
10371 if(mHp >= 90.0 && mHp <= 160.0)
10372 {
10374 }
10375
10377
10378 if(mHp >= 80.0 && mHp <= 160.0)
10379 {
10381 }
10382
10384
10385 if(mHp >= 90.0 && mHp <= 150.0)
10386 {
10388 }
10389
10391
10392 if(mH3 >= 15.0 && mH3 <= 75.0 && mHp >= (mH3+85.0) && mHp <= 160.)
10393 {
10395 }
10396
10398
10399 if(mHp >= 80.0 && mHp <= 160.0)
10400 {
10402 }
10403
10405
10406 if(mHp >= 80.0 && mHp <= 160.0)
10407 {
10409 }
10410
10412
10413 if(mHp >= 90.0 && mHp <= 150.0)
10414 {
10416 }
10417
10419
10420 if(mH3 >= 15.1 && mH3 <= 70.2 && mHp >= 120.0 && mHp <= 160.0)
10421 {
10423 }
10424
10426
10427 if(mHp >= 60.0 && mHp <= 168.0)
10428 {
10430 }
10431
10432 // GeV^-2 -> pb
10433 double GeV2pb = 0.389379e9;
10434
10436
10437 if(mHp >= 43.0 && mHp <= 95.0)
10438 {
10440 }
10441
10443
10444 if(mHp >= 43.0 && mHp <= 95.0)
10445 {
10447 }
10448
10450
10451 if(mHp >= 50.0 && mHp <= 93.0)
10452 {
10454 }
10455
10457
10458 if(mHp >= 40.0 && mHp < 50.0)
10459 {
10461 }
10462
10465
10466 if(mHp >= 40.0 && mHp <= 93.0 && mH3 >= 12.0 && mH3 <= (mHp - 3.))
10467 {
10469
10471 }
10472
10474
10475 if(mHp >= 80.0 && mHp < 440.0)
10476 {
10477 //One can try with LO cross-section too.
10479 }
10480
10482
10483 if(mHp >= 90.0 && mHp < 500.0)
10484 {
10485 //One can try with LO cross-section too.
10487 }
10488
10490
10491 if(mHp >= 90.0 && mHp < 350.0)
10492 {
10493 //One can try with LO cross-section too.
10495 }
10496
10498
10499 if(mHp >= 100.0 && mHp < 800.0)
10500 {
10501 //One can try with LO cross-section too.
10503 }
10504
10506
10507 if(mHp >= 45.0 && mHp <= 102.0)
10508 {
10510 }
10511}
10512
10514{
10515 //flag will be used to transport information about model and RGEorder to the Runner:
10516 //flag=0 for LO (1 for approxNLO and 2 for NLO - not implemented yet)
10517 int flag;
10518 if( RGEorder == "LO" ) flag=0;
10519// else if( RGEorder == "approxNLO" ) flag=1;
10520// else if( RGEorder == "NLO" ) flag=2;
10521 else {
10522 throw std::runtime_error("RGEorder can be only \"LO\" at the moment");//any of \"LO\", \"approxNLO\" or \"NLO\"
10523 }
10524
10525 if(myGTHDM->getATHDMflag() && myGTHDM->getCPconservationflag())
10526 {
10527 double g1_at_MZ=sqrt(4.0*M_PI*Ale/cW2);
10528 double g2_at_MZ=sqrt(4.0*M_PI*Ale/(1-cW2));
10529 double g3_at_MZ=sqrt(4.0*M_PI*Als);
10530 double v1_at_MZ=0.;
10531 double v2_at_MZ=0.;
10532 double etaU1_at_MZ=0.;
10533 double etaU2_at_MZ=0.;
10534 double etaD1_at_MZ=0.;
10535 double etaD2_at_MZ=0.;
10536 double etaL1_at_MZ=0.;
10537 double etaL2_at_MZ=0.;
10538 double m11sq_at_MZ=0.;
10539 double m12sq_at_MZ=0.;
10540 double m22sq_at_MZ=0.;
10541 double lambda1_at_MZ=lambda1;
10542 double lambda2_at_MZ=lambda2;
10543 double lambda3_at_MZ=lambda3;
10544 double lambda4_at_MZ=lambda4;
10545 double lambda5_at_MZ=Relambda5;
10546 double lambda6_at_MZ=Relambda6;
10547 double lambda7_at_MZ=Relambda7;
10548 double RpepsGTHDM=myGTHDM->getRpepsGTHDM();
10549 double NLOuniscale=myGTHDM->getNLOuniscaleGTHDM();
10550
10551 // Temporarily, until this running (in the Higgs basis) is clarified, we fix the scale to Mz
10552 // Once solved, reverse changes: Q_A2HDM -> Q_GTHDM [defined below, in updateCache()]
10553 double Q_A2HDM = log10(MZ);
10554
10555 if(fabs(Q_A2HDM-log10(MZ))<0.005) //at MZ scale
10556 {
10557 Q_cutoff=log10(MZ);
10558
10559 g1_at_Q = g1_at_MZ;
10560 g2_at_Q = g2_at_MZ;
10561 g3_at_Q = g3_at_MZ;
10562 v1_at_Q = v1_at_MZ;
10563 v2_at_Q = v2_at_MZ;
10564 etaU1_at_Q = etaU1_at_MZ;
10565 etaU2_at_Q = etaU2_at_MZ;
10566 etaD1_at_Q = etaD1_at_MZ;
10567 etaD2_at_Q = etaD2_at_MZ;
10568 etaL1_at_Q = etaL1_at_MZ;
10569 etaL2_at_Q = etaL2_at_MZ;
10570 m11sq_at_Q = m11sq_at_MZ;
10571 m12sq_at_Q = m12sq_at_MZ;
10572 m22sq_at_Q = m22sq_at_MZ;
10573 lambda1_at_Q = lambda1_at_MZ;
10574 lambda2_at_Q = lambda2_at_MZ;
10575 lambda3_at_Q = lambda3_at_MZ;
10576 lambda4_at_Q = lambda4_at_MZ;
10577 Relambda5_at_Q = lambda5_at_MZ;
10578 Relambda6_at_Q = lambda6_at_MZ;
10579 Relambda7_at_Q = lambda7_at_MZ;
10580 }
10581 else //at some other scale
10582 {
10583 double InitVals[21];
10584 InitVals[0]=g1_at_MZ;
10585 InitVals[1]=g2_at_MZ;
10586 InitVals[2]=g3_at_MZ;
10587 InitVals[3]=v1_at_MZ;
10588 InitVals[4]=v2_at_MZ;
10589 InitVals[5]=etaU1_at_MZ;
10590 InitVals[6]=etaU2_at_MZ;
10591 InitVals[7]=etaD1_at_MZ;
10592 InitVals[8]=etaD2_at_MZ;
10593 InitVals[9]=etaL1_at_MZ;
10594 InitVals[10]=etaL2_at_MZ;
10595 InitVals[11]=m11sq_at_MZ;
10596 InitVals[12]=m12sq_at_MZ;
10597 InitVals[13]=m22sq_at_MZ;
10598 InitVals[14]=lambda1_at_MZ;
10599 InitVals[15]=lambda2_at_MZ;
10600 InitVals[16]=lambda3_at_MZ;
10601 InitVals[17]=lambda4_at_MZ;
10602 InitVals[18]=lambda5_at_MZ;
10603 InitVals[19]=lambda6_at_MZ;
10604 InitVals[20]=lambda7_at_MZ;
10605
10606 Q_cutoff=myRunnerGTHDM->RGEGeneralTHDMRunner(InitVals, 21, log10(MZ), Q_GTHDM, flag, RpepsGTHDM, NLOuniscale); //Running up to Q_cutoff<=Q_GTHDM
10607
10608 g1_at_Q = InitVals[0];
10609 g2_at_Q = InitVals[1];
10610 g3_at_Q = InitVals[2];
10611 v1_at_Q = InitVals[3];
10612 v2_at_Q = InitVals[4];
10613 etaU1_at_Q = InitVals[5];
10614 etaU2_at_Q = InitVals[6];
10615 etaD1_at_Q = InitVals[7];
10616 etaD2_at_Q = InitVals[8];
10617 etaL1_at_Q = InitVals[9];
10618 etaL2_at_Q = InitVals[10];
10619 m11sq_at_Q = InitVals[11];
10620 m12sq_at_Q = InitVals[12];
10621 m22sq_at_Q = InitVals[13];
10622 lambda1_at_Q = InitVals[14];
10623 lambda2_at_Q = InitVals[15];
10624 lambda3_at_Q = InitVals[16];
10625 lambda4_at_Q = InitVals[17];
10626 Relambda5_at_Q = InitVals[18];
10627 Relambda6_at_Q = InitVals[19];
10628 Relambda7_at_Q = InitVals[20];
10629 }
10630 }//End ATHDM case
10631 else {
10632 throw std::runtime_error("RGE are only defined for the CP conserving ATHDM at the moment");
10633 }
10634}
10635
10636
10639{
10640
10641
10642 //The Standard Model h branching ratios
10643 //Could be made into mass-dependent formulae in the future
10644 //SEE IF WE CAN UPDATE THESE NUMBERS. THEY MAY BE OLD!!!!!!!!!
10645 BrSM_htobb = 5.77e-1;
10646 BrSM_htotautau = 6.32e-2;
10647 BrSM_htogaga = 2.28e-3;
10648 BrSM_htoWW = 2.15e-1;
10649 BrSM_htoZZ = 2.64e-2;
10650 BrSM_htogg = 8.57e-2;
10651 BrSM_htoZga = 1.54e-3;
10652 BrSM_htocc = 2.91e-2;
10653
10654 //The Standard Model Z to ll branching ratio
10655 BrSM_Ztoll = 6.73e-2;
10656
10657
10658 mHl = myGTHDM->getMHl();
10659 m1 = mHl;
10660 mH1sq = myGTHDM->getmH1sq();
10661 mH2sq = myGTHDM->getmH2sq();
10662 mH3sq = myGTHDM->getmH3sq();
10663 mH2 = sqrt(mH2sq);
10664 mH3 = sqrt(mH3sq);
10665 mHp2 = myGTHDM->getmHp2();
10666 mHp = sqrt(mHp2);
10667 vev = myGTHDM->v();
10668
10669 m2 = mH2;
10670 m3 = mH3;
10671
10672 m1_2 = mH1sq;
10673 m2_2 = mH2sq;
10674 m3_2 = mH3sq;
10675
10676 if (m1_2 < 0. || m2_2 < 0. || m3_2 < 0.)
10677 return std::numeric_limits<double>::quiet_NaN();
10678
10679
10680 cosa1=myGTHDM->getcosalpha1();
10681 sina1=myGTHDM->getsinalpha1();
10682 tana1=myGTHDM->gettanalpha1();
10683
10684 cosa2=myGTHDM->getcosalpha2();
10685 sina2=myGTHDM->getsinalpha2();
10686 cosa3=myGTHDM->getcosalpha3();
10687 sina3=myGTHDM->getsinalpha3();
10688
10689 lambda1 = myGTHDM->getlambda1();
10690 lambda2 = myGTHDM->getlambda2();
10691 lambda3 = myGTHDM->getlambda3();
10692 lambda4 = myGTHDM->getlambda4();
10693 Relambda5=myGTHDM->getRelambda5();
10694 Imlambda5=myGTHDM->getImlambda5();
10695 Relambda6=myGTHDM->getRelambda6();
10696 Imlambda6=myGTHDM->getImlambda6();
10697 Relambda7=myGTHDM->getRelambda7();
10698
10699 Rij_GTHDM.assign(0, 0, cosa1*cosa2);
10700 Rij_GTHDM.assign(0, 1, sina1*cosa2);
10701 Rij_GTHDM.assign(0, 2, -sina2);
10702 Rij_GTHDM.assign(1, 0, cosa1*sina2*sina3 - sina1*cosa3);
10703 Rij_GTHDM.assign(1, 1, sina1*sina2*sina3 + cosa1*cosa3);
10704 Rij_GTHDM.assign(1, 2, cosa2*sina3);
10705 Rij_GTHDM.assign(2, 0, cosa2*sina2*cosa3 + sina1*sina3);
10706 Rij_GTHDM.assign(2, 1, sina1*sina2*cosa3 - cosa1*sina3);
10707 Rij_GTHDM.assign(2, 2, cosa2*cosa3);
10708
10709 //What about the case "Heavy case" in which the SM is Higgs is not the light one, for the g-2
10710 //in that case the \pi/2 phase is included so that the angles are still small perturbations but
10711 //that is not being done here
10712
10713 // Variables without 'GTHDM' label to simplify expressions with lambdaijk and KaellenFunction
10714 R11 = Rij_GTHDM(0,0);
10715 R12 = Rij_GTHDM(0,1);
10716 R13 = Rij_GTHDM(0,2);
10717 R21 = Rij_GTHDM(1,0);
10718 R22 = Rij_GTHDM(1,1);
10719 R23 = Rij_GTHDM(1,2);
10720 R31 = Rij_GTHDM(2,0);
10721 R32 = Rij_GTHDM(2,1);
10722 R33 = Rij_GTHDM(2,2);
10723
10724
10725
10726 //std::cout<<"\033[1;33m R11 = \033[0m "<<R11<<std::endl;
10727 //std::cout<<"\033[1;33m R12 = \033[0m "<<R12<<std::endl;
10728 //std::cout<<"\033[1;33m R13 = \033[0m "<<R13<<std::endl;
10729 //std::cout<<"\033[1;33m R21 = \033[0m "<<R21<<std::endl;
10730 //std::cout<<"\033[1;33m R22 = \033[0m "<<R22<<std::endl;
10731 //std::cout<<"\033[1;33m R23 = \033[0m "<<R23<<std::endl;
10732 //std::cout<<"\033[1;33m R31 = \033[0m "<<R31<<std::endl;
10733 //std::cout<<"\033[1;33m R32 = \033[0m "<<R32<<std::endl;
10734 //std::cout<<"\033[1;33m R33 = \033[0m "<<R33<<std::endl;
10735
10736
10737
10738 //LOOK AT THIS, NOT SURE IF IT MAKES SENSE NOW
10739 /*The Mij_2 are defined such that Msqdiag = -2*RT*M_2*R with the rotation Matrix R
10740 * and Msqdiag containing the physical mass squares on the diagonal. */
10741
10757
10758 //Remaining general potential parameters
10759 /*
10760 m11sq = M11_2 - M33_2 - M12_2*tanb + 0.5*Relambda5*vev*vev
10761 + (M33_2-0.5*Relambda5*vev*vev)*(cosb*cosb-sinb*sinb)
10762 + 0.5*vev*vev*((Relambda6-Relambda7)*sinb*cosb+Relambda7*tanb);
10763
10764 m22sq = M11_2 - M33_2 + M12_2/tanb + 0.5*Relambda5*vev*vev
10765 - (M33_2-0.5*Relambda5*vev*vev)*(cosb*cosb-sinb*sinb)
10766 + 0.25*vev*vev*(Relambda6+Relambda7+(Relambda6-Relambda7)*(cosb*cosb-sinb*sinb))/tanb;
10767
10768 Rem12sq = 0.25*vev*vev*(Relambda6+Relambda7+(Relambda6-Relambda7)*(cosb*cosb-sinb*sinb))
10769 - (2.0*M33_2-Relambda5*vev*vev)*sinb*cosb;
10770
10771 Imm12sq = M13_2;
10772 */
10773
10774 //Let's the define the parameters of the potential in terms of the linear independent parameters
10775 //Here we'll assume CP-conservation and therefore we'll take the imaginary parts to zero explicitly
10776 //For the CP-violating case we should decide which parameters are the best, probably the easiest is to remove one phase of lambda5 and lambda6 and keep the one for lambda7
10777 //doing we'll simplify the rotation matrix although we'll keep one parameter that seems to be less physical (ImLambda7)
10778
10779 /*
10780 mH1sq=mHl*mHl;
10781 mH2sq=myGTHDM->getmH2sq();
10782 mH3sq=myGTHDM->getmH3sq();
10783 mHp2=myGTHDM->getmHp2();
10784 */
10785
10786
10787
10788 //std::cout<<"\033[1;33m vev = \033[0m "<<vev<<std::endl;
10789
10790 // This was clearly wrong, keep it to try to find where exactly it was coming from
10791 //lambda1 = (-2.0*(M11_2-M22_2+M33_2) + Relambda5*vev*vev
10792 // - (2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)/(cosb*cosb)
10793 // + (4.0*M12_2-2.0*Relambda6*vev*vev)*tanb)/(vev*vev);
10794
10795 //lambda2 = (-2.0*(M11_2-M22_2+M33_2) + Relambda5*vev*vev
10796 // - (2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)/(sinb*sinb)
10797 // - (4.0*M12_2+2.0*Relambda7*vev*vev)/tanb)/(vev*vev);
10798
10799 //lambda3 = -(2.0*(M11_2-M22_2-M33_2-mHp2) + Relambda5*vev*vev
10800 // + (2.0*M12_2+Relambda6*vev*vev)/tanb
10801 // - (2.0*M12_2-Relambda7*vev*vev)*tanb)/(vev*vev);
10802
10803 //lambda4 = Relambda5 - (2.0*mHp2+4.0*M33_2)/(vev*vev);
10804
10805 //Imlambda6 = (2.0*M13_2-(2.0*M23_2+0.5*Imlambda5*vev*vev)*tanb)/(vev*vev);
10806
10807 //Imlambda7 = 2.0*M13_2/(vev*vev) + (-0.5*Imlambda5+(2.0*M23_2)/(vev*vev))/tanb;
10808
10809 //Higgs potential parameters
10810 /*
10811 m11sqH = M11_2;
10812 m22sqH = M11_2-2.0*M33_2+Relambda5*vev*vev
10813 +(M12_2+0.5*(Relambda6*vev*vev))/tanb
10814 -(M12_2-0.5*(Relambda7*vev*vev))*tanb;
10815 Rem12sqH = -M12_2;
10816 Imm12sqH = M13_2;
10817 lambda1H = -2.0*M11_2/(vev*vev);
10818 lambda2H = -2.0*((2.0*M12_2+Relambda7*vev*vev)/tanb
10819 +M11_2-4.0*M22_2+4.0*M33_2-2.0*Relambda5*vev*vev
10820 +(M22_2-M33_2+0.5*Relambda5*vev*vev)/(sinb*sinb*cosb*cosb)
10821 -2.0*M12_2*tanb+Relambda6*vev*vev*tanb)/(vev*vev);
10822 lambda3H = -((2.0*(M11_2-2.0*M33_2-mHp2+Relambda5*vev*vev)
10823 +(2.0*M12_2+Relambda6*vev*vev)/tanb
10824 -(2.0*M12_2-Relambda7*vev*vev)*tanb)/(vev*vev));
10825 lambda4H = -2.0*(M22_2+M33_2+mHp2)/(vev*vev);
10826 Relambda5H = -2.0*(M22_2-M33_2)/(vev*vev);
10827 Imlambda5H = 4.0*M23_2/(vev*vev);
10828 Relambda6H = -2.0*M12_2/(vev*vev);
10829 Imlambda6H = 2.0*M13_2/(vev*vev);
10830 Relambda7H = (-2.0*M12_2+(Relambda6-Relambda7)*vev*vev
10831 +(2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)*(tanb-1.0/tanb))/(vev*vev);
10832 Imlambda7H = 2.0*(M13_2-M23_2*(tanb-1.0/tanb))/(vev*vev)-0.5*Imlambda5/(sinb*cosb);
10833
10834
10835 M2 = Rem12sq/(sinb*cosb);
10836 */
10837
10838// R11_GTHDM = cosalpha1*cosalpha2;
10839// R12_GTHDM = sinalpha1*cosalpha2;
10840// R13_GTHDM = -sinalpha2;
10841// R21_GTHDM = cosalpha1*sinalpha2*sinalpha3 - sinalpha1*cosalpha3;
10842// R22_GTHDM = sinalpha1*sinalpha2*sinalpha3 + cosalpha1*cosalpha3;
10843// R23_GTHDM = cosalpha2*sinalpha3;
10844// R31_GTHDM = cosalpha1*sinalpha2*cosalpha3 + sinalpha1*sinalpha3;
10845// R32_GTHDM = sinalpha1*sinalpha2*cosalpha3 - cosalpha1*sinalpha3;
10846// R33_GTHDM = cosalpha2*cosalpha3;
10847
10848// M13_2 = -vev*vev*(sinb*cosb*Imlambda5 + cosb*cosb*Imlambda6 + sinb*sinb*Imlambda7);
10849// M23_2 = -vev*vev*((cosb*cosb - sinb*sinb)*Imlambda5 + 2.*sinb*cosb*(Imlambda7 - Imlambda6))/2.;
10850
10851// std::cout<<"mH1sq before ordering = "<<mH1sq<<std::endl;
10852// std::cout<<"mH2sq before ordering = "<<mH2sq<<std::endl;
10853// std::cout<<"mH3sq before ordering = "<<mH3sq<<std::endl;
10854
10855// M11_2 = (mH1sq*cosalpha1*cosalpha1*cosalpha2*cosalpha2 + mH2sq*sinalpha1*sinalpha1*cosalpha2*cosalpha2 + mH3sq*sinalpha2*sinalpha2);
10856//
10857// M12_2 = (mH1sq*cosalpha1*cosalpha2*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)
10858// + mH2sq*cosalpha2*sinalpha1*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)
10859// - mH3sq*cosalpha2*sinalpha2*sinalpha3);
10860//
10862//
10863// M22_2 = (mH1sq*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)
10864// + mH2sq*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)
10865// + mH3sq*cosalpha2*cosalpha2*sinalpha3*sinalpha3);
10866//
10868//
10869// M33_2 = (mH1sq*(cosalpha1*cosalpha3*sinalpha2 + sinalpha1*sinalpha3)*(cosalpha1*cosalpha3*sinalpha2 + sinalpha1*sinalpha3)
10870// + mH2sq*(cosalpha3*sinalpha1*sinalpha2 - cosalpha1*sinalpha3)*(cosalpha3*sinalpha1*sinalpha2 - cosalpha1*sinalpha3)
10871// + mH3sq*cosalpha2*cosalpha2*cosalpha3*cosalpha3);
10872//
10873// m11_2_GTHDM = M2_GTHDM*(1. - cosb*cosb + 3.*sinb*sinb)/4. + (M12_2*tanb - M11_2)/2.;
10874// m22_2_GTHDM = M2_GTHDM*(1. + 3.*cosb*cosb - sinb*sinb)/4. - (M12_2/tanb + M11_2)/2.;
10875// Imm12_2_GTHDM = 0.5*(cosb*sinb*Imlambda5 + cosb*cosb*Imlambda6 + sinb*sinb*Imlambda7)*vev*vev;
10876// lambda1_GTHDM = (M11_2 + tanb*tanb*(M22_2-M2_GTHDM) - 2.0*tanb*M12_2)/(vev*vev) + tanb*(tanb*tanb*Relambda7 - 3.0*Relambda6)/2.0;
10877// lambda2_GTHDM = (M11_2 + (M22_2-M2_GTHDM)/(tanb*tanb) + 2.0*M12_2/tanb)/(vev*vev) + (0.5*Relambda6/(tanb*tanb) - 1.5*Relambda7)/tanb;
10878// lambda3_GTHDM = (M11_2 - M22_2 - M2_GTHDM + (1.0/tanb - tanb)*M12_2 + 2.0*mHp2)/(vev*vev) - (Relambda6/tanb + tanb*Relambda7)/2.0;
10879// lambda4_GTHDM = (M2_GTHDM + M33_2 - 2.0*mHp2)/(vev*vev) - 0.5*(Relambda6/tanb + tanb*Relambda7);
10880// Relambda5_GTHDM = (M2_GTHDM - M33_2)/(vev*vev) - 0.5*(Relambda6/tanb + tanb*Relambda7);
10881//
10882
10883
10884 Mu_GTHDM.assign(0,0, myGTHDM->getQuarks(QCD::UP).getMass());
10885 Mu_GTHDM.assign(1,1, myGTHDM->getQuarks(QCD::CHARM).getMass());
10886 Mu_GTHDM.assign(2,2, myGTHDM->getQuarks(QCD::TOP).getMass());
10887
10888 Md_GTHDM.assign(0,0, myGTHDM->getQuarks(QCD::DOWN).getMass());
10889 Md_GTHDM.assign(1,1, myGTHDM->getQuarks(QCD::STRANGE).getMass());
10890 Md_GTHDM.assign(2,2, myGTHDM->getQuarks(QCD::BOTTOM).getMass());
10891
10892 Ml_GTHDM.assign(0,0, myGTHDM->getLeptons(StandardModel::ELECTRON).getMass());
10893 Ml_GTHDM.assign(1,1, myGTHDM->getLeptons(StandardModel::MU).getMass());
10894 Ml_GTHDM.assign(2,2, myGTHDM->getLeptons(StandardModel::TAU).getMass());
10895
10896 if(myGTHDM->getATHDMflag() == true)
10897 {
10898 sigmau_ATHDM = myGTHDM->getNu_11()/myGTHDM->getQuarks(StandardModel::TOP).getMass();
10899 sigmad_ATHDM = myGTHDM->getNd_11()/myGTHDM->getQuarks(StandardModel::DOWN).getMass();
10900 sigmal_ATHDM = myGTHDM->getNl_11()/myGTHDM->getLeptons(StandardModel::TAU).getMass();
10901
10902 Nu_GTHDM.assign(0,0, sigmau_ATHDM*Mu_GTHDM(0,0));
10903 Nu_GTHDM.assign(1,1, sigmau_ATHDM*Mu_GTHDM(1,1));
10904 Nu_GTHDM.assign(2,2, sigmau_ATHDM*Mu_GTHDM(2,2));
10905
10906 Nd_GTHDM.assign(0,0, sigmad_ATHDM*Md_GTHDM(0,0));
10907 Nd_GTHDM.assign(1,1, sigmad_ATHDM*Md_GTHDM(1,1));
10908 Nd_GTHDM.assign(2,2, sigmad_ATHDM*Md_GTHDM(2,2));
10909
10910 Nl_GTHDM.assign(0,0, sigmal_ATHDM*Ml_GTHDM(0,0));
10911 Nl_GTHDM.assign(1,1, sigmal_ATHDM*Ml_GTHDM(1,1));
10912 Nl_GTHDM.assign(2,2, sigmal_ATHDM*Ml_GTHDM(2,2));
10913 }
10914 else
10915 {
10916 Nu_GTHDM.assign(0,0, myGTHDM->getNu_11());
10917 Nu_GTHDM.assign(0,1, myGTHDM->getNu_12());
10918 Nu_GTHDM.assign(0,2, myGTHDM->getNu_13());
10919 Nu_GTHDM.assign(1,0, myGTHDM->getNu_21());
10920 Nu_GTHDM.assign(1,1, myGTHDM->getNu_22());
10921 Nu_GTHDM.assign(1,2, myGTHDM->getNu_23());
10922 Nu_GTHDM.assign(2,0, myGTHDM->getNu_31());
10923 Nu_GTHDM.assign(2,1, myGTHDM->getNu_32());
10924 Nu_GTHDM.assign(2,2, myGTHDM->getNu_33());
10925
10926 Nd_GTHDM.assign(0,0, myGTHDM->getNd_11());
10927 Nd_GTHDM.assign(0,1, myGTHDM->getNd_12());
10928 Nd_GTHDM.assign(0,2, myGTHDM->getNd_13());
10929 Nd_GTHDM.assign(1,0, myGTHDM->getNd_21());
10930 Nd_GTHDM.assign(1,1, myGTHDM->getNd_22());
10931 Nd_GTHDM.assign(1,2, myGTHDM->getNd_23());
10932 Nd_GTHDM.assign(2,0, myGTHDM->getNd_31());
10933 Nd_GTHDM.assign(2,1, myGTHDM->getNd_32());
10934 Nd_GTHDM.assign(2,2, myGTHDM->getNd_33());
10935
10936 Nl_GTHDM.assign(0,0, myGTHDM->getNl_11());
10937 Nl_GTHDM.assign(0,1, myGTHDM->getNl_12());
10938 Nl_GTHDM.assign(0,2, myGTHDM->getNl_13());
10939 Nl_GTHDM.assign(1,0, myGTHDM->getNl_21());
10940 Nl_GTHDM.assign(1,1, myGTHDM->getNl_22());
10941 Nl_GTHDM.assign(1,2, myGTHDM->getNl_23());
10942 Nl_GTHDM.assign(2,0, myGTHDM->getNl_31());
10943 Nl_GTHDM.assign(2,1, myGTHDM->getNl_32());
10944 Nl_GTHDM.assign(2,2, myGTHDM->getNl_33());
10945 }
10946
10947 //Definition of Yukawa matrices
10948 //All this matrices where suppose to be defined in the basis where we have two vevs,
10949 //such a basis doesn't make sense in the Align (or general Align) THDM, we remove them
10950 /*
10951 Yu1_GTHDM = (cosb*Mu_GTHDM - sinb*Nu_GTHDM)*sqrt(2.)/vev;
10952 Yu2_GTHDM = (cosb*Nu_GTHDM + sinb*Mu_GTHDM)*sqrt(2.)/vev;
10953 Yd1_GTHDM = (cosb*Md_GTHDM - sinb*Nd_GTHDM)*sqrt(2.)/vev;
10954 Yd2_GTHDM = (cosb*Nd_GTHDM + sinb*Md_GTHDM)*sqrt(2.)/vev;
10955 Yl1_GTHDM = (cosb*Ml_GTHDM - sinb*Nl_GTHDM)*sqrt(2.)/vev;
10956 Yl2_GTHDM = (cosb*Nl_GTHDM + sinb*Ml_GTHDM)*sqrt(2.)/vev;
10957 */
10958
10959 /*up, down and leptonic couplings */
10960 su = myGTHDM->getNu_11();
10961 sd = myGTHDM->getNd_11();
10962 sl = myGTHDM->getNl_11();
10963
10964 //if (yu1R*yu1R >4. || yd1R*yd1R >4. || yl1R*yl1R >4.)
10965 // return std::numeric_limits<double>::quiet_NaN();
10966
10967
10968 Q_GTHDM=myGTHDM->getQ_GTHDM();
10969 Ale=myGTHDM->getAle();
10970 Als=myGTHDM->getAlsMz();
10971 MZ=myGTHDM->getMz();
10972 MW=MWGTHDM(myGTHDM->Mw_tree());
10973 cW2=cW2GTHDM(myGTHDM->c02());
10974 sW2=1.0-cW2;
10975 GF=1.0/(sqrt(2.0)*vev*vev);
10976
10977 Mt = myGTHDM->getQuarks(QCD::TOP).getMass();
10978 Mb = myGTHDM->getQuarks(QCD::BOTTOM).getMass();
10979 Mc = myGTHDM->getQuarks(QCD::CHARM).getMass();
10980 Ms = myGTHDM->getQuarks(QCD::STRANGE).getMass();
10981 Mu = myGTHDM->getQuarks(QCD::UP).getMass();
10982 Md = myGTHDM->getQuarks(QCD::DOWN).getMass();
10983 Mtau = myGTHDM->getLeptons(StandardModel::TAU).getMass();
10984 Mmu = myGTHDM->getLeptons(StandardModel::MU).getMass();
10985 Me = myGTHDM->getLeptons(StandardModel::ELECTRON).getMass();
10986
10987
10988 if (myGTHDM->getModelName() == "GeneralTHDMZ2") {
10989 // runGeneralTHDMparameters: RGEorder can be only "LO" at the moment
10990 // runGeneralTHDMZ2parameters: RGEorder can be "LO", "approxNLO", "NLO"
10992 }
10993 else {
10994 runGeneralTHDMparameters(myGTHDM->getRGEorderflag());
10995 }
11003
11004 return mH1sq;
11005}
const GeneralTHDM & myGTHDM
@ FULLNNNLO
Definition: OrderScheme.h:40
@ FULLNNLO
Definition: OrderScheme.h:39
virtual double RGEGeneralTHDMRunner(double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
double ip_low_pp_h_phi3phi3_mumutautau_CMS8(double mass)
double THoEX_gg_phi3_phi1Z_bbll_CMS8
double ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13(double mass)
double THoEX_gg_h_phi3Z_mumull_ATLAS13
double gg_phi2_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_csr_ggA_tc_13(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the charm and top-loop and...
gslpp::matrix< double > CMS13_t_Hpb_WAb_Wmumub
CMS observed upper branching fraction limits at 13 TeV, depending on charged and pseudoscalar masses...
double ip_low_pp_h_phi3phi3_bbmumu_CMS13_cache[2][CacheSize]
double ip_Br_HPtoWW_cache[2][CacheSize]
double ip_low_HpHm_qqqq_LEP209_cache[2][CacheSize]
gslpp::complex B00_MZ2_MW2_mHp2_mHp2(const double MZ2, const double MW2, const double mHp2) const
double THoEX_pp_phi3_phi1phi1_bbtautau_1_ATLAS13
double THoEX_gg_phi2_VV_llqq_ATLAS13
double pp_phi2_phi1phi1_bbZZ_TH13
double ip_ex_bb_phi_bb_CMS13(double mass)
double ip_low_pp_bbphi3_bbmumu_CMS8(double mass)
gslpp::complex A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const
double THoEX_VV_phi2_VV_llqq_ATLAS13
gslpp::matrix< double > CMS13_pp_h_phi3phi3_tautautautau
double gg_phi2_phi3Z_WWZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex A_A_D_cache[6][CacheSize]
double ip_ex_pp_phi_ZZ_llqqnunull_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_gg_phi_WW
gslpp::complex I_A_D(const double mA2, const double Ms, const double Mb) const
double beta_h_c
beta function evaluated at Mc and m1_2
double THoEX_bb_phi2_tautau_CMS8
void runGeneralTHDMparameters(std::string RGEorder)
double ip_ex_pp_Hpm_taunu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
double ip_integral_x_1mx_1px_G(double wa, double wb)
gslpp::complex B0p_MZ2_mA2_0_mHp2(const double MZ2, const double mA2, const double mHp2) const
gslpp::complex B00_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
double ip_ex_bb_phi_tautau_CMS13_cache[2][CacheSize]
double THoEX_bb_phi2_phi3Z_bbZ_ATLAS13
gslpp::complex B0_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
double ip_cs_WtoWH_8(double mass)
Interpolating function for the W associated H production cross section at 8 TeV.
gslpp::complex A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
gslpp::complex B0_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
double VV_phi3_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_low_pp_bbphi3_bbtautau_CMS8(double mass)
double ip_ex_gg_phi_tautau_CMS13(double mass)
double ip_low_pp_h_phi3phi3_bbmumu_CMS8_cache[2][CacheSize]
gslpp::matrix< double > CMS13_pp_h_phi23phi23_mumumumu
double THoEX_pp_phi2_phi1phi1_bbVV_CMS13
gslpp::complex B0_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
gslpp::matrix< double > ATLAS13_bb_phii_phijZ_bbZ
gslpp::matrix< double > CMS13_gg_phi_phi1Z_tautaull
double ip_low_pp_h_phi3phi3_gagagaga_ATLAS8_cache[2][CacheSize]
double ip_ex_pp_Hp_taunu_CMS8_cache[2][CacheSize]
double ip_csr_ggA_tc_8(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the charm and top-loop and...
gslpp::complex B0p_MZ2_mHp2_0_mA2(const double MZ2, const double mHp2, const double mA2) const
double THoEX_gg_phi3_VV_llqq_ATLAS13
gslpp::complex B0_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
gslpp::complex B0_MZ2_MW2_MW2_mHh2_cache[4][CacheSize]
gslpp::matrix< double > CMS13_pp_ttphi3_tttautau
gslpp::matrix< double > CMS13_pp_HpHm_taunutaunu
double interpolate2Dv2(gslpp::matrix< double > arrayTab, double x, double y)
Linearly interpolates a table with two parameter dimensions. In this case the y variable changes firs...
gslpp::complex B0_MZ2_mHl2_mA2_mA2_cache[4][CacheSize]
gslpp::matrix< double > ATLAS13_pp_phi_phi1phi1_bbtautau_2
gslpp::complex B0_MZ2_0_0_mHl2_cache[3][CacheSize]
double ip_low_phi2Z_gagaZ_LEP209_cache[2][CacheSize]
double ip_ex_gg_phi_tautau_ATLAS13_cache[2][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 THoEX_pp_phi3_phi1phi1_bbbb_ATLAS13
double gg_phi3_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex sigmau_ATHDM
gslpp::matrix< double > ATLAS13_pp_h_phi23phi23_gagagg
double pp_phi2_phi1phi1_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_phi2_phi1phi1_bbWW_qqlnu_CMS13
gslpp::complex B00_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const
double pph13
Ratio of GTHDM and SM cross sections for the production of h at 13 TeV.
gslpp::complex B0_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const
double ip_Br_HPtocc(double mass)
Interpolating function for the SM branching ratio to two charm quarks.
gslpp::matrix< double > ATLAS8_gg_phi_phi1phi1
double ip_Br_HPtoWW(double mass)
Interpolating function for the SM branching ratio to two bosons.
double ip_ex_pp_phii_phijZ_bbll_1_CMS8_cache[3][CacheSize]
gslpp::complex B0_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const
GeneralTHDMRunner * myRunnerGTHDM
double THoEX_pp_h_phi3phi3_tautautautau_CMS13
double ip_ex_VV_phi_WW_CMS13(double mass)
double ip_ex_pp_phi_phi1phi1_bbZZ_llnunu_CMS13_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbbb_1_CMS13
double THoEX_gg_phi2_Zga_llga_ATLAS13
gslpp::complex A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const
gslpp::complex I_HH_D(const double mHh2, const double Ms, const double Mb) const
double THoEX_t_Hpb_WAb_Wmumub_ATLAS13
double THoEX_gg_h_phi3phi3_mumumumu_ATLAS13
gslpp::complex B0_MZ2_mHh2_0_0_cache[3][CacheSize]
gslpp::complex yd1
Coupling of the SM-Higgs to up quarks.
gslpp::matrix< double > ATLAS13_pp_phi_phi1phi1_bbWW
gslpp::complex B0p_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const
gslpp::complex B0p_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const
double ip_ex_tt_phi_tt_ATLAS13(double mass)
double ip_ex_gg_phi_phi1Z_bbZ_1_CMS13(double mass)
double pp_phi3_phi1phi1_bbbb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_VV_phi3_WW_enumunu_ATLAS13
gslpp::complex B0p_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
double ip_integral_x2_G(double wa, double wb)
double ip_csr_ggH_tc_13(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the top-loop and the total...
double GTHDM_BR_h_WW
branching ratio to two bosons in the GTHDM.
double ip_ex_gg_phi_phi1Z_bbll_CMS8(double mass)
double gg_phi2_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_pp_phi_phi1phi1_bbgaga_CMS8_cache[2][CacheSize]
gslpp::matrix< double > CMS13_pp_h_phi23Z_mumull
gslpp::complex B00_MZ2_MW2_mA2_mHp2(const double MZ2, const double MW2, const double mA2, const double mHp2) const
double THoEX_gg_phi3_phi1phi1_ATLAS8
double THoEX_gg_phi3_tautau_ATLAS13_low
double ip_low_pp_h_phi3phi3_tautautautau_CMS8_cache[2][CacheSize]
gslpp::complex A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const
gslpp::complex B0_MZ2_mHh2_mA2_mA2_cache[4][CacheSize]
double ip_cs_pptobbH_8(double mass)
Interpolating function for the bottom associated H production cross section at 8 TeV.
double ip_low_pp_phi2_gaga_ATLAS13_cache[2][CacheSize]
double THoEX_pp_phi2_phi3Z_tautaull_2_CMS8
gslpp::complex B0p_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
double gg_phi3_phi1Z_tautaull_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_gg_phi3_phi1Z_tautauZ_ATLAS8
double ip_ex_VV_phi_VV_llqq_ATLAS13(double mass)
gslpp::complex B0_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
double ip_ex_gg_phi_WW_CMS13_cache[2][CacheSize]
double ip_integral_x2_1px_G_cache[3][CacheSize]
double pp_phi3_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0_MZ2_0_mHp2_mHh2_cache[4][CacheSize]
double ip_csr_ggA_b_13(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the bottom-loop and the to...
double THoEX_gg_phi3_phi2Z_WWZ_ATLAS13
double ip_susy_HpHm_munumunu_LEP208(double mass)
double pp_phi2_phi1phi1_bbtautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double pp_phi2_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > integral_x2_1mx_G_variable_set_1_log
double ip_Br_HPtotautau(double mass)
Interpolating function for the SM branching ratio to two tau leptons.
double THoEX_gg_phi3_Zga_llga_ATLAS13
gslpp::matrix< double > ATLAS13_pp_ttphi3_ttmumu
double THoEX_VV_phi3_VV_llqq_ATLAS13
double ip_ex_gg_phi_phi1Z_tautaull_CMS13(double mass)
double THoEX_t_Hpb_WAb_Wmumub_CMS13
double ip_ex_bb_phi_tt_ATLAS13_cache[2][CacheSize]
double THoEX_pp_HpHm_munumunu_ATLAS13
double interpolate2DtriangularData(gslpp::matrix< double > arrayTab, double x, double y)
Linearly interpolates a table with two parameter dimensions. In this case the y variable changes firs...
double ip_low_pp_ttphi3_ttmumu_CMS13(double mass)
double ip_low_pp_h_phi3phi3_bbmumu_ATLAS13_cache[2][CacheSize]
double THoEX_Vh_h_phi3phi3_bbbb_ATLAS13
gslpp::matrix< double > CMS13_pp_phi2_gaga
double THoEX_phi2Z_tautauZ_LEP209
double pp_phi3_phi1phi1_bbgaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex I_h_D_cache[5][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbtautau_2_ATLAS13(double mass)
double ip_ex_pp_phi_phi1phi1_bbgaga_CMS13(double mass)
double THoEX_phi2phi3_tautautautau_LEP209
gslpp::complex B0_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const
double ggVV_phi3_WW_lnulnu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mHl2_mHp2_mHp2_cache[4][CacheSize]
double ip_ex_gg_phi_phi1Z_bbZ_ATLAS13(double mass)
gslpp::complex B0_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
double ip_cs_ggtoHp_8_cache[3][CacheSize]
gslpp::complex I_A_D_cache[4][CacheSize]
gslpp::complex I_A_L(const double mA2, const double Mmu, const double Mtau) const
gslpp::complex A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const
double pp_phi3_phi1phi1_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_bb_phi_phi1Z_bbZ_1_CMS13_cache[2][CacheSize]
double ip_integral_Hp_A_Wstar(double mi, double mj, double di, double dj)
double pp_phi3_phi1phi1_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_phi3_ZZ_qqnunu_CMS13
gslpp::matrix< double > integral_x_1mx2_G_log
gslpp::complex B00_MZ2_0_mHl2_mA2_cache[4][CacheSize]
gslpp::matrix< double > ATLAS13_gg_phii_phijZ_bbZ
double ip_integral_x2_1mx_G_variable_set_1_cache[2][CacheSize]
double SigmaZh13
SM cross sections for the associated production of h with a Z boson at 13 TeV at LHC.
gslpp::matrix< gslpp::complex > Nl_GTHDM
gslpp::complex A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const
double ip_integral_x2_1mx_G_variable_set_1(double wb)
double ip_ex_bsgamma(double logtb, double logmHp)
Interpolating function for the NNLO value for the branching ratio of decays in the GTHDM.
double SigmaggF13
SM cross sections for the production of h at 13 TeV at LHC through gluon fusion.
double ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13(double mass)
gslpp::complex B0p_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const
double THoEX_pp_phi2_phi1phi1_bbtautau_1_CMS13
double ip_integral_x_1mx_1px_G_cache[3][CacheSize]
double ip_ex_gg_phi_phi1Z_bbZ_1_CMS13_cache[2][CacheSize]
double ip_ex_bb_phi_mumu_CMS13(double mass)
double ip_ex_pp_phi_phi1phi1_4WOr2W2tauOr4tau_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
double pp_phi3_phi1phi1_bbtautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_csr_ggA_tc_13_cache[2][CacheSize]
double ip_Br_HPtoZZ(double mass)
Interpolating function for the SM branching ratio to two bosons.
double THoEX_bb_phi3_phi1Z_bbZ_ATLAS13
gslpp::matrix< double > ATLAS13_pp_h_phi3phi3_gagagaga
double THoEX_gg_phi3_WW_lnuqq_ATLAS13
double ip_cs_pptottA_8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_bb_phi_tt
double ip_low_pp_h_phi23phi23_gagagg_ATLAS13_cache[2][CacheSize]
double ip_low_t_Hpb_csb_CMS8_cache[2][CacheSize]
double ip_Br_HPtoZZ_cache[2][CacheSize]
double THoEX_t_Hpb_taunub_ATLAS8
double ip_ex_gg_phii_phijZ_bbZ_ATLAS13(double m3, double m2)
double ip_ex_pp_phi_phi1phi1_bbgaga_ATLAS13(double mass)
double THoEX_Vh_h_phi2phi2_bbbb_ATLAS13
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbtautau_2
gslpp::complex B0p_MZ2_mA2_0_mHl2_cache[4][CacheSize]
gslpp::complex B0_MZ2_mHl2_mHh2_mHl2_cache[4][CacheSize]
gslpp::complex B0p_MZ2_mHh2_mHp2_mHp2_cache[4][CacheSize]
double GTHDM_BR_h_AZ
branching ratio to bosons in the GTHDM.
gslpp::matrix< double > CMS13_pp_phi2_bb_light
gslpp::complex B0p_MZ2_mHp2_0_mHl2_cache[4][CacheSize]
gslpp::matrix< double > CMS13_pp_h_phi3phi3_bbtautau
double THoEX_pp_phi3_gaga_ATLAS13
double THoEX_pp_h_phi3phi3_mumutautau_CMS8
gslpp::complex B0p_MZ2_mHl2_mHl2_mHl2_cache[3][CacheSize]
gslpp::matrix< double > ATLAS13_pp_phi_VV_qqqq
double beta_h_b
beta function evaluated at Mb and m1_2
gslpp::matrix< double > CMS8_pp_Hp_taunu
CMS observed upper cross section limits at 8 TeV, depending on the charged Higgs mass.
gslpp::complex A_HH_D_cache[6][CacheSize]
gslpp::complex B0_MZ2_mA2_mA2_mHl2_cache[4][CacheSize]
double THoEX_gg_phi2_phi1phi1_ATLAS8
double THoEX_gg_phi2_gaga_ATLAS8
double VV_phi2_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_cs_pptobbA_13(double mass)
Interpolating function for the bottom associated A production cross section at 13 TeV.
double ip_cs_ZtoZH_13(double mass)
Interpolating function for the Z associated H production cross section at 13 TeV.
const PVfunctions PV
gslpp::matrix< double > CMS8_pp_h_phi3phi3_tautautautau
double THoEX_pp_phi2_phi1phi1_bbtautau_CMS8
gslpp::complex A_HH_L_cache[6][CacheSize]
gslpp::complex B0_MZ2_0_mA2_mHl2_cache[4][CacheSize]
double ip_low_pp_h_phi3phi3_bbmumu_ATLAS13(double mass)
double ip_ex_pp_phii_phijZ_bbll_2_CMS8_cache[3][CacheSize]
gslpp::matrix< double > ATLAS8_gg_phi_tautau
ATLAS observed upper cross section limits at 8 TeV, depending on the Higgs mass.
double ip_ex_pp_phi_phi1phi1_bbZZ_lljj_CMS13(double mass)
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau
double ip_low_HpHm_AWstAWst_bbbb_OPAL209_cache[3][CacheSize]
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.
double ip_ex_gg_phi_tautau_ATLAS8_cache[2][CacheSize]
double ip_low_HpHm_qqqq_LEP209(double mass)
double ip_ex_pp_Hpm_tb_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > br_tt
SM Higgs branching ratio tables (obtained with HDECAY 6.10), depending on the Higgs mass.
double beta_h_mu
beta function evaluated at Mmu and m1_2
double KaellenFunction(const double a2, const double b2, const double c2) const
Kaellen function.
double THoEX_VV_phi3_ZZ_qqllnunu_ATLAS13
gslpp::complex B0_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
gslpp::matrix< double > LEP209_phi2Z_gagaZ
LEP observed upper branching fraction limits for GeV, depending on the scalar mass.
double yu3R
Coupling of A to leptons.
gslpp::complex B0_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const
gslpp::complex B0p_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
gslpp::matrix< double > ATLAS13_gg_phi_phi1Z_bbZ
gslpp::complex B0p_MZ2_mHp2_0_mHh2_cache[4][CacheSize]
double bb_phi3_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const
double ip_ex_pp_phi_gaga_ATLAS13(double mass)
double THoEX_pp_phi2_ZZ_qqnunu_CMS13
gslpp::complex B0p_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const
double rh_gaga
Squared relative coupling of to two photons.
double ip_ex_VV_phi_ZZ_llllnunu_ATLAS13(double mass)
double ip_low_gg_h_phi3phi3_tautautautau_ATLAS8(double mass)
double ip_cs_ggtoH_13_cache[2][CacheSize]
double THoEX_phi1phi3_tautautautau_LEP209
double ip_ex_gg_phi_Zga_llga_ATLAS13(double mass)
gslpp::matrix< double > ATLAS8_VV_phi_ZZ
double ip_ex_gg_phi_WW_ATLAS8(double mass)
double ip_ex_gg_phi_gaga_CMS13(double mass)
gslpp::complex I_A_U_cache[4][CacheSize]
gslpp::complex I_HH_D_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_mHp2_mHp2_cache[3][CacheSize]
double ip_ex_bb_phii_phijZ_bbZ_ATLAS13(double m3, double m2)
gslpp::matrix< double > ATLAS13_pp_phi_phi1phi1_bbtautau_1
double THoEX_bb_phi3_tautau_ATLAS13
gslpp::complex I_A_L_cache[4][CacheSize]
double ip_low_HpHm_taunuAWst_taunubb_OPAL209(double mi, double mj, double di, double dj)
gslpp::complex B0p_MZ2_mHl2_mHh2_mHh2_cache[4][CacheSize]
double GTHDM_BR_h_HZ
branching ratio to bosons in the GTHDM.
gslpp::complex B0_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const
double BrSM_htogaga
SM branching ratio of .
double THoEX_gg_h_phi3phi3_tautautautau_ATLAS8
double THoEX_pp_h_phi3phi3_gagagaga_ATLAS13
gslpp::complex B0p_MZ2_mHl2_0_mA2_cache[4][CacheSize]
double VV_phi3_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_low_t_Hpb_taunub_CMS8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_pp_h_phi3phi3_bbmumu
ATLAS observed upper cross section (or branching fraction) limits at 13 TeV, depending on the pseudo...
gslpp::matrix< double > ATLAS8_pp_Hpm_tb
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbVV
gslpp::complex yd2
Coupling of H to up quarks.
gslpp::complex B0_MZ2_0_MW2_mHh2_cache[4][CacheSize]
double ip_cs_pptobbH_8_cache[2][CacheSize]
double ip_ex_gg_phi_WW_enumunu_ATLAS13_cache[2][CacheSize]
double pp_phi3_phi2Z_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > ATLAS8_pp_h_phi3phi3_gagagaga
ATLAS & CMS observed upper cross section (or branching fraction) limits at 8 TeV,...
double THoEX_gg_phi2_phi1phi1_gagaWW_ATLAS13
double ip_ex_gg_phi_mumu_CMS8(double mass)
gslpp::matrix< double > ATLAS13_t_Hpb_csb
ATLAS observed upper branching fraction limits at 13 TeV, depending on the charged scalar mass.
double ip_ex_pp_phi_Zga_llga_ATLAS8_cache[2][CacheSize]
double pp_phi2_phi1phi1_with_channel_bbWW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_phi2_WW_lnuqq_CMS13
gslpp::matrix< double > CMS8_pp_phii_phijZ_tautaull_2
double GTHDM_BR_h_gaga
branching ratio to two photons in the GTHDM.
double THoEX_ggVV_phi3_WW_lnulnu_CMS13
gslpp::matrix< double > ATLAS8_gg_phi_WW
double THoEX_gg_phi2_phi1Z_tautaull_CMS8
double ip_cs_pptobbA_8_cache[2][CacheSize]
double ip_low_gg_phi3_tautau_ATLAS13(double mass)
double ip_ex_pp_phi_phi1phi1_bbZZ_llnunu_CMS13(double mass)
gslpp::matrix< double > csrA_top_charm_13
double ip_ex_bb_phi_phi1Z_bbZ_1_CMS13(double mass)
double ip_csr_ggH_tc_8(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the top-loop and the total...
double rh_gg
Squared relative coupling of to two gluons.
gslpp::complex B0p_MZ2_0_mA2_mHl2_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_mHh2_mA2_cache[4][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13(double mass)
double ip_integral_Hp_A_Wstar_cache[3][CacheSize]
double ip_ex_VV_phi_WW_lnuqq_ATLAS13(double mass)
double rh_ggO
Squared relative coupling of to two gluons, odd part.
double THoEX_pp_phi2_phi3Z_tautaull_1_CMS8
double GTHDM_BR_h_cc
branching ratio to two quarks in the GTHDM.
gslpp::complex B00_MZ2_0_mA2_mHp2_cache[4][CacheSize]
double THoEX_pp_h_phi3phi3_gagagaga_ATLAS8
gslpp::matrix< double > CMS8_bb_phi_tautau
double THoEX_pp_phi3_ZZ_llqqnunull_CMS13
double Gammaphi2tot
Total decay width of the heavy CP-even Higgs .
gslpp::complex B0_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const
double THoEX_pp_phi3_phi1phi1_bbtautau_2_CMS13
gslpp::complex I_HH_U(const double mHh2, const double Mc, const double Mt) const
gslpp::matrix< double > CMS8_pp_phii_phijZ_bbll_1
double ip_low_Vh_h_phi3phi3_bbbb_CMS13(double mass)
gslpp::complex B0p_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const
double THoEX_bb_phi2_mumu_ATLAS13
double ip_csr_HpHm_pp_13_LO_cache[2][CacheSize]
gslpp::complex B0_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
double ip_Br_HPtobb_cache[2][CacheSize]
~GeneralTHDMcache()
GeneralTHDMcache destructor.
gslpp::matrix< double > br_ZZ
double ip_low_pp_h_phi3phi3_mumutautau_CMS8_cache[2][CacheSize]
double ip_ex_gg_phi_gaga_ATLAS8_cache[2][CacheSize]
gslpp::complex B0p_MZ2_0_mHp2_mA2_cache[4][CacheSize]
double gg_phi2_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_low_pp_h_phi23phi23_bbmumu_ATLAS13_old(double mass)
double ip_Br_HPtomumu(double mass)
Interpolating function for the SM branching ratio to two muons.
double ip_low_t_Hpb_WAb_Wmumub_CMS13(double mass)
double ip_integral_x_1mx2_G(double wa, double wb)
gslpp::complex B0_MZ2_mHh2_mHl2_mHl2_cache[4][CacheSize]
gslpp::complex B0p_MZ2_mA2_mA2_mHl2_cache[4][CacheSize]
gslpp::matrix< double > CMS13_gg_phi_phi1Z_bbZ_2
double beta_h_tau
beta function evaluated at Mtau and m1_2
double ip_low_HpHm_taunuAWst_taunubb_OPAL209_cache[3][CacheSize]
double gg_phi3_phi2Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > br_tautau
double THoEX_gg_phi2_phi1Z_bbZ_2_CMS13
double pp_phi3_phi2Z_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_low_Vh_h_phi23phi23_bbbb_ATLAS13(double mass)
double ip_ex_pp_Hpm_tb_ATLAS8_cache[2][CacheSize]
double gg_phi2_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double gg_phi3_phi1Z_tautauZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_gg_phi_ZZ_ATLAS8_cache[2][CacheSize]
double THoEX_gg_phi3_tautau_CMS13
double gg_phi3_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > ATLAS13_bb_phi_bb
double ip_low_pp_h_phi23phi23_gagagg_ATLAS13(double mass)
double gg_phi3_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_cs_ZtoZH_13_cache[2][CacheSize]
double BrSM_Ztoll
branching ratio to in the SM.
double THoEX_pp_h_phi2phi2_gagagg_ATLAS13
double ip_cs_pptobbA_8(double mass)
Interpolating function for the bottom associated A production cross section at 8 TeV.
gslpp::complex A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const
double bb_phi3_phi2Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double SigSM_pph13
SM cross sections for the production of h at 13 TeV at LHC.
double THoEX_bb_phi3_phi1Z_bbZ_1_CMS13
double ip_cs_ggtoA_8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_pp_phi_gaga
gslpp::matrix< double > CMS13_VV_phi_WW_heavy
double THoEX_VV_phi2_ZZ_llllnunu_ATLAS13
double THoEX_gg_phi3_phi1Z_tautaull_CMS13
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.
gslpp::complex B0p_MZ2_0_mHp2_mHl2_cache[4][CacheSize]
gslpp::complex B0_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const
gslpp::complex B0p_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const
double gg_phi3_mumu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double pp_phi2_VV_TH8
Signal strength for the process with $VV=WW,ZZ$ at the LHC with 8 TeV.
double ip_ex_pp_Hpm_taunu_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
gslpp::matrix< double > CMS8_pp_bbphi3_bbmumu
gslpp::matrix< double > CMS8_pp_phi_Zga_llga
double BrSM_htotautau
SM branching ratio of .
gslpp::matrix< double > CMS13_bb_phi_phi1Z_bbZ_1
gslpp::complex B0_MZ2_MZ2_MZ2_mHh2_cache[3][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13(double mass)
double ip_ex_pp_phii_phijZ_tautaull_1_CMS8(double m2, double m3)
gslpp::matrix< double > log_cs_bbH_13
SM Higgs production cross section table at 13 TeV obtained with SusHi 1.5, depending on the Higgs mas...
double ip_cs_pptottA_13_cache[2][CacheSize]
gslpp::complex B0_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
double ip_ex_pp_phi_phi1phi1_bbtautau_2_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_bb_phi_phi1Z_bbZ
gslpp::complex I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const
double SigmaVBF8
SM cross sections for the production of h through vector boson fusion at 8 TeV at LHC.
gslpp::complex A_h_D_cache[7][CacheSize]
double pp_phi3_phi1phi1_bbZZ_TH13
double ip_ex_gg_phi_tautau_ATLAS13(double mass)
gslpp::complex B0_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const
double ip_ex_gg_phii_phijZ_bbZ_ATLAS13_cache[3][CacheSize]
double THoEX_bb_phi2_phi1Z_bbZ_2_CMS13
double ip_ex_pp_phii_phijZ_tautaull_2_CMS8_cache[3][CacheSize]
gslpp::matrix< double > CMS13_VV_phi_WW
gslpp::matrix< double > integral_x2_G_log
gslpp::complex B00_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const
double ip_low_phiEphi3_tautautautau_LEP209(double mi, double mj, double di, double dj)
gslpp::matrix< double > ATLAS13_gg_phi_mumu
double THoEX_gg_phi2_phi1Z_bbll_CMS8
double ip_low_pp_h_phi3phi3_tautautautau_CMS13(double mass)
double ip_ex_pp_phi_phi1phi1_bbVV_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbgaga_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_gg_phi_mumu
double ip_low_pp_phi2_gaga_CMS8(double mass)
gslpp::matrix< double > CMS13_pp_Hpm_tb
gslpp::complex A_H_W(const double mH, const double cW2, const double MW, const double MZ) const
double ip_Br_HPtocc_cache[2][CacheSize]
double gg_phi3_phi2Z_WWZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double pp_Hpm_taunu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const
gslpp::complex B0p_MZ2_mHh2_mHl2_mHl2_cache[4][CacheSize]
double THoEX_pp_bbphi3_bbtautau_CMS8
double THoEX_pp_h_phi3phi3_bbmumu_CMS8
gslpp::matrix< double > CMS8_gg_phi_phi1phi1_bbtautau
gslpp::complex B0_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const
double VBF_Vh
Ratio of GTHDM and SM cross sections for VBF and Vh production of h.
double THoEX_pp_phi2_phi1phi1_bbtautau_2_CMS13
double THoEX_gg_phi2_WW_lnuqq_ATLAS13
double ip_low_t_Hpb_csb_ATLAS13(double mass)
double ip_low_gg_phi3_tautau_ATLAS13_cache[2][CacheSize]
double rh_QuQuO
Squared relative coupling of to two up quarks, odd part.
double THoEX_pp_phi3_phi1phi1_bbZZ_lljj_CMS13
double ip_ex_pp_phi2_bb_light_CMS13(double mass)
double pp_phi3_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
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_low_pp_h_phi3phi3_gagagaga_ATLAS13_cache[2][CacheSize]
double GTHDM_BR_h_ZZ
branching ratio to two bosons in the GTHDM.
double THoEX_gg_phi2_ZZ_llllnunu_ATLAS13
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbWWorbbtautau
double ip_ex_gg_phii_phijZ_WWZ_ATLAS13(double m3, double m2)
gslpp::complex I_A_U(const double mA2, const double Mc, const double Mt) const
gslpp::complex B0_MZ2_mHh2_mHh2_mHl2_cache[4][CacheSize]
gslpp::complex yd3
Coupling of A to up quarks.
gslpp::complex A_HH_U_cache[6][CacheSize]
double lambdaipm(const double R1i, const double R2i, const double R3i) const
double THoEX_gg_phi3_phi1phi1_bbtautau_CMS8
gslpp::complex B0_MZ2_mHp2_0_mHh2_cache[4][CacheSize]
double bb_phi3_mumu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex B0_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
double ip_low_pp_phi2_gaga_CMS13(double mass)
double THoEX_pp_HpHm_munumunu_CMS13
double bb_phi2_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > CMS13_gg_phi_Zga
double ip_ex_VV_phi_ZZ_ATLAS8(double mass)
double THoEX_gg_phi2_tautau_CMS8
double ip_integral_x2_G_variable_set_1(double wb)
double ip_low_pp_bbphi3_bbtautau_CMS13(double mass)
double ip_ex_pp_Hp_taunu_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
double beta(const double mf, const double m_2) const
beta function
double ip_low_HpHm_taunutaunu_LEP209(double mass)
double pp_phi3_phi1phi1_bbVV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_low_HpHm_qqtaunu_OPAL209(double mass)
double ip_cs_ggtoH_8(double mass)
Interpolating function for the H production cross section via gluon-gluon fusion at 8 TeV.
double ip_low_Zh_h_phi23phi23_bbbb_ATLAS13(double mass)
double THoEX_pp_h_phi3phi3_mumutautau_CMS13
double ip_ex_gg_phi_phi1phi1_ATLAS8(double mass)
double ip_ex_gg_phi_phi1phi1_bbtautau_CMS8_cache[2][CacheSize]
gslpp::matrix< double > log_cs_ttH_8
SM Higgs production cross section table at 8 TeV obtained with MadGraph 5, depending on the Higgs mas...
double pp_phi3_phi1phi1_with_channel_bbtautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV where the decay channel o...
double ip_ex_bb_phi_mumu_CMS8_cache[2][CacheSize]
gslpp::matrix< double > LEP209_phi2Z_tautauZ
double pp_phi2_phi1phi1_bbbb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_pp_Hpm_taunu_ATLAS8
gslpp::matrix< double > CMS13_pp_h_phi3phi3_mumutautau
CMS observed upper cross section (or branching fraction) limits at 13 TeV, depending on the pseudosc...
double pp_phi3_phi1phi1_with_channel_bbgaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV where the decay channel o...
double ip_csr_ggH_tc_13_cache[2][CacheSize]
gslpp::complex B0p_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const
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_low_pp_h_phi3phi3_bbtautau_ATLAS13(double mass)
double THoEX_gg_phi3_phi1Z_tautaull_CMS8
double VV_phi2_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_gg_phi3_tautau_ATLAS8
double ip_csr_ggA_b_8(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the bottom-loop and the to...
double ip_ex_gg_phi_mumu_CMS13(double mass)
double THoEX_gg_phi3_WW_enumunu_ATLAS13
gslpp::matrix< double > ATLAS13_bb_phi_mumu
gslpp::complex A_H_W_cache[5][CacheSize]
gslpp::complex B00_MZ2_MW2_mHl2_mHp2_cache[5][CacheSize]
double THoEX_Zh_h_phi3phi3_bbbb_ATLAS13
double ip_ex_bb_phi_tautau_ATLAS13_cache[2][CacheSize]
double pp_phi2_phi1phi1_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > CMS8_gg_phi_phi1Z_tautaull
double THoEX_gg_phi3_tautau_CMS8
double THoEX_pp_phi2_gaga_ATLAS13_low
gslpp::matrix< double > CMS13_tt_phi2_tt
gslpp::complex B0p_MZ2_mHp2_mHp2_mHh2_cache[4][CacheSize]
gslpp::matrix< double > ATLAS13_pp_HpHm_munumunu
double cW2GTHDM(const double c02) const
double THoEX_HpHm_taunuAWst_taunubb_OPAL209
gslpp::complex A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const
gslpp::matrix< double > ATLAS13_gg_phi_WW_enumunu
gslpp::complex B0p_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const
double ip_ex_gg_phi_phi1Z_bbZ_2_CMS13_cache[2][CacheSize]
double ip_low_t_Hpb_cbb_ATLAS13(double mass)
double SigSM_pph8
SM cross sections for the production of h at 8 TeV at LHC.
gslpp::complex B0p_MZ2_mHh2_mHh2_mHl2_cache[4][CacheSize]
gslpp::matrix< double > CMS13_gg_phi_WW_heavy
double ip_ex_pp_phi_Zga_llga_CMS8(double mass)
gslpp::complex B0_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
double ip_ex_VV_phi_WW_ATLAS8_cache[2][CacheSize]
double ip_ex_bb_phi_mumu_ATLAS13(double mass)
gslpp::matrix< double > br_WW
double gg_phi3_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const
double THoEX_pp_ttphi3_ttmumu_ATLAS13
double pp_phi2_phi1phi1_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbZZ_lljj
double bb_phi3_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_gg_phi_phi1Z_bbZ_2_CMS13(double mass)
double THoEX_pp_h_phi3phi3_bbtautau_CMS13
gslpp::matrix< double > log_cs_WH_13
double THoEX_bb_phi3_phi2Z_bbZ_ATLAS13
double ip_ex_bb_phi_tautau_CMS8_cache[2][CacheSize]
double ip_cs_ggtoHp_8(double mHp, double logtb)
Interpolating function for the H+ production cross section from two gluons at 8 TeV.
double ip_cs_WtoWH_13_cache[2][CacheSize]
double gg_phi3_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_VV_phi_WW_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_CMS13(double mass)
gslpp::matrix< double > log_cs_ttA_8
double ip_ex_VV_phi_WW_enumunu_ATLAS13(double mass)
double THoEX_Vh_h_phi3phi3_bbbb_CMS13
double ip_ex_bb_phi_bb_CMS13_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_Vh_h_phi23phi23_bbbb
gslpp::matrix< double > CMS8_gg_phi_tautau
gslpp::matrix< gslpp::complex > Nu_GTHDM
gslpp::matrix< double > CMS13_Vh_h_phi3phi3_bbbb
double gg_phi3_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_cs_pptobbH_13(double mass)
Interpolating function for the bottom associated H production cross section at 13 TeV.
gslpp::complex B0_MZ2_mHl2_mHp2_mHp2_cache[4][CacheSize]
double bb_phi3_phi1Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_pp_phi_phi1phi1_bbtautau_CMS8_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_gagagaga_ATLAS8(double mass)
double BrSM_htogg
SM branching ratio of .
gslpp::matrix< double > ATLAS13_gg_h_phi23Z_mumull
gslpp::matrix< double > OPAL209_HpHm_qqtaunu
OPAL observed upper branching fraction limits for GeV, depending on the charged masses.
double pp_Hp_taunu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double VV_phi3_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_bb_phi_mumu_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > CMS8_bb_phi_bb
CMS observed upper cross section limits at 8 TeV, depending on the Higgs mass.
gslpp::complex B0_MZ2_mA2_0_mHh2_cache[4][CacheSize]
double THoEX_bb_phi3_phi1Z_bbZ_2_CMS13
double ip_ex_gg_phi_Zga_llga_ATLAS13_cache[2][CacheSize]
double ip_cs_ggtoHp_13_cache[3][CacheSize]
gslpp::matrix< double > log_cs_VBF_8
double ip_ex_gg_phi_bb_CMS8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_pp_phi_phi1phi1_bbgaga
gslpp::complex B0_MZ2_mHl2_mHl2_mHl2_cache[3][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13_cache[2][CacheSize]
gslpp::complex B0p_MZ2_mA2_mA2_mHh2_cache[4][CacheSize]
double ip_ex_gg_phi_phi1phi1_gagaWW_ATLAS13_cache[2][CacheSize]
double THoEX_pp_phi3_phi1phi1_bbgaga_CMS13
double THoEX_pp_phi3_phi1phi1_bbbb_2_CMS13
double ip_susy_pp_HpHm_taunutaunu_CMS13(double mass)
double THoEX_HpHm_munumunu_LEP208
double ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13_cache[2][CacheSize]
double bb_phi2_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_bb_phi_bb_ATLAS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_MZ2_MZ2_mHl2_cache[3][CacheSize]
double pp_phi2_phi1phi1_with_channel_4WOr2W2tauOr4tau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV where the SM-like Higgs d...
gslpp::matrix< double > LEP209_phiEphi3_tautautautau
double pp_Hpm_tb_TH13
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_gg_phi_VV_llqq_ATLAS13(double mass)
gslpp::matrix< double > integral_x2_G_variable_set_1_log
double ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache[2][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.
double THoEX_pp_phi3_phi1phi1_bbWW_qqlnu_CMS13
gslpp::complex A_h_L_cache[7][CacheSize]
double ip_low_pp_bbphi3_bbtautau_CMS8_cache[2][CacheSize]
gslpp::complex B0_MZ2_0_mA2_mHh2_cache[4][CacheSize]
double ip_low_HpHm_taunutaunu_LEP209_cache[2][CacheSize]
gslpp::complex I_H_Hp(const double mHp2, const double mH) const
gslpp::complex B00_MZ2_0_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const
double THoEX_pp_phi2_VV_qqqq_ATLAS13
double ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13_cache[2][CacheSize]
double THoEX_pp_phi3_phi1phi1_4WOr2W2tauOr4tau_CMS13
double THoEX_bb_phi3_tautau_ATLAS8
double ip_integral_perturb_ATHDM(double ratio)
double THoEX_gg_phi3_WW_heavy_CMS13
gslpp::complex B0p_MZ2_0_mHp2_mHh2_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_MZ2_mHh2_cache[3][CacheSize]
gslpp::matrix< double > CMS8_pp_Hp_tb
gslpp::matrix< double > log_cs_WH_8
double gg_phi3_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > CMS8_t_Hpb_csb
CMS observed upper branching fraction limits at 8 TeV, depending on the charged scalar mass.
gslpp::complex B0p_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
gslpp::matrix< double > ATLAS8_gg_h_phi3phi3_tautautautau
double ip_csr_ggH_b_13(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the bottom-loop and the to...
double ip_low_HpHm_qqtaunu_OPAL172(double mass)
gslpp::matrix< double > CMS13_pp_h_phi3phi3_gagagaga
gslpp::matrix< double > CMS13_ggVV_phi_WW_lnulnu
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbWW_qqlnu
double GTHDM_BR_h_tautau
branching ratio to two leptons in the GTHDM.
double THoEX_gg_phi3_ZZ_llllnunu_ATLAS13
double gg_phi2_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_gg_phi_Zga_CMS13(double mass)
gslpp::complex B0_MZ2_mHl2_mHh2_mHh2_cache[4][CacheSize]
gslpp::complex B0p_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
double tt_phi2_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double KaellenFunction_cache[4][CacheSize]
gslpp::matrix< double > CMS13_pp_phi_ZZ_qqnunu
gslpp::matrix< double > CMS13_gg_phi_tautau
double THoEX_VV_phi2_ZZ_qqllnunu_ATLAS13
double THoEX_gg_phi3_phi2Z_bbZ_ATLAS13
double pp_phi2_phi1phi1_with_channel_bbWWorbbtautau_TH13
double ip_ex_pp_phi_VV_CMS8_cache[2][CacheSize]
double ip_ex_tt_phi3_tt_CMS13(double mass)
gslpp::matrix< double > OPAL172_HpHm_qqtaunu
OPAL observed upper branching fraction limits for GeV, depending on the charged masses.
gslpp::complex B0p_MZ2_mHh2_mHh2_mHh2_cache[3][CacheSize]
double THoEX_HpHm_qqtaunu_OPAL209
gslpp::matrix< double > CMS13_pp_bbphi3_bbtautau
gslpp::matrix< double > ATLAS13_pp_phi2_gaga_low
double THoEX_pp_phi2_phi1phi1_bbbb_2_CMS13
double GTHDM_BR_h_bb
branching ratio to two quarks in the GTHDM.
double ip_ex_gg_phi_VV_llqq_ATLAS13_cache[2][CacheSize]
double ip_ex_tt_phi_tt_ATLAS13_cache[2][CacheSize]
double rh_QdQdO
Squared relative coupling of to two down quarks, odd part.
gslpp::matrix< double > CMS8_gg_phi_phi1Z_bbll
double ip_integral_x_1mx2_G_variable_set_0_cache[2][CacheSize]
int HSTheta(const double x) const
Heaviside function.
double ip_low_HpHm_qqtaunu_OPAL209_cache[2][CacheSize]
double ip_low_pp_ttphi3_ttmumu_ATLAS13(double mass)
double pp_phi2_phi3Z_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_pp_phi_bb_CMS13(double mass)
double THoEX_pp_phi3_Zga_llga_ATLAS8
double ip_low_gg_h_phi23phi23_mumumumu_ATLAS13_cache[2][CacheSize]
double bb_phi2_mumu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > log_cs_ggH_13
SM Higgs production cross section tables at 13 TeV from the LHC Higgs Cross Section Working Group,...
double THoEX_pp_phi2_phi3Z_bbll_1_CMS8
gslpp::complex B00_MZ2_0_mHh2_mHp2_cache[4][CacheSize]
double sumModBRs
Sum of the modified branching ratios.
double ip_cs_pptottA_8(double mass)
Interpolating function for the top associated A production cross section at 8 TeV.
double ip_ex_pp_Hpm_taunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
double THoEX_pp_phi3_phi1phi1_bbbb_CMS8
double THoEX_pp_HpHm_taunutaunu_ATLAS13
double ip_cs_ZtoZH_8(double mass)
Interpolating function for the Z associated H production cross section at 8 TeV.
gslpp::matrix< double > ATLAS13_VV_phi_ZZ_llllnunu
double bb_phi3_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_VV_phi_VV_llqq_ATLAS13_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_tautautautau_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_pp_phi_WW_lnuqq
gslpp::matrix< double > ATLAS8_pp_phi_Zga_llga
gslpp::matrix< double > ATLAS13_pp_HpHm_taunutaunu
SUSY observed upper branching fraction limits at 13 TeV, depending on charged scalar mass.
double ip_low_t_Hpb_cbb_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_pp_h_phi3phi3_bbtautau
gslpp::matrix< double > CMS13_bb_phi_mumu
double THoEX_pp_h_phi3phi3_bbtautau_ATLAS13
double ip_cs_VBFtoH_13(double mass)
Interpolating function for the H production cross section via vector boson fusion at 13 TeV.
double THoEX_bb_phi2_phi1Z_bbZ_ATLAS13
gslpp::complex B00_MZ2_MW2_mA2_mHp2_cache[5][CacheSize]
gslpp::complex B0_MZ2_mHh2_mHh2_mHh2_cache[3][CacheSize]
gslpp::matrix< double > ATLAS8_t_Hpb_taunub
ATLAS observed upper branching fraction limits at 8 TeV, depending on the charged scalar mass.
gslpp::matrix< double > LEP209_HpHm_taunutaunu
LEP observed upper cross-section times branching fraction limits for GeV, depending on the charged ...
gslpp::complex B0_MZ2_mHl2_0_0_cache[3][CacheSize]
double ip_susy_pp_HpHm_munumunu_CMS13(double mass)
gslpp::complex B0p_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
gslpp::matrix< double > ATLAS13_gg_phi_WW_lnuqq
double THoEX_pp_ttphi3_ttmumu_CMS13
double gg_phi2_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_cs_ggtoA_13_cache[2][CacheSize]
double ip_csr_ggA_b_13_cache[2][CacheSize]
double THoEX_gg_phi3_phi1Z_bbZ_1_CMS13
double THoEX_gg_phi2_phi3Z_WWZ_ATLAS13
double ip_low_pp_h_phi23Z_mumull_CMS13_cache[2][CacheSize]
gslpp::matrix< double > OPAL209_HpHm_AWstAWst_bbbb
OPAL observed upper branching fraction limits for GeV, depending on the charged and pseudoscalar ma...
double gg_phi2_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_HpHm_taunutaunu_LEP209
double THoEX_pp_h_phi3phi3_gagagaga_CMS13
gslpp::complex B0p_MZ2_mHh2_0_mA2_cache[4][CacheSize]
double pp_phi2_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_bsgamma_cache[3][CacheSize]
gslpp::complex B0p_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
double THoEX_pp_ttphi3_tttautau_CMS13
gslpp::complex I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const
double ip_ex_pp_phii_phijZ_tautaull_2_CMS8(double m2, double m3)
double ip_cs_pptottA_13(double mass)
Interpolating function for the top associated A production cross section at 13 TeV.
gslpp::matrix< double > ATLAS13_gg_phi_ZZ_qqllnunu
double ip_integral_x_1mx2_G_cache[3][CacheSize]
double gg_phi2_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_phi2_bb_light_CMS13
gslpp::complex B0_MZ2_mHh2_0_mA2_cache[4][CacheSize]
gslpp::complex B0_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const
double ip_ex_VV_phi_ZZ_ATLAS8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_gg_phii_phijZ_WWZ
gslpp::complex I_HH_U_cache[4][CacheSize]
double ip_ex_gg_phi_WW_heavy_CMS13_cache[2][CacheSize]
double gg_phi3_mumu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double gg_phi2_phi1Z_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_pp_phii_phijZ_bbll_2_CMS8(double m2, double m3)
gslpp::matrix< double > CMS8_pp_phi_phi1phi1_bbgaga
double VV_phi2_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_0_0_mHh2_cache[3][CacheSize]
static const int CacheSize
Cache size.
double THoEX_gg_phi2_phi1Z_tautauZ_ATLAS8
double ip_ex_VV_phi_WW_heavy_CMS13(double mass)
gslpp::matrix< double > integral_x2_1mx_G_log
gslpp::matrix< double > log_cs_bbA_13
double THoEX_VV_phi2_WW_enumunu_ATLAS13
gslpp::matrix< double > CMS13_gg_phi_gaga
gslpp::matrix< double > CMS13_gg_phi_phi1Z_bbZ_1
double THoEX_HpHm_qqtaunu_OPAL172
double yl3R
Coupling of A to down quarks real part.
double THoEX_pp_phi3_phi1phi1_bbWWorbbtautau_CMS13
double ip_ex_gg_phi_ZZ_llllnunu_ATLAS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_MW2_MW2_mHl2_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_MZ2_mHl2_cache[3][CacheSize]
double Gammaphi3tot
Total decay width of the heavy CP-even Higgs .
double ip_ex_bb_phi_phi1Z_bbZ_ATLAS13(double mass)
double THoEX_pp_h_phi3phi3_tautautautau_CMS8
double ip_ex_pp_Hpm_taunu_CMS13_cache[2][CacheSize]
double ip_susy_pp_HpHm_munumunu_ATLAS13(double mass)
gslpp::complex B0p_MZ2_mA2_0_mHp2_cache[4][CacheSize]
double ip_ex_gg_phii_phijZ_WWZ_ATLAS13_cache[3][CacheSize]
double SigmaVh8
SM cross sections for the associated production of h with a vector boson at 8 TeV at LHC.
double ip_susy_pp_HpHm_munumunu_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbbb_CMS8_cache[2][CacheSize]
gslpp::complex B0_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const
gslpp::matrix< double > CMS13_pp_h_phi3phi3_bbmumu
double THoEX_pp_phi3_phi1phi1_bbWW_ATLAS13
double pp_phi3_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > csrH_bottom_8
double THoEX_pp_phi2_phi1phi1_bbtautau_2_ATLAS13
gslpp::matrix< double > integral_x2_1px_G_log
double ip_ex_bb_phi_bb_CMS8(double mass)
gslpp::matrix< double > CMS13_pp_ttphi3_ttmumu
double ip_low_Zh_h_phi23phi23_bbbb_ATLAS13_cache[2][CacheSize]
gslpp::complex A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
gslpp::complex B0_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const
double THoEX_gg_phi3_ZZ_qqllnunu_ATLAS13
double THoEX_gg_phi2_phi1Z_bbZ_1_CMS13
double pp_phi3_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_bb_phi_bb_ATLAS13(double mass)
double ip_csr_ggH_b_8(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the bottom-loop and the to...
double ip_ex_bb_phi_phi1Z_bbZ_2_CMS13(double mass)
double pp_phi2_Zga_llga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double bb_phi2_mumu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8_cache[2][CacheSize]
double THoEX_pp_HpHm_taunutaunu_CMS13
double ip_low_pp_h_phi23phi23_mumumumu_CMS13(double mass)
double gg_phi3_phi1phi1_bbtautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double rphi3_ggE
Squared relative coupling of to two gluons, even part.
double ip_cs_ggtoA_8(double mass)
Interpolating function for the A production cross section via gluon-gluon fusion at 8 TeV.
double VV_phi2_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double pp_phi2_phi1phi1_bbVV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_h_phi3phi3_gagagg_ATLAS13
double ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8(double mass)
double ip_ex_gg_phi_bb_CMS8(double mass)
gslpp::matrix< double > csrHpHm_pp_13_LO
charged higgs pair production cross-sections at 13 TeV, depending on charged scalar mass (taken from ...
double gg_phi2_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double bb_phi2_phi3Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double pp_phi3_phi1phi1_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_phi1phi3_bbbb_LEP209
double gg_phi2_phi1Z_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double gg_phi2_mumu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbbb_1
gslpp::matrix< gslpp::complex > Md_GTHDM
double ip_ex_gg_phi_gaga_CMS13_cache[2][CacheSize]
gslpp::complex I_HH_L(const double mHh2, const double Mmu, const double Mtau) const
double THoEX_pp_phi3_phi1phi1_bbbb_1_CMS13
double ip_ex_gg_phi_gaga_ATLAS8(double mass)
double THoEX_VV_phi3_WW_lnuqq_ATLAS13
double ip_low_pp_phi2_gaga_ATLAS13(double mass)
double ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS8_pp_h_phi3phi3_mumutautau
gslpp::matrix< double > CMS8_t_Hpb_taunub
gslpp::matrix< double > CMS8_pp_phi_phi1phi1_bbtautau
double gg_phi3_phi1phi1_gagaWW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_susy_pp_HpHm_munumunu_ATLAS13_cache[2][CacheSize]
double pp_phi3_phi1phi1_with_channel_bbWW_qqlnu_TH13
gslpp::matrix< gslpp::complex > Nd_GTHDM
double gg_phi2_phi1Z_tautauZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_gg_phi_WW_CMS13(double mass)
gslpp::complex B0p_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const
double THoEX_bb_phi2_tautau_ATLAS13
double ip_low_t_Hpb_csb_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbgaga_ATLAS13_cache[2][CacheSize]
gslpp::complex B00_MZ2_MW2_mHp2_mHp2_cache[4][CacheSize]
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbtautau_1
double ip_ex_pp_phi_ZZ_llqqnunull_CMS13(double mass)
double pp_phi3_phi1phi1_with_channel_4WOr2W2tauOr4tau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV where the SM-like Higgs d...
double ip_cs_pptottH_8(double mass)
Interpolating function for the top associated H production cross section at 8 TeV.
gslpp::matrix< double > CMS13_pp_phi_bb
CMS observed upper cross section limits at 13 TeV, depending on the Higgs mass.
double ip_low_gg_h_phi23Z_mumull_ATLAS13_cache[2][CacheSize]
double ip_susy_pp_HpHm_taunutaunu_ATLAS13(double mass)
double ip_integral_x2_G_variable_set_1_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbWWorbbtautau_CMS13
gslpp::complex I_HH_L_cache[4][CacheSize]
gslpp::complex B0p_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
double pp_Hpm_taunu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double gg_phi2_mumu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double gg_phi3_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const
double ip_low_gg_h_phi23phi23_mumumumu_ATLAS13(double mass)
double ip_ex_gg_phi_phi1Z_tautaull_CMS13_cache[2][CacheSize]
double ip_cs_pptobbH_13_cache[2][CacheSize]
gslpp::matrix< double > arraybsgamma
table, depending on logtb and the logarithm of the charged Higgs mass.
double ip_integral_x_1mx2_G_variable_set_0(double wb)
double ip_ex_gg_phi_phi1phi1_bbtautau_CMS8(double mass)
double THoEX_gg_phi2_tautau_CMS13
double ip_ex_pp_phii_phijZ_bbll_1_CMS8(double m2, double m3)
double THoEX_pp_bbphi3_bbtautau_CMS13
double THoEX_gg_phi2_phi1Z_bbZ_ATLAS13
double ip_ex_tt_phi3_tt_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbZZ_lljj_CMS13_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbZZ_lljj_CMS13
gslpp::complex B0_MZ2_0_MW2_mHl2_cache[4][CacheSize]
GeneralTHDMcache(const StandardModel &SM_i)
GeneralTHDMcache constructor.
gslpp::matrix< double > ATLAS8_gg_phi_phi1Z_tautauZ
gslpp::complex I_h_U_cache[5][CacheSize]
gslpp::matrix< double > log_cs_bbA_8
double ip_low_pp_h_phi3phi3_mumutautau_CMS13_cache[2][CacheSize]
double ip_low_phiEphi3_bbbb_LEP209(double mi, double mj, double di, double dj)
double ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const
gslpp::matrix< double > ATLAS13_pp_phi_phi1phi1_bbbb
gslpp::complex I_H_W(const double mH, const double MW) const
gslpp::complex B0_MZ2_mHl2_0_mA2_cache[4][CacheSize]
double ip_low_pp_h_phi3phi3_bbtautau_ATLAS13_cache[2][CacheSize]
double Sigma_HpHm_LEP(const double mass2, const double sqrts) const
Cross section for charged-Higgs pair production at LEP, from hep-ph/9602250.
gslpp::matrix< double > ATLAS13_gg_phi3_tautau_low
double ip_ex_pp_phi_phi1phi1_bbtautau_1_CMS13(double mass)
double ip_low_pp_phi2_gaga_CMS8_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_tautautautau_CMS8(double mass)
gslpp::matrix< double > log_cs_ttH_13
SM Higgs production cross section table at 13 TeV obtained with MadGraph 5, depending on the Higgs ma...
double THoEX_VV_phi2_WW_heavy_CMS13
gslpp::complex B00_MZ2_0_MZ2_mHh2_cache[3][CacheSize]
gslpp::complex B00_MZ2_MZ2_mHp2_mHp2(const double MZ2, const double mHp2) const
double ip_ex_gg_phi_tautau_CMS13_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_gagagaga_CMS13(double mass)
double ip_ex_gg_phi_ZZ_ATLAS8(double mass)
double gg_phi3_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > ATLAS13_pp_Hpm_taunu
ATLAS observed upper cross section limits at 13 TeV, depending on the charged Higgs mass.
double THoEX_pp_h_phi2phi2_mumumumu_CMS13
double ip_ex_pp_phi_bb_CMS13_cache[2][CacheSize]
double ip_ex_gg_phi_mumu_ATLAS13_cache[2][CacheSize]
double gg_phi3_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double BrSM_htobb
SM branching ratio of .
gslpp::matrix< double > CMS8_gg_phi_bb
double ip_low_pp_h_phi3phi3_gagagaga_CMS13_cache[2][CacheSize]
gslpp::complex A_A_U_cache[6][CacheSize]
gslpp::matrix< gslpp::complex > Ml_GTHDM
double bb_phi2_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > CMS13_pp_phi_ZZ_llqqnunull
double THoEX_pp_h_phi3phi3_bbmumu_ATLAS13
gslpp::matrix< double > ATLAS8_bb_phi_tautau
double Gamma_Z_inv
decay rate in the GTHDM.
double ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13_cache[2][CacheSize]
double THoEX_pp_h_phi3phi3_bbmumu_ATLAS13_old
double ip_Br_HPtobb(double mass)
Interpolating function for the SM branching ratio to two bottom quarks.
gslpp::matrix< double > log_cs_ggA_13
CP-odd Higgs production cross section tables at 13 TeV obtained with HIGLU 4.34, depending on the Hig...
double ip_ex_bb_phi_bb_CMS8_cache[2][CacheSize]
double ip_csr_HpHm_pp_13_LO(double mass)
double ip_ex_pp_phi_gaga_ATLAS13_cache[2][CacheSize]
double THoEX_bb_phi3_mumu_ATLAS13
double ip_cs_VBFtoH_8(double mass)
Interpolating function for the H production cross section via vector boson fusion at 8 TeV.
double rh_VV
Squared relative coupling of to two massive vector bosons.
gslpp::complex sigmal_ATHDM
double ip_ex_pp_phi_phi1phi1_bbbb_CMS8(double mass)
gslpp::matrix< double > CMS13_pp_Hpm_taunu
CMS observed upper cross section limits at 13 TeV, depending on the charged Higgs mass.
double ip_low_t_Hpb_taunub_ATLAS8(double mass)
double ip_integral_perturb_ATHDM_cache[2][CacheSize]
double pp_phi3_phi1phi1_bbgaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double gg_phi2_phi1phi1_bbtautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_gg_phi_mumu_CMS8_cache[2][CacheSize]
gslpp::complex B00_MZ2_MW2_MW2_mHl2_cache[4][CacheSize]
gslpp::complex B0_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
double ip_ex_gg_phi_phi1Z_bbZ_ATLAS13_cache[2][CacheSize]
gslpp::complex B0p_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const
double THoEX_pp_phi3_WW_lnuqq_CMS13
gslpp::complex A_h_U_cache[7][CacheSize]
double pp_phi3_phi1phi1_with_channel_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_bb_phi2_tautau_CMS13
double ip_low_t_Hpb_taunub_CMS8(double mass)
gslpp::complex B0_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const
double ip_cs_ggtoA_13(double mass)
Interpolating function for the A production cross section via gluon-gluon fusion at 13 TeV.
double ip_Br_HPtotautau_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_bbmumu_CMS8(double mass)
gslpp::complex B00_MZ2_0_mHl2_mHp2_cache[4][CacheSize]
double THoEX_pp_phi3_bb_light_CMS13
double ip_ex_pp_phi_VV_qqqq_ATLAS13(double mass)
double THoEX_pp_phi2_phi1phi1_4WOr2W2tauOr4tau_CMS13
double GTHDM_BR_h_AA
branching ratio to two bosons in the GTHDM.
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses
gslpp::matrix< double > ATLAS13_VV_phi_WW_lnuqq
double THoEX_pp_phi2_phi1phi1_bbtautau_1_ATLAS13
gslpp::complex B0p_MZ2_0_0_mHl2_cache[3][CacheSize]
gslpp::complex B00_MZ2_MZ2_mHl2_mA2_cache[4][CacheSize]
double THoEX_pp_h_phi3Z_mumull_CMS13
double ip_ex_pp_phi_phi1phi1_bbtautau_CMS8(double mass)
double THoEX_gg_phi3_phi1Z_bbZ_ATLAS13
double THoEX_pp_phi2_phi1phi1_bbgaga_CMS8
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbgaga
double THoEX_pp_phi3_phi1phi1_bbtautau_2_ATLAS13
gslpp::matrix< double > ATLAS8_gg_phi_gaga
gslpp::matrix< double > csrH_bottom_13
double ip_ex_pp_phi_Zga_llga_ATLAS8(double mass)
gslpp::matrix< double > Rij_GTHDM
double pp_phi2_phi1phi1_with_channel_bbtautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV where the decay channel o...
double THoEX_pp_phi2_Zga_llga_ATLAS8
double rh_QdQdE
Squared relative coupling of to two down quarks, even part.
gslpp::complex A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const
double THoEX_pp_phi3_phi1phi1_bbgaga_ATLAS13
double THoEX_gg_h_phi2Z_mumull_ATLAS13
double pp_phi2_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double rphi3_VV
Squared relative coupling of to two massive vector bosons.
double THoEX_bb_phi2_phi1Z_bbZ_1_CMS13
gslpp::matrix< double > CMS8_pp_h_phi3phi3_bbmumu
double ip_low_t_Hpb_csb_ATLAS13_cache[2][CacheSize]
double THoEX_gg_phi2_phi3Z_bbZ_ATLAS13
double ip_integral_x2_1px_G(double wa, double wb)
gslpp::matrix< double > CMS13_tt_phi3_tt
double THoEX_gg_phi2_WW_heavy_CMS13
double ip_ex_pp_phi_Zga_llga_CMS8_cache[2][CacheSize]
double Gamma_h_inv
decay rate in the GTHDM.
gslpp::matrix< double > log_cs_ggHp_8
Charged Higgs production cross section table at 8 TeV from LHCHXSWGMSSMCharged, depending on the char...
gslpp::complex B00_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const
double ip_cs_WtoWH_13(double mass)
Interpolating function for the W associated H production cross section at 13 TeV.
double ip_ex_pp_phi_VV_qqqq_ATLAS13_cache[2][CacheSize]
double ip_low_HpHm_AWstAWst_bbbb_OPAL209(double mi, double mj, double di, double dj)
double ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_CMS13_cache[2][CacheSize]
double pp_phi3_phi1phi1_with_channel_bbWW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double bb_phi3_mumu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > ATLAS13_VV_phi_ZZ_qqllnunu
gslpp::complex f_func(const double x) const
f function for the gamma gamma coupling to h, H and A
double ip_ex_gg_phi_phi1Z_bbll_CMS8_cache[2][CacheSize]
double SigmaVh13
SM cross sections for the associated production of h with a vector boson at 13 TeV at LHC.
double gg_phi2_phi1Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > integral_x_1mx_1px_G_log
double ip_ex_bb_phi_tt_ATLAS13(double mass)
double ip_low_t_Hpb_taunub_ATLAS8_cache[2][CacheSize]
double ip_ex_pp_Hpm_tb_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS8_pp_phi_phi1phi1_bbbb
double MWGTHDM(const double MW) const
double ip_low_pp_ttphi3_tttautau_CMS13(double mass)
double pp_Hp_tb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::matrix< double > ATLAS13_Zh_h_phi23phi23_bbbb
double THoEX_VV_phi3_WW_heavy_CMS13
double THoEX_phi2phi3_bbbb_LEP209
double ip_ex_gg_phi_phi1phi1_gagaWW_ATLAS13(double mass)
double ip_low_pp_bbphi3_bbtautau_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_bb_phi_phi1Z_bbZ_2
double ip_ex_gg_phi_phi1Z_bbZ_ATLAS8(double mass)
double interpolate2D(gslpp::matrix< double > arrayTab, double x, double y)
Linearly interpolates a table with two parameter dimensions. In this case the x variable changes firs...
double ggF_tth8
Ratio of GTHDM and SM cross sections for ggF and tth production of h at 8 TeV.
double BrSM_htocc
SM branching ratio of .
double ip_ex_gg_phi_phi1Z_tautaull_CMS8_cache[2][CacheSize]
gslpp::complex B0_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const
double ip_Br_HPtott(double mass)
Interpolating function for the SM branching ratio to two top quarks.
double THoEX_pp_phi2_gaga_ATLAS13
double ip_ex_pp_phii_phijZ_tautaull_1_CMS8_cache[3][CacheSize]
double ip_ex_pp_phi_VV_CMS8(double mass)
double ip_ex_pp_phi_phi1phi1_bbVV_CMS13(double mass)
double ip_low_Vh_h_phi23phi23_bbbb_ATLAS13_cache[2][CacheSize]
double ip_low_gg_h_phi23Z_mumull_ATLAS13(double mass)
double ip_GammaHPtotSM_cache[2][CacheSize]
double THoEX_pp_phi3_phi2Z_bbll_2_CMS8
gslpp::matrix< double > csrH_top_charm_8
Production cross section ratio tables at 8 TeV obtained with HIGLU 4.34, depending on the Higgs mass.
gslpp::complex Int1(const double tau, const double lambda) const
function for Z gamma coupling to h, H and A
double THoEX_VV_phi2_WW_lnuqq_ATLAS13
double ip_low_t_Hpb_WAb_Wmumub_CMS13_cache[2][CacheSize]
double ip_ex_pp_Hpm_tb_CMS13(double mass)
gslpp::complex B0p_MZ2_mHl2_mHh2_mHl2_cache[4][CacheSize]
gslpp::complex A_H_Hp_cache[5][CacheSize]
gslpp::complex B00_MZ2_MW2_mHl2_mHp2(const double MZ2, const double MW2, const double mHl2, const double mHp2) const
double ip_integral_x2_G_cache[3][CacheSize]
gslpp::matrix< double > csrA_bottom_13
gslpp::matrix< double > LEP209_phiEphi3_bbbb
double ip_ex_gg_phi_WW_lnuqq_ATLAS13(double mass)
double VV_phi3_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > csrA_bottom_8
gslpp::complex B0p_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
double ip_cs_ggtoH_8_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbtautau_1_CMS13_cache[2][CacheSize]
double gg_phi3_phi1Z_bbZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_low_masses_CMS13(double mass)
double ip_ex_pp_phi3_bb_light_CMS13(double mass)
gslpp::complex B0_MZ2_0_MZ2_mHl2_cache[3][CacheSize]
double ip_integral_x2_1mx_G(double wa, double wb)
double ip_susy_pp_HpHm_taunutaunu_CMS13_cache[2][CacheSize]
double ip_integral_x2_1mx_G_cache[3][CacheSize]
gslpp::complex B00_MZ2_0_mA2_mHp2(const double MZ2, const double mA2, const double mHp2) const
gslpp::matrix< double > CMS13_t_Hpb_csb
CMS observed upper branching fraction limits at 13 TeV, depending on the charged scalar mass.
double ip_ex_pp_phi_phi1phi1_bbtautau_1_ATLAS13(double mass)
gslpp::matrix< double > log_cs_ggHp_13
Charged Higgs production cross section table at 13 TeV from LHCHXSWGMSSMCharged, depending on the cha...
double THoEX_pp_phi2_phi1phi1_bbgaga_CMS13
gslpp::matrix< double > ATLAS13_gg_h_phi23phi23_mumumumu
gslpp::complex B00_MZ2_MZ2_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const
double gg_phi2_phi1Z_bbZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex B00_MZ2_MW2_MW2_mHh2_cache[4][CacheSize]
double ip_ex_gg_phi_phi1Z_tautaull_CMS8(double mass)
gslpp::complex B0_MZ2_0_0_mHh2_cache[3][CacheSize]
double ip_low_pp_bbphi3_bbmumu_CMS8_cache[2][CacheSize]
double yl1R
Coupling of the SM-Higgs to down quarks real part.
double THoEX_VV_phi3_ZZ_llllnunu_ATLAS13
gslpp::complex B0p_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
void read()
Fills all required arrays with the values read from the tables.
double ip_ex_gg_phi_tautau_CMS8(double mass)
gslpp::complex B0_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const
gslpp::matrix< double > csrHpHm_pp_13_NLO
double ip_ex_pp_phi_phi1phi1_bbWW_qqlnu_CMS13_cache[2][CacheSize]
double ip_csr_ggH_b_13_cache[2][CacheSize]
double ip_low_pp_phi2_gaga_CMS13_cache[2][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbtautau_2_CMS13(double mass)
double beta_h_t
beta function evaluated at Mt and m1_2
double gg_phi2_phi1phi1_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double pp_phi2_phi1phi1_with_channel_bbWW_qqlnu_TH13
double ip_low_t_Hpb_cbb_CMS8_cache[2][CacheSize]
gslpp::matrix< double > br_cc
double ip_ex_gg_phi_Zga_CMS13_cache[2][CacheSize]
double THoEX_gg_h_phi2phi2_mumumumu_ATLAS13
gslpp::matrix< double > ATLAS13_t_Hpb_cbb
ATLAS observed upper branching fraction limits at 13 TeV, depending on the charged scalar mass.
gslpp::matrix< double > log_cs_ZH_8
double ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13(double mass)
gslpp::complex B0_MZ2_0_mHp2_mHl2_cache[4][CacheSize]
double ip_ex_bb_phi_phi1Z_bbZ_ATLAS13_cache[2][CacheSize]
double ip_low_pp_h_phi23phi23_bbmumu_ATLAS13_old_cache[2][CacheSize]
double THoEX_pp_phi2_ZZ_llqqnunull_CMS13
double ggVV_phi2_WW_lnulnu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double gg_phi3_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_pp_phi3_Zga_llga_CMS8
double bb_phi3_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex B00_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
double ip_ex_bb_phi_tautau_CMS13(double mass)
double ip_ex_VV_phi_WW_ATLAS8(double mass)
double yu2R
Coupling of H to leptons.
double THoEX_gg_phi3_phi1Z_bbZ_2_CMS13
double pp_phi3_VV_TH8
Signal strength for the process with $VV=WW,ZZ$ at the LHC with 8 TeV.
double ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache[2][CacheSize]
double ip_ex_bb_phi_mumu_CMS13_cache[2][CacheSize]
double THoEX_pp_h_phi3phi3_mumumumu_CMS13
double ip_csr_ggH_b_8_cache[2][CacheSize]
double gg_phi3_phi1Z_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_bbtautau_CMS13_cache[2][CacheSize]
double Gamma_h
Total decay rate in the GTHDM.
gslpp::complex B0p_MZ2_mHl2_0_mHp2_cache[4][CacheSize]
double THoEX_gg_phi2_tautau_ATLAS8
gslpp::complex B00_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
gslpp::complex B0p_MZ2_0_mHp2_mA2(const double MZ2, const double mHp2, const double mA2) const
double ip_low_phi2Z_tautauZ_LEP209_cache[2][CacheSize]
gslpp::complex B0p_MZ2_0_mA2_mHh2_cache[4][CacheSize]
double THoEX_pp_h_phi2Z_mumull_CMS13
double THoEX_pp_phi3_phi1phi1_bbgaga_CMS8
double ip_low_phiEphi3_bbbb_LEP209_cache[3][CacheSize]
double gg_phi2_phi1Z_tautaull_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > OPAL209_HpHm_taunuAWst_taunubb
double THoEX_pp_phi3_phi1phi1_bbtautau_1_CMS13
gslpp::complex B0p_MZ2_mHh2_0_mHp2_cache[4][CacheSize]
double gg_phi3_phi1Z_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex B0p_MZ2_mHh2_mA2_mA2_cache[4][CacheSize]
double THoEX_gg_phi3_tautau_ATLAS13
double ip_ex_pp_Hpm_tb_ATLAS13(double mass)
gslpp::matrix< double > CMS13_bb_phi_tautau
double ip_ex_gg_phi_ZZ_llllnunu_ATLAS13(double mass)
gslpp::complex B00_MZ2_0_mHh2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
double ip_susy_pp_HpHm_taunutaunu_ATLAS13_cache[2][CacheSize]
double pp_phi2_phi1phi1_bbgaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_gg_phi3_Zga_qqga_ATLAS13
double bb_phi2_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
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.
double THoEX_Zh_h_phi2phi2_bbbb_ATLAS13
double THoEX_gg_phi2_phi1Z_bbZ_ATLAS8
gslpp::matrix< double > CMS8_pp_phi2_gaga
double THoEX_pp_Hpm_taunu_ATLAS13
double pp_phi2_phi1phi1_with_channel_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double bb_phi3_phi1Z_with_channel_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV. The channel used is .
gslpp::complex B0_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const
gslpp::matrix< double > br_mumu
double ip_ex_pp_Hp_tb_CMS8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_t_Hpb_WAb_Wmumub
ATLAS observed upper branching fraction limits at 13 TeV, depending on charged and pseudoscalar mass...
gslpp::matrix< double > ATLAS13_tt_phi_tt
ATLAS observed upper cross section limits at 13 TeV, depending on the Higgs mass.
double interpolateNU(gslpp::matrix< double > arrayTab, double x)
Linearly interpolates a table with one parameter dimension and non-uniform intervals between bin valu...
double BrSM_htoZga
SM branching ratio of .
gslpp::complex B00_MZ2_0_mHp2_mHp2_cache[3][CacheSize]
double THoEX_pp_phi3_phi2Z_tautaull_1_CMS8
double gg_phi2_phi1phi1_gagaWW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double yl2R
Coupling of H to down quarks real part.
double gg_phi3_phi1phi1_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double BrSM_htoZZ
SM branching ratio of .
gslpp::complex I_H_W_cache[3][CacheSize]
double ggF_VBF_Vh13
Ratio of GTHDM and SM cross sections for the production of h through ggF, VBF and Vh at 13 TeV.
double ggF_tth13
Ratio of GTHDM and SM cross sections for ggF and tth production of h at 13 TeV.
double ip_low_pp_h_phi3phi3_gagagaga_ATLAS13(double mass)
gslpp::complex B00_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
double lambdaijk(const double R1i, const double R2i, const double R3i, const double R1j, const double R2j, const double R3j, const double R1k, const double R2k, const double R3k, const double lambda1H, const double lambda3H, const double lambda4H, const double Relambda5H, const double Imlambda5H, const double Relambda6H, const double Imlambda6H, const double Relambda7H, const double Imlambda7H) const
lambdaijk function
double ip_ex_tt_phi2_tt_CMS13_cache[2][CacheSize]
gslpp::matrix< double > CMS8_bb_phi_mumu
double ip_low_t_Hpb_csb_CMS8(double mass)
double ip_ex_gg_phi_Zga_qqga_ATLAS13_cache[2][CacheSize]
double ip_ex_gg_phi_tautau_CMS8_cache[2][CacheSize]
double ip_cs_pptobbA_13_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbgaga_ATLAS13
double THoEX_gg_phi2_Zga_qqga_ATLAS13
double ip_ex_gg_phi_WW_heavy_CMS13(double mass)
double rh_QlQlE
Squared relative coupling of to two leptons, even part.
gslpp::matrix< double > csrH_top_charm_13
Production cross section ratio tables at 13 TeV obtained with HIGLU 4.34, depending on the Higgs mass...
gslpp::matrix< double > ATLAS13_bb_phi_tautau
double ip_cs_ZtoZH_8_cache[2][CacheSize]
double ip_ex_pp_Hpm_taunu_ATLAS13_cache[2][CacheSize]
double ip_low_t_Hpb_WAb_Wmumub_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > log_cs_ggA_8
CP-odd Higgs production cross section tables at 8 TeV obtained with HIGLU 4.34, depending on the Higg...
gslpp::complex B0_MZ2_mHl2_0_mHp2_cache[4][CacheSize]
double ip_ex_pp_phi_phi1phi1_bbWW_qqlnu_CMS13(double mass)
gslpp::matrix< double > ATLAS13_gg_phi_Zga_llga
double ip_GammaHPtotSM(double mass)
Interpolating function for the total SM Higgs decay width.
double THoEX_gg_phi2_mumu_ATLAS13
double Gamma_W_inv
decay rate in the GTHDM.
double THoEX_pp_h_phi3phi3_bbmumu_CMS13
gslpp::complex I_H_Hp_cache[3][CacheSize]
double ip_ex_tt_phi2_tt_CMS13(double mass)
gslpp::complex B00_MZ2_0_mHl2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
double ip_cs_pptottH_13(double mass)
Interpolating function for the top associated H production cross section at 13 TeV.
double pp_phi2_phi3Z_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double THoEX_bb_phi3_tautau_CMS13
gslpp::complex B0_MZ2_0_MZ2_mHh2_cache[3][CacheSize]
double pp_phi3_phi1phi1_with_channel_bbWWorbbtautau_TH13
gslpp::complex sigmad_ATHDM
double ip_ex_gg_phi_WW_enumunu_ATLAS13(double mass)
gslpp::complex B00_MZ2_0_MW2_mHh2_cache[4][CacheSize]
double ip_ex_gg_phi_Zga_qqga_ATLAS13(double mass)
gslpp::matrix< double > integral_x_1mx2_G_variable_set_0_log
double THoEX_HpHm_AWstAWst_bbbb_OPAL209
double THoEX_gg_phi3_phi1Z_bbZ_ATLAS8
double rh_QlQlO
Squared relative coupling of to two leptons, odd part.
gslpp::matrix< double > CMS8_pp_phi_VV
CMS observed upper signal strength limits at 8 TeV, depending on the Higgs mass.
gslpp::complex B0_MZ2_mHp2_mHp2_mHh2_cache[4][CacheSize]
double THoEX_gg_phi2_tautau_ATLAS13
gslpp::matrix< double > ATLAS13_gg_phi_tautau
gslpp::matrix< double > ATLAS13_gg_phi_ZZ_llllnunu
gslpp::complex B00_MZ2_MZ2_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const
gslpp::matrix< double > ATLAS13_gg_phi_Zga_qqga
gslpp::complex B0p_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const
double ip_ex_ggVV_phi_WW_lnulnu_CMS13(double mass)
double THoEX_pp_phi3_VV_qqqq_ATLAS13
double interpolate2Dsteps(gslpp::matrix< double > arrayTab, double x, double y, double dx, double dy)
Linearly interpolates a table with two parameter dimensions, where the number of rows with the same x...
gslpp::matrix< double > ATLAS13_VV_phi_VV_llqq
gslpp::matrix< double > log_cs_bbH_8
SM Higgs production cross section table at 8 TeV obtained with SusHi 1.5, depending on the Higgs mass...
double GTHDM_BR_h_gg
branching ratio to two gluons in the GTHDM.
double THoEX_pp_phi2_phi3Z_bbll_2_CMS8
gslpp::matrix< double > CMS8_pp_phii_phijZ_bbll_2
double THoEX_pp_phi3_phi1phi1_bbZZ_llnunu_CMS13
double ip_low_pp_ttphi3_ttmumu_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_mHp2_0_mHl2_cache[4][CacheSize]
double pph8
Ratio of GTHDM and SM cross sections for the production of h at 8 TeV.
gslpp::complex B00_MZ2_0_mHp2_mHp2(const double MZ2, const double mHp2) const
double ip_ex_pp_phi_WW_lnuqq_CMS13_cache[2][CacheSize]
double bb_phi2_phi1Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_csr_HpHm_pp_13_NLO(double mass)
double ip_low_pp_ttphi3_ttmumu_ATLAS13_cache[2][CacheSize]
double ip_ex_bb_phi_mumu_CMS8(double mass)
double pp_phi3_Zga_llga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_bb_phi_tautau_CMS8(double mass)
double ip_ex_gg_phi_phi1phi1_ATLAS8_cache[2][CacheSize]
double ip_Br_HPtott_cache[2][CacheSize]
gslpp::complex B0p_MZ2_mHp2_0_mA2_cache[4][CacheSize]
gslpp::complex sd
double THoEX_ggVV_phi2_WW_lnulnu_CMS13
gslpp::matrix< double > CMS13_bb_phi_bb
double THoEX_bb_phi3_tautau_CMS8
gslpp::complex B0p_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const
gslpp::matrix< double > log_cs_VBF_13
double THoEX_gg_phi3_gaga_ATLAS8
double THoEX_pp_phi2_phi1phi1_bbbb_ATLAS13
double BrSM_htoWW
SM branching ratio of .
double ip_cs_VBFtoH_13_cache[2][CacheSize]
gslpp::complex B0_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const
double rphi3_ggO
Squared relative coupling of to two gluons, odd part.
gslpp::matrix< double > ATLAS8_pp_Hpm_taunu
ATLAS observed upper cross section limits at 8 TeV, depending on the charged Higgs mass.
double gg_phi3_phi1Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_ex_gg_phi_mumu_CMS13_cache[2][CacheSize]
double ip_ex_gg_phi_WW_ATLAS8_cache[2][CacheSize]
double THoEX_pp_h_phi2phi2_bbmumu_ATLAS13_old
double ip_low_pp_h_phi23phi23_mumumumu_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_mHh2_mHp2_mHp2_cache[4][CacheSize]
double GTHDM_BR_h_HH
branching ratio to two bosons in the GTHDM.
double rh_QuQuE
Squared relative coupling of to two up quarks, even part.
double ip_low_t_Hpb_cbb_CMS8(double mass)
double THoEX_pp_phi2_phi1phi1_bbWW_ATLAS13
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbbb_2
double ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13(double mass)
gslpp::matrix< double > ATLAS13_pp_h_phi23phi23_bbmumu_old
double ip_low_t_Hpb_WAb_Wmumub_ATLAS13(double mass)
double ip_ex_pp_phi_phi1phi1_4WOr2W2tauOr4tau_CMS13(double mass)
double rh_Zga
Squared relative coupling of to a Z boson and a photon.
double ip_ex_gg_phi_mumu_ATLAS13(double mass)
double ip_ex_pp_phi_ZZ_qqnunu_CMS13(double mass)
double ip_ex_VV_phi_ZZ_llllnunu_ATLAS13_cache[2][CacheSize]
gslpp::matrix< double > CMS13_pp_phi3_bb_light
gslpp::complex B0p_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
double ip_ex_gg_phi_tautau_ATLAS8(double mass)
double ip_Br_HPtomumu_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_gg_phi_phi1phi1_gagaWW
double ip_cs_WtoWH_8_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbbb_CMS8
double ip_ex_bb_phi_tautau_ATLAS13(double mass)
gslpp::matrix< double > CMS13_pp_phi_phi1phi1_bbZZ_llnunu
gslpp::matrix< double > log_cs_ggH_8
SM Higgs production cross section tables at 8 TeV from the LHC Higgs Cross Section Working Group,...
double ip_low_pp_h_phi3phi3_bbtautau_CMS13(double mass)
gslpp::matrix< double > ATLAS13_pp_Hpm_tb
double THoEX_gg_phi3_mumu_ATLAS13
double ip_low_pp_ttphi3_tttautau_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
gslpp::complex B0p_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const
double ip_ex_pp_phi_WW_lnuqq_CMS13(double mass)
double rphi2_ggO
Squared relative coupling of to two gluons, odd part.
double THoEX_gg_phi2_phi1Z_tautaull_CMS13
double ip_low_Vh_h_phi3phi3_bbbb_CMS13_cache[2][CacheSize]
double ip_low_pp_h_phi3phi3_bbmumu_CMS13(double mass)
gslpp::complex sl
double ip_csr_HpHm_pp_13_NLO_cache[2][CacheSize]
double ip_low_phiEphi3_tautautautau_LEP209_cache[3][CacheSize]
double THoEX_pp_phi2_Zga_llga_CMS8
double ip_low_t_Hpb_csb_CMS13(double mass)
gslpp::complex B0p_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const
gslpp::matrix< double > GammaHtot_SM
Total SM decay width (obtained with HDECAY 6.10), depending on the Higgs mass.
gslpp::complex B0_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const
double ip_cs_VBFtoH_8_cache[2][CacheSize]
gslpp::complex B00_MZ2_0_MW2_mHl2_cache[4][CacheSize]
gslpp::complex su
double THoEX_pp_bbphi3_bbmumu_CMS8
double THoEX_bb_phi2_tautau_ATLAS8
gslpp::matrix< double > csrA_top_charm_8
gslpp::matrix< gslpp::complex > Mu_GTHDM
gslpp::matrix< double > ATLAS8_gg_phi_phi1Z_bbZ
double THoEX_pp_phi3_phi2Z_bbll_1_CMS8
double pp_phi2_phi1phi1_bbgaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mHp2_mHp2_mHl2_cache[4][CacheSize]
double ip_ex_ggVV_phi_WW_lnulnu_CMS13_cache[2][CacheSize]
double THoEX_pp_phi2_phi1phi1_bbZZ_llnunu_CMS13
double ip_low_pp_h_phi23Z_mumull_CMS13(double mass)
double ip_ex_bb_phii_phijZ_bbZ_ATLAS13_cache[3][CacheSize]
double rphi2_VV
Squared relative coupling of to two massive vector bosons.
double gg_phi2_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double ip_csr_ggH_tc_8_cache[2][CacheSize]
double gg_phi2_phi3Z_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double THoEX_pp_phi3_phi1phi1_bbtautau_CMS8
double THoEX_gg_phi3_phi1phi1_gagaWW_ATLAS13
double ip_low_phi2Z_bbZ_LEP209_cache[2][CacheSize]
gslpp::matrix< double > log_cs_ttA_13
double bb_phi2_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::matrix< double > integral_perturb_ATHDM_values_log
gslpp::matrix< double > CMS13_pp_HpHm_munumunu
double gg_phi3_phi1Z_with_channel_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV. The SM Higgs is decaying...
gslpp::complex B00_MZ2_MW2_mHh2_mHp2(const double MZ2, const double MW2, const double mHh2, const double mHp2) const
gslpp::complex g_func(const double x) const
g function for the Int1 function
gslpp::matrix< double > ATLAS13_gg_phi_VV_llqq
double ip_low_phi2Z_gagaZ_LEP209(double mass)
double ip_low_gg_h_phi3phi3_tautautautau_ATLAS8_cache[2][CacheSize]
double ip_cs_ggtoH_13(double mass)
Interpolating function for the H production cross section via gluon-gluon fusion at 13 TeV.
double interpolate(gslpp::matrix< double > arrayTab, double x)
Linearly interpolates a table with one parameter dimension.
double THoEX_gg_phi2_phi1phi1_bbtautau_CMS8
double gg_phi2_phi1Z_with_channel_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV. The SM Higgs is decaying...
double rh_ggE
Squared relative coupling of to two gluons, even part.
double THoEX_gg_phi2_WW_enumunu_ATLAS13
double THoEX_pp_phi3_phi2Z_tautaull_2_CMS8
double ip_ex_pp_phi_phi1phi1_bbtautau_1_ATLAS13_cache[2][CacheSize]
double ip_ex_bb_phi_tautau_ATLAS8(double mass)
double VV_phi3_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
gslpp::complex B0_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const
double ip_low_phi2Z_tautauZ_LEP209(double mass)
gslpp::complex B0_MZ2_mHp2_mHp2_mHl2_cache[4][CacheSize]
gslpp::matrix< double > LEP209_phi2Z_bbZ
LEP observed upper cross-section times branching fraction limits for GeV, depending on the scalar m...
double ip_low_phi2Z_bbZ_LEP209(double mass)
gslpp::matrix< double > CMS8_pp_bbphi3_bbtautau
double VV_phi2_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_pp_phi3_bb_light_CMS13_cache[2][CacheSize]
gslpp::complex B00_MZ2_MW2_mHh2_mHp2_cache[5][CacheSize]
gslpp::complex B00_MZ2_0_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const
gslpp::complex B0_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
double ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13_cache[2][CacheSize]
gslpp::complex B00_MZ2_0_MZ2_mHl2_cache[3][CacheSize]
gslpp::complex I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const
double rphi2_ggE
Squared relative coupling of to two gluons, even part.
double ip_ex_bb_phi_phi1Z_bbZ_2_CMS13_cache[2][CacheSize]
double THoEX_pp_phi3_phi1phi1_bbVV_CMS13
double bb_phi3_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex Int2(const double tau, const double lambda) const
function for Z gamma coupling to h, H and A
double ip_ex_pp_phi_phi1phi1_bbtautau_2_CMS13_cache[2][CacheSize]
double yu1R
Coupling of the SM-Higgs to leptons.
gslpp::complex B0_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
double pp_phi2_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double tt_phi3_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double pp_phi3_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
double bb_phi2_phi1Z_with_channel_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV. The channel used is .
double gg_phi2_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_cs_pptottH_8_cache[2][CacheSize]
double ip_ex_pp_phi2_bb_light_CMS13_cache[2][CacheSize]
gslpp::complex B0_MZ2_mA2_mA2_mHh2_cache[4][CacheSize]
gslpp::complex B00_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const
gslpp::matrix< double > LEP209_HpHm_qqqq
gslpp::complex B0_MZ2_mA2_0_mHl2_cache[4][CacheSize]
gslpp::matrix< double > ATLAS8_gg_phi_ZZ
gslpp::complex B0p_MZ2_mHl2_mA2_mA2_cache[4][CacheSize]
const GeneralTHDM * myGTHDM
double pp_Hpm_tb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
double ip_ex_VV_phi_WW_enumunu_ATLAS13_cache[2][CacheSize]
double ip_cs_ggtoHp_13(double mHp, double logtb)
Interpolating function for the H+ production cross section from two gluons at 13 TeV.
double ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_low_masses_CMS13_cache[2][CacheSize]
gslpp::complex B00_MZ2_0_mHh2_mA2_cache[4][CacheSize]
gslpp::matrix< double > integral_Hp_A_Wstar
double ip_ex_pp_Hpm_taunu_ATLAS8_cache[2][CacheSize]
gslpp::matrix< double > log_cs_ZH_13
gslpp::complex I_h_L_cache[5][CacheSize]
gslpp::complex B0_MZ2_mHh2_0_mHp2_cache[4][CacheSize]
gslpp::matrix< double > br_bb
double ip_csr_ggA_tc_8_cache[2][CacheSize]
double ip_cs_pptottH_13_cache[2][CacheSize]
double ip_low_HpHm_qqtaunu_OPAL172_cache[2][CacheSize]
double ip_csr_ggA_b_8_cache[2][CacheSize]
double ip_ex_bb_phi_tautau_ATLAS8_cache[2][CacheSize]
gslpp::matrix< double > ATLAS13_VV_phi_WW_enumunu
double ip_ex_pp_phi_phi1phi1_bbgaga_CMS8(double mass)
gslpp::matrix< double > CMS8_pp_phii_phijZ_tautaull_1
double THoEX_gg_phi2_ZZ_qqllnunu_ATLAS13
gslpp::matrix< double > ATLAS8_VV_phi_WW
double ip_ex_VV_phi_WW_heavy_CMS13_cache[2][CacheSize]
double pp_phi2_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
gslpp::complex B0p_MZ2_mA2_0_mHh2_cache[4][CacheSize]
gslpp::complex B0p_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
double GTHDM_BR_h_HpHm
branching ratio to bosons in the GTHDM.
gslpp::matrix< double > CMS8_t_Hpb_cbb
gslpp::complex B0_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const
gslpp::matrix< double > CMS8_gg_phi_mumu
gslpp::complex B0_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const
double ip_low_pp_h_phi3phi3_mumutautau_CMS13(double mass)
double pp_phi2_phi1phi1_with_channel_bbgaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV. where the decay channel ...
gslpp::complex A_A_L_cache[6][CacheSize]
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
.
Definition: PVfunctions.cpp:41
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
@ UP
Definition: QCD.h:324
@ BOTTOM
Definition: QCD.h:329
@ TOP
Definition: QCD.h:328
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
@ CHARM
Definition: QCD.h:326
@ MU
Definition: QCD.h:314
@ ELECTRON
Definition: QCD.h:312
@ TAU
Definition: QCD.h:316
A model class for 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 combination .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .