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 switch(interpol)
1974 {
1975 case 0:
1976 return (arrayTab(row[0],2));
1977 case 1:
1978 return (arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1979 case 2:
1980 return (arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (x-arrayTab(row[0],0)) / dx);
1981 case 3:
1982 aux.push_back(arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1983 aux.push_back(arrayTab(row[2],2) + (arrayTab(row[3],2)-arrayTab(row[2],2)) * (y-arrayTab(row[2],1)) / dy);
1984 return (aux[0] + (aux[1]-aux[0]) * (x-arrayTab(row[0],0)) / dx);
1985 case 4:
1986 aux.push_back(arrayTab(row[0],2) + (arrayTab(row[1],2)-arrayTab(row[0],2)) * (y-arrayTab(row[0],1)) / dy);
1987 aux.push_back(arrayTab(row[1],2) + (arrayTab(row[2],2)-arrayTab(row[1],2)) * (y-arrayTab(row[0],1)) / dy);
1988 return (aux[0] + (aux[1]-aux[0]) * (x-arrayTab(row[0],0)) / dx);
1989 default:
1990 throw std::runtime_error("Review applicability of the mass ranges provided to GeneralTHDMcache::interpolate2Dsteps");
1991 }
1992}
1993
1994
1995
1996
1997
1998
2000 std::stringstream br1,br2,br3,br4,br5,br6,br7;
2001 std::stringstream dw1;
2002 std::stringstream cs1,cs2,cs3,cs4,cs5,cs6,cs7,cs8,cs9;
2003 std::stringstream cs11,cs12,cs13,cs14,cs15,cs16,cs17,cs18,cs19;
2004 std::stringstream cs20,cs21;
2005 std::stringstream csr1,csr2,csr3,csr4;
2006 std::stringstream csr11,csr12,csr13,csr14;
2007 std::stringstream ex1m6,ex1m5,ex1m4,ex1m3,ex1m2,ex1m1;
2008 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;
2009 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,\
2010 ex45,ex46n1,ex46n2,ex46a,ex47,ex48,ex49,ex49p2,ex50a,ex50b,ex51,ex52m2,ex52m1,ex52,ex52p1,ex52p2,ex53,ex54,ex55,ex56;
2011 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,\
2012 ex78,ex79;//,ex80,ex81,ex82,ex83,ex84,ex85,ex86,ex87,ex88,ex89,ex90,ex91,ex92,ex93,ex94,ex95,ex96,ex97,ex98
2013 std::stringstream lowC01,lowC02,lowC03,lowC04,lowC05,lowC06,lowC07,lowC08, lowC09, lowC10, lowC11, lowC12;
2014 std::stringstream lowA01, lowA02, lowA03, lowA04, lowA05, lowA06, lowA07, lowA08, lowA09, lowA10, lowA11, lowA12;
2015 std::stringstream lowA801, lowA802;
2016 std::stringstream lowC801, lowC802, lowC803, lowC804, lowC805, lowC806;
2017 std::stringstream low209a, low209b, low209c, low209d, low209e;
2018 std::stringstream lowHpC801, lowHpC802, lowHpC803, lowHpC1301, lowHpC1302;
2019 std::stringstream lowHpA801, lowHpA1301, lowHpA1302, lowHpA1303;
2020 std::stringstream lowHp209a, lowHp209b, lowHp209c, lowHp172a, lowHp209d, lowHp209e;
2021 std::stringstream thint01, thint02, thint03, thint04, thint05, thint06, thint07, thint08, thint09, thint10;
2022 std::stringstream csrslepLO, csrslepNLO, susyHpA01, susyHpA02, susyHpC01, susyHpC02;
2023 std::stringstream bsg1;
2024
2025 std::cout<<"reading tables"<<std::endl;
2026
2027// std::cout << "HEPFITTABS = " << getenv("HEPFITPATH") << std::endl;
2028 std::stringstream path;
2029 path << getenv("HEPFITTABS") << "/THDM/tabs/";
2030 std::string tablepath=path.str();
2031
2032 br1 << tablepath << "br1.dat";
2033 br_tt = readTable(br1.str(),19981,2);
2034 br2 << tablepath << "br2.dat";
2035 br_bb = readTable(br2.str(),19981,2);
2036 br3 << tablepath << "br3.dat";
2037 br_tautau = readTable(br3.str(),19981,2);
2038 br4 << tablepath << "br4.dat";
2039 br_cc = readTable(br4.str(),19981,2);
2040 br5 << tablepath << "br5.dat";
2041 br_mumu = readTable(br5.str(),19981,2);
2042 br6 << tablepath << "br6.dat";
2043 br_ZZ = readTable(br6.str(),19981,2);
2044 br7 << tablepath << "br7.dat";
2045 br_WW = readTable(br7.str(),19981,2);
2046 dw1 << tablepath << "dw1.dat";
2047 GammaHtot_SM = readTable(dw1.str(),19981,2);
2048 cs1 << tablepath << "log_cs_ggH_8.dat";
2049 log_cs_ggH_8 = readTable(cs1.str(),200,2);
2050 cs11 << tablepath << "log_cs_ggH_13.dat";
2051 log_cs_ggH_13 = readTable(cs11.str(),200,2);
2052 cs2 << tablepath << "log_cs_VBF_8.dat";
2053 log_cs_VBF_8 = readTable(cs2.str(),200,2);
2054 cs12 << tablepath << "log_cs_VBF_13.dat";
2055 log_cs_VBF_13 = readTable(cs12.str(),200,2);
2056 cs3 << tablepath << "log_cs_WH_8.dat";
2057 log_cs_WH_8 = readTable(cs3.str(),200,2);
2058 cs13 << tablepath << "log_cs_WH_13.dat";
2059 log_cs_WH_13 = readTable(cs13.str(),200,2);
2060 cs4 << tablepath << "log_cs_ZH_8.dat";
2061 log_cs_ZH_8 = readTable(cs4.str(),200,2);
2062 cs14 << tablepath << "log_cs_ZH_13.dat";
2063 log_cs_ZH_13 = readTable(cs14.str(),200,2);
2064 cs5 << tablepath << "log_cs_ttH_8.dat";
2065 log_cs_ttH_8 = readTable(cs5.str(),200,2);
2066 cs15 << tablepath << "log_cs_ttH_13.dat";
2067 log_cs_ttH_13 = readTable(cs15.str(),200,2);
2068 cs6 << tablepath << "log_cs_bbH_8.dat";
2069 log_cs_bbH_8 = readTable(cs6.str(),200,2);
2070 cs16 << tablepath << "log_cs_bbH_13.dat";
2071 log_cs_bbH_13 = readTable(cs16.str(),200,2);
2072 cs7 << tablepath << "log_cs_ggA_8.dat";
2073 log_cs_ggA_8 = readTable(cs7.str(),200,2);
2074 cs17 << tablepath << "log_cs_ggA_13.dat";
2075 log_cs_ggA_13 = readTable(cs17.str(),200,2);
2076 cs8 << tablepath << "log_cs_ttA_8.dat";
2077 log_cs_ttA_8 = readTable(cs8.str(),200,2);
2078 cs18 << tablepath << "log_cs_ttA_13.dat";
2079 log_cs_ttA_13 = readTable(cs18.str(),200,2);
2080 cs9 << tablepath << "log_cs_bbA_8.dat";
2081 log_cs_bbA_8 = readTable(cs9.str(),200,2);
2082 cs19 << tablepath << "log_cs_bbA_13.dat";
2083 log_cs_bbA_13 = readTable(cs19.str(),200,2);
2084 cs20 << tablepath << "log_cs_ggHp_8.dat";
2085 log_cs_ggHp_8 = readTable(cs20.str(),744,3);
2086 cs21 << tablepath << "log_cs_ggHp_13.dat";
2087 log_cs_ggHp_13 = readTable(cs21.str(),1104,3);
2088 csr1 << tablepath << "csrH_top_charm_8.dat";
2089 csrH_top_charm_8 = readTable(csr1.str(),200,2);
2090 csr11 << tablepath << "csrH_top_charm_13.dat";
2091 csrH_top_charm_13 = readTable(csr11.str(),200,2);
2092 csr2 << tablepath << "csrH_bottom_8.dat";
2093 csrH_bottom_8 = readTable(csr2.str(),200,2);
2094 csr12 << tablepath << "csrH_bottom_13.dat";
2095 csrH_bottom_13 = readTable(csr12.str(),200,2);
2096 csr3 << tablepath << "csrA_top_charm_8.dat";
2097 csrA_top_charm_8 = readTable(csr3.str(),200,2);
2098 csr13 << tablepath << "csrA_top_charm_13.dat";
2099 csrA_top_charm_13 = readTable(csr13.str(),200,2);
2100 csr4 << tablepath << "csrA_bottom_8.dat";
2101 csrA_bottom_8 = readTable(csr4.str(),200,2);
2102 csr14 << tablepath << "csrA_bottom_13.dat";
2103 csrA_bottom_13 = readTable(csr14.str(),200,2);
2104 csrslepLO << tablepath << "csrHpHm_pp_slepton_13_LO.dat";
2105 csrHpHm_pp_13_LO = readTable(csrslepLO.str(),12,2);
2106 csrslepNLO << tablepath << "csrHpHm_pp_slepton_13_NLONLL.dat";
2107 csrHpHm_pp_13_NLO = readTable(csrslepNLO.str(),31,2);
2108
2109
2110 ex1m6<< tablepath << "150801437_9b.dat"; //Included in mid 2022
2111 CMS8_gg_phi_mumu = readTable(ex1m6.str(),78,2); //Included in mid 2022
2112 ex1m5<< tablepath << "150801437_9a.dat"; //Included in mid 2022
2113 CMS8_bb_phi_mumu = readTable(ex1m5.str(),78,2); //Included in mid 2022
2114 ex1m4<< tablepath << "190703152_6b.dat"; //Included in mid 2022
2115 CMS13_gg_phi_mumu = readTable(ex1m4.str(),175,2); //Included in mid 2022
2116 ex1m3<< tablepath << "190703152_6a.dat"; //Included in mid 2022
2117 CMS13_bb_phi_mumu = readTable(ex1m3.str(),175,2); //Included in mid 2022
2118 ex1m2<< tablepath << "190108144_4b.dat"; //Included in mid 2022
2119 ATLAS13_gg_phi_mumu = readTable(ex1m2.str(),81,2); //Included in mid 2022
2120 ex1m1<< tablepath << "190108144_4a.dat"; //Included in mid 2022
2121 ATLAS13_bb_phi_mumu = readTable(ex1m1.str(),81,2); //Included in mid 2022
2122
2123
2124
2125
2126
2127 ex1 << tablepath << "14096064_a.dat";
2128 ATLAS8_gg_phi_tautau = readTable(ex1.str(),92,2);
2129 ex2 << tablepath << "14096064_b.dat";
2130 ATLAS8_bb_phi_tautau = readTable(ex2.str(),92,2);
2131 ex3 << tablepath << "14076583.dat";
2132 ATLAS8_gg_phi_gaga = readTable(ex3.str(),108,2);
2133 ex4 << tablepath << "14078150.dat";
2134 ATLAS8_pp_phi_Zga_llga = readTable(ex4.str(),141,2);
2135 ex5 << tablepath << "150705930_a.dat";
2136 ATLAS8_gg_phi_ZZ = readTable(ex5.str(),173,2);
2137 ex6 << tablepath << "150705930_b.dat";
2138 ATLAS8_VV_phi_ZZ = readTable(ex6.str(),173,2);
2139 ex7 << tablepath << "150900389_a.dat";
2140 ATLAS8_gg_phi_WW = readTable(ex7.str(),13,2);
2141 ex8 << tablepath << "150900389_b.dat";
2142 ATLAS8_VV_phi_WW = readTable(ex8.str(),13,2);
2143 ex9 << tablepath << "150904670.dat";
2144 ATLAS8_gg_phi_phi1phi1 = readTable(ex9.str(),75,2);
2145 ex10 << tablepath << "150204478_b.dat";
2146 ATLAS8_gg_phi_phi1Z_bbZ = readTable(ex10.str(),79,2);
2147 ex11 << tablepath << "150204478_a.dat";
2148 ATLAS8_gg_phi_phi1Z_tautauZ = readTable(ex11.str(),79,2);
2149 ex12 << tablepath << "150400936.dat";
2150 CMS8_pp_phi_VV = readTable(ex12.str(),172,2);
2151 ex13 << tablepath << "150608329.dat";
2152 CMS8_bb_phi_bb = readTable(ex13.str(),81,2);
2153 ex14 << tablepath << "180206149.dat";
2154 CMS8_gg_phi_bb = readTable(ex14.str(),88,2);
2155 ex15 << tablepath << "CMS-PAS-HIG-14-029_a.dat";
2156 CMS8_gg_phi_tautau = readTable(ex15.str(),92,2);
2157 ex16 << tablepath << "CMS-PAS-HIG-14-029_b.dat";
2158 CMS8_bb_phi_tautau = readTable(ex16.str(),92,2);
2159 ex17 << tablepath << "CMS-PAS-HIG-16-014.dat";
2160 CMS8_pp_phi_Zga_llga = readTable(ex17.str(),101,2);
2161 ex18 << tablepath << "150304114.dat";
2162 CMS8_pp_phi_phi1phi1_bbbb = readTable(ex18.str(),167,2);
2163 ex19 << tablepath << "160306896.dat";
2164 CMS8_pp_phi_phi1phi1_bbgaga = readTable(ex19.str(),85,2);
2165 ex20 << tablepath << "151001181_a.dat";
2166 CMS8_gg_phi_phi1phi1_bbtautau = readTable(ex20.str(),10,2);
2167 ex21 << tablepath << "170700350.dat";
2168 CMS8_pp_phi_phi1phi1_bbtautau = readTable(ex21.str(),71,2);
2169 ex22 << tablepath << "150404710.dat";
2170 CMS8_gg_phi_phi1Z_bbll = readTable(ex22.str(),16,2);
2171 ex23 << tablepath << "151001181_b.dat";
2172 CMS8_gg_phi_phi1Z_tautaull = readTable(ex23.str(),14,2);
2173
2174 ex24 << tablepath << "160302991_a.dat";
2175 CMS8_pp_phii_phijZ_bbll_1 = readTable(ex24.str(),28718,3);
2176 ex25 << tablepath << "160302991_b.dat";
2177 CMS8_pp_phii_phijZ_bbll_2 = readTable(ex25.str(),29050,3);
2178 ex26 << tablepath << "160302991_c.dat";
2179 CMS8_pp_phii_phijZ_tautaull_1 = readTable(ex26.str(),400,3);
2180 ex27 << tablepath << "160302991_d.dat";
2181 CMS8_pp_phii_phijZ_tautaull_2 = readTable(ex27.str(),400,3);
2182
2183
2184
2185 ex28m1 << tablepath << "190702749.dat"; //Included in mid 2022
2186 ATLAS13_bb_phi_bb = readTable(ex28m1.str(),96,2); //Included in mid 2022
2187 //ex28 << tablepath << "180711883.dat"; //OLD previous to mid 2022
2188 //ATLAS13_tt_phi_tt = readTable(ex28.str(),61,2); //OLD previous to mid 2022
2189 ex28 << tablepath << "ATLAS_CONF_2022_008.dat"; //Updated in mid 2022
2190 ATLAS13_tt_phi_tt = readTable(ex28.str(),13,2); //Updated in mid 2022
2191 ex29 << tablepath << "ATLAS-CONF-2016-104_b.dat";
2192 ATLAS13_bb_phi_tt = readTable(ex29.str(),61,2);
2193
2194
2195
2196 //ex30 << tablepath << "170907242_a.dat"; //OLD previous to mid 2022
2197 //ATLAS13_gg_phi_tautau = readTable(ex30.str(),206,2); //OLD previous to mid 2022
2198 //ex31 << tablepath << "170907242_b.dat"; //OLD previous to mid 2022
2199 //ATLAS13_bb_phi_tautau = readTable(ex31.str(),206,2); //OLD previous to mid 2022
2200
2201
2202
2203 ex30 << tablepath << "200212223_2a.dat"; //Updated in mid 2022
2204 ATLAS13_gg_phi_tautau = readTable(ex30.str(),47,2); //Updated in mid 2022
2205 ex31 << tablepath << "200212223_2b.dat"; //Updated in mid 2022
2206 ATLAS13_bb_phi_tautau = readTable(ex31.str(),47,2); //Updated in mid 2022
2207
2208
2209
2210 //ex32 << tablepath << "170704147.dat"; //OLD previous to mid 2022
2211 //ATLAS13_pp_phi_gaga = readTable(ex32.str(),251,2); //OLD previous to mid 2022
2212 ex32 << tablepath << "210213405.dat"; //Updated in mid 2022
2213 ATLAS13_pp_phi_gaga = readTable(ex32.str(),285,2); //Updated in mid 2022
2214
2215
2216
2217 //ex33 << tablepath << "170800212.dat"; //OLD previous to mid 2024
2218 //ATLAS13_gg_phi_Zga_llga = readTable(ex33.str(),216,2); //OLD previous to mid 2024
2219 ex33 << tablepath << "230904364.dat"; //Updated in mid 2024
2220 ATLAS13_gg_phi_Zga_llga = readTable(ex33.str(),1590,2); //Updated in mid 2024
2221
2222
2223
2224
2225 //ex34 << tablepath << "180501908.dat"; //OLD previous to mid 2024
2226 //ATLAS13_gg_phi_Zga_qqga = readTable(ex34.str(),581,2); //OLD previous to mid 2024
2227 ex34 << tablepath << "230411962.dat"; //Updated in mid 2024
2228 ATLAS13_gg_phi_Zga_qqga = readTable(ex34.str(),291,2); //Updated in mid 2024
2229
2230 //ex35 << tablepath << "171206386_a.dat"; //OLD previous to mid 2022
2231 //ATLAS13_gg_phi_ZZ_llllnunu = readTable(ex35.str(),101,2); //OLD previous to mid 2022
2232 //ex36 << tablepath << "171206386_b.dat"; //OLD previous to mid 2022
2233 //ATLAS13_VV_phi_ZZ_llllnunu = readTable(ex36.str(),101,2); //OLD previous to mid 2022
2234
2235
2236 ex35 << tablepath << "200914791_4a.dat"; //Updated in mid 2022
2237 ATLAS13_gg_phi_ZZ_llllnunu = readTable(ex35.str(),359,2); //Updated in mid 2022
2238 ex36 << tablepath << "200914791_4b.dat"; //Updated in mid 2022
2239 ATLAS13_VV_phi_ZZ_llllnunu = readTable(ex36.str(),359,2); //Updated in mid 2022
2240
2241
2242
2243 ex37 << tablepath << "170809638_a.dat";
2244 ATLAS13_gg_phi_ZZ_qqllnunu = readTable(ex37.str(),271,2);
2245 ex38 << tablepath << "170809638_b.dat";
2246 ATLAS13_VV_phi_ZZ_qqllnunu = readTable(ex38.str(),271,2);
2247
2248
2249 ex39m4 << tablepath << "210906055_7a.dat"; //Included in mid 2022
2250 CMS13_gg_phi_WW_heavy = readTable(ex39m4.str(),71,2); //Included in mid 2022
2251 ex39m3 << tablepath << "210906055_7b.dat"; //Included in mid 2022
2252 CMS13_VV_phi_WW_heavy = readTable(ex39m3.str(),71,2); //Included in mid 2022
2253
2254
2255 ex39m2 << tablepath << "191201594_6c.dat"; //Included in mid 2022
2256 CMS13_gg_phi_WW = readTable(ex39m2.str(),281,2); //Included in mid 2022
2257 ex39m1 << tablepath << "191201594_6d.dat"; //Included in mid 2022
2258 CMS13_VV_phi_WW = readTable(ex39m1.str(),561,2); //Included in mid 2022
2259
2260
2261 //ex39 << tablepath << "171001123_a.dat"; //OLD previous to mid 2024
2262 //ATLAS13_gg_phi_WW_enumunu = readTable(ex39.str(),381,2); //OLD previous to mid 2024
2263 //ex40 << tablepath << "171001123_b.dat"; //OLD previous to mid 2024
2264 //ATLAS13_VV_phi_WW_enumunu = readTable(ex40.str(),281,2); //OLD previous to mid 2024
2265
2266 ex39 << tablepath << "ATLAS_CONF_2022_066_ggF.dat"; //Updated in mid 2024
2267 ATLAS13_gg_phi_WW_enumunu = readTable(ex39.str(),72,2); //Updated in mid 2024
2268 ex40 << tablepath << "ATLAS_CONF_2022_066_VBF.dat"; //Updated in mid 2024
2269 ATLAS13_VV_phi_WW_enumunu = readTable(ex40.str(),72,2); //Updated in mid 2024
2270
2271
2272
2273 ex41 << tablepath << "171007235_a.dat";
2274 ATLAS13_gg_phi_WW_lnuqq = readTable(ex41.str(),271,2);
2275 ex42 << tablepath << "171007235_b.dat";
2276 ATLAS13_VV_phi_WW_lnuqq = readTable(ex42.str(),271,2);
2277 ex43 << tablepath << "170804445.dat";
2278 ATLAS13_pp_phi_VV_qqqq = readTable(ex43.str(),181,2);
2279
2280
2281 ex43p1 << tablepath << "200414636_12a.dat";
2282 ATLAS13_gg_phi_VV_llqq = readTable(ex43p1.str(),95,2);
2283 ex43p2 << tablepath << "200414636_12b.dat";
2284 ATLAS13_VV_phi_VV_llqq = readTable(ex43p2.str(),95,2);
2285
2286 //ex44 << tablepath << "180406174.dat"; //OLD previous mid 2022
2287 //ATLAS13_pp_phi_phi1phi1_bbbb = readTable(ex44.str(),275,2); //OLD previous mid 2022
2288 ex44 << tablepath << "220207288.dat"; //Updated in mid 2022
2289 ATLAS13_pp_phi_phi1phi1_bbbb = readTable(ex44.str(),476,2); //Updated in mid 2022
2290 //ex45 << tablepath << "180704873.dat"; //OLD previous mid 2022
2291 //ATLAS13_pp_phi_phi1phi1_bbgaga = readTable(ex45.str(),75,2); //OLD previous mid 2022
2292 ex45 << tablepath << "211211876.dat"; //Updated in mid 2022
2293 ATLAS13_pp_phi_phi1phi1_bbgaga = readTable(ex45.str(),76,2); //Updated in mid 2022
2294 //ex46 << tablepath << "180800336.dat"; //OLD previous mid 2022
2295 //ATLAS13_pp_phi_phi1phi1_bbtautau = readTable(ex46.str(),75,2);//OLD previous mid 2022
2296 ex46n1 << tablepath << "ATLAS-CONF-2021-030.dat"; //Updated in mid 2022
2297 ATLAS13_pp_phi_phi1phi1_bbtautau_1 = readTable(ex46n1.str(),136,2); //Updated in mid 2022
2298 ex46n2 << tablepath << "200714811.dat"; //Updated in mid 2022
2299 ATLAS13_pp_phi_phi1phi1_bbtautau_2 = readTable(ex46n2.str(),41,2); //Updated in mid 2022
2300 ex46a << tablepath << "181104671.dat";
2301 ATLAS13_pp_phi_phi1phi1_bbWW = readTable(ex46a.str(),51,2);
2302 ex47 << tablepath << "180708567.dat";
2303 ATLAS13_gg_phi_phi1phi1_gagaWW = readTable(ex47.str(),25,2);
2304 //ex48 << tablepath << "171206518_a.dat"; //Superseded
2305 //ATLAS13_gg_phi_phi1Z_bbZ = readTable(ex48.str(),181,2); //Superseded
2306 //ex49 << tablepath << "171206518_b.dat"; //Superseded
2307 //ATLAS13_bb_phi_phi1Z_bbZ = readTable(ex49.str(),181,2); //Superseded
2308 ex48 << tablepath << "220700230_ggF.dat"; //Updated in mid 2024
2309 ATLAS13_gg_phi_phi1Z_bbZ = readTable(ex48.str(),45,2); //Updated in mid 2024
2310 ex49 << tablepath << "220700230_bb.dat"; //Updated in mid 2024
2311 ATLAS13_bb_phi_phi1Z_bbZ = readTable(ex49.str(),45,2); //Updated in mid 2024
2312
2313 ex49p2 << tablepath << "191011634.dat";
2314 CMS13_gg_phi_phi1Z_tautaull = readTable(ex49p2.str(),19,2);
2315
2316
2317
2318
2319 //ex50 << tablepath << "180401126_a.dat"; //OLD previous mid 2022
2320 //ATLAS13_gg_phii_phijZ_bbZ = readTable(ex50.str(),3364,3); //OLD previous mid 2022
2321 ex50a << tablepath << "201105639_ggF_decay_bb.dat"; //Updated in mid 2022
2322 ATLAS13_gg_phii_phijZ_bbZ = readTable(ex50a.str(),1711,3); //Updated in mid 2022
2323 //ex51 << tablepath << "180401126_b.dat"; //OLD previous mid 2022
2324 //ATLAS13_bb_phii_phijZ_bbZ = readTable(ex51.str(),3364,3); //OLD previous mid 2022
2325 ex51 << tablepath << "201105639_bb_decay_bb.dat"; //Updated in mid 2022
2326 ATLAS13_bb_phii_phijZ_bbZ = readTable(ex51.str(),1711,3); //Updated in mid 2022
2327
2328 ex50b << tablepath << "201105639_ggF_decay_WW.dat"; //Included in mid 2024
2329 ATLAS13_gg_phii_phijZ_WWZ = readTable(ex50b.str(),1326,3); //Included in mid 2024
2330
2331
2332 ex52m2 << tablepath << "190806463_7a.dat"; //Included in mid 2022
2333 CMS13_tt_phi2_tt = readTable(ex52m2.str(),31,2); //Included in mid 2022
2334 ex52m1 << tablepath << "190806463_7b.dat"; //Included in mid 2022
2335 CMS13_tt_phi3_tt = readTable(ex52m1.str(),31,2); //Included in mid 2022
2336
2337
2338 ex52 << tablepath << "CMS-PAS-HIG-16-025.dat";
2339 CMS13_pp_phi_bb = readTable(ex52.str(),66,2);
2340
2341
2342 ex52p1 << tablepath << "181011822_7a.dat"; //Included in mid 2022
2343 CMS13_pp_phi2_bb_light = readTable(ex52p1.str(),61,2); //Included in mid 2022
2344 ex52p2 << tablepath << "181011822_8a.dat"; //Included in mid 2022
2345 CMS13_pp_phi3_bb_light = readTable(ex52p2.str(),61,2); //Included in mid 2022
2346
2347
2348
2349 ex53 << tablepath << "180512191.dat";
2350 CMS13_bb_phi_bb = readTable(ex53.str(),101,2);
2351
2352
2353 //ex54 << tablepath << "180306553_a.dat"; //OLD previous to mid 2022
2354 //CMS13_gg_phi_tautau = readTable(ex54.str(),312,2); //OLD previous to mid 2022
2355 //ex55 << tablepath << "180306553_b.dat"; //OLD previous to mid 2022
2356 //CMS13_bb_phi_tautau = readTable(ex55.str(),312,2); //OLD previous to mid 2022
2357
2358
2359 //CMS_PAS_HIG_21_001_9b
2360 //ex54 << tablepath << "CMS_PAS_HIG_21_001_9a.dat"; //Updated in mid 2022
2361 //CMS13_gg_phi_tautau = readTable(ex54.str(),689,2); //Updated in mid 2022
2362 //ex55 << tablepath << "CMS_PAS_HIG_21_001_9b.dat"; //Updated in mid 2022
2363 //CMS13_bb_phi_tautau = readTable(ex55.str(),689,2); //Updated in mid 2022
2364
2365
2366 ex54 << tablepath << "220802717_ggF.dat"; //Updated in mid 2024
2367 CMS13_gg_phi_tautau = readTable(ex54.str(),172,2); //Updated in mid 2024
2368 ex55 << tablepath << "220802717_bb.dat"; //Updated in mid 2024
2369 CMS13_bb_phi_tautau = readTable(ex55.str(),172,2); //Updated in mid 2024
2370
2371
2372
2373 //ex56 << tablepath << "160902507.dat"; //OLD previous to mid 2022
2374 //CMS13_gg_phi_gaga = readTable(ex56.str(),351,2); //OLD previous to mid 2022
2375
2376
2377 //ex56 << tablepath << "180900327.dat"; //Updated in mid 2022
2378 //CMS13_gg_phi_gaga = readTable(ex56.str(),901,2); //Updated in mid 2022
2379
2380 ex56 << tablepath << "240509320.dat"; //Updated in mid 2024
2381 CMS13_gg_phi_gaga = readTable(ex56.str(),176,2); //Updated in mid 2024
2382
2383
2384 ex57 << tablepath << "171203143.dat";
2385 CMS13_gg_phi_Zga = readTable(ex57.str(),366,2);
2386 ex58 << tablepath << "180401939_a.dat";
2387 CMS13_pp_phi_ZZ_llqqnunull = readTable(ex58.str(),288,2);
2388 ex59 << tablepath << "180303838.dat";
2389 CMS13_pp_phi_ZZ_qqnunu = readTable(ex59.str(),301,2);
2390 ex60 << tablepath << "CMS-PAS-HIG-16-023.dat";
2391 CMS13_ggVV_phi_WW_lnulnu = readTable(ex60.str(),81,2);
2392 ex61 << tablepath << "180209407.dat";
2393 CMS13_pp_phi_WW_lnuqq = readTable(ex61.str(),341,2);
2394 ex62 << tablepath << "180603548.dat";
2395 CMS13_pp_phi_phi1phi1_bbbb_1 = readTable(ex62.str(),95,2);
2396
2397
2398 //ex63 << tablepath << "180801473.dat"; //OLD previous to mid 2022
2399 //CMS13_pp_phi_phi1phi1_bbbb_2 = readTable(ex63.str(),181,2); //OLD previous to mid 2022
2400 ex63 << tablepath << "CMS-PAS-B2G-20-004.dat"; //Updated in mid 2022
2401 CMS13_pp_phi_phi1phi1_bbbb_2 = readTable(ex63.str(),41,2); //Updated in mid 2022
2402
2403 //ex64 << tablepath << "180600408.dat"; //OLD previous to mid 2024
2404 //CMS13_pp_phi_phi1phi1_bbgaga = readTable(ex64.str(),66,2); //OLD previous to mid 2024
2405 ex64 << tablepath << "231001643.dat"; //Updated in mid 2024
2406 CMS13_pp_phi_phi1phi1_bbgaga = readTable(ex64.str(),74,2); //Updated in mid 2024
2407
2408
2409 ex65 << tablepath << "170702909.dat";
2411 ex66 << tablepath << "180801365.dat";
2412 CMS13_pp_phi_phi1phi1_bbtautau_2 = readTable(ex66.str(),311,2);
2413 ex67 << tablepath << "170804188.dat";
2414 CMS13_pp_phi_phi1phi1_bbVV = readTable(ex67.str(),65,2);
2415 ex67p1 << tablepath << "220610268.dat"; //Included in mid 2022
2416 CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau = readTable(ex67p1.str(),76,2); //Included in mid 2022
2417 ex67p2 << tablepath << "190404193.dat"; //Included in mid 2022
2418 CMS13_pp_phi_phi1phi1_bbWW_qqlnu = readTable(ex67p2.str(),55,2); //Included in mid 2022
2419
2420
2421 ex67p3 << tablepath << "200606391_bblljj.dat"; //Included in mid 2022
2422 CMS13_pp_phi_phi1phi1_bbZZ_lljj = readTable(ex67p3.str(),149,2); //Included in mid 2022
2423
2424 ex67p4 << tablepath << "200606391_bbllnunu.dat"; //Included in mid 2022
2425 CMS13_pp_phi_phi1phi1_bbZZ_llnunu = readTable(ex67p4.str(),151,2); //Included in mid 2022
2426
2427
2428 ex67p5 << tablepath << "211203161.dat"; //Included in mid 2022
2429 CMS13_pp_phi_phi1phi1_bbWWorbbtautau = readTable(ex67p5.str(),75,2); //Included in mid 2022
2430
2431
2432 ex67p6 << tablepath << "240309430.dat"; //Included in mid 2024
2433 CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses = readTable(ex67p6.str(),65,2); //Included in mid 2024
2434
2435
2436 ex68 << tablepath << "CMS-PAS-HIG-18-005_a.dat";
2437 CMS13_gg_phi_phi1Z_bbZ_1 = readTable(ex68.str(),79,2);
2438 ex69 << tablepath << "180702826_a.dat";
2439 CMS13_gg_phi_phi1Z_bbZ_2 = readTable(ex69.str(),121,2);
2440 ex70 << tablepath << "CMS-PAS-HIG-18-005_b.dat";
2441 CMS13_bb_phi_phi1Z_bbZ_1 = readTable(ex70.str(),79,2);
2442 ex71 << tablepath << "180702826_b.dat";
2443 CMS13_bb_phi_phi1Z_bbZ_2 = readTable(ex71.str(),121,2);
2444
2445 ex72 << tablepath << "14126663.dat";
2446 ATLAS8_pp_Hpm_taunu = readTable(ex72.str(),83,2);
2447 ex73 << tablepath << "151203704.dat";
2448 ATLAS8_pp_Hpm_tb = readTable(ex73.str(),41,2);
2449 ex74 << tablepath << "150807774_a.dat";
2450 CMS8_pp_Hp_taunu = readTable(ex74.str(),43,2);
2451 ex75 << tablepath << "150807774_b.dat";
2452 CMS8_pp_Hp_tb = readTable(ex75.str(),43,2);
2453 ex76 << tablepath << "180707915.dat";
2454 ATLAS13_pp_Hpm_taunu = readTable(ex76.str(),192,2);
2455 //ex77 << tablepath << "180803599.dat"; //OLD Previous to mid 2022
2456 //ATLAS13_pp_Hpm_tb = readTable(ex77.str(),181,2); //OLD Previous to mid 2022
2457 ex77 << tablepath << "210210076.dat"; //Updated in mid 2022
2458 ATLAS13_pp_Hpm_tb = readTable(ex77.str(),181,2); //Updated in mid 2022
2459 ex78 << tablepath << "200107763.dat"; //Included in mid 2022
2460 CMS13_pp_Hpm_tb = readTable(ex78.str(),281,2); //Included in mid 2022
2461 //ex78 << tablepath << "CMS-PAS-HIG-16-031.dat"; //OLD Previous to mid 2022
2462 //CMS13_pp_Hpm_taunu = readTable(ex78.str(),283,2); //OLD Previous to mid 2022
2463 ex79 << tablepath << "190304560.dat"; //Updated in mid 2022
2464 CMS13_pp_Hpm_taunu = readTable(ex79.str(),585,2); //Updated in mid 2022
2465
2466 lowC01 << tablepath << "CMS-HIG-17-029_4e.dat"; //Added in late 2023
2467 CMS13_pp_h_phi3phi3_mumutautau = readTable(lowC01.str(),48,2);
2468
2469// lowC02 << tablepath << "CMS-HIG-17-024_7d.dat"; //Added in 2024
2470// CMS13_pp_h_phi3phi3_bbtautau = readTable(lowC02.str(),10,2);
2471
2472 lowC02 << tablepath << "CMS-HIG-22-007_11d.dat"; //Added in 2024
2473 CMS13_pp_h_phi3phi3_bbtautau = readTable(lowC02.str(),11,2);
2474
2475// lowC03 << tablepath << "CMS-HIG-18-011_5b.dat"; //Added in 2024
2476// CMS13_pp_h_phi3phi3_bbmumu = readTable(lowC03.str(),86,2);
2477
2478 lowC03 << tablepath << "CMS-HIG-22-007_10.dat"; //Added in 2024
2479 CMS13_pp_h_phi3phi3_bbmumu = readTable(lowC03.str(),95,2);
2480
2481 lowC04 << tablepath << "CMS-HIG-19-007_4a.dat"; //Added in 2024
2482 CMS13_pp_h_phi23Z_mumull = readTable(lowC04.str(),352,2);
2483
2484 lowC05 << tablepath << "CMS-HIG-19-007_5a.dat"; //Added in 2024
2485 CMS13_pp_h_phi23phi23_mumumumu = readTable(lowC05.str(),462,2);
2486
2487 lowC06 << tablepath << "CMS-HIG-21-003_6.dat"; //Added in 2024
2488 CMS13_pp_h_phi3phi3_gagagaga = readTable(lowC06.str(),95,2);
2489
2490 lowC07 << tablepath << "CMS-HIG-18-006_10.dat"; //Added in 2024
2491 CMS13_pp_h_phi3phi3_tautautautau = readTable(lowC07.str(),12,2);
2492
2493 lowC08 << tablepath << "CMS-PAS-HIG-20-002_5b.dat"; //Added in 2024
2494 CMS13_pp_phi2_gaga = readTable(lowC08.str(),81,2);
2495
2496 lowC09 << tablepath << "CMS-HIG-17-014_4.dat"; //Added in 2024
2497 CMS13_pp_bbphi3_bbtautau = readTable(lowC09.str(),10,2);
2498
2499 lowC10 << tablepath << "CMS-EXO-21-018_14d.dat"; //Added in 2024
2500 CMS13_pp_ttphi3_ttmumu = readTable(lowC10.str(),220,2);
2501
2502 lowC11 << tablepath << "CMS-EXO-21-018_14f.dat"; //Added in 2024
2503 CMS13_pp_ttphi3_tttautau = readTable(lowC11.str(),18,2);
2504
2505 lowC12 << tablepath << "CMS-HIG-18-026_3c.dat"; //Added in 2024
2506 CMS13_Vh_h_phi3phi3_bbbb = readTable(lowC12.str(),10,2);
2507
2508 lowA01 << tablepath << "ATLAS_CERN-EP-2021-157_9.dat"; //Added in 2024
2509 ATLAS13_pp_h_phi3phi3_bbmumu = readTable(lowA01.str(),47,2);
2510
2511 lowA02 << tablepath << "ATLAS_CERN-EP-2021-193_14b.dat"; //Added in 2024
2512 ATLAS13_gg_h_phi23phi23_mumumumu = readTable(lowA02.str(),110,2);
2513
2514 lowA03 << tablepath << "ATLAS_CERN-EP-2021-193_17b.dat"; //Added in 2024
2515 ATLAS13_gg_h_phi23Z_mumull = readTable(lowA03.str(),16,2);
2516
2517 lowA04 << tablepath << "ATLAS_CERN-EP-2018-128_9c.dat"; //Added in 2024
2518 ATLAS13_Vh_h_phi23phi23_bbbb = readTable(lowA04.str(),41,2);
2519
2520 lowA05 << tablepath << "ATLAS_CERN-EP-2020-067_10.dat"; //Added in 2024
2521 ATLAS13_Zh_h_phi23phi23_bbbb = readTable(lowA05.str(),7,2);
2522
2523 lowA06 << tablepath << "ATLAS_CERN-EP-2018-153_6a.dat"; //Added in 2024
2524 ATLAS13_pp_h_phi23phi23_bbmumu_old = readTable(lowA06.str(),101,2);
2525
2526 lowA07 << tablepath << "ATLAS_CERN-EP-2017-295_2.dat"; //Added in 2024
2527 ATLAS13_pp_h_phi23phi23_gagagg = readTable(lowA07.str(),13,2);
2528
2529 lowA08 << tablepath << "ATLAS-CONF-2023-035_7b.dat"; //Added in 2024
2530 ATLAS13_pp_phi2_gaga_low = readTable(lowA08.str(),89,2);
2531
2532 lowA09 << tablepath << "ATLAS_CERN-EP-2023-070_5a.dat"; //Added in 2024
2533 ATLAS13_pp_ttphi3_ttmumu = readTable(lowA09.str(),37,2);
2534
2535 lowA10 << tablepath << "ATLAS_CERN-EP-2024-235_7.dat"; //Added in 2024
2536 ATLAS13_gg_phi3_tautau_low = readTable(lowA10.str(),12,2);
2537
2538 lowA11 << tablepath << "ATLAS_CERN-EP-2023-202_5d.dat"; //Added in 2024
2539 ATLAS13_pp_h_phi3phi3_gagagaga = readTable(lowA11.str(),53,2);
2540
2541 lowA12 << tablepath << "ATLAS_CERN-EP-2024-164_10a.dat"; //Added in 2024
2542 ATLAS13_pp_h_phi3phi3_bbtautau = readTable(lowA12.str(),8,2);
2543
2544 lowA801 << tablepath << "ATLAS_CERN-PH-EP-2015-187_4b.dat"; //Added in 2024
2545 ATLAS8_pp_h_phi3phi3_gagagaga = readTable(lowA801.str(),105,2);
2546
2547 lowA802 << tablepath << "ATLAS_CERN-PH-EP-2015-057_6a.dat"; //Added in 2024
2548 ATLAS8_gg_h_phi3phi3_tautautautau = readTable(lowA802.str(),101,2);
2549
2550 lowC801 << tablepath << "CMS-HIG-16-015_4.dat"; //Added in 2024
2551 CMS8_pp_h_phi3phi3_tautautautau = readTable(lowC801.str(),6,2);
2552
2553 lowC802 << tablepath << "CMS-HIG-16-015_5.dat"; //Added in 2024
2554 CMS8_pp_h_phi3phi3_bbmumu = readTable(lowC802.str(),76,2);
2555
2556 lowC803 << tablepath << "CMS-HIG-16-015_6.dat"; //Added in 2024
2557 CMS8_pp_h_phi3phi3_mumutautau = readTable(lowC803.str(),96,2);
2558
2559 lowC804 << tablepath << "CMS-HIG-17-013_4a.dat"; //Added in 2024
2560 CMS8_pp_phi2_gaga = readTable(lowC804.str(),300,2);
2561
2562 lowC805 << tablepath << "CMS-HIG-14-033_3.dat"; //Added in 2024
2563 CMS8_pp_bbphi3_bbtautau = readTable(lowC805.str(),12,2);
2564
2565 lowC806 << tablepath << "CMS-HIG-15-009_5b.dat"; //Added in 2024
2566 CMS8_pp_bbphi3_bbmumu = readTable(lowC806.str(),36,2);
2567
2568 low209a << tablepath << "LEP_LHWG-NOTE-2001-08_4.dat"; //Added in 2024
2569 LEP209_phi2Z_gagaZ = readTable(low209a.str(),49,2);
2570
2571 low209b << tablepath << "LEP_CERN-PH-EP-2006-001_t14b.dat"; //Added in 2024
2572 LEP209_phi2Z_bbZ = readTable(low209b.str(),217,2);
2573
2574 low209c << tablepath << "LEP_CERN-PH-EP-2006-001_t14c.dat"; //Added in 2024
2575 LEP209_phi2Z_tautauZ = readTable(low209c.str(),233,2);
2576
2577 low209d << tablepath << "LEP_CERN-PH-EP-2006-001_t18.dat"; //Added in 2024
2578 LEP209_phiEphi3_bbbb = readTable(low209d.str(),324,3);
2579
2580 low209e << tablepath << "LEP_CERN-PH-EP-2006-001_t19.dat"; //Added in 2024
2581 LEP209_phiEphi3_tautautautau = readTable(low209e.str(),365,3);
2582
2583 lowHpC801 << tablepath << "CMS-HIG-13-035_t4.dat"; //Added in 2024
2584 CMS8_t_Hpb_csb = readTable(lowHpC801.str(),7,2);
2585
2586 lowHpC802 << tablepath << "CMS-HIG-14-023_t10.dat"; //Added in 2024
2587 CMS8_t_Hpb_taunub = readTable(lowHpC802.str(),8,2);
2588
2589 lowHpC803 << tablepath << "CMS-HIG-16-030_3.dat"; //Added in 2024
2590 CMS8_t_Hpb_cbb = readTable(lowHpC803.str(),7,2);
2591
2592 lowHpC1301 << tablepath << "CMS-HIG-18-020_2a.dat"; //Added in 2024
2593 CMS13_t_Hpb_WAb_Wmumub = readTable(lowHpC1301.str(),95,2);
2594
2595 lowHpC1302 << tablepath << "CMS-HIG-18-021_4c.dat"; //Added in 2024
2596 CMS13_t_Hpb_csb = readTable(lowHpC1302.str(),8,2);
2597
2598 lowHpA801 << tablepath << "ATLAS_CERN-PH-EP-2014-274_7a.dat"; //Added in 2024
2599 ATLAS8_t_Hpb_taunub = readTable(lowHpA801.str(),9,2);
2600
2601 lowHpA1301 << tablepath << "ATLAS_CERN-EP-2022-207_8.dat"; //Added in 2024
2602 ATLAS13_t_Hpb_cbb = readTable(lowHpA1301.str(),11,2);
2603
2604 lowHpA1302 << tablepath << "ATLAS_CERN-EP-2023-070_5b.dat"; //Added in 2024
2605 ATLAS13_t_Hpb_WAb_Wmumub = readTable(lowHpA1302.str(),31,2);
2606
2607 lowHpA1303 << tablepath << "ATLAS_CERN-EP-2024-185_6.dat"; //Added in 2024
2608 ATLAS13_t_Hpb_csb = readTable(lowHpA1303.str(),12,2);
2609
2610 lowHp209a << tablepath << "LEP_CERN-PH-EP-2012-369_4a.dat"; //Added in 2024
2611 LEP209_HpHm_taunutaunu = readTable(lowHp209a.str(),105,2);
2612
2613 lowHp209b << tablepath << "LEP_CERN-PH-EP-2012-369_4d.dat"; //Added in 2024
2614 LEP209_HpHm_qqqq = readTable(lowHp209b.str(),105,2);
2615
2616 lowHp209c << tablepath << "LEP_CERN-PH-EP-2008-016_7b.dat"; //Added in 2024
2617 OPAL209_HpHm_qqtaunu = readTable(lowHp209c.str(),87,2);
2618
2619 lowHp172a << tablepath << "LEP_CERN-PPE-97-168_3b_tnqq.dat"; //Added in 2024
2620 OPAL172_HpHm_qqtaunu = readTable(lowHp172a.str(),41,2);
2621
2622 lowHp209d << tablepath << "LEP_CERN-PH-EP-2008-016_10a.dat"; //Added in 2024
2623 OPAL209_HpHm_AWstAWst_bbbb = readTable(lowHp209d.str(),2835,3);
2624
2625 lowHp209e << tablepath << "LEP_CERN-PH-EP-2008-016_10b.dat"; //Added in 2024
2626 OPAL209_HpHm_taunuAWst_taunubb = readTable(lowHp209e.str(),2835,3);
2627
2628 susyHpA01 << tablepath << "ATLAS_CERN-EP-2019-191_7b.dat"; //Added in 2024
2629 ATLAS13_pp_HpHm_taunutaunu = readTable(susyHpA01.str(),19,2);
2630
2631 susyHpA02 << tablepath << "ATLAS_CERN-EP-2022-132_6a.dat"; //Added in 2024
2632 ATLAS13_pp_HpHm_munumunu = readTable(susyHpA02.str(),11,2);
2633
2634 susyHpC01 << tablepath << "CMS-SUS-21-001_5a.dat"; //Added in 2024
2635 CMS13_pp_HpHm_taunutaunu = readTable(susyHpC01.str(),16,2);
2636
2637 susyHpC02 << tablepath << "CMS-SUS-21-008_16a.dat"; //Added in 2024
2638 CMS13_pp_HpHm_munumunu = readTable(susyHpC02.str(),22,2);
2639
2640 thint01 << tablepath << "integral_x2_1mx_G_values_log.dat";
2641 integral_x2_1mx_G_log = readTable(thint01.str(),62500,3);
2642
2643 thint02 << tablepath << "integral_x2_1px_G_values_log.dat";
2644 integral_x2_1px_G_log = readTable(thint02.str(),62500,3);
2645
2646 thint03 << tablepath << "integral_x2_G_values_log.dat";
2647 integral_x2_G_log = readTable(thint03.str(),62500,3);
2648
2649 thint04 << tablepath << "integral_x_1mx2_G_values_log.dat";
2650 integral_x_1mx2_G_log = readTable(thint04.str(),62500,3);
2651
2652 thint05 << tablepath << "integral_x_1mx_1px_G_values_log.dat";
2653 integral_x_1mx_1px_G_log = readTable(thint05.str(),62500,3);
2654
2655 thint06 << tablepath << "integral_x2_1mx_G_variable_set_1_values_log.dat";
2656 integral_x2_1mx_G_variable_set_1_log = readTable(thint06.str(),2000,2);
2657
2658 thint07 << tablepath << "integral_x2_G_variable_set_1_values_log.dat";
2659 integral_x2_G_variable_set_1_log = readTable(thint07.str(),2000,2);
2660
2661 thint08 << tablepath << "integral_x_1mx2_G_variable_set_0_values_log.dat";
2662 integral_x_1mx2_G_variable_set_0_log = readTable(thint08.str(),2000,2);
2663
2664 thint09 << tablepath << "integral_perturb_ATHDM_values_log.dat";
2665 integral_perturb_ATHDM_values_log = readTable(thint09.str(),2000,2);
2666
2667 thint10 << tablepath << "integral_Hp_A_Wstar.dat";
2668 integral_Hp_A_Wstar = readTable(thint10.str(),2835,3);
2669
2670 //std::cout<< CMS13_pp_Hpm_taunu<<std::endl;
2671
2672 bsg1 << tablepath << "bsgammatable.dat";
2673 arraybsgamma = readTable(bsg1.str(),1111,3);
2674}
2675
2676
2677
2679 int NumPar = 1;
2680 double params[] = {mass};
2681
2682 int i = CacheCheckReal(ip_Br_HPtott_cache, NumPar, params);
2683 if (i>=0) {
2684 return ( ip_Br_HPtott_cache[NumPar][i] );
2685 } else {
2686 double newResult = pow(10.0,interpolate(br_tt,mass));
2687 CacheShiftReal(ip_Br_HPtott_cache, NumPar, params, newResult);
2688 return newResult;
2689 }
2690}
2691
2692
2693
2695 int NumPar = 1;
2696 double params[] = {mass};
2697
2698 int i = CacheCheckReal(ip_Br_HPtobb_cache, NumPar, params);
2699 if (i>=0) {
2700 return ( ip_Br_HPtobb_cache[NumPar][i] );
2701 } else {
2702 double newResult = pow(10.0,interpolate(br_bb,mass));
2703 CacheShiftReal(ip_Br_HPtobb_cache, NumPar, params, newResult);
2704 return newResult;
2705 }
2706}
2707
2708
2709
2711 int NumPar = 1;
2712 double params[] = {mass};
2713
2714 int i = CacheCheckReal(ip_Br_HPtotautau_cache, NumPar, params);
2715 if (i>=0) {
2716 return ( ip_Br_HPtotautau_cache[NumPar][i] );
2717 } else {
2718 double newResult = pow(10.0,interpolate(br_tautau,mass));
2719 CacheShiftReal(ip_Br_HPtotautau_cache, NumPar, params, newResult);
2720 return newResult;
2721 }
2722}
2723
2724
2725
2727 int NumPar = 1;
2728 double params[] = {mass};
2729
2730 int i = CacheCheckReal(ip_Br_HPtocc_cache, NumPar, params);
2731 if (i>=0) {
2732 return ( ip_Br_HPtocc_cache[NumPar][i] );
2733 } else {
2734 double newResult = pow(10.0,interpolate(br_cc,mass));
2735 CacheShiftReal(ip_Br_HPtocc_cache, NumPar, params, newResult);
2736 return newResult;
2737 }
2738}
2739
2740
2741
2743 int NumPar = 1;
2744 double params[] = {mass};
2745
2746 int i = CacheCheckReal(ip_Br_HPtomumu_cache, NumPar, params);
2747 if (i>=0) {
2748 return ( ip_Br_HPtomumu_cache[NumPar][i] );
2749 } else {
2750 double newResult = pow(10.0,interpolate(br_mumu,mass));
2751 CacheShiftReal(ip_Br_HPtomumu_cache, NumPar, params, newResult);
2752 return newResult;
2753 }
2754}
2755
2756
2757
2759 int NumPar = 1;
2760 double params[] = {mass};
2761
2762 int i = CacheCheckReal(ip_Br_HPtoZZ_cache, NumPar, params);
2763 if (i>=0) {
2764 return ( ip_Br_HPtoZZ_cache[NumPar][i] );
2765 } else {
2766 double newResult = pow(10.0,interpolate(br_ZZ,mass));
2767 CacheShiftReal(ip_Br_HPtoZZ_cache, NumPar, params, newResult);
2768 return newResult;
2769 }
2770}
2771
2772
2773
2775 int NumPar = 1;
2776 double params[] = {mass};
2777
2778 int i = CacheCheckReal(ip_Br_HPtoWW_cache, NumPar, params);
2779 if (i>=0) {
2780 return ( ip_Br_HPtoWW_cache[NumPar][i] );
2781 } else {
2782 double newResult = pow(10.0,interpolate(br_WW,mass));
2783 CacheShiftReal(ip_Br_HPtoWW_cache, NumPar, params, newResult);
2784 return newResult;
2785 }
2786}
2787
2788
2789
2791 int NumPar = 1;
2792 double params[] = {mass};
2793
2794 int i = CacheCheckReal(ip_GammaHPtotSM_cache, NumPar, params);
2795 if (i>=0) {
2796 return ( ip_GammaHPtotSM_cache[NumPar][i] );
2797 } else {
2798 double newResult = pow(10.0,interpolate(GammaHtot_SM,mass));
2799 CacheShiftReal(ip_GammaHPtotSM_cache, NumPar, params, newResult);
2800 return newResult;
2801 }
2802}
2803
2804
2805
2807 int NumPar = 1;
2808 double params[] = {mass};
2809
2810 int i = CacheCheckReal(ip_cs_ggtoH_8_cache, NumPar, params);
2811 if (i>=0) {
2812 return ( ip_cs_ggtoH_8_cache[NumPar][i] );
2813 } else {
2814 double newResult = 0.0;
2815 if (mass>=10. && mass <=2000.) {
2816 newResult = pow(10.0,interpolate (log_cs_ggH_8,mass));
2817 }
2818 CacheShiftReal(ip_cs_ggtoH_8_cache, NumPar, params, newResult);
2819 return newResult;
2820 }
2821}
2822
2823
2824
2826 int NumPar = 1;
2827 double params[] = {mass};
2828
2829 int i = CacheCheckReal(ip_cs_ggtoH_13_cache, NumPar, params);
2830 if (i>=0) {
2831 return ( ip_cs_ggtoH_13_cache[NumPar][i] );
2832 } else {
2833 double newResult = 0.0;
2834 if (mass>=10. && mass <=2000.) {
2835 newResult = pow(10.0,interpolate (log_cs_ggH_13,mass));
2836 }
2837 CacheShiftReal(ip_cs_ggtoH_13_cache, NumPar, params, newResult);
2838 return newResult;
2839 }
2840}
2841
2842
2843
2845 int NumPar = 1;
2846 double params[] = {mass};
2847
2848 int i = CacheCheckReal(ip_cs_VBFtoH_8_cache, NumPar, params);
2849 if (i>=0) {
2850 return ( ip_cs_VBFtoH_8_cache[NumPar][i] );
2851 } else {
2852 double newResult = 0.0;
2853 if (mass>=10. && mass <=2000.) {
2854 newResult = pow(10.0,interpolate (log_cs_VBF_8,mass));
2855 }
2856 CacheShiftReal(ip_cs_VBFtoH_8_cache, NumPar, params, newResult);
2857 return newResult;
2858 }
2859}
2860
2861
2862
2864 int NumPar = 1;
2865 double params[] = {mass};
2866
2867 int i = CacheCheckReal(ip_cs_VBFtoH_13_cache, NumPar, params);
2868 if (i>=0) {
2869 return ( ip_cs_VBFtoH_13_cache[NumPar][i] );
2870 } else {
2871 double newResult = 0.0;
2872 if (mass>=10. && mass <=2000.) {
2873 newResult = pow(10.0,interpolate (log_cs_VBF_13,mass));
2874 }
2875 CacheShiftReal(ip_cs_VBFtoH_13_cache, NumPar, params, newResult);
2876 return newResult;
2877 }
2878}
2879
2880
2881
2883 int NumPar = 1;
2884 double params[] = {mass};
2885
2886 int i = CacheCheckReal(ip_cs_WtoWH_8_cache, NumPar, params);
2887 if (i>=0) {
2888 return ( ip_cs_WtoWH_8_cache[NumPar][i] );
2889 } else {
2890 double newResult = 0.0;
2891 if (mass>=10. && mass <=2000.) {
2892 newResult = pow(10.0,interpolate (log_cs_WH_8,mass));
2893 }
2894 CacheShiftReal(ip_cs_WtoWH_8_cache, NumPar, params, newResult);
2895 return newResult;
2896 }
2897}
2898
2899
2900
2902 int NumPar = 1;
2903 double params[] = {mass};
2904
2905 int i = CacheCheckReal(ip_cs_WtoWH_13_cache, NumPar, params);
2906 if (i>=0) {
2907 return ( ip_cs_WtoWH_13_cache[NumPar][i] );
2908 } else {
2909 double newResult = 0.0;
2910 if (mass>=10. && mass <=2000.) {
2911 newResult = pow(10.0,interpolate (log_cs_WH_13,mass));
2912 }
2913 CacheShiftReal(ip_cs_WtoWH_13_cache, NumPar, params, newResult);
2914 return newResult;
2915 }
2916}
2917
2918
2919
2921 int NumPar = 1;
2922 double params[] = {mass};
2923
2924 int i = CacheCheckReal(ip_cs_ZtoZH_8_cache, NumPar, params);
2925 if (i>=0) {
2926 return ( ip_cs_ZtoZH_8_cache[NumPar][i] );
2927 } else {
2928 double newResult = 0.0;
2929 if (mass>=10. && mass <=2000.) {
2930 newResult = pow(10.0,interpolate (log_cs_ZH_8,mass));
2931 }
2932 CacheShiftReal(ip_cs_ZtoZH_8_cache, NumPar, params, newResult);
2933 return newResult;
2934 }
2935}
2936
2937
2938
2940 int NumPar = 1;
2941 double params[] = {mass};
2942
2943 int i = CacheCheckReal(ip_cs_ZtoZH_13_cache, NumPar, params);
2944 if (i>=0) {
2945 return ( ip_cs_ZtoZH_13_cache[NumPar][i] );
2946 } else {
2947 double newResult = 0.0;
2948 if (mass>=10. && mass <=2000.) {
2949 newResult = pow(10.0,interpolate (log_cs_ZH_13,mass));
2950 }
2951 CacheShiftReal(ip_cs_ZtoZH_13_cache, NumPar, params, newResult);
2952 return newResult;
2953 }
2954}
2955
2956
2957
2959 int NumPar = 1;
2960 double params[] = {mass};
2961
2962 int i = CacheCheckReal(ip_cs_pptottH_8_cache, NumPar, params);
2963 if (i>=0) {
2964 return ( ip_cs_pptottH_8_cache[NumPar][i] );
2965 } else {
2966 double newResult = 0.0;
2967 if (mass>=10. && mass <=2000.) {
2968 newResult = pow(10.0,interpolate (log_cs_ttH_8,mass));
2969 }
2970 CacheShiftReal(ip_cs_pptottH_8_cache, NumPar, params, newResult);
2971 return newResult;
2972 }
2973}
2974
2975
2976
2978 int NumPar = 1;
2979 double params[] = {mass};
2980
2981 int i = CacheCheckReal(ip_cs_pptottH_13_cache, NumPar, params);
2982 if (i>=0) {
2983 return ( ip_cs_pptottH_13_cache[NumPar][i] );
2984 } else {
2985 double newResult = 0.0;
2986 if (mass>=10. && mass <=2000.) {
2987 newResult = pow(10.0,interpolate (log_cs_ttH_13,mass));
2988 }
2989 CacheShiftReal(ip_cs_pptottH_13_cache, NumPar, params, newResult);
2990 return newResult;
2991 }
2992}
2993
2994
2995
2997 int NumPar = 1;
2998 double params[] = {mass};
2999
3000 int i = CacheCheckReal(ip_cs_pptobbH_8_cache, NumPar, params);
3001 if (i>=0) {
3002 return ( ip_cs_pptobbH_8_cache[NumPar][i] );
3003 } else {
3004 double newResult = 0.0;
3005 if (mass>=10. && mass <=2000.) {
3006 newResult = pow(10.0,interpolate (log_cs_bbH_8,mass));
3007 }
3008 CacheShiftReal(ip_cs_pptobbH_8_cache, NumPar, params, newResult);
3009 return newResult;
3010 }
3011}
3012
3013
3014
3016 int NumPar = 1;
3017 double params[] = {mass};
3018
3019 int i = CacheCheckReal(ip_cs_pptobbH_13_cache, NumPar, params);
3020 if (i>=0) {
3021 return ( ip_cs_pptobbH_13_cache[NumPar][i] );
3022 } else {
3023 double newResult = 0.0;
3024 if (mass>=10. && mass <=2000.) {
3025 newResult = pow(10.0,interpolate (log_cs_bbH_13,mass));
3026 }
3027 CacheShiftReal(ip_cs_pptobbH_13_cache, NumPar, params, newResult);
3028 return newResult;
3029 }
3030}
3031
3032
3033
3035 int NumPar = 1;
3036 double params[] = {mass};
3037
3038 int i = CacheCheckReal(ip_cs_ggtoA_8_cache, NumPar, params);
3039 if (i>=0) {
3040 return ( ip_cs_ggtoA_8_cache[NumPar][i] );
3041 } else {
3042 double newResult = 0.0;
3043 if (mass>=20. && mass <=2000.) {
3044 newResult = pow(10.0,interpolate (log_cs_ggA_8,mass));
3045 }
3046 CacheShiftReal(ip_cs_ggtoA_8_cache, NumPar, params, newResult);
3047 return newResult;
3048 }
3049}
3050
3051
3052
3054 int NumPar = 1;
3055 double params[] = {mass};
3056
3057 int i = CacheCheckReal(ip_cs_ggtoA_13_cache, NumPar, params);
3058 if (i>=0) {
3059 return ( ip_cs_ggtoA_13_cache[NumPar][i] );
3060 } else {
3061 double newResult = 0.0;
3062 if (mass>=20. && mass <=2000.) {
3063 newResult = pow(10.0,interpolate (log_cs_ggA_13,mass));
3064 }
3065 CacheShiftReal(ip_cs_ggtoA_13_cache, NumPar, params, newResult);
3066 return newResult;
3067 }
3068}
3069
3070
3071
3073 int NumPar = 1;
3074 double params[] = {mass};
3075
3076 int i = CacheCheckReal(ip_cs_pptottA_8_cache, NumPar, params);
3077 if (i>=0) {
3078 return ( ip_cs_pptottA_8_cache[NumPar][i] );
3079 } else {
3080 double newResult = 0.0;
3081 if (mass>=20. && mass <=2000.) {
3082 newResult = pow(10.0,interpolate (log_cs_ttA_8,mass));
3083 }
3084 CacheShiftReal(ip_cs_pptottA_8_cache, NumPar, params, newResult);
3085 return newResult;
3086 }
3087}
3088
3089
3090
3092 int NumPar = 1;
3093 double params[] = {mass};
3094
3095 int i = CacheCheckReal(ip_cs_pptottA_13_cache, NumPar, params);
3096 if (i>=0) {
3097 return ( ip_cs_pptottA_13_cache[NumPar][i] );
3098 } else {
3099 double newResult = 0.0;
3100 if (mass>=20. && mass <=2000.) {
3101 newResult = pow(10.0,interpolate (log_cs_ttA_13,mass));
3102 }
3103 CacheShiftReal(ip_cs_pptottA_13_cache, NumPar, params, newResult);
3104 return newResult;
3105 }
3106}
3107
3108
3109
3111 int NumPar = 1;
3112 double params[] = {mass};
3113
3114 int i = CacheCheckReal(ip_cs_pptobbA_8_cache, NumPar, params);
3115 if (i>=0) {
3116 return ( ip_cs_pptobbA_8_cache[NumPar][i] );
3117 } else {
3118 double newResult = 0.0;
3119 if (mass>=20. && mass <=2000.) {
3120 newResult = pow(10.0,interpolate (log_cs_bbA_8,mass));
3121 }
3122 CacheShiftReal(ip_cs_pptobbA_8_cache, NumPar, params, newResult);
3123 return newResult;
3124 }
3125}
3126
3127
3128
3130 int NumPar = 1;
3131 double params[] = {mass};
3132
3133 int i = CacheCheckReal(ip_cs_pptobbA_13_cache, NumPar, params);
3134 if (i>=0) {
3135 return ( ip_cs_pptobbA_13_cache[NumPar][i] );
3136 } else {
3137 double newResult = 0.0;
3138 if (mass>=20. && mass <=2000.) {
3139 newResult = pow(10.0,interpolate (log_cs_bbA_13,mass));
3140 }
3141 CacheShiftReal(ip_cs_pptobbA_13_cache, NumPar, params, newResult);
3142 return newResult;
3143 }
3144}
3145
3146
3147
3148double GeneralTHDMcache::ip_cs_ggtoHp_8(double mHp, double logtb){
3149 int NumPar = 2;
3150 double params[] = {mHp, logtb};
3151
3152 int i = CacheCheckReal(ip_cs_ggtoHp_8_cache, NumPar, params);
3153 if (i>=0) {
3154 return ( ip_cs_ggtoHp_8_cache[NumPar][i] );
3155 } else {
3156 double newResult = 0.0;
3157 if (mHp>=180. && mHp <=1400. && logtb>=-1. && logtb<=1.75) {
3158 newResult = pow(10.0,interpolate2D(log_cs_ggHp_8, logtb, mHp));
3159 }
3160 CacheShiftReal(ip_cs_ggtoHp_8_cache, NumPar, params, newResult);
3161 return newResult;
3162 }
3163}
3164
3165
3166
3167double GeneralTHDMcache::ip_cs_ggtoHp_13(double mHp, double logtb){
3168 int NumPar = 2;
3169 double params[] = {mHp, logtb};
3170
3171 int i = CacheCheckReal(ip_cs_ggtoHp_13_cache, NumPar, params);
3172 if (i>=0) {
3173 return ( ip_cs_ggtoHp_13_cache[NumPar][i] );
3174 } else {
3175 double newResult = 0.0;
3176 if (mHp>=180. && mHp <=2000. && logtb>=-1. && logtb<=1.75) {
3177 newResult = pow(10.0,interpolate2D(log_cs_ggHp_13, logtb, mHp));
3178
3179 }
3180 CacheShiftReal(ip_cs_ggtoHp_13_cache, NumPar, params, newResult);
3181 return newResult;
3182 }
3183}
3184
3185
3186
3188 int NumPar = 1;
3189 double params[] = {mass};
3190
3191 int i = CacheCheckReal(ip_csr_ggH_tc_8_cache, NumPar, params);
3192 if (i>=0) {
3193 return ( ip_csr_ggH_tc_8_cache[NumPar][i] );
3194 } else {
3195 double newResult = interpolate (csrH_top_charm_8,mass);
3196 CacheShiftReal(ip_csr_ggH_tc_8_cache, NumPar, params, newResult);
3197 return newResult;
3198 }
3199}
3200
3201
3202
3204 int NumPar = 1;
3205 double params[] = {mass};
3206
3207 int i = CacheCheckReal(ip_csr_ggH_tc_13_cache, NumPar, params);
3208 if (i>=0) {
3209 return ( ip_csr_ggH_tc_13_cache[NumPar][i] );
3210 } else {
3211 double newResult = interpolate (csrH_top_charm_13,mass);
3212 CacheShiftReal(ip_csr_ggH_tc_13_cache, NumPar, params, newResult);
3213 return newResult;
3214 }
3215}
3216
3217
3218
3220 int NumPar = 1;
3221 double params[] = {mass};
3222
3223 int i = CacheCheckReal(ip_csr_ggH_b_8_cache, NumPar, params);
3224 if (i>=0) {
3225 return ( ip_csr_ggH_b_8_cache[NumPar][i] );
3226 } else {
3227 double newResult = interpolate (csrH_bottom_8,mass);
3228 CacheShiftReal(ip_csr_ggH_b_8_cache, NumPar, params, newResult);
3229 return newResult;
3230 }
3231}
3232
3233
3234
3236 int NumPar = 1;
3237 double params[] = {mass};
3238
3239 int i = CacheCheckReal(ip_csr_ggH_b_13_cache, NumPar, params);
3240 if (i>=0) {
3241 return ( ip_csr_ggH_b_13_cache[NumPar][i] );
3242 } else {
3243 double newResult = interpolate (csrH_bottom_13,mass);
3244 CacheShiftReal(ip_csr_ggH_b_13_cache, NumPar, params, newResult);
3245 return newResult;
3246 }
3247}
3248
3249
3250
3252 int NumPar = 1;
3253 double params[] = {mass};
3254
3255 int i = CacheCheckReal(ip_csr_ggA_tc_8_cache, NumPar, params);
3256 if (i>=0) {
3257 return ( ip_csr_ggA_tc_8_cache[NumPar][i] );
3258 } else {
3259 double newResult = interpolate (csrA_top_charm_8,mass);
3260 CacheShiftReal(ip_csr_ggA_tc_8_cache, NumPar, params, newResult);
3261 return newResult;
3262 }
3263}
3264
3265
3266
3268 int NumPar = 1;
3269 double params[] = {mass};
3270
3271 int i = CacheCheckReal(ip_csr_ggA_tc_13_cache, NumPar, params);
3272 if (i>=0) {
3273 return ( ip_csr_ggA_tc_13_cache[NumPar][i] );
3274 } else {
3275 double newResult = interpolate (csrA_top_charm_13,mass);
3276 CacheShiftReal(ip_csr_ggA_tc_13_cache, NumPar, params, newResult);
3277 return newResult;
3278 }
3279}
3280
3281
3282
3284 int NumPar = 1;
3285 double params[] = {mass};
3286
3287 int i = CacheCheckReal(ip_csr_ggA_b_8_cache, NumPar, params);
3288 if (i>=0) {
3289 return ( ip_csr_ggA_b_8_cache[NumPar][i] );
3290 } else {
3291 double newResult = interpolate (csrA_bottom_8,mass);
3292 CacheShiftReal(ip_csr_ggA_b_8_cache, NumPar, params, newResult);
3293 return newResult;
3294 }
3295}
3296
3297
3298
3300 int NumPar = 1;
3301 double params[] = {mass};
3302
3303 int i = CacheCheckReal(ip_csr_ggA_b_13_cache, NumPar, params);
3304 if (i>=0) {
3305 return ( ip_csr_ggA_b_13_cache[NumPar][i] );
3306 } else {
3307 double newResult = interpolate (csrA_bottom_13,mass);
3308 CacheShiftReal(ip_csr_ggA_b_13_cache, NumPar, params, newResult);
3309 return newResult;
3310 }
3311}
3312
3313
3315 int NumPar = 1;
3316 double params[] = {mass};
3317
3318 int i = CacheCheckReal(ip_csr_HpHm_pp_13_LO_cache, NumPar, params);
3319 if (i>=0) {
3320 return ( ip_csr_HpHm_pp_13_LO_cache[NumPar][i] );
3321 } else {
3322 double newResult = interpolate (csrHpHm_pp_13_LO,mass);
3323 CacheShiftReal(ip_csr_HpHm_pp_13_LO_cache, NumPar, params, newResult);
3324 return newResult;
3325 }
3326}
3327
3328
3330 int NumPar = 1;
3331 double params[] = {mass};
3332
3333 int i = CacheCheckReal(ip_csr_HpHm_pp_13_NLO_cache, NumPar, params);
3334 if (i>=0) {
3335 return ( ip_csr_HpHm_pp_13_NLO_cache[NumPar][i] );
3336 } else {
3337 double newResult = interpolateNU (csrHpHm_pp_13_NLO,mass);
3338 CacheShiftReal(ip_csr_HpHm_pp_13_NLO_cache, NumPar, params, newResult);
3339 return newResult;
3340 }
3341}
3342
3343
3344//ATLAS13_bb_phi_bb
3346 int NumPar = 1;
3347 double params[] = {mass};
3348
3349 int i = CacheCheckReal(ip_ex_bb_phi_bb_ATLAS13_cache, NumPar, params);
3350 if (i>=0) {
3351 return ( ip_ex_bb_phi_bb_ATLAS13_cache[NumPar][i] );
3352 } else {
3353 double newResult = interpolate(ATLAS13_bb_phi_bb,mass);
3354 CacheShiftReal(ip_ex_bb_phi_bb_ATLAS13_cache, NumPar, params, newResult);
3355 return newResult;
3356 }
3357}
3358
3359
3360
3361
3363 int NumPar = 1;
3364 double params[] = {mass};
3365
3366 int i = CacheCheckReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params);
3367 if (i>=0) {
3368 return ( ip_ex_tt_phi_tt_ATLAS13_cache[NumPar][i] );
3369 } else {
3370 double newResult = interpolate(ATLAS13_tt_phi_tt,mass);
3371 CacheShiftReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3372 return newResult;
3373 }
3374}
3375
3377 int NumPar = 1;
3378 double params[] = {mass};
3379
3380 int i = CacheCheckReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params);
3381 if (i>=0) {
3382 return ( ip_ex_bb_phi_tt_ATLAS13_cache[NumPar][i] );
3383 } else {
3384 double newResult = interpolate(ATLAS13_bb_phi_tt,mass);
3385 CacheShiftReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3386 return newResult;
3387 }
3388}
3389
3391 int NumPar = 1;
3392 double params[] = {mass};
3393
3394 int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params);
3395 if (i>=0) {
3396 return ( ip_ex_bb_phi_bb_CMS8_cache[NumPar][i] );
3397 } else {
3398 double newResult = interpolate(CMS8_bb_phi_bb,mass);
3399 CacheShiftReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params, newResult);
3400 return newResult;
3401 }
3402}
3403
3405 int NumPar = 1;
3406 double params[] = {mass};
3407
3408 int i = CacheCheckReal(ip_ex_gg_phi_bb_CMS8_cache, NumPar, params);
3409 if (i>=0) {
3410 return ( ip_ex_gg_phi_bb_CMS8_cache[NumPar][i] );
3411 } else {
3412 double newResult = interpolate(CMS8_gg_phi_bb,mass);
3413 CacheShiftReal(ip_ex_gg_phi_bb_CMS8_cache, NumPar, params, newResult);
3414 return newResult;
3415 }
3416}
3417
3418//CMS13_tt_phi3_tt
3419
3421 int NumPar = 1;
3422 double params[] = {mass};
3423
3424 int i = CacheCheckReal(ip_ex_tt_phi2_tt_CMS13_cache, NumPar, params);
3425 if (i>=0) {
3426 return ( ip_ex_tt_phi2_tt_CMS13_cache[NumPar][i] );
3427 } else {
3428 double newResult = interpolate(CMS13_tt_phi2_tt,mass);
3429 CacheShiftReal(ip_ex_tt_phi2_tt_CMS13_cache, NumPar, params, newResult);
3430 return newResult;
3431 }
3432}
3433
3434
3436 int NumPar = 1;
3437 double params[] = {mass};
3438
3439 int i = CacheCheckReal(ip_ex_tt_phi3_tt_CMS13_cache, NumPar, params);
3440 if (i>=0) {
3441 return ( ip_ex_tt_phi3_tt_CMS13_cache[NumPar][i] );
3442 } else {
3443 double newResult = interpolate(CMS13_tt_phi3_tt,mass);
3444 CacheShiftReal(ip_ex_tt_phi3_tt_CMS13_cache, NumPar, params, newResult);
3445 return newResult;
3446 }
3447}
3448
3449
3450
3451
3452
3453
3454
3456 int NumPar = 1;
3457 double params[] = {mass};
3458
3459 int i = CacheCheckReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params);
3460 if (i>=0) {
3461 return ( ip_ex_pp_phi_bb_CMS13_cache[NumPar][i] );
3462 } else {
3463 double newResult = interpolate(CMS13_pp_phi_bb,mass);
3464 CacheShiftReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params, newResult);
3465 return newResult;
3466 }
3467}
3468
3469
3470
3471
3472
3473
3474
3475
3477 int NumPar = 1;
3478 double params[] = {mass};
3479
3480 int i = CacheCheckReal(ip_ex_pp_phi2_bb_light_CMS13_cache, NumPar, params);
3481 if (i>=0) {
3482 return ( ip_ex_pp_phi2_bb_light_CMS13_cache[NumPar][i] );
3483 } else {
3484 double newResult = interpolate(CMS13_pp_phi2_bb_light,mass);
3485 CacheShiftReal(ip_ex_pp_phi2_bb_light_CMS13_cache, NumPar, params, newResult);
3486 return newResult;
3487 }
3488}
3489
3490
3491
3492
3494 int NumPar = 1;
3495 double params[] = {mass};
3496
3497 int i = CacheCheckReal(ip_ex_pp_phi3_bb_light_CMS13_cache, NumPar, params);
3498 if (i>=0) {
3499 return ( ip_ex_pp_phi3_bb_light_CMS13_cache[NumPar][i] );
3500 } else {
3501 double newResult = interpolate(CMS13_pp_phi3_bb_light,mass);
3502 CacheShiftReal(ip_ex_pp_phi3_bb_light_CMS13_cache, NumPar, params, newResult);
3503 return newResult;
3504 }
3505}
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3525 int NumPar = 1;
3526 double params[] = {mass};
3527
3528 int i = CacheCheckReal(ip_ex_gg_phi_mumu_CMS8_cache, NumPar, params);
3529 if (i>=0) {
3530 return ( ip_ex_gg_phi_mumu_CMS8_cache[NumPar][i] );
3531 } else {
3532 double newResult = interpolate(CMS8_gg_phi_mumu,mass);
3533 CacheShiftReal(ip_ex_gg_phi_mumu_CMS8_cache, NumPar, params, newResult);
3534 return newResult;
3535 }
3536}
3537
3538
3540 int NumPar = 1;
3541 double params[] = {mass};
3542
3543 int i = CacheCheckReal(ip_ex_bb_phi_mumu_CMS8_cache, NumPar, params);
3544 if (i>=0) {
3545 return ( ip_ex_bb_phi_mumu_CMS8_cache[NumPar][i] );
3546 } else {
3547 double newResult = interpolate(CMS8_bb_phi_mumu,mass);
3548 CacheShiftReal(ip_ex_bb_phi_mumu_CMS8_cache, NumPar, params, newResult);
3549 return newResult;
3550 }
3551}
3552
3553
3555 int NumPar = 1;
3556 double params[] = {mass};
3557
3558 int i = CacheCheckReal(ip_ex_gg_phi_mumu_CMS13_cache, NumPar, params);
3559 if (i>=0) {
3560 return ( ip_ex_gg_phi_mumu_CMS13_cache[NumPar][i] );
3561 } else {
3562 double newResult = interpolate(CMS13_gg_phi_mumu,mass);
3563 CacheShiftReal(ip_ex_gg_phi_mumu_CMS13_cache, NumPar, params, newResult);
3564 return newResult;
3565 }
3566}
3567
3568
3569
3571 int NumPar = 1;
3572 double params[] = {mass};
3573
3574 int i = CacheCheckReal(ip_ex_bb_phi_mumu_CMS13_cache, NumPar, params);
3575 if (i>=0) {
3576 return ( ip_ex_bb_phi_mumu_CMS13_cache[NumPar][i] );
3577 } else {
3578 double newResult = interpolate(CMS13_bb_phi_mumu,mass);
3579 CacheShiftReal(ip_ex_bb_phi_mumu_CMS13_cache, NumPar, params, newResult);
3580 return newResult;
3581 }
3582}
3583
3584
3586 int NumPar = 1;
3587 double params[] = {mass};
3588
3589 int i = CacheCheckReal(ip_ex_gg_phi_mumu_ATLAS13_cache, NumPar, params);
3590 if (i>=0) {
3591 return ( ip_ex_gg_phi_mumu_ATLAS13_cache[NumPar][i] );
3592 } else {
3593 double newResult = interpolate(ATLAS13_gg_phi_mumu,mass);
3594 CacheShiftReal(ip_ex_gg_phi_mumu_ATLAS13_cache, NumPar, params, newResult);
3595 return newResult;
3596 }
3597}
3598
3599
3600
3602 int NumPar = 1;
3603 double params[] = {mass};
3604
3605 int i = CacheCheckReal(ip_ex_bb_phi_mumu_ATLAS13_cache, NumPar, params);
3606 if (i>=0) {
3607 return ( ip_ex_bb_phi_mumu_ATLAS13_cache[NumPar][i] );
3608 } else {
3609 double newResult = interpolate(ATLAS13_bb_phi_mumu,mass);
3610 CacheShiftReal(ip_ex_bb_phi_mumu_ATLAS13_cache, NumPar, params, newResult);
3611 return newResult;
3612 }
3613}
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3630 int NumPar = 1;
3631 double params[] = {mass};
3632
3633 int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS13_cache, NumPar, params);
3634 if (i>=0) {
3635 return ( ip_ex_bb_phi_bb_CMS13_cache[NumPar][i] );
3636 } else {
3637 double newResult = interpolate(CMS13_bb_phi_bb,mass);
3638 CacheShiftReal(ip_ex_bb_phi_bb_CMS13_cache, NumPar, params, newResult);
3639 return newResult;
3640 }
3641}
3642
3644 int NumPar = 1;
3645 double params[] = {mass};
3646
3647 int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params);
3648 if (i>=0) {
3649 return ( ip_ex_gg_phi_tautau_ATLAS8_cache[NumPar][i] );
3650 } else {
3651 double newResult = interpolate(ATLAS8_gg_phi_tautau,mass);
3652 CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
3653 return newResult;
3654 }
3655}
3656
3658 int NumPar = 1;
3659 double params[] = {mass};
3660
3661 int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params);
3662 if (i>=0) {
3663 return ( ip_ex_gg_phi_tautau_CMS8_cache[NumPar][i] );
3664 } else {
3665 double newResult = interpolate(CMS8_gg_phi_tautau,mass);
3666 CacheShiftReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params, newResult);
3667 return newResult;
3668 }
3669}
3670
3672 int NumPar = 1;
3673 double params[] = {mass};
3674
3675 int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params);
3676 if (i>=0) {
3677 return ( ip_ex_bb_phi_tautau_ATLAS8_cache[NumPar][i] );
3678 } else {
3679 double newResult = interpolate(ATLAS8_bb_phi_tautau,mass);
3680 CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
3681 return newResult;
3682 }
3683}
3684
3686 int NumPar = 1;
3687 double params[] = {mass};
3688
3689 int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params);
3690 if (i>=0) {
3691 return ( ip_ex_bb_phi_tautau_CMS8_cache[NumPar][i] );
3692 } else {
3693 double newResult = interpolate(CMS8_bb_phi_tautau,mass);
3694 CacheShiftReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params, newResult);
3695 return newResult;
3696 }
3697}
3698
3700 int NumPar = 1;
3701 double params[] = {mass};
3702
3703 int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params);
3704 if (i>=0) {
3705 return ( ip_ex_gg_phi_tautau_ATLAS13_cache[NumPar][i] );
3706 } else {
3707 double newResult = interpolate(ATLAS13_gg_phi_tautau,mass);
3708 CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3709 return newResult;
3710 }
3711}
3712
3714 int NumPar = 1;
3715 double params[] = {mass};
3716
3717 int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params);
3718 if (i>=0) {
3719 return ( ip_ex_gg_phi_tautau_CMS13_cache[NumPar][i] );
3720 } else {
3721 double newResult = interpolate(CMS13_gg_phi_tautau,mass);
3722 CacheShiftReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params, newResult);
3723 return newResult;
3724 }
3725}
3726
3728 int NumPar = 1;
3729 double params[] = {mass};
3730
3731 int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params);
3732 if (i>=0) {
3733 return ( ip_ex_bb_phi_tautau_ATLAS13_cache[NumPar][i] );
3734 } else {
3735 double newResult = interpolate(ATLAS13_bb_phi_tautau,mass);
3736 CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3737 return newResult;
3738 }
3739}
3740
3742 int NumPar = 1;
3743 double params[] = {mass};
3744
3745 int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params);
3746 if (i>=0) {
3747 return ( ip_ex_bb_phi_tautau_CMS13_cache[NumPar][i] );
3748 } else {
3749 double newResult = interpolate(CMS13_bb_phi_tautau,mass);
3750 CacheShiftReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params, newResult);
3751 return newResult;
3752 }
3753}
3754
3756 int NumPar = 1;
3757 double params[] = {mass};
3758
3759 int i = CacheCheckReal(ip_ex_gg_phi_gaga_ATLAS8_cache, NumPar, params);
3760 if (i>=0) {
3761 return ( ip_ex_gg_phi_gaga_ATLAS8_cache[NumPar][i] );
3762 } else {
3763 double newResult = interpolate(ATLAS8_gg_phi_gaga,mass);
3764 CacheShiftReal(ip_ex_gg_phi_gaga_ATLAS8_cache, NumPar, params, newResult);
3765 return newResult;
3766 }
3767}
3768
3770 int NumPar = 1;
3771 double params[] = {mass};
3772
3773 int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params);
3774 if (i>=0) {
3775 return ( ip_ex_pp_phi_gaga_ATLAS13_cache[NumPar][i] );
3776 } else {
3777 double newResult = interpolate(ATLAS13_pp_phi_gaga,mass);
3778 CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params, newResult);
3779 return newResult;
3780 }
3781}
3782
3784 int NumPar = 1;
3785 double params[] = {mass};
3786
3787 int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params);
3788 if (i>=0) {
3789 return ( ip_ex_gg_phi_gaga_CMS13_cache[NumPar][i] );
3790 } else {
3791 double newResult = interpolate(CMS13_gg_phi_gaga,mass);
3792 CacheShiftReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params, newResult);
3793 return newResult;
3794 }
3795}
3796
3798 int NumPar = 1;
3799 double params[] = {mass};
3800
3801 int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params);
3802 if (i>=0) {
3803 return ( ip_ex_pp_phi_Zga_llga_ATLAS8_cache[NumPar][i] );
3804 } else {
3805 double newResult = interpolate(ATLAS8_pp_phi_Zga_llga,mass);
3806 CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params, newResult);
3807 return newResult;
3808 }
3809}
3810
3812 int NumPar = 1;
3813 double params[] = {mass};
3814
3815 int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_CMS8_cache, NumPar, params);
3816 if (i>=0) {
3817 return ( ip_ex_pp_phi_Zga_llga_CMS8_cache[NumPar][i] );
3818 } else {
3819 double newResult = interpolate(CMS8_pp_phi_Zga_llga,mass);
3820 CacheShiftReal(ip_ex_pp_phi_Zga_llga_CMS8_cache, NumPar, params, newResult);
3821 return newResult;
3822 }
3823}
3824
3826 int NumPar = 1;
3827 double params[] = {mass};
3828
3829 int i = CacheCheckReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params);
3830 if (i>=0) {
3831 return ( ip_ex_gg_phi_Zga_llga_ATLAS13_cache[NumPar][i] );
3832 } else {
3833 double newResult = interpolate(ATLAS13_gg_phi_Zga_llga,mass);
3834 CacheShiftReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params, newResult);
3835 return newResult;
3836 }
3837}
3838
3840 int NumPar = 1;
3841 double params[] = {mass};
3842
3843 int i = CacheCheckReal(ip_ex_gg_phi_Zga_qqga_ATLAS13_cache, NumPar, params);
3844 if (i>=0) {
3845 return ( ip_ex_gg_phi_Zga_qqga_ATLAS13_cache[NumPar][i] );
3846 } else {
3847 double newResult = interpolate(ATLAS13_gg_phi_Zga_qqga,mass);
3848 CacheShiftReal(ip_ex_gg_phi_Zga_qqga_ATLAS13_cache, NumPar, params, newResult);
3849 return newResult;
3850 }
3851}
3852
3854 int NumPar = 1;
3855 double params[] = {mass};
3856
3857 int i = CacheCheckReal(ip_ex_gg_phi_Zga_CMS13_cache, NumPar, params);
3858 if (i>=0) {
3859 return ( ip_ex_gg_phi_Zga_CMS13_cache[NumPar][i] );
3860 } else {
3861 double newResult = interpolate(CMS13_gg_phi_Zga,mass);
3862 CacheShiftReal(ip_ex_gg_phi_Zga_CMS13_cache, NumPar, params, newResult);
3863 return newResult;
3864 }
3865}
3866
3868 int NumPar = 1;
3869 double params[] = {mass};
3870
3871 int i = CacheCheckReal(ip_ex_gg_phi_ZZ_ATLAS8_cache, NumPar, params);
3872 if (i>=0) {
3873 return ( ip_ex_gg_phi_ZZ_ATLAS8_cache[NumPar][i] );
3874 } else {
3875 double newResult = interpolate(ATLAS8_gg_phi_ZZ,mass);
3876 CacheShiftReal(ip_ex_gg_phi_ZZ_ATLAS8_cache, NumPar, params, newResult);
3877 return newResult;
3878 }
3879}
3880
3882 int NumPar = 1;
3883 double params[] = {mass};
3884
3885 int i = CacheCheckReal(ip_ex_VV_phi_ZZ_ATLAS8_cache, NumPar, params);
3886 if (i>=0) {
3887 return ( ip_ex_VV_phi_ZZ_ATLAS8_cache[NumPar][i] );
3888 } else {
3889 double newResult = interpolate(ATLAS8_VV_phi_ZZ,mass);
3890 CacheShiftReal(ip_ex_VV_phi_ZZ_ATLAS8_cache, NumPar, params, newResult);
3891 return newResult;
3892 }
3893}
3894
3896 int NumPar = 1;
3897 double params[] = {mass};
3898
3900 if (i>=0) {
3901 return ( ip_ex_gg_phi_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
3902 } else {
3903 double newResult = interpolate(ATLAS13_gg_phi_ZZ_llllnunu,mass);
3904 CacheShiftReal(ip_ex_gg_phi_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
3905 return newResult;
3906 }
3907}
3908
3910 int NumPar = 1;
3911 double params[] = {mass};
3912
3914 if (i>=0) {
3915 return ( ip_ex_VV_phi_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
3916 } else {
3917 double newResult = interpolate(ATLAS13_VV_phi_ZZ_llllnunu,mass);
3918 CacheShiftReal(ip_ex_VV_phi_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
3919 return newResult;
3920 }
3921}
3922
3924 int NumPar = 1;
3925 double params[] = {mass};
3926
3928 if (i>=0) {
3929 return ( ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
3930 } else {
3931 double newResult = interpolate(ATLAS13_gg_phi_ZZ_qqllnunu,mass);
3932 CacheShiftReal(ip_ex_gg_phi_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
3933 return newResult;
3934 }
3935}
3936
3938 int NumPar = 1;
3939 double params[] = {mass};
3940
3942 if (i>=0) {
3943 return ( ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
3944 } else {
3945 double newResult = interpolate(ATLAS13_VV_phi_ZZ_qqllnunu,mass);
3946 CacheShiftReal(ip_ex_VV_phi_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
3947 return newResult;
3948 }
3949}
3950
3952 int NumPar = 1;
3953 double params[] = {mass};
3954
3956 if (i>=0) {
3957 return ( ip_ex_pp_phi_ZZ_llqqnunull_CMS13_cache[NumPar][i] );
3958 } else {
3959 double newResult = interpolate(CMS13_pp_phi_ZZ_llqqnunull,mass);
3960 CacheShiftReal(ip_ex_pp_phi_ZZ_llqqnunull_CMS13_cache, NumPar, params, newResult);
3961 return newResult;
3962 }
3963}
3964
3966 int NumPar = 1;
3967 double params[] = {mass};
3968
3969 int i = CacheCheckReal(ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache, NumPar, params);
3970 if (i>=0) {
3971 return ( ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache[NumPar][i] );
3972 } else {
3973 double newResult = interpolate(CMS13_pp_phi_ZZ_qqnunu,mass);
3974 CacheShiftReal(ip_ex_pp_phi_ZZ_qqnunu_CMS13_cache, NumPar, params, newResult);
3975 return newResult;
3976 }
3977}
3978
3980 int NumPar = 1;
3981 double params[] = {mass};
3982
3983 int i = CacheCheckReal(ip_ex_gg_phi_WW_ATLAS8_cache, NumPar, params);
3984 if (i>=0) {
3985 return ( ip_ex_gg_phi_WW_ATLAS8_cache[NumPar][i] );
3986 } else {
3987 double newResult = interpolate(ATLAS8_gg_phi_WW,mass);
3988 CacheShiftReal(ip_ex_gg_phi_WW_ATLAS8_cache, NumPar, params, newResult);
3989 return newResult;
3990 }
3991}
3992
3994 int NumPar = 1;
3995 double params[] = {mass};
3996
3997 int i = CacheCheckReal(ip_ex_VV_phi_WW_ATLAS8_cache, NumPar, params);
3998 if (i>=0) {
3999 return ( ip_ex_VV_phi_WW_ATLAS8_cache[NumPar][i] );
4000 } else {
4001 double newResult = interpolate(ATLAS8_VV_phi_WW,mass);
4002 CacheShiftReal(ip_ex_VV_phi_WW_ATLAS8_cache, NumPar, params, newResult);
4003 return newResult;
4004 }
4005}
4006
4007
4008
4009
4010
4011
4013 int NumPar = 1;
4014 double params[] = {mass};
4015
4016 int i = CacheCheckReal(ip_ex_gg_phi_WW_heavy_CMS13_cache, NumPar, params);
4017 if (i>=0) {
4018 return ( ip_ex_gg_phi_WW_heavy_CMS13_cache[NumPar][i] );
4019 } else {
4020 double newResult = interpolate(CMS13_gg_phi_WW_heavy,mass);
4021 CacheShiftReal(ip_ex_gg_phi_WW_heavy_CMS13_cache, NumPar, params, newResult);
4022 return newResult;
4023 }
4024}
4025
4026
4027
4028
4029
4031 int NumPar = 1;
4032 double params[] = {mass};
4033
4034 int i = CacheCheckReal(ip_ex_VV_phi_WW_heavy_CMS13_cache, NumPar, params);
4035 if (i>=0) {
4036 return ( ip_ex_VV_phi_WW_heavy_CMS13_cache[NumPar][i] );
4037 } else {
4038 double newResult = interpolate(CMS13_VV_phi_WW_heavy,mass);
4039 CacheShiftReal(ip_ex_VV_phi_WW_heavy_CMS13_cache, NumPar, params, newResult);
4040 return newResult;
4041 }
4042}
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4055 int NumPar = 1;
4056 double params[] = {mass};
4057
4058 int i = CacheCheckReal(ip_ex_gg_phi_WW_CMS13_cache, NumPar, params);
4059 if (i>=0) {
4060 return ( ip_ex_gg_phi_WW_CMS13_cache[NumPar][i] );
4061 } else {
4062 double newResult = interpolate(CMS13_gg_phi_WW,mass);
4063 CacheShiftReal(ip_ex_gg_phi_WW_CMS13_cache, NumPar, params, newResult);
4064 return newResult;
4065 }
4066}
4067
4068
4069
4070
4071
4073 int NumPar = 1;
4074 double params[] = {mass};
4075
4076 int i = CacheCheckReal(ip_ex_VV_phi_WW_CMS13_cache, NumPar, params);
4077 if (i>=0) {
4078 return ( ip_ex_VV_phi_WW_CMS13_cache[NumPar][i] );
4079 } else {
4080 double newResult = interpolate(CMS13_VV_phi_WW,mass);
4081 CacheShiftReal(ip_ex_VV_phi_WW_CMS13_cache, NumPar, params, newResult);
4082 return newResult;
4083 }
4084}
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4104 int NumPar = 1;
4105 double params[] = {mass};
4106
4108 if (i>=0) {
4109 return ( ip_ex_gg_phi_WW_enumunu_ATLAS13_cache[NumPar][i] );
4110 } else {
4111 double newResult = interpolate(ATLAS13_gg_phi_WW_enumunu,mass);
4112 CacheShiftReal(ip_ex_gg_phi_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4113 return newResult;
4114 }
4115}
4116
4118 int NumPar = 1;
4119 double params[] = {mass};
4120
4122 if (i>=0) {
4123 return ( ip_ex_VV_phi_WW_enumunu_ATLAS13_cache[NumPar][i] );
4124 } else {
4125 double newResult = interpolate(ATLAS13_VV_phi_WW_enumunu,mass);
4126 CacheShiftReal(ip_ex_VV_phi_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4127 return newResult;
4128 }
4129}
4130
4132 int NumPar = 1;
4133 double params[] = {mass};
4134
4136 if (i>=0) {
4137 return ( ip_ex_ggVV_phi_WW_lnulnu_CMS13_cache[NumPar][i] );
4138 } else {
4139 double newResult = interpolate(CMS13_ggVV_phi_WW_lnulnu,mass);
4140 CacheShiftReal(ip_ex_ggVV_phi_WW_lnulnu_CMS13_cache, NumPar, params, newResult);
4141 return newResult;
4142 }
4143}
4144
4146 int NumPar = 1;
4147 double params[] = {mass};
4148
4149 int i = CacheCheckReal(ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache, NumPar, params);
4150 if (i>=0) {
4151 return ( ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4152 } else {
4153 double newResult = interpolate(ATLAS13_gg_phi_WW_lnuqq,mass);
4154 CacheShiftReal(ip_ex_gg_phi_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4155 return newResult;
4156 }
4157}
4158
4160 int NumPar = 1;
4161 double params[] = {mass};
4162
4163 int i = CacheCheckReal(ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache, NumPar, params);
4164 if (i>=0) {
4165 return ( ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4166 } else {
4167 double newResult = interpolate(ATLAS13_VV_phi_WW_lnuqq,mass);
4168 CacheShiftReal(ip_ex_VV_phi_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4169 return newResult;
4170 }
4171}
4172
4174 int NumPar = 1;
4175 double params[] = {mass};
4176
4177 int i = CacheCheckReal(ip_ex_pp_phi_WW_lnuqq_CMS13_cache, NumPar, params);
4178 if (i>=0) {
4179 return ( ip_ex_pp_phi_WW_lnuqq_CMS13_cache[NumPar][i] );
4180 } else {
4181 double newResult = interpolate(CMS13_pp_phi_WW_lnuqq,mass);
4182 CacheShiftReal(ip_ex_pp_phi_WW_lnuqq_CMS13_cache, NumPar, params, newResult);
4183 return newResult;
4184 }
4185}
4186
4188 int NumPar = 1;
4189 double params[] = {mass};
4190
4191 int i = CacheCheckReal(ip_ex_pp_phi_VV_CMS8_cache, NumPar, params);
4192 if (i>=0) {
4193 return ( ip_ex_pp_phi_VV_CMS8_cache[NumPar][i] );
4194 } else {
4195 double newResult = interpolate(CMS8_pp_phi_VV,mass);
4196 CacheShiftReal(ip_ex_pp_phi_VV_CMS8_cache, NumPar, params, newResult);
4197 return newResult;
4198 }
4199}
4200
4202 int NumPar = 1;
4203 double params[] = {mass};
4204
4205 int i = CacheCheckReal(ip_ex_pp_phi_VV_qqqq_ATLAS13_cache, NumPar, params);
4206 if (i>=0) {
4207 return ( ip_ex_pp_phi_VV_qqqq_ATLAS13_cache[NumPar][i] );
4208 } else {
4209 double newResult = interpolate(ATLAS13_pp_phi_VV_qqqq,mass);
4210 CacheShiftReal(ip_ex_pp_phi_VV_qqqq_ATLAS13_cache, NumPar, params, newResult);
4211 return newResult;
4212 }
4213}
4214
4215
4216
4217
4218
4219
4220
4222 int NumPar = 1;
4223 double params[] = {mass};
4224
4225 int i = CacheCheckReal(ip_ex_gg_phi_VV_llqq_ATLAS13_cache, NumPar, params);
4226 if (i>=0) {
4227 return ( ip_ex_gg_phi_VV_llqq_ATLAS13_cache[NumPar][i] );
4228 } else {
4229 double newResult = interpolate(ATLAS13_gg_phi_VV_llqq,mass);
4230 CacheShiftReal(ip_ex_gg_phi_VV_llqq_ATLAS13_cache, NumPar, params, newResult);
4231 return newResult;
4232 }
4233}
4234
4235
4237 int NumPar = 1;
4238 double params[] = {mass};
4239
4240 int i = CacheCheckReal(ip_ex_VV_phi_VV_llqq_ATLAS13_cache, NumPar, params);
4241 if (i>=0) {
4242 return ( ip_ex_VV_phi_VV_llqq_ATLAS13_cache[NumPar][i] );
4243 } else {
4244 double newResult = interpolate(ATLAS13_VV_phi_VV_llqq,mass);
4245 CacheShiftReal(ip_ex_VV_phi_VV_llqq_ATLAS13_cache, NumPar, params, newResult);
4246 return newResult;
4247 }
4248}
4249
4250
4251
4252
4253
4254
4255
4256
4258 int NumPar = 1;
4259 double params[] = {mass};
4260
4261 int i = CacheCheckReal(ip_ex_gg_phi_phi1phi1_ATLAS8_cache, NumPar, params);
4262 if (i>=0) {
4263 return(ip_ex_gg_phi_phi1phi1_ATLAS8_cache[NumPar][i] );
4264 } else {
4265 double newResult = interpolate (ATLAS8_gg_phi_phi1phi1,mass);
4266 CacheShiftReal(ip_ex_gg_phi_phi1phi1_ATLAS8_cache, NumPar, params, newResult);
4267 return newResult;
4268 }
4269}
4270
4272 int NumPar = 1;
4273 double params[] = {mass};
4274
4276 if (i>=0) {
4277 return(ip_ex_pp_phi_phi1phi1_bbbb_CMS8_cache[NumPar][i] );
4278 } else {
4279 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbbb,mass);
4280 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_CMS8_cache, NumPar, params, newResult);
4281 return newResult;
4282 }
4283}
4284
4286 int NumPar = 1;
4287 double params[] = {mass};
4288
4290 if (i>=0) {
4291 return(ip_ex_pp_phi_phi1phi1_bbgaga_CMS8_cache[NumPar][i] );
4292 } else {
4293 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbgaga,mass);
4294 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbgaga_CMS8_cache, NumPar, params, newResult);
4295 return newResult;
4296 }
4297}
4298
4300 int NumPar = 1;
4301 double params[] = {mass};
4302
4304 if (i>=0) {
4306 } else {
4307 double newResult = interpolate (CMS8_gg_phi_phi1phi1_bbtautau,mass);
4309 return newResult;
4310 }
4311}
4312
4314 int NumPar = 1;
4315 double params[] = {mass};
4316
4318 if (i>=0) {
4320 } else {
4321 double newResult = interpolate (CMS8_pp_phi_phi1phi1_bbtautau,mass);
4323 return newResult;
4324 }
4325}
4326
4328 int NumPar = 1;
4329 double params[] = {mass};
4330
4332 if (i>=0) {
4333 return(ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13_cache[NumPar][i] );
4334 } else {
4335 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbbb,mass);
4336 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_ATLAS13_cache, NumPar, params, newResult);
4337 return newResult;
4338 }
4339}
4340
4342 int NumPar = 1;
4343 double params[] = {mass};
4344
4346 if (i>=0) {
4347 return(ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13_cache[NumPar][i] );
4348 } else {
4349 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbbb_1,mass);
4350 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_1_CMS13_cache, NumPar, params, newResult);
4351 return newResult;
4352 }
4353}
4354
4356 int NumPar = 1;
4357 double params[] = {mass};
4358
4360 if (i>=0) {
4361 return(ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13_cache[NumPar][i] );
4362 } else {
4363 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbbb_2,mass);
4364 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbbb_2_CMS13_cache, NumPar, params, newResult);
4365 return newResult;
4366 }
4367}
4368
4370 int NumPar = 1;
4371 double params[] = {mass};
4372
4374 if (i>=0) {
4376 } else {
4377 double newResult = interpolate(ATLAS13_pp_phi_phi1phi1_bbgaga,mass);
4379 return newResult;
4380 }
4381}
4382
4384 int NumPar = 1;
4385 double params[] = {mass};
4386
4388 if (i>=0) {
4389 return(ip_ex_pp_phi_phi1phi1_bbgaga_CMS13_cache[NumPar][i] );
4390 } else {
4391 double newResult = interpolate(CMS13_pp_phi_phi1phi1_bbgaga,mass);
4392 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbgaga_CMS13_cache, NumPar, params, newResult);
4393 return newResult;
4394 }
4395}
4396
4397
4398/*
4399double GeneralTHDMcache::ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(double mass){
4400 int NumPar = 1;
4401 double params[] = {mass};
4402
4403 int i = CacheCheckReal(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache, NumPar, params);
4404 if (i>=0) {
4405 return(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache[NumPar][i] );
4406 } else {
4407 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau,mass);
4408 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13_cache, NumPar, params, newResult);
4409 return newResult;
4410 }
4411}
4412*/
4413
4414
4415
4417 int NumPar = 1;
4418 double params[] = {mass};
4419
4421 if (i>=0) {
4423 } else {
4424 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau_1,mass);
4426 return newResult;
4427 }
4428}
4429
4430
4432 int NumPar = 1;
4433 double params[] = {mass};
4434
4436 if (i>=0) {
4438 } else {
4439 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbtautau_2,mass);
4441 return newResult;
4442 }
4443}
4444
4446 int NumPar = 1;
4447 double params[] = {mass};
4448
4450 if (i>=0) {
4452 } else {
4453 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbtautau_1,mass);
4455 return newResult;
4456 }
4457}
4458
4460 int NumPar = 1;
4461 double params[] = {mass};
4462
4464 if (i>=0) {
4466 } else {
4467 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbtautau_2,mass);
4469 return newResult;
4470 }
4471}
4472
4474 int NumPar = 1;
4475 double params[] = {mass};
4476
4478 if (i>=0) {
4479 return(ip_ex_pp_phi_phi1phi1_bbVV_CMS13_cache[NumPar][i] );
4480 } else {
4481 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbVV,mass);
4482 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbVV_CMS13_cache, NumPar, params, newResult);
4483 return newResult;
4484 }
4485}
4486
4487
4488
4490 int NumPar = 1;
4491 double params[] = {mass};
4492
4494 if (i>=0) {
4496 } else {
4497 double newResult = interpolate (CMS13_pp_phi_phi1phi1_4WOr2W2tauOr4tau,mass);
4499 return newResult;
4500 }
4501}
4502
4503
4504
4505
4506//CMS13_pp_phi_phi1phi1_bbWW_qqlnu
4508 int NumPar = 1;
4509 double params[] = {mass};
4510
4512 if (i>=0) {
4514 } else {
4515 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbWW_qqlnu,mass);
4517 return newResult;
4518 }
4519}
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536//CMS13_pp_phi_phi1phi1_bbZZ_lljj
4538 int NumPar = 1;
4539 double params[] = {mass};
4540
4542 if (i>=0) {
4544 } else {
4545 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbZZ_lljj,mass);
4547 return newResult;
4548 }
4549}
4550
4551
4552
4553
4554//CMS13_pp_phi_phi1phi1_bbZZ_llnunu
4556 int NumPar = 1;
4557 double params[] = {mass};
4558
4560 if (i>=0) {
4562 } else {
4563 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbZZ_llnunu,mass);
4565 return newResult;
4566 }
4567}
4568
4569
4570
4571
4572//CMS13_pp_phi_phi1phi1_bbWWorbbtautau
4574 int NumPar = 1;
4575 double params[] = {mass};
4576
4578 if (i>=0) {
4580 } else {
4581 double newResult = interpolate (CMS13_pp_phi_phi1phi1_bbWWorbbtautau,mass);
4583 return newResult;
4584 }
4585}
4586
4587
4588//CMS13_pp_phi_phi1phi1_bbWWorbbtautau_low_masses
4590 int NumPar = 1;
4591 double params[] = {mass};
4592
4594 if (i>=0) {
4596 } else {
4599 return newResult;
4600 }
4601}
4602
4603
4604
4605
4607 int NumPar = 1;
4608 double params[] = {mass};
4609
4611 if (i>=0) {
4612 return(ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13_cache[NumPar][i] );
4613 } else {
4614 double newResult = interpolate (ATLAS13_pp_phi_phi1phi1_bbWW,mass);
4615 CacheShiftReal(ip_ex_pp_phi_phi1phi1_bbWW_ATLAS13_cache, NumPar, params, newResult);
4616 return newResult;
4617 }
4618}
4619
4620
4621
4622
4623
4624
4625
4626
4628 int NumPar = 1;
4629 double params[] = {mass};
4630
4632 if (i>=0) {
4634 } else {
4635 double newResult = interpolate (ATLAS13_gg_phi_phi1phi1_gagaWW,mass);
4637 return newResult;
4638 }
4639}
4640
4642 int NumPar = 1;
4643 double params[] = {mass};
4644
4645 int i = CacheCheckReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache, NumPar, params);
4646 if (i>=0) {
4647 return ( ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache[NumPar][i] );
4648 } else {
4649 double newResult = interpolate(ATLAS8_gg_phi_phi1Z_bbZ,mass);
4650 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS8_cache, NumPar, params, newResult);
4651 return newResult;
4652 }
4653}
4654
4656 int NumPar = 1;
4657 double params[] = {mass};
4658
4659 int i = CacheCheckReal(ip_ex_gg_phi_phi1Z_bbll_CMS8_cache, NumPar, params);
4660 if (i>=0) {
4661 return ( ip_ex_gg_phi_phi1Z_bbll_CMS8_cache[NumPar][i] );
4662 } else {
4663 double newResult = interpolate(CMS8_gg_phi_phi1Z_bbll,mass);
4664 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbll_CMS8_cache, NumPar, params, newResult);
4665 return newResult;
4666 }
4667}
4668
4670 int NumPar = 1;
4671 double params[] = {mass};
4672
4674 if (i>=0) {
4675 return ( ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8_cache[NumPar][i] );
4676 } else {
4677 double newResult = interpolate(ATLAS8_gg_phi_phi1Z_tautauZ,mass);
4678 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautauZ_ATLAS8_cache, NumPar, params, newResult);
4679 return newResult;
4680 }
4681}
4682
4684 int NumPar = 1;
4685 double params[] = {mass};
4686
4688 if (i>=0) {
4689 return ( ip_ex_gg_phi_phi1Z_tautaull_CMS8_cache[NumPar][i] );
4690 } else {
4691 double newResult = interpolate(CMS8_gg_phi_phi1Z_tautaull,mass);
4692 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautaull_CMS8_cache, NumPar, params, newResult);
4693 return newResult;
4694 }
4695}
4696
4698 int NumPar = 1;
4699 double params[] = {mass};
4700
4702 if (i>=0) {
4703 return ( ip_ex_gg_phi_phi1Z_bbZ_ATLAS13_cache[NumPar][i] );
4704 } else {
4705 double newResult = interpolate(ATLAS13_gg_phi_phi1Z_bbZ,mass);
4706 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_ATLAS13_cache, NumPar, params, newResult);
4707 return newResult;
4708 }
4709}
4710
4712 int NumPar = 1;
4713 double params[] = {mass};
4714
4716 if (i>=0) {
4717 return ( ip_ex_gg_phi_phi1Z_bbZ_1_CMS13_cache[NumPar][i] );
4718 } else {
4719 double newResult = interpolate(CMS13_gg_phi_phi1Z_bbZ_1,mass);
4720 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_1_CMS13_cache, NumPar, params, newResult);
4721 return newResult;
4722 }
4723}
4724
4726 int NumPar = 1;
4727 double params[] = {mass};
4728
4730 if (i>=0) {
4731 return ( ip_ex_gg_phi_phi1Z_bbZ_2_CMS13_cache[NumPar][i] );
4732 } else {
4733 double newResult = interpolate(CMS13_gg_phi_phi1Z_bbZ_2,mass);
4734 CacheShiftReal(ip_ex_gg_phi_phi1Z_bbZ_2_CMS13_cache, NumPar, params, newResult);
4735 return newResult;
4736 }
4737}
4738
4740 int NumPar = 1;
4741 double params[] = {mass};
4742
4744 if (i>=0) {
4745 return ( ip_ex_bb_phi_phi1Z_bbZ_ATLAS13_cache[NumPar][i] );
4746 } else {
4747 double newResult = interpolate(ATLAS13_bb_phi_phi1Z_bbZ,mass);
4748 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_ATLAS13_cache, NumPar, params, newResult);
4749 return newResult;
4750 }
4751}
4752
4753
4754
4755
4757 int NumPar = 1;
4758 double params[] = {mass};
4759
4761 if (i>=0) {
4762 return ( ip_ex_gg_phi_phi1Z_tautaull_CMS13_cache[NumPar][i] );
4763 } else {
4764 double newResult = interpolate(CMS13_gg_phi_phi1Z_tautaull,mass);
4765 CacheShiftReal(ip_ex_gg_phi_phi1Z_tautaull_CMS13_cache, NumPar, params, newResult);
4766 return newResult;
4767 }
4768}
4769
4770
4771
4772
4773//ATLAS13_bb_phi_phi1Z_tautaull
4774
4775
4777 int NumPar = 1;
4778 double params[] = {mass};
4779
4781 if (i>=0) {
4782 return ( ip_ex_bb_phi_phi1Z_bbZ_1_CMS13_cache[NumPar][i] );
4783 } else {
4784 double newResult = interpolate(CMS13_bb_phi_phi1Z_bbZ_1,mass);
4785 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_1_CMS13_cache, NumPar, params, newResult);
4786 return newResult;
4787 }
4788}
4789
4791 int NumPar = 1;
4792 double params[] = {mass};
4793
4795 if (i>=0) {
4796 return ( ip_ex_bb_phi_phi1Z_bbZ_2_CMS13_cache[NumPar][i] );
4797 } else {
4798 double newResult = interpolate(CMS13_bb_phi_phi1Z_bbZ_2,mass);
4799 CacheShiftReal(ip_ex_bb_phi_phi1Z_bbZ_2_CMS13_cache, NumPar, params, newResult);
4800 return newResult;
4801 }
4802}
4803
4805 int NumPar = 2;
4806 double params[] = {mi, mj};
4807
4809 if (i>=0) {
4810 return ( ip_ex_pp_phii_phijZ_bbll_1_CMS8_cache[NumPar][i] );
4811 } else {
4812 double newResult = interpolate2D(CMS8_pp_phii_phijZ_bbll_1, mi, mj);
4813 CacheShiftReal(ip_ex_pp_phii_phijZ_bbll_1_CMS8_cache, NumPar, params, newResult);
4814 return newResult;
4815 }
4816}
4817
4818
4819
4821 int NumPar = 2;
4822 double params[] = {mi, mj};
4823
4825 if (i>=0) {
4826 return ( ip_ex_pp_phii_phijZ_bbll_2_CMS8_cache[NumPar][i] );
4827 } else {
4828 double newResult = interpolate2D(CMS8_pp_phii_phijZ_bbll_2,mi, mj);
4829 CacheShiftReal(ip_ex_pp_phii_phijZ_bbll_2_CMS8_cache, NumPar, params, newResult);
4830 return newResult;
4831 }
4832}
4833
4834
4836 int NumPar = 2;
4837 double params[] = {mi, mj};
4838
4840 if (i>=0) {
4841 return ( ip_ex_pp_phii_phijZ_tautaull_1_CMS8_cache[NumPar][i] );
4842 } else {
4843 double newResult = interpolate2D(CMS8_pp_phii_phijZ_tautaull_1,mi, mj);
4845 return newResult;
4846 }
4847}
4848
4849
4850
4852 int NumPar = 2;
4853 double params[] = {mi, mj};
4854
4856 if (i>=0) {
4857 return ( ip_ex_pp_phii_phijZ_tautaull_2_CMS8_cache[NumPar][i] );
4858 } else {
4859 double newResult = interpolate2D(CMS8_pp_phii_phijZ_tautaull_2, mi, mj);
4861 return newResult;
4862 }
4863}
4864
4865
4866
4868 int NumPar = 2;
4869 double params[] = {mj, mi};
4870
4872 if (i>=0) {
4873 return ( ip_ex_gg_phii_phijZ_bbZ_ATLAS13_cache[NumPar][i] );
4874 } else {
4875 double newResult = interpolate2DtriangularData(ATLAS13_gg_phii_phijZ_bbZ, mj, mi);
4876
4877 CacheShiftReal(ip_ex_gg_phii_phijZ_bbZ_ATLAS13_cache, NumPar, params, newResult);
4878 return newResult;
4879 }
4880}
4881
4882
4884 int NumPar = 2;
4885 double params[] = {mj, mi};
4886
4888 if (i>=0) {
4889 return ( ip_ex_bb_phii_phijZ_bbZ_ATLAS13_cache[NumPar][i] );
4890 } else {
4891 double newResult = interpolate2DtriangularData(ATLAS13_bb_phii_phijZ_bbZ, mj, mi);
4892 CacheShiftReal(ip_ex_bb_phii_phijZ_bbZ_ATLAS13_cache, NumPar, params, newResult);
4893 return newResult;
4894 }
4895}
4896
4897
4898
4899
4901 int NumPar = 2;
4902 double params[] = {mj, mi};
4903
4905 if (i>=0) {
4906 return ( ip_ex_gg_phii_phijZ_WWZ_ATLAS13_cache[NumPar][i] );
4907 } else {
4908 double newResult = interpolate2DtriangularData(ATLAS13_gg_phii_phijZ_WWZ, mj, mi);
4909 CacheShiftReal(ip_ex_gg_phii_phijZ_WWZ_ATLAS13_cache, NumPar, params, newResult);
4910 return newResult;
4911 }
4912}
4913
4914
4915
4916
4918 int NumPar = 1;
4919 double params[] = {mass};
4920
4921 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params);
4922 if (i>=0) {
4923 return(ip_ex_pp_Hpm_taunu_ATLAS8_cache[NumPar][i] );
4924 } else {
4925 double newResult = interpolate (ATLAS8_pp_Hpm_taunu,mass);
4926 CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params, newResult);
4927 return newResult;
4928 }
4929}
4930
4931
4932
4934 int NumPar = 1;
4935 double params[] = {mass};
4936
4937 int i = CacheCheckReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params);
4938 if (i>=0) {
4939 return(ip_ex_pp_Hp_taunu_CMS8_cache[NumPar][i] );
4940 } else {
4941 double newResult = interpolate (CMS8_pp_Hp_taunu,mass);
4942 CacheShiftReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params, newResult);
4943 return newResult;
4944 }
4945}
4946
4947
4948
4950 int NumPar = 1;
4951 double params[] = {mass};
4952
4953 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params);
4954 if (i>=0) {
4955 return(ip_ex_pp_Hpm_taunu_ATLAS13_cache[NumPar][i] );
4956 } else {
4957 double newResult = interpolate (ATLAS13_pp_Hpm_taunu,mass);
4958 CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params, newResult);
4959 return newResult;
4960 }
4961}
4962
4963
4964
4966 int NumPar = 1;
4967 double params[] = {mass};
4968
4969 int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params);
4970 if (i>=0) {
4971 return(ip_ex_pp_Hpm_taunu_CMS13_cache[NumPar][i] );
4972 } else {
4973 double newResult = interpolate (CMS13_pp_Hpm_taunu,mass);
4974 CacheShiftReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params, newResult);
4975 return newResult;
4976 }
4977}
4978
4979
4980
4982 int NumPar = 1;
4983 double params[] = {mass};
4984
4985 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params);
4986 if (i>=0) {
4987 return(ip_ex_pp_Hpm_tb_ATLAS8_cache[NumPar][i] );
4988 } else {
4989 double newResult = interpolate (ATLAS8_pp_Hpm_tb,mass);
4990 CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params, newResult);
4991 return newResult;
4992 }
4993}
4994
4995
4996
4998 int NumPar = 1;
4999 double params[] = {mass};
5000
5001 int i = CacheCheckReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params);
5002 if (i>=0) {
5003 return(ip_ex_pp_Hp_tb_CMS8_cache[NumPar][i] );
5004 } else {
5005 double newResult = interpolate (CMS8_pp_Hp_tb,mass);
5006 CacheShiftReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params, newResult);
5007 return newResult;
5008 }
5009}
5010
5012 int NumPar = 1;
5013 double params[] = {mass};
5014
5015 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS13_cache, NumPar, params);
5016 if (i>=0) {
5017 return(ip_ex_pp_Hpm_tb_ATLAS13_cache[NumPar][i] );
5018 } else {
5019 double newResult = interpolate (ATLAS13_pp_Hpm_tb,mass);
5020 CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS13_cache, NumPar, params, newResult);
5021 return newResult;
5022 }
5023}
5024
5025
5026
5028 int NumPar = 1;
5029 double params[] = {mass};
5030
5031 int i = CacheCheckReal(ip_ex_pp_Hpm_tb_CMS13_cache, NumPar, params);
5032 if (i>=0) {
5033 return(ip_ex_pp_Hpm_tb_CMS13_cache[NumPar][i] );
5034 } else {
5035 double newResult = interpolate (CMS13_pp_Hpm_tb,mass);
5036 CacheShiftReal(ip_ex_pp_Hpm_tb_CMS13_cache, NumPar, params, newResult);
5037 return newResult;
5038 }
5039}
5040
5041
5043 int NumPar = 1;
5044 double params[] = {mass};
5045
5047 if (i>=0) {
5049 } else {
5050 double newResult = interpolate (CMS13_pp_h_phi3phi3_mumutautau,mass);
5052 return newResult;
5053 }
5054}
5055
5057 int NumPar = 1;
5058 double params[] = {mass};
5059
5061 if (i>=0) {
5063 } else {
5064 double newResult = interpolateNU (CMS13_pp_h_phi3phi3_bbtautau,mass);
5066 return newResult;
5067 }
5068}
5069
5071 int NumPar = 1;
5072 double params[] = {mass};
5073
5075 if (i>=0) {
5076 return(ip_low_pp_h_phi3phi3_bbmumu_CMS13_cache[NumPar][i] );
5077 } else {
5078 double newResult = interpolate (CMS13_pp_h_phi3phi3_bbmumu,mass);
5079 CacheShiftReal(ip_low_pp_h_phi3phi3_bbmumu_CMS13_cache, NumPar, params, newResult);
5080 return newResult;
5081 }
5082}
5083
5085 int NumPar = 1;
5086 double params[] = {mass};
5087
5089 if (i>=0) {
5090 return(ip_low_pp_h_phi23Z_mumull_CMS13_cache[NumPar][i] );
5091 } else {
5092 double newResult = interpolateNU (CMS13_pp_h_phi23Z_mumull,mass);
5093 CacheShiftReal(ip_low_pp_h_phi23Z_mumull_CMS13_cache, NumPar, params, newResult);
5094 return newResult;
5095 }
5096}
5097
5099 int NumPar = 1;
5100 double params[] = {mass};
5101
5103 if (i>=0) {
5105 } else {
5106 double newResult = interpolateNU (CMS13_pp_h_phi23phi23_mumumumu,mass);
5108 return newResult;
5109 }
5110}
5111
5113 int NumPar = 1;
5114 double params[] = {mass};
5115
5117 if (i>=0) {
5119 } else {
5120 double newResult = interpolate (CMS13_pp_h_phi3phi3_gagagaga,mass);
5122 return newResult;
5123 }
5124}
5125
5127 int NumPar = 1;
5128 double params[] = {mass};
5129
5131 if (i>=0) {
5133 } else {
5134 double newResult = interpolate (CMS13_pp_h_phi3phi3_tautautautau,mass);
5136 return newResult;
5137 }
5138}
5139
5141 int NumPar = 1;
5142 double params[] = {mass};
5143
5144 int i = CacheCheckReal(ip_low_pp_ttphi3_ttmumu_CMS13_cache, NumPar, params);
5145 if (i>=0) {
5146 return(ip_low_pp_ttphi3_ttmumu_CMS13_cache[NumPar][i] );
5147 } else {
5148 double newResult = interpolateNU (CMS13_pp_ttphi3_ttmumu,mass);
5149 CacheShiftReal(ip_low_pp_ttphi3_ttmumu_CMS13_cache, NumPar, params, newResult);
5150 return newResult;
5151 }
5152}
5153
5155 int NumPar = 1;
5156 double params[] = {mass};
5157
5159 if (i>=0) {
5160 return(ip_low_pp_ttphi3_tttautau_CMS13_cache[NumPar][i] );
5161 } else {
5162 double newResult = interpolateNU (CMS13_pp_ttphi3_tttautau,mass);
5163 CacheShiftReal(ip_low_pp_ttphi3_tttautau_CMS13_cache, NumPar, params, newResult);
5164 return newResult;
5165 }
5166}
5167
5169 int NumPar = 1;
5170 double params[] = {mass};
5171
5173 if (i>=0) {
5174 return(ip_low_Vh_h_phi3phi3_bbbb_CMS13_cache[NumPar][i] );
5175 } else {
5176 double newResult = interpolate (CMS13_Vh_h_phi3phi3_bbbb,mass);
5177 CacheShiftReal(ip_low_Vh_h_phi3phi3_bbbb_CMS13_cache, NumPar, params, newResult);
5178 return newResult;
5179 }
5180}
5181
5183 int NumPar = 1;
5184 double params[] = {mass};
5186 if (i>=0) {
5188 } else {
5189 double newResult = interpolate (ATLAS13_pp_h_phi3phi3_bbmumu,mass);
5191 return newResult;
5192 }
5193}
5194
5196 int NumPar = 1;
5197 double params[] = {mass};
5199 if (i>=0) {
5201 } else {
5202 double newResult = interpolateNU (ATLAS13_gg_h_phi23phi23_mumumumu,mass);
5204 return newResult;
5205 }
5206}
5207
5209 int NumPar = 1;
5210 double params[] = {mass};
5212 if (i>=0) {
5213 return(ip_low_gg_h_phi23Z_mumull_ATLAS13_cache[NumPar][i] );
5214 } else {
5215 double newResult = interpolate (ATLAS13_gg_h_phi23Z_mumull,mass);
5216 CacheShiftReal(ip_low_gg_h_phi23Z_mumull_ATLAS13_cache, NumPar, params, newResult);
5217 return newResult;
5218 }
5219}
5220
5222 int NumPar = 1;
5223 double params[] = {mass};
5225 if (i>=0) {
5227 } else {
5228 double newResult = interpolate (ATLAS13_Vh_h_phi23phi23_bbbb,mass);
5230 return newResult;
5231 }
5232}
5233
5235 int NumPar = 1;
5236 double params[] = {mass};
5238 if (i>=0) {
5240 } else {
5241 double newResult = interpolate (ATLAS13_Zh_h_phi23phi23_bbbb,mass);
5243 return newResult;
5244 }
5245}
5246
5248 int NumPar = 1;
5249 double params[] = {mass};
5251 if (i>=0) {
5253 } else {
5254 double newResult = interpolate (ATLAS13_pp_h_phi23phi23_bbmumu_old,mass);
5256 return newResult;
5257 }
5258}
5259
5261 int NumPar = 1;
5262 double params[] = {mass};
5264 if (i>=0) {
5266 } else {
5267 double newResult = interpolateNU (ATLAS13_pp_h_phi23phi23_gagagg,mass);
5269 return newResult;
5270 }
5271}
5272
5274 int NumPar = 1;
5275 double params[] = {mass};
5276 int i = CacheCheckReal(ip_low_gg_phi3_tautau_ATLAS13_cache, NumPar, params);
5277 if (i>=0) {
5278 return(ip_low_gg_phi3_tautau_ATLAS13_cache[NumPar][i] );
5279 } else {
5280 double newResult = interpolateNU (ATLAS13_gg_phi3_tautau_low,mass);
5281 CacheShiftReal(ip_low_gg_phi3_tautau_ATLAS13_cache, NumPar, params, newResult);
5282 return newResult;
5283 }
5284}
5285
5287 int NumPar = 1;
5288 double params[] = {mass};
5290 if (i>=0) {
5292 } else {
5293 double newResult = interpolate (ATLAS13_pp_h_phi3phi3_gagagaga,mass);
5295 return newResult;
5296 }
5297}
5298
5300 int NumPar = 1;
5301 double params[] = {mass};
5303 if (i>=0) {
5305 } else {
5306 double newResult = interpolateNU (ATLAS13_pp_h_phi3phi3_bbtautau,mass);
5308 return newResult;
5309 }
5310}
5311
5313 int NumPar = 1;
5314 double params[] = {mass};
5316 if (i>=0) {
5318 } else {
5319 double newResult = interpolate (ATLAS8_pp_h_phi3phi3_gagagaga,mass);
5321 return newResult;
5322 }
5323}
5324
5326 int NumPar = 1;
5327 double params[] = {mass};
5329 if (i>=0) {
5331 } else {
5332 double newResult = interpolateNU (ATLAS8_gg_h_phi3phi3_tautautautau,mass);
5334 return newResult;
5335 }
5336}
5337
5339 int NumPar = 1;
5340 double params[] = {mass};
5342 if (i>=0) {
5344 } else {
5345 double newResult = interpolate (CMS8_pp_h_phi3phi3_tautautautau,mass);
5347 return newResult;
5348 }
5349}
5350
5352 int NumPar = 1;
5353 double params[] = {mass};
5355 if (i>=0) {
5356 return(ip_low_pp_h_phi3phi3_bbmumu_CMS8_cache[NumPar][i] );
5357 } else {
5358 double newResult = interpolate (CMS8_pp_h_phi3phi3_bbmumu,mass);
5359 CacheShiftReal(ip_low_pp_h_phi3phi3_bbmumu_CMS8_cache, NumPar, params, newResult);
5360 return newResult;
5361 }
5362}
5363
5365 int NumPar = 1;
5366 double params[] = {mass};
5368 if (i>=0) {
5370 } else {
5371 double newResult = interpolate (CMS8_pp_h_phi3phi3_mumutautau,mass);
5373 return newResult;
5374 }
5375}
5376
5377
5379 int NumPar = 1;
5380 double params[] = {mass};
5381 int i = CacheCheckReal(ip_low_pp_phi2_gaga_CMS8_cache, NumPar, params);
5382 if (i>=0) {
5383 return(ip_low_pp_phi2_gaga_CMS8_cache[NumPar][i] );
5384 } else {
5385 double newResult = interpolate(CMS8_pp_phi2_gaga,mass);
5386 CacheShiftReal(ip_low_pp_phi2_gaga_CMS8_cache, NumPar, params, newResult);
5387 return newResult;
5388 }
5389}
5390
5392 int NumPar = 1;
5393 double params[] = {mass};
5394 int i = CacheCheckReal(ip_low_pp_phi2_gaga_CMS13_cache, NumPar, params);
5395 if (i>=0) {
5396 return(ip_low_pp_phi2_gaga_CMS13_cache[NumPar][i] );
5397 } else {
5398 double newResult = interpolate (CMS13_pp_phi2_gaga,mass);
5399 CacheShiftReal(ip_low_pp_phi2_gaga_CMS13_cache, NumPar, params, newResult);
5400 return newResult;
5401 }
5402}
5403
5405 int NumPar = 1;
5406 double params[] = {mass};
5407 int i = CacheCheckReal(ip_low_pp_phi2_gaga_ATLAS13_cache, NumPar, params);
5408 if (i>=0) {
5409 return(ip_low_pp_phi2_gaga_ATLAS13_cache[NumPar][i] );
5410 } else {
5411 double newResult = interpolate (ATLAS13_pp_phi2_gaga_low,mass);
5412 CacheShiftReal(ip_low_pp_phi2_gaga_ATLAS13_cache, NumPar, params, newResult);
5413 return newResult;
5414 }
5415}
5416
5418 int NumPar = 1;
5419 double params[] = {mass};
5421 if (i>=0) {
5422 return(ip_low_pp_bbphi3_bbtautau_CMS13_cache[NumPar][i] );
5423 } else {
5424 double newResult = interpolate (CMS13_pp_bbphi3_bbtautau,mass);
5425 CacheShiftReal(ip_low_pp_bbphi3_bbtautau_CMS13_cache, NumPar, params, newResult);
5426 return newResult;
5427 }
5428}
5429
5431 int NumPar = 1;
5432 double params[] = {mass};
5434 if (i>=0) {
5435 return(ip_low_pp_bbphi3_bbtautau_CMS8_cache[NumPar][i] );
5436 } else {
5437 double newResult = interpolate (CMS8_pp_bbphi3_bbtautau,mass);
5438 CacheShiftReal(ip_low_pp_bbphi3_bbtautau_CMS8_cache, NumPar, params, newResult);
5439 return newResult;
5440 }
5441}
5442
5444 int NumPar = 1;
5445 double params[] = {mass};
5447 if (i>=0) {
5448 return(ip_low_pp_ttphi3_ttmumu_ATLAS13_cache[NumPar][i] );
5449 } else {
5450 double newResult = interpolateNU (ATLAS13_pp_ttphi3_ttmumu,mass);
5451 CacheShiftReal(ip_low_pp_ttphi3_ttmumu_ATLAS13_cache, NumPar, params, newResult);
5452 return newResult;
5453 }
5454}
5455
5457 int NumPar = 1;
5458 double params[] = {mass};
5459 int i = CacheCheckReal(ip_low_pp_bbphi3_bbmumu_CMS8_cache, NumPar, params);
5460 if (i>=0) {
5461 return(ip_low_pp_bbphi3_bbmumu_CMS8_cache[NumPar][i] );
5462 } else {
5463 double newResult = interpolate (CMS8_pp_bbphi3_bbmumu,mass);
5464 CacheShiftReal(ip_low_pp_bbphi3_bbmumu_CMS8_cache, NumPar, params, newResult);
5465 return newResult;
5466 }
5467}
5468
5470 int NumPar = 1;
5471 double params[] = {mass};
5472 int i = CacheCheckReal(ip_low_phi2Z_gagaZ_LEP209_cache, NumPar, params);
5473 if (i>=0) {
5474 return(ip_low_phi2Z_gagaZ_LEP209_cache[NumPar][i] );
5475 } else {
5476 double newResult = interpolate (LEP209_phi2Z_gagaZ,mass);
5477 CacheShiftReal(ip_low_phi2Z_gagaZ_LEP209_cache, NumPar, params, newResult);
5478 return newResult;
5479 }
5480}
5481
5483 int NumPar = 1;
5484 double params[] = {mass};
5485 int i = CacheCheckReal(ip_low_phi2Z_bbZ_LEP209_cache, NumPar, params);
5486 if (i>=0) {
5487 return(ip_low_phi2Z_bbZ_LEP209_cache[NumPar][i] );
5488 } else {
5489 double newResult = interpolate (LEP209_phi2Z_bbZ,mass);
5490 CacheShiftReal(ip_low_phi2Z_bbZ_LEP209_cache, NumPar, params, newResult);
5491 return newResult;
5492 }
5493}
5494
5496 int NumPar = 1;
5497 double params[] = {mass};
5498 int i = CacheCheckReal(ip_low_phi2Z_tautauZ_LEP209_cache, NumPar, params);
5499 if (i>=0) {
5500 return(ip_low_phi2Z_tautauZ_LEP209_cache[NumPar][i] );
5501 } else {
5502 double newResult = interpolate (LEP209_phi2Z_tautauZ,mass);
5503 CacheShiftReal(ip_low_phi2Z_tautauZ_LEP209_cache, NumPar, params, newResult);
5504 return newResult;
5505 }
5506}
5507
5508double GeneralTHDMcache::ip_low_phiEphi3_bbbb_LEP209(double mi, double mj, double di, double dj){
5509 int NumPar = 2;
5510 double params[] = {mi, mj};
5511 int i = CacheCheckReal(ip_low_phiEphi3_bbbb_LEP209_cache, NumPar, params);
5512 if (i>=0) {
5513 return ( ip_low_phiEphi3_bbbb_LEP209_cache[NumPar][i] );
5514 } else {
5515 double newResult = interpolate2Dsteps(LEP209_phiEphi3_bbbb, mi, mj, di, dj);
5516 CacheShiftReal(ip_low_phiEphi3_bbbb_LEP209_cache, NumPar, params, newResult);
5517 return newResult;
5518 }
5519}
5520
5521double GeneralTHDMcache::ip_low_phiEphi3_tautautautau_LEP209(double mi, double mj, double di, double dj){
5522 int NumPar = 2;
5523 double params[] = {mi, mj};
5525 if (i>=0) {
5526 return ( ip_low_phiEphi3_tautautautau_LEP209_cache[NumPar][i] );
5527 } else {
5528 double newResult = interpolate2Dsteps (LEP209_phiEphi3_tautautautau, mi, mj, di, dj);
5530 return newResult;
5531 }
5532}
5533
5535 int NumPar = 1;
5536 double params[] = {mass};
5537 int i = CacheCheckReal(ip_low_t_Hpb_csb_CMS8_cache, NumPar, params);
5538 if (i>=0) {
5539 return(ip_low_t_Hpb_csb_CMS8_cache[NumPar][i] );
5540 } else {
5541 double newResult = interpolateNU (CMS8_t_Hpb_csb,mass);
5542 CacheShiftReal(ip_low_t_Hpb_csb_CMS8_cache, NumPar, params, newResult);
5543 return newResult;
5544 }
5545}
5546
5548 int NumPar = 1;
5549 double params[] = {mass};
5550 int i = CacheCheckReal(ip_low_t_Hpb_taunub_CMS8_cache, NumPar, params);
5551 if (i>=0) {
5552 return(ip_low_t_Hpb_taunub_CMS8_cache[NumPar][i] );
5553 } else {
5554 double newResult = interpolateNU (CMS8_t_Hpb_taunub,mass);
5555 CacheShiftReal(ip_low_t_Hpb_taunub_CMS8_cache, NumPar, params, newResult);
5556 return newResult;
5557 }
5558}
5559
5561 int NumPar = 1;
5562 double params[] = {mass};
5563 int i = CacheCheckReal(ip_low_t_Hpb_cbb_CMS8_cache, NumPar, params);
5564 if (i>=0) {
5565 return(ip_low_t_Hpb_cbb_CMS8_cache[NumPar][i] );
5566 } else {
5567 double newResult = interpolate (CMS8_t_Hpb_cbb,mass);
5568 CacheShiftReal(ip_low_t_Hpb_cbb_CMS8_cache, NumPar, params, newResult);
5569 return newResult;
5570 }
5571}
5572
5574 int NumPar = 1;
5575 double params[] = {mass};
5576 int i = CacheCheckReal(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache, NumPar, params);
5577 if (i>=0) {
5578 return(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache[NumPar][i] );
5579 } else {
5580 double newResult = interpolateNU (CMS13_t_Hpb_WAb_Wmumub,mass);
5581 CacheShiftReal(ip_low_t_Hpb_WAb_Wmumub_CMS13_cache, NumPar, params, newResult);
5582 return newResult;
5583 }
5584}
5585
5587 int NumPar = 1;
5588 double params[] = {mass};
5589 int i = CacheCheckReal(ip_low_t_Hpb_csb_CMS13_cache, NumPar, params);
5590 if (i>=0) {
5591 return(ip_low_t_Hpb_csb_CMS13_cache[NumPar][i] );
5592 } else {
5593 double newResult = interpolateNU (CMS13_t_Hpb_csb,mass);
5594 CacheShiftReal(ip_low_t_Hpb_csb_CMS13_cache, NumPar, params, newResult);
5595 return newResult;
5596 }
5597}
5598
5600 int NumPar = 1;
5601 double params[] = {mass};
5602 int i = CacheCheckReal(ip_low_t_Hpb_taunub_ATLAS8_cache, NumPar, params);
5603 if (i>=0) {
5604 return(ip_low_t_Hpb_taunub_ATLAS8_cache[NumPar][i] );
5605 } else {
5606 double newResult = interpolate (ATLAS8_t_Hpb_taunub,mass);
5607 CacheShiftReal(ip_low_t_Hpb_taunub_ATLAS8_cache, NumPar, params, newResult);
5608 return newResult;
5609 }
5610}
5611
5613 int NumPar = 1;
5614 double params[] = {mass};
5615 int i = CacheCheckReal(ip_low_t_Hpb_cbb_ATLAS13_cache, NumPar, params);
5616 if (i>=0) {
5617 return(ip_low_t_Hpb_cbb_ATLAS13_cache[NumPar][i] );
5618 } else {
5619 double newResult = interpolate (ATLAS13_t_Hpb_cbb,mass);
5620 CacheShiftReal(ip_low_t_Hpb_cbb_ATLAS13_cache, NumPar, params, newResult);
5621 return newResult;
5622 }
5623}
5624
5626 int NumPar = 1;
5627 double params[] = {mass};
5629 if (i>=0) {
5630 return(ip_low_t_Hpb_WAb_Wmumub_ATLAS13_cache[NumPar][i] );
5631 } else {
5632 double newResult = interpolateNU (ATLAS13_t_Hpb_WAb_Wmumub,mass);
5633 CacheShiftReal(ip_low_t_Hpb_WAb_Wmumub_ATLAS13_cache, NumPar, params, newResult);
5634 return newResult;
5635 }
5636}
5637
5639 int NumPar = 1;
5640 double params[] = {mass};
5641 int i = CacheCheckReal(ip_low_t_Hpb_csb_ATLAS13_cache, NumPar, params);
5642 if (i>=0) {
5643 return(ip_low_t_Hpb_csb_ATLAS13_cache[NumPar][i] );
5644 } else {
5645 double newResult = interpolateNU (ATLAS13_t_Hpb_csb,mass);
5646 CacheShiftReal(ip_low_t_Hpb_csb_ATLAS13_cache, NumPar, params, newResult);
5647 return newResult;
5648 }
5649}
5650
5652 int NumPar = 1;
5653 double params[] = {mass};
5654 int i = CacheCheckReal(ip_low_HpHm_taunutaunu_LEP209_cache, NumPar, params);
5655 if (i>=0) {
5656 return(ip_low_HpHm_taunutaunu_LEP209_cache[NumPar][i] );
5657 } else {
5658 double newResult = interpolate (LEP209_HpHm_taunutaunu,mass);
5659 CacheShiftReal(ip_low_HpHm_taunutaunu_LEP209_cache, NumPar, params, newResult);
5660 return newResult;
5661 }
5662}
5663
5665 int NumPar = 1;
5666 double params[] = {mass};
5667 int i = CacheCheckReal(ip_low_HpHm_qqqq_LEP209_cache, NumPar, params);
5668 if (i>=0) {
5669 return(ip_low_HpHm_qqqq_LEP209_cache[NumPar][i] );
5670 } else {
5671 double newResult = interpolate (LEP209_HpHm_qqqq,mass);
5672 CacheShiftReal(ip_low_HpHm_qqqq_LEP209_cache, NumPar, params, newResult);
5673 return newResult;
5674 }
5675}
5676
5678 int NumPar = 1;
5679 double params[] = {mass};
5680 int i = CacheCheckReal(ip_low_HpHm_qqtaunu_OPAL209_cache, NumPar, params);
5681 if (i>=0) {
5682 return(ip_low_HpHm_qqtaunu_OPAL209_cache[NumPar][i] );
5683 } else {
5684 double newResult = interpolate (OPAL209_HpHm_qqtaunu,mass);
5685 CacheShiftReal(ip_low_HpHm_qqtaunu_OPAL209_cache, NumPar, params, newResult);
5686 return newResult;
5687 }
5688}
5689
5691 int NumPar = 1;
5692 double params[] = {mass};
5693 int i = CacheCheckReal(ip_low_HpHm_qqtaunu_OPAL172_cache, NumPar, params);
5694 if (i>=0) {
5695 return(ip_low_HpHm_qqtaunu_OPAL172_cache[NumPar][i] );
5696 } else {
5697 double newResult = interpolate (OPAL172_HpHm_qqtaunu,mass);
5698 CacheShiftReal(ip_low_HpHm_qqtaunu_OPAL172_cache, NumPar, params, newResult);
5699 return newResult;
5700 }
5701}
5702
5703double GeneralTHDMcache::ip_low_HpHm_AWstAWst_bbbb_OPAL209(double mi, double mj, double di, double dj){
5704 int NumPar = 2;
5705 double params[] = {mi, mj};
5707 if (i>=0) {
5708 return ( ip_low_HpHm_AWstAWst_bbbb_OPAL209_cache[NumPar][i] );
5709 } else {
5710 double newResult = interpolate2Dsteps (OPAL209_HpHm_AWstAWst_bbbb, mi, mj, di, dj);
5711 CacheShiftReal(ip_low_HpHm_AWstAWst_bbbb_OPAL209_cache, NumPar, params, newResult);
5712 return newResult;
5713 }
5714}
5715
5716double GeneralTHDMcache::ip_low_HpHm_taunuAWst_taunubb_OPAL209(double mi, double mj, double di, double dj){
5717 int NumPar = 2;
5718 double params[] = {mi, mj};
5720 if (i>=0) {
5721 return ( ip_low_HpHm_taunuAWst_taunubb_OPAL209_cache[NumPar][i] );
5722 } else {
5723 double newResult = interpolate2Dsteps (OPAL209_HpHm_taunuAWst_taunubb, mi, mj, di, dj);
5725 return newResult;
5726 }
5727}
5728
5730 int NumPar = 1;
5731 double params[] = {mass};
5733 if (i>=0) {
5734 return(ip_susy_pp_HpHm_taunutaunu_ATLAS13_cache[NumPar][i] );
5735 } else {
5736 double newResult = interpolate (ATLAS13_pp_HpHm_taunutaunu,mass);
5737 CacheShiftReal(ip_susy_pp_HpHm_taunutaunu_ATLAS13_cache, NumPar, params, newResult);
5738 return newResult;
5739 }
5740}
5741
5743 int NumPar = 1;
5744 double params[] = {mass};
5746 if (i>=0) {
5747 return(ip_susy_pp_HpHm_taunutaunu_CMS13_cache[NumPar][i] );
5748 } else {
5749 double newResult = interpolateNU (CMS13_pp_HpHm_taunutaunu,mass);
5750 CacheShiftReal(ip_susy_pp_HpHm_taunutaunu_CMS13_cache, NumPar, params, newResult);
5751 return newResult;
5752 }
5753}
5754
5756 int NumPar = 1;
5757 double params[] = {mass};
5759 if (i>=0) {
5760 return(ip_susy_pp_HpHm_munumunu_ATLAS13_cache[NumPar][i] );
5761 } else {
5762 double newResult = interpolateNU (ATLAS13_pp_HpHm_munumunu,mass);
5763 CacheShiftReal(ip_susy_pp_HpHm_munumunu_ATLAS13_cache, NumPar, params, newResult);
5764 return newResult;
5765 }
5766}
5767
5769 int NumPar = 1;
5770 double params[] = {mass};
5772 if (i>=0) {
5773 return(ip_susy_pp_HpHm_munumunu_CMS13_cache[NumPar][i] );
5774 } else {
5775 double newResult = interpolateNU (CMS13_pp_HpHm_munumunu,mass);
5776 CacheShiftReal(ip_susy_pp_HpHm_munumunu_CMS13_cache, NumPar, params, newResult);
5777 return newResult;
5778 }
5779}
5780
5782 // data from lepsusy.web.cern.ch/lepsusy/www/sleptons_summer04/slep_final.html
5783 // taking mid-value from each coloured range
5784
5785 double sigxBRxBR;
5786
5787 if(mass >= 45. && mass <= 65.)
5788 sigxBRxBR = 0.025;
5789 else if(mass > 65. && mass <= 76.)
5790 sigxBRxBR = 0.035;
5791 else if(mass > 76. && mass <= 86.)
5792 sigxBRxBR = 0.025;
5793 else if(mass > 86. && mass <= 89.)
5794 sigxBRxBR = 0.035;
5795 else if(mass > 89. && mass <= 96.)
5796 sigxBRxBR = 0.025;
5797 else if(mass > 96. && mass <= 97.)
5798 sigxBRxBR = 0.015;
5799 else if(mass > 97. && mass <= 98.)
5800 sigxBRxBR = 0.025;
5801 else if(mass > 98. && mass <= 99.)
5802 sigxBRxBR = 0.015;
5803 else if(mass > 99. && mass <= 101.)
5804 sigxBRxBR = 0.025;
5805 else if(mass > 101. && mass <= 102.)
5806 sigxBRxBR = 0.035;
5807 else
5808 sigxBRxBR = 1.e-10;
5809
5810 return sigxBRxBR;
5811}
5812
5813
5814//Interpolation function for the integrals
5815
5816double GeneralTHDMcache::ip_integral_x2_1mx_G(double wa, double wb){
5817 int NumPar = 2;
5818 double params[] = {wa, wb};
5819 int i = CacheCheckReal(ip_integral_x2_1mx_G_cache, NumPar, params);
5820 if (i>=0) {
5821 return(ip_integral_x2_1mx_G_cache[NumPar][i] );
5822 } else {
5823 double log10wa = log10(wa);
5824 double log10wb = log10(wb);
5825 double newResult = interpolate2Dv2(integral_x2_1mx_G_log,log10wa,log10wb);
5826 CacheShiftReal(ip_integral_x2_1mx_G_cache, NumPar, params, newResult);
5827 return newResult;
5828 }
5829}
5830
5831
5832double GeneralTHDMcache::ip_integral_x2_1px_G(double wa, double wb){
5833 int NumPar = 2;
5834 double params[] = {wa, wb};
5835 int i = CacheCheckReal(ip_integral_x2_1px_G_cache, NumPar, params);
5836 if (i>=0) {
5837 return(ip_integral_x2_1px_G_cache[NumPar][i] );
5838 } else {
5839 double log10wa = log10(wa);
5840 double log10wb = log10(wb);
5841 double newResult = interpolate2Dv2(integral_x2_1px_G_log,log10wa,log10wb);
5842 CacheShiftReal(ip_integral_x2_1px_G_cache, NumPar, params, newResult);
5843 return newResult;
5844 }
5845}
5846
5847
5848
5849double GeneralTHDMcache::ip_integral_x2_G(double wa, double wb){
5850 int NumPar = 2;
5851 double params[] = {wa, wb};
5852 int i = CacheCheckReal(ip_integral_x2_G_cache, NumPar, params);
5853 if (i>=0) {
5854 return(ip_integral_x2_G_cache[NumPar][i] );
5855 } else {
5856 double log10wa = log10(wa);
5857 double log10wb = log10(wb);
5858 double newResult = interpolate2Dv2(integral_x2_G_log,log10wa,log10wb);
5859 CacheShiftReal(ip_integral_x2_G_cache, NumPar, params, newResult);
5860 return newResult;
5861 }
5862}
5863
5864double GeneralTHDMcache::ip_integral_x_1mx2_G(double wa, double wb){
5865 int NumPar = 2;
5866 double params[] = {wa, wb};
5867 int i = CacheCheckReal(ip_integral_x_1mx2_G_cache, NumPar, params);
5868 if (i>=0) {
5869 return(ip_integral_x_1mx2_G_cache[NumPar][i] );
5870 } else {
5871 double log10wa = log10(wa);
5872 double log10wb = log10(wb);
5873 double newResult = interpolate2Dv2(integral_x_1mx2_G_log,log10wa,log10wb);
5874 CacheShiftReal(ip_integral_x_1mx2_G_cache, NumPar, params, newResult);
5875 return newResult;
5876 }
5877}
5878
5879
5881 int NumPar = 2;
5882 double params[] = {wa, wb};
5883 int i = CacheCheckReal(ip_integral_x_1mx_1px_G_cache, NumPar, params);
5884 if (i>=0) {
5885 return(ip_integral_x_1mx_1px_G_cache[NumPar][i] );
5886 } else {
5887 double log10wa = log10(wa);
5888 double log10wb = log10(wb);
5889 double newResult = interpolate2Dv2(integral_x_1mx_1px_G_log,log10wa,log10wb);
5890 CacheShiftReal(ip_integral_x_1mx_1px_G_cache, NumPar, params, newResult);
5891 return newResult;
5892 }
5893}
5894
5895
5897 int NumPar = 1;
5898 double params[] = {wb};
5900 if (i>=0) {
5902 } else {
5903 double log10wb = log10(wb);
5904 double newResult = interpolate(integral_x2_1mx_G_variable_set_1_log,log10wb);
5906 return newResult;
5907 }
5908}
5909
5910
5912 int NumPar = 1;
5913 double params[] = {wb};
5915 if (i>=0) {
5916 return(ip_integral_x2_G_variable_set_1_cache[NumPar][i] );
5917 } else {
5918 double log10wb = log10(wb);
5919 double newResult = interpolate(integral_x2_G_variable_set_1_log,log10wb);
5920 CacheShiftReal(ip_integral_x2_G_variable_set_1_cache, NumPar, params, newResult);
5921 return newResult;
5922 }
5923}
5924
5925
5927 int NumPar = 1;
5928 double params[] = {wb};
5930 if (i>=0) {
5932 } else {
5933 double log10wb = log10(wb);
5934 double newResult = interpolate(integral_x_1mx2_G_variable_set_0_log,log10wb);
5936 return newResult;
5937 }
5938}
5939
5940
5942 int NumPar = 1;
5943 double params[] = {ratio};
5944 int i = CacheCheckReal(ip_integral_perturb_ATHDM_cache, NumPar, params);
5945 if (i>=0) {
5946 return(ip_integral_perturb_ATHDM_cache[NumPar][i] );
5947 } else {
5948 double log10ratio = log10(ratio);
5949 double newResult = interpolate(integral_perturb_ATHDM_values_log,log10ratio);
5950 CacheShiftReal(ip_integral_perturb_ATHDM_cache, NumPar, params, newResult);
5951 return newResult;
5952 }
5953}
5954
5955
5956double GeneralTHDMcache::ip_integral_Hp_A_Wstar(double mi, double mj, double di, double dj){
5957 int NumPar = 2;
5958 double params[] = {mi, mj};
5959 int i = CacheCheckReal(ip_integral_Hp_A_Wstar_cache, NumPar, params);
5960 if (i>=0) {
5961 return ( ip_integral_Hp_A_Wstar_cache[NumPar][i] );
5962 } else {
5963 double newResult = interpolate2Dsteps (integral_Hp_A_Wstar, mi, mj, di, dj);
5964 CacheShiftReal(ip_integral_Hp_A_Wstar_cache, NumPar, params, newResult);
5965 return newResult;
5966 }
5967}
5968
5969
5970//This seems not to be used by the code. Check if this was only something included of the THDM
5971double GeneralTHDMcache::ip_ex_bsgamma(double logtb, double logmHp){
5972 int NumPar = 2;
5973 double params[] = {logtb, logmHp};
5974
5975 int i = CacheCheckReal(ip_ex_bsgamma_cache, NumPar, params);
5976 if (i>=0) {
5977 return ( ip_ex_bsgamma_cache[NumPar][i] );
5978 } else {
5979 double newResult = interpolate2D(arraybsgamma, logtb, logmHp);
5980 CacheShiftReal(ip_ex_bsgamma_cache, NumPar, params, newResult);
5981 return newResult;
5982 }
5983}
5984
5985
5986
5987
5988// Function needed to calculate some loop functions
5989
5990gslpp::complex GeneralTHDMcache::f_func(const double x) const{
5991 if(x<1) {
5992 gslpp::complex z = -gslpp::complex::i()*M_PI;
5993 return -pow(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z,2)/4.0;
5994 }
5995 else {
5996 return pow(asin(sqrt(1.0/x)),2);
5997 }
5998}
5999
6000gslpp::complex GeneralTHDMcache::g_func(const double x) const{
6001 if(x<1) {
6002 gslpp::complex z = -gslpp::complex::i()*M_PI;
6003 gslpp::complex gs1 = sqrt(1.0-x)*(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z)/2.0;
6004 return gs1;
6005 }
6006 else {
6007 gslpp::complex gg1 = sqrt(x-1.0)*asin(sqrt(1.0/x));
6008 return gg1;
6009 }
6010}
6011
6012gslpp::complex GeneralTHDMcache::Int1(const double tau, const double lambda) const{
6013 return tau*lambda/(tau-lambda)/2.0+tau*tau*lambda*lambda/((tau-lambda)
6014 *(tau-lambda))/2.0*(f_func(tau)-f_func(lambda))+tau*tau*lambda/((tau-lambda)
6015 *(tau-lambda))*(g_func(tau)-g_func(lambda));
6016}
6017
6018gslpp::complex GeneralTHDMcache::Int2(const double tau, const double lambda) const{
6019 return -tau*lambda/(tau-lambda)/2.0*(f_func(tau)-f_func(lambda));
6020}
6021
6022 //Loop functions needed for decays and cross sections
6023
6024
6025gslpp::complex GeneralTHDMcache::I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const {
6026 int NumPar = 4;
6027 double params[] = {mHl2, Mu, Mc, Mt};
6028
6029 int i = CacheCheck(I_h_U_cache, NumPar, params);
6030 if (i>=0) {
6031 return ( I_h_U_cache[NumPar][i] );
6032 } else {
6033 double TAUu=4.0*Mu*Mu/mHl2;
6034 double TAUc=4.0*Mc*Mc/mHl2;
6035 double TAUt=4.0*Mt*Mt/mHl2;
6036 gslpp::complex newResult = -(8./3.)*(TAUu*(1.0+(1.0-TAUu)*f_func(TAUu))
6037 +TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))+TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
6038 CacheShift(I_h_U_cache, NumPar, params, newResult);
6039 return newResult;
6040 }
6041}
6042
6043gslpp::complex GeneralTHDMcache::I_HH_U(const double mHh2, const double Mc, const double Mt) const {
6044 int NumPar = 3;
6045 double params[] = {mHh2, Mc, Mt};
6046
6047 int i = CacheCheck(I_HH_U_cache, NumPar, params);
6048 if (i>=0) {
6049 return ( I_HH_U_cache[NumPar][i] );
6050 } else {
6051 double TAUc=4.0*Mc*Mc/mHh2;
6052 double TAUt=4.0*Mt*Mt/mHh2;
6053 gslpp::complex newResult = -(8./3.)*(TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))
6054 +TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
6055 CacheShift(I_HH_U_cache, NumPar, params, newResult);
6056 return newResult;
6057 }
6058}
6059
6060gslpp::complex GeneralTHDMcache::I_A_U(const double mA2, const double Mc, const double Mt) const {
6061 int NumPar = 3;
6062 double params[] = {mA2, Mc, Mt};
6063
6064 int i = CacheCheck(I_A_U_cache, NumPar, params);
6065 if (i>=0) {
6066 return ( I_A_U_cache[NumPar][i] );
6067 } else {
6068 double TAUc=4.0*Mc*Mc/mA2;
6069 double TAUt=4.0*Mt*Mt/mA2;
6070 gslpp::complex newResult = -(8./3.)*(TAUc*f_func(TAUc)+TAUt*f_func(TAUt));
6071 CacheShift(I_A_U_cache, NumPar, params, newResult);
6072 return newResult;
6073 }
6074}
6075
6076gslpp::complex GeneralTHDMcache::I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const {
6077 int NumPar = 4;
6078 double params[] = {mHl2, Md, Ms, Mb};
6079
6080 int i = CacheCheck(I_h_D_cache, NumPar, params);
6081 if (i>=0) {
6082 return ( I_h_D_cache[NumPar][i] );
6083 } else {
6084 double TAUd=4.0*Md*Md/mHl2;
6085 double TAUs=4.0*Ms*Ms/mHl2;
6086 double TAUb=4.0*Mb*Mb/mHl2;
6087 gslpp::complex newResult = -(2./3.)*(TAUd*(1.0+(1.0-TAUd)*f_func(TAUd))
6088 +TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))+TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
6089 CacheShift(I_h_D_cache, NumPar, params, newResult);
6090 return newResult;
6091 }
6092}
6093
6094gslpp::complex GeneralTHDMcache::I_HH_D(const double mHh2, const double Ms, const double Mb) const {
6095 int NumPar = 3;
6096 double params[] = {mHh2, Ms, Mb};
6097
6098 int i = CacheCheck(I_HH_D_cache, NumPar, params);
6099 if (i>=0) {
6100 return ( I_HH_D_cache[NumPar][i] );
6101 } else {
6102 double TAUs=4.0*Ms*Ms/mHh2;
6103 double TAUb=4.0*Mb*Mb/mHh2;
6104 gslpp::complex newResult = -(2./3.)*(TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))
6105 +TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
6106 CacheShift(I_HH_D_cache, NumPar, params, newResult);
6107 return newResult;
6108 }
6109}
6110
6111gslpp::complex GeneralTHDMcache::I_A_D(const double mA2, const double Ms, const double Mb) const {
6112 int NumPar = 3;
6113 double params[] = {mA2, Ms, Mb};
6114
6115 int i = CacheCheck(I_A_D_cache, NumPar, params);
6116 if (i>=0) {
6117 return ( I_A_D_cache[NumPar][i] );
6118 } else {
6119 double TAUs=4.0*Ms*Ms/mA2;
6120 double TAUb=4.0*Mb*Mb/mA2;
6121 gslpp::complex newResult = -(2./3.)*(TAUs*f_func(TAUs)+TAUb*f_func(TAUb));
6122 CacheShift(I_A_D_cache, NumPar, params, newResult);
6123 return newResult;
6124 }
6125}
6126
6127gslpp::complex GeneralTHDMcache::I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const {
6128 int NumPar = 4;
6129 double params[] = {mHl2, Me, Mmu, Mtau};
6130
6131 int i = CacheCheck(I_h_L_cache, NumPar, params);
6132 if (i>=0) {
6133 return ( I_h_L_cache[NumPar][i] );
6134 } else {
6135 double TAUe=4.0*Me*Me/mHl2;
6136 double TAUmu=4.0*Mmu*Mmu/mHl2;
6137 double TAUtau=4.0*Mtau*Mtau/mHl2;
6138 gslpp::complex newResult = -2.0*(TAUe*(1.0+(1.0-TAUe)*f_func(TAUe))
6139 +TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))
6140 +TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
6141 CacheShift(I_h_L_cache, NumPar, params, newResult);
6142 return newResult;
6143 }
6144}
6145
6146gslpp::complex GeneralTHDMcache::I_HH_L(const double mHh2, const double Mmu, const double Mtau) const {
6147 int NumPar = 3;
6148 double params[] = {mHh2, Mmu, Mtau};
6149
6150 int i = CacheCheck(I_HH_L_cache, NumPar, params);
6151 if (i>=0) {
6152 return ( I_HH_L_cache[NumPar][i] );
6153 } else {
6154 double TAUmu=4.0*Mmu*Mmu/mHh2;
6155 double TAUtau=4.0*Mtau*Mtau/mHh2;
6156 gslpp::complex newResult = -2.0*(TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))+
6157 TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
6158 CacheShift(I_HH_L_cache, NumPar, params, newResult);
6159 return newResult;
6160 }
6161}
6162
6163gslpp::complex GeneralTHDMcache::I_A_L(const double mA2, const double Mmu, const double Mtau) const {
6164 int NumPar = 3;
6165 double params[] = {mA2, Mmu, Mtau};
6166
6167 int i = CacheCheck(I_A_L_cache, NumPar, params);
6168 if (i>=0) {
6169 return ( I_A_L_cache[NumPar][i] );
6170 } else {
6171 double TAUmu=4.0*Mmu*Mmu/mA2;
6172 double TAUtau=4.0*Mtau*Mtau/mA2;
6173 gslpp::complex newResult = -2.0*(TAUmu*f_func(TAUmu)+TAUtau*f_func(TAUtau));
6174 CacheShift(I_A_L_cache, NumPar, params, newResult);
6175 return newResult;
6176 }
6177}
6178
6179gslpp::complex GeneralTHDMcache::I_H_W(const double mH, const double MW) const {
6180 int NumPar = 2;
6181 double params[] = {mH, MW};
6182
6183 int i = CacheCheck(I_H_W_cache, NumPar, params);
6184 if (i>=0) {
6185 return ( I_H_W_cache[NumPar][i] );
6186 } else {
6187 double TAUw=4.0*MW*MW/(mH*mH);
6188 gslpp::complex newResult = 2.0 + 3.0*TAUw + 3.0*TAUw*(2.0-TAUw)*f_func(TAUw);
6189 CacheShift(I_H_W_cache, NumPar, params, newResult);
6190 return newResult;
6191 }
6192}
6193
6194gslpp::complex GeneralTHDMcache::I_H_Hp(const double mHp2, const double mH) const {
6195 int NumPar = 2;
6196 double params[] = {mHp2, mH};
6197
6198 int i = CacheCheck(I_H_Hp_cache, NumPar, params);
6199 if (i>=0) {
6200 return ( I_H_Hp_cache[NumPar][i] );
6201 } else {
6202 double TAUhp=4.0*mHp2/(mH*mH);
6203 gslpp::complex newResult = -TAUhp*(1.0-TAUhp*f_func(TAUhp));
6204 CacheShift(I_H_Hp_cache, NumPar, params, newResult);
6205 return newResult;
6206 }
6207}
6208
6209gslpp::complex GeneralTHDMcache::A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const {
6210 int NumPar = 6;
6211 double params[] = {mHl2, cW2, Mu, Mc, Mt, MZ};
6212
6213 int i = CacheCheck(A_h_U_cache, NumPar, params);
6214 if (i>=0) {
6215 return ( A_h_U_cache[NumPar][i] );
6216 } else {
6217 double TAUu=4.0*Mu*Mu/mHl2;
6218 double TAUc=4.0*Mc*Mc/mHl2;
6219 double TAUt=4.0*Mt*Mt/mHl2;
6220 double LAMu=4.0*Mu*Mu/(MZ*MZ);
6221 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6222 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6223 double sW2=1.0-cW2;
6224 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUu,LAMu)+Int1(TAUc,LAMc)
6225 +Int1(TAUt,LAMt)-Int2(TAUu,LAMu)-Int2(TAUc,LAMc)-Int2(TAUt,LAMt));
6226 CacheShift(A_h_U_cache, NumPar, params, newResult);
6227 return newResult;
6228 }
6229
6230}
6231
6232gslpp::complex GeneralTHDMcache::A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const {
6233 int NumPar = 5;
6234 double params[] = {mHh2, cW2, Mc, Mt, MZ};
6235
6236 int i = CacheCheck(A_HH_U_cache, NumPar, params);
6237 if (i>=0) {
6238 return ( A_HH_U_cache[NumPar][i] );
6239 } else {
6240 double TAUc=4.0*Mc*Mc/mHh2;
6241 double TAUt=4.0*Mt*Mt/mHh2;
6242 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6243 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6244 double sW2=1.0-cW2;
6245
6246
6247
6248 //std::cout<<"\033[1;36m sW2= \033[0m "<< sW2 <<std::endl;
6249
6250 //std::cout<<"\033[1;36m cW2= \033[0m "<< cW2 <<std::endl;
6251
6252 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUc,LAMc)-Int2(TAUc,LAMc)
6253 +Int1(TAUt,LAMt)-Int2(TAUt,LAMt));
6254 CacheShift(A_HH_U_cache, NumPar, params, newResult);
6255 return newResult;
6256 }
6257}
6258
6259gslpp::complex GeneralTHDMcache::A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const {
6260 int NumPar = 5;
6261 double params[] = {mA2, cW2, Mc, Mt, MZ};
6262
6263 int i = CacheCheck(A_A_U_cache, NumPar, params);
6264 if (i>=0) {
6265 return ( A_A_U_cache[NumPar][i] );
6266 } else {
6267 double TAUc=4.0*Mc*Mc/mA2;
6268 double TAUt=4.0*Mt*Mt/mA2;
6269 double LAMc=4.0*Mc*Mc/(MZ*MZ);
6270 double LAMt=4.0*Mt*Mt/(MZ*MZ);
6271 double sW2=1.0-cW2;
6272 gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(-Int2(TAUc,LAMc)-Int2(TAUt,LAMt))/sqrt(sW2*cW2);
6273 CacheShift(A_A_U_cache, NumPar, params, newResult);
6274 return newResult;
6275 }
6276}
6277
6278gslpp::complex GeneralTHDMcache::A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const {
6279 int NumPar = 6;
6280 double params[] = {mHl2, cW2, Md, Ms, Mb, MZ};
6281
6282 int i = CacheCheck(A_h_D_cache, NumPar, params);
6283 if (i>=0) {
6284 return ( A_h_D_cache[NumPar][i] );
6285 } else {
6286 double TAUd=4.0*Md*Md/mHl2;
6287 double TAUs=4.0*Ms*Ms/mHl2;
6288 double TAUb=4.0*Mb*Mb/mHl2;
6289 double LAMd=4.0*Md*Md/(MZ*MZ);
6290 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6291 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6292 double sW2=1.0-cW2;
6293 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUd,LAMd)+Int1(TAUs,LAMs)
6294 +Int1(TAUb,LAMb)-Int2(TAUd,LAMd)-Int2(TAUs,LAMs)-Int2(TAUb,LAMb));
6295 CacheShift(A_h_D_cache, NumPar, params, newResult);
6296 return newResult;
6297 }
6298}
6299
6300gslpp::complex GeneralTHDMcache::A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const {
6301 int NumPar = 5;
6302 double params[] = {mHh2, cW2, Ms, Mb, MZ};
6303
6304 int i = CacheCheck(A_HH_D_cache, NumPar, params);
6305 if (i>=0) {
6306 return ( A_HH_D_cache[NumPar][i] );
6307 } else {
6308 double TAUs=4.0*Ms*Ms/mHh2;
6309 double TAUb=4.0*Mb*Mb/mHh2;
6310 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6311 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6312 double sW2=1.0-cW2;
6313 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUs,LAMs)-Int2(TAUs,LAMs)
6314 +Int1(TAUb,LAMb)-Int2(TAUb,LAMb));
6315 CacheShift(A_HH_D_cache, NumPar, params, newResult);
6316 return newResult;
6317 }
6318}
6319
6320gslpp::complex GeneralTHDMcache::A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const {
6321 int NumPar = 5;
6322 double params[] = {mA2, cW2, Ms, Mb, MZ};
6323
6324 int i = CacheCheck(A_A_D_cache, NumPar, params);
6325 if (i>=0) {
6326 return ( A_A_D_cache[NumPar][i] );
6327 } else {
6328 double TAUs=4.0*Ms*Ms/mA2;
6329 double TAUb=4.0*Mb*Mb/mA2;
6330 double LAMs=4.0*Ms*Ms/(MZ*MZ);
6331 double LAMb=4.0*Mb*Mb/(MZ*MZ);
6332 double sW2=1.0-cW2;
6333 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(-Int2(TAUs,LAMs)-Int2(TAUb,LAMb))/sqrt(sW2*cW2);
6334 CacheShift(A_A_D_cache, NumPar, params, newResult);
6335 return newResult;
6336 }
6337}
6338
6339gslpp::complex GeneralTHDMcache::A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const {
6340 int NumPar = 6;
6341 double params[] = {mHl2, cW2, Me, Mmu, Mtau, MZ};
6342
6343 int i = CacheCheck(A_h_L_cache, NumPar, params);
6344 if (i>=0) {
6345 return ( A_h_L_cache[NumPar][i] );
6346 } else {
6347 double TAUe=4.0*Me*Me/mHl2;
6348 double TAUmu=4.0*Mmu*Mmu/mHl2;
6349 double TAUtau=4.0*Mtau*Mtau/mHl2;
6350 double LAMe=4.0*Me*Me/(MZ*MZ);
6351 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6352 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6353 double sW2=1.0-cW2;
6354 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUe,LAMe)+Int1(TAUmu,LAMmu)
6355 +Int1(TAUtau,LAMtau)-Int2(TAUe,LAMe)-Int2(TAUmu,LAMmu)
6356 -Int2(TAUtau,LAMtau));
6357 CacheShift(A_h_L_cache, NumPar, params, newResult);
6358 return newResult;
6359 }
6360}
6361
6362gslpp::complex GeneralTHDMcache::A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
6363 int NumPar = 5;
6364 double params[] = {mHh2, cW2, Mmu, Mtau, MZ};
6365
6366 int i = CacheCheck(A_HH_L_cache, NumPar, params);
6367 if (i>=0) {
6368 return ( A_HH_L_cache[NumPar][i] );
6369 } else {
6370 double TAUmu=4.0*Mmu*Mmu/mHh2;
6371 double TAUtau=4.0*Mtau*Mtau/mHh2;
6372 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6373 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6374 double sW2=1.0-cW2;
6375 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUmu,LAMmu)-Int2(TAUmu,LAMmu)
6376 +Int1(TAUtau,LAMtau)-Int2(TAUtau,LAMtau));
6377 CacheShift(A_HH_L_cache, NumPar, params, newResult);
6378 return newResult;
6379 }
6380}
6381
6382
6383
6384gslpp::complex GeneralTHDMcache::A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
6385 int NumPar = 5;
6386 double params[] = {mA2, cW2, Mmu, Mtau, MZ};
6387
6388 int i = CacheCheck(A_A_L_cache, NumPar, params);
6389 if (i>=0) {
6390 return ( A_A_L_cache[NumPar][i] );
6391 } else {
6392 double TAUmu=4.0*Mmu*Mmu/mA2;
6393 double TAUtau=4.0*Mtau*Mtau/mA2;
6394 double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
6395 double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
6396 double sW2=1.0-cW2;
6397 gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(-Int2(TAUmu,LAMmu)-Int2(TAUtau,LAMtau))/sqrt(sW2*cW2);
6398 CacheShift(A_A_L_cache, NumPar, params, newResult);
6399 return newResult;
6400 }
6401}
6402
6403gslpp::complex GeneralTHDMcache::A_H_W(const double mH, const double cW2, const double MW, const double MZ) const {
6404 int NumPar = 4;
6405 double params[] = {mH, cW2, MW, MZ};
6406
6407 int i = CacheCheck(A_H_W_cache, NumPar, params);
6408 if (i>=0) {
6409 return ( A_H_W_cache[NumPar][i] );
6410 } else {
6411 double TAUw=4.0*MW*MW/(mH*mH);
6412 double LAMw=4.0*MW*MW/(MZ*MZ);
6413 double sW2=1.0-cW2;
6414 gslpp::complex newResult = -sqrt(cW2/sW2)*(4.0*(3.0-sW2/cW2)*Int2(TAUw,LAMw)
6415 +((1.0+2.0/TAUw)*sW2/cW2-(5.0+2.0/TAUw))*Int1(TAUw,LAMw));
6416 CacheShift(A_H_W_cache, NumPar, params, newResult);
6417 return newResult;
6418 }
6419}
6420
6421gslpp::complex GeneralTHDMcache::A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const {
6422 int NumPar = 4;
6423 double params[] = {mHp2, mH, cW2, MZ};
6424
6425 int i = CacheCheck(A_H_Hp_cache, NumPar, params);
6426 if (i>=0) {
6427 return ( A_H_Hp_cache[NumPar][i] );
6428 } else {
6429 double TAUhp=4.0*mHp2/(mH*mH);
6430 double LAMhp=4.0*mHp2/(MZ*MZ);
6431 double sW2=1.0-cW2;
6432 gslpp::complex newResult = (1.0-2.0*sW2)/sqrt(cW2*sW2)*Int1(TAUhp,LAMhp);
6433 CacheShift(A_H_Hp_cache, NumPar, params, newResult);
6434 return newResult;
6435 }
6436}
6437
6438
6439double GeneralTHDMcache::Sigma_HpHm_LEP(const double mass2, const double sqrts) const
6440{
6441 double s_LEP = sqrts * sqrts;
6442 double one_MZ2_s = 1. - MZ*MZ / s_LEP;
6443
6444 double cWsW = sqrt(cW2) * sqrt(sW2);
6445 double ahat_e = -1. / 4. / cWsW;
6446 double vhat_e = (-1. + 4. * sW2) / 4. / cWsW;
6447 double vhat_H = (-1. + 2. * sW2) / 2. / cWsW;
6448 double beta_H = sqrt(std::fabs(1. - 4. * mass2 / s_LEP));
6449
6450 return (2. * GF*GF * MW*MW*MW*MW * sW2*sW2 * (1. + 2. * vhat_e * vhat_H / one_MZ2_s +
6451 (ahat_e*ahat_e + vhat_e*vhat_e) * vhat_H*vhat_H / one_MZ2_s / one_MZ2_s) *
6452 beta_H*beta_H*beta_H / (3. * M_PI * s_LEP));
6453};
6454
6455
6456int GeneralTHDMcache::HSTheta (const double x) const{
6457 if(x<0) return 0.0;
6458 else return 1.0;
6459}
6460
6461
6462double GeneralTHDMcache::KaellenFunction(const double a2, const double b2, const double c2) const{
6463 int NumPar = 3;
6464 double params[] = {a2, b2, c2};
6465
6466 int i = CacheCheckReal(KaellenFunction_cache, NumPar, params);
6467 if (i>=0) {
6468 return ( KaellenFunction_cache[NumPar][i] );
6469 }
6470 else {
6471 double newResult = 0.0;
6472 double x = (a2-b2-c2)*(a2-b2-c2)-4.0*b2*c2;
6473 if(x>0) newResult = sqrt(std::fabs(x/a2))/2.0;
6474 CacheShiftReal(KaellenFunction_cache, NumPar, params, newResult);
6475 return newResult;
6476 }
6477}
6478
6479
6480 double GeneralTHDMcache::cW2GTHDM(const double c02) const{
6481 //std::cout<<"\033[1;32m c02= \033[0m "<< c02 <<std::endl;
6482 return c02;
6483 }
6484
6485
6486
6487 double GeneralTHDMcache::MWGTHDM(const double MW) const{
6488 return MW;
6489 }
6490
6491
6492
6493 double GeneralTHDMcache::beta(const double mf, const double m_2) const
6494 {
6495 // We take the absolute value; this beta should always be multiplied by Heaviside theta
6496 return sqrt(std::fabs(1.0 - 4.0*mf*mf / m_2));
6497 }
6498
6499
6500
6501 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
6502 {
6503 return (1.0/2.0)*vev*(Imlambda7H*(-Ri3*Rj3*Rk3 - Ri2*Rj2*Rk3) - 3.0*Imlambda6H*Ri1*Rj1*Rk3
6504 + lambda1H*Ri1*Rj1*Rk1 + Relambda7H*Ri2*Rj2*Rk2 + 3.0*Relambda6H*Ri1*Rj1*Rk2
6505 +(Relambda5H + lambda3H + lambda4H)*Ri1*Rj2*Rk2 - (2.0*Relambda5H - lambda3H - lambda4H)*Ri1*Rj3*Rk3
6506 + Relambda7H*Ri2*Rj3*Rk3 - Imlambda5H*Ri1*Rj2*Rk3);
6507 }
6508
6509 double GeneralTHDMcache::lambdaipm(const double Ri1,const double Ri2, const double Ri3) const
6510 {
6511 return vev*(lambda3*Ri1 + Relambda7*Ri2 - Imlambda7*Ri3);
6512 }
6513
6515{
6516 //FLAG to select only the model in which all the couplings are the same (by families)
6517 if (!myGTHDM->getATHDMflag())
6518 {
6519 throw std::runtime_error("Signal strengths are only available in the A2HDM.");
6520 }
6521
6522 /*complex i */
6523 gslpp::complex i = gslpp::complex::i();
6524
6525 //fermionic couplings for phi1
6526 yu1 = myGTHDM->getyu1();
6527 yd1 = myGTHDM->getyd1();
6528 yl1 = myGTHDM->getyl1();
6529
6530 yu1R = myGTHDM->getyu1R();
6531 yd1R = myGTHDM->getyd1R();
6532 yl1R = myGTHDM->getyl1R();
6533
6534
6535 //std::cout<<"\033[1;30m yu1 = \033[0m "<< yu1 <<std::endl;
6536 //std::cout<<"\033[1;30m yd1 = \033[0m "<< yd1 <<std::endl;
6537 //std::cout<<"\033[1;30m yl1 = \033[0m "<< yl1 <<std::endl;
6538
6539 //std::cout<<"\033[1;30m yu1R = \033[0m "<< yu1R <<std::endl;
6540 //std::cout<<"\033[1;30m yd1R = \033[0m "<< yd1R <<std::endl;
6541 //std::cout<<"\033[1;30m yl1R = \033[0m "<< yl1R <<std::endl;
6542
6543 //The ggH cross section in the SM at 8 TeV
6544 double SigmaggF8 = myGTHDM->computeSigmaggH(8.0);
6545 //The square of the top-quark contribution to the ggH cross section in the SM at 8 TeV
6546 double Sigmaggh_tt8 = myGTHDM->computeSigmaggH_tt(8.0);
6547 //The square of the top-quark contribution to the ggH cross section in the SM at 13 TeV
6548 //double Sigmaggh_tt13 = myTHDM->computeSigmaggH_tt(13.0);
6549 //The square of the bottom-quark contribution to the ggH cross section in the SM at 8 TeV
6550 double Sigmaggh_bb8 = myGTHDM->computeSigmaggH_bb(8.0);
6551 //The square of the bottom-quark contribution to the ggH cross section in the SM at 13 TeV
6552 //double Sigmaggh_bb13 = myTHDM->computeSigmaggH_bb(13.0);
6553 //The ttH production cross section in the SM at 8 TeV
6554 double Sigmatth8 = myGTHDM->computeSigmattH(8.0);
6555 //The Vh cross section in the SM at 8 TeV.
6556 SigmaVh8 = myGTHDM->computeSigmaWH(8.0)+myGTHDM->computeSigmaZH(8.0);
6557 //The VBF cross section in the SM at 8 TeV.
6558 SigmaVBF8 = myGTHDM->computeSigmaVBF(8.0);
6559 //The bbH production cross section in the SM at 8 TeV
6560 double Sigmabbh8 = ip_cs_pptobbH_8(mHl);
6561
6562 //The ggH cross section in the SM at 13 TeV.
6563 SigmaggF13 = myGTHDM->computeSigmaggH(13.0);
6564 //The Vh cross section in the SM at 13 TeV.
6565 SigmaVh13 = myGTHDM->computeSigmaWH(13.0)+myGTHDM->computeSigmaZH(13.0);
6566 //The Zh cross section in the SM at 13 TeV.
6567 SigmaZh13 = myGTHDM->computeSigmaZH(13.0);
6568 //The ttH production cross section in the SM at 13 TeV
6569 double Sigmatth13 = myGTHDM->computeSigmattH(13.0);
6570 //The bbH production cross section in the SM at 13 TeV
6571 double Sigmabbh13 = ip_cs_pptobbH_13(mHl);
6572 //The VBF plus Vh production cross section in the SM at 13 TeV
6573 double SigmaVBFVh13 = (myGTHDM->computeSigmaVBF(13.0)+myGTHDM->computeSigmaWH(13.0)+myGTHDM->computeSigmaZH(13.0));
6574
6575
6577
6578
6579 //gg -> A (phi odd) production cross section ratio at 8 TeV, top loop only over total
6580 // double rSigmagghO_t8 = ip_csr_ggA_t_8(m1);
6581 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
6582 double rSigmagghO_b8 = ip_csr_ggA_b_8(m1);
6583
6584 //gg -> A (phiodd) production cross section at 8 TeV, total
6585 double SigmagghO_8 = ip_cs_ggtoA_8(m1);
6586
6587
6588 //gg -> A (phiodd) production cross section at 13 TeV, total
6589 // double SigmagghO_13 = ip_cs_ggtoA_13(m1);
6590
6591 // beta_h_t = beta(Mt, m1_2);
6592 beta_h_t = sqrt(-1.0+4.0*Mt*Mt/m1_2);
6593 beta_h_b = beta(Mb, m1_2);
6595 beta_h_c = beta(Mc, m1_2);
6596 beta_h_mu = beta(Mmu, m1_2);
6597
6598 /* r_ii is the ratio of the squared 2HDM vertex coupling of h to
6599 the particle i and the respective squared SM coupling. Where separated
6600 E means the even part (coming from the CP-even scalar) and O
6601 the odd part (coming from the CP-odd scalar) */
6602
6603 rh_QuQuE= yu1.real()*yu1.real();
6604 rh_QuQuO= yu1.imag()*yu1.imag();
6605 rh_QdQdE= yd1.real()*yd1.real();
6606 rh_QdQdO= yd1.imag()*yd1.imag();
6607 rh_QlQlE= yl1.real()*yl1.real();
6608 rh_QlQlO= yl1.imag()*yl1.imag();
6609 //Isn't the interference missing here???
6610 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);
6611 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;
6612 rh_gg = rh_ggE+rh_ggO*(SigmagghO_8/SigmaggF8);
6613 rh_VV=Rij_GTHDM(0,0)*Rij_GTHDM(0,0);
6614
6615
6616
6617 /*Loop functions needed to rh_gaga and rh_Zga ...*/
6618
6619
6620 gslpp::complex fermU=I_h_U(m1_2,Mu,Mc,Mt);
6621 gslpp::complex fermD=I_h_D(m1_2,Md,Ms,Mb);
6622 gslpp::complex fermL=I_h_L(m1_2,Me,Mmu,Mtau);
6623 gslpp::complex I_hSM_W=I_H_W(mHl,MW);
6624 gslpp::complex I_h_W=Rij_GTHDM(0,0)*I_hSM_W;
6625
6626
6627 gslpp::complex I_hSM_F= fermU+fermD+fermL;
6628 gslpp::complex I_hE_F= yu1.real()*fermU+ yd1.real()*fermD+yl1.real()*fermL;
6629
6630
6631 /*Coupling between h and two charged Higgs*/
6632
6633
6634 double lambdahHpHm = lambdaipm(Rij_GTHDM(0,0), Rij_GTHDM(0,1), Rij_GTHDM(0,2));
6635
6636 gslpp::complex I_h_Hp=(vev)/(2.0*mHp2)*I_H_Hp(mHp2,m1)*lambdahHpHm;
6637
6638 /*CP ODD */
6639
6640 gslpp::complex I_h_Ux=I_A_U(m1_2,Mc,Mt);
6641 gslpp::complex I_h_Dx=I_A_D(m1_2,Ms,Mb);
6642 gslpp::complex I_h_Lx=I_A_L(m1_2,Mmu,Mtau);
6643
6644 gslpp::complex I_hO_F = yu1.imag()*I_h_Ux + yd1.imag()*I_h_Dx + yl1.imag()*I_h_Lx;
6645
6646 // 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());
6647 rh_gaga = ((I_hE_F+I_h_W+I_h_Hp).abs2()+ (I_hO_F).abs2())/(I_hSM_F +I_hSM_W).abs2();
6648
6649 /* std::cout << "rh_gaga = " << rh_gaga << std::endl;
6650 std::cout << "I_hE_F = " << I_hE_F << std::endl;
6651 std::cout << "I_h_W = " << I_h_W << std::endl;
6652 std::cout << "I_h_Hp = " << I_h_Hp << std::endl;
6653 std::cout << "I_hO_F = " << I_hO_F << std::endl;
6654 std::cout << "I_hSM_F = " << I_hSM_F << std::endl;
6655 std::cout << "I_hSM_W = " << I_hSM_W << std::endl;*/
6656
6657 /* std::cout << "yu1 c = " << yu1 << std::endl;
6658 std::cout << "yd1 c = " << yd1 << std::endl;
6659 std::cout << "yl1 c = " << yl1 << std::endl;*/
6660
6661
6662 /*Decay to Z gamma
6663 CP-EVEN PART*/
6664
6665 gslpp::complex A_hE_Ux = A_h_U(m1_2,cW2,Mu,Mc,Mt,MZ);
6666 gslpp::complex A_hE_Dx = A_h_D(m1_2,cW2,Md,Ms,Mb,MZ);
6667 gslpp::complex A_hE_Lx = A_h_L(m1_2,cW2,Me,Mmu,Mtau,MZ);
6668 gslpp::complex A_hSM_W = A_H_W(m1,cW2,MW,MZ);
6669 gslpp::complex A_h_W = Rij_GTHDM(0,0)*A_hSM_W;
6670
6671 gslpp::complex A_hSM_F = (A_hE_Ux+ A_hE_Dx+ A_hE_Lx)/sqrt(sW2*cW2);
6672 gslpp::complex A_hE_F = (yu1.real()*A_hE_Ux+ yd1.real()*A_hE_Dx+ yl1.real()*A_hE_Lx)/sqrt(sW2*cW2);
6673
6674 gslpp::complex A_h_Hp =(vev)/(2.0*mHp2)*A_H_Hp(mHp2,m1,cW2,MZ)*(lambdahHpHm);
6675
6676 /*CP-ODD PART*/
6677
6678 gslpp::complex A_hO_Ux = A_A_U(m1_2,cW2,Mc,Mt,MZ);
6679 gslpp::complex A_hO_Dx = A_A_D(m1_2,cW2,Ms,Mb,MZ);
6680 gslpp::complex A_hO_Lx = A_A_L(m1_2,cW2,Mmu,Mtau,MZ);
6681
6682 gslpp::complex A_hO_F=yu1.imag()*A_hO_Ux + yd1.imag()*A_hO_Dx + yl1.imag()*A_hO_Lx;
6683
6684 // 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());
6685 rh_Zga = ((A_hE_F+A_h_W+A_h_Hp).abs2()+ A_hO_F.abs2())/(A_hSM_F +A_hSM_W ).abs2();
6686 //std::cout<<"\033[1;32m rh_Zga= \033[0m "<< rh_Zga <<std::endl;
6687 /*Decay to gluons*/
6688 //std::cout<<"\033[1;32m Ale= \033[0m "<< Ale <<std::endl;
6689
6690 //std::cout<<"\033[1;32m sW2= \033[0m "<< sW2 <<std::endl;
6691
6692// 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();
6693
6694// double lambda122 = (2.0)*(lambdaijk(R11, R12, R13, R21, R22, R23, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
6695// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7) +
6696// lambdaijk(R21, R22, R23, R11, R12, R13, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
6697// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7) +
6698// lambdaijk(R21, R22, R23, R21, R22, R23, R11, R21, R13, lambda1, lambda3, lambda4, Relambda5,
6699// Imlambda5, Relambda6, Imlambda6, Relambda7, Imlambda7 ));
6700
6701 double lambda345 = (lambda3 + lambda4 + Relambda5);
6702
6703 //Modify for CPV cases
6704 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));
6705
6706 double lambda133 = (vev)*(Relambda7*R12 + (lambda3 + lambda4 - Relambda5)*R11);
6707
6708 double lambda1pm = vev*(lambda3*R11 + Relambda7*R12 - Imlambda7*R13);
6709
6710 double Gamma_hHH = HSTheta(m1 - 2.0*m2)*sqrt(std::fabs(1 - 4*(m2*m2)/(m1*m1)))*(lambda122*lambda122)/(32.0*M_PI*m1);
6711
6712 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6713 //double Gamma_hHH = HSTheta(m1 - 2.0*m2)*(KaellenFunction(m1_2,m2_2,m2_2)*lambda122*lambda122)/(8.0*m1_2*M_PI);
6714
6715 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6716 //double Gamma_hAA = HSTheta(m1 - 2.0*m3)*(KaellenFunction(m1_2,m3_2,m3_2)*lambda133*lambda133)/(8.0*m1_2*M_PI);
6717
6718 double Gamma_hAA = HSTheta(m1 - 2.0*m3)*sqrt(std::fabs(1 - 4*(m3*m3)/(m1*m1)))*(lambda133*lambda133)/(32.0*M_PI*m1);
6719
6720 double Gamma_hHpHm = HSTheta(m1-2.0*mHp)*sqrt(std::fabs(1 - 4*(mHp*mHp)/(m1*m1)))*(lambda1pm*lambda1pm)/(16.0*M_PI*m1);
6721
6722 //Check the sign of Rij in CPV case
6723 // KaellenFunction as defined above corresponds to the usual sqrt(lambda) divided by 2*m1
6724 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
6725 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
6726
6727 // /* ggF_tth8 is the ratio of the THDM and SM cross sections for ggF or tth production at 8 TeV*/
6728 // ggF_tth8 = (SigmaggF8*rh_ggE + SigmagghO_8*rh_ggO + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF8 + Sigmatth8);
6729 // /* ggF_tth13 is the ratio of the THDM and SM cross sections for ggF or tth production at 13 TeV */
6730 // ggF_tth13 = (SigmaggF13*rh_ggE + SigmagghO_13*rh_ggO + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF13 + Sigmatth13);
6731 // /* pph13 is the ratio of the THDM and SM cross sections for an h production at 13 TeV */
6732 // 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);
6733 // /* VBF_Vh is the ratio of the THDM and SM cross sections for VBF or Vh production */
6734 // VBF_Vh = rh_VV;
6735
6736 /* ggF_tth8 is the ratio of the THDM and SM cross sections for ggF and tth production at 8 TeV*/
6737 //ggF_tth8 = (SigmaggF8*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF8 + Sigmatth8);
6738 ggF_tth8 = (SigmaggF8*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO))/(SigmaggF8 + Sigmatth8);
6739
6740 /*SM cross-section of higgs production at 8 TeV at LHC*/
6741 SigSM_pph8 = (SigmaggF8 + SigmaVBF8 + SigmaVh8 + Sigmatth8 + Sigmabbh8);
6742 /* pph8 is the ratio of the THDM and SM cross sections for h production at 8 TeV */
6743 //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;
6744 pph8 = (SigmaggF8*rh_gg+ (SigmaVBF8 + SigmaVh8)*rh_VV + Sigmatth8*(rh_QuQuE + rh_QuQuO) + Sigmabbh8*(rh_QdQdE + rh_QdQdE))/SigSM_pph8;
6745
6746 /* ggF_tth13 is the ratio of the THDM and SM cross sections for ggF and tth production at 13 TeV */
6747 //ggF_tth13 = (SigmaggF13*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))))/(SigmaggF13 + Sigmatth13);
6748 ggF_tth13 = (SigmaggF13*rh_gg + Sigmatth8*(rh_QuQuE + rh_QuQuO))/(SigmaggF13 + Sigmatth13);
6749
6750 /*SM cross-section of higgs production at 13 TeV at LHC*/
6751 SigSM_pph13 = (SigmaggF13 + SigmaVBFVh13 + Sigmatth13 + Sigmabbh13);
6752 /* pph13 is the ratio of the THDM and SM cross sections for h production at 13 TeV */
6753 //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;
6754 pph13 = (SigmaggF13*rh_gg+ SigmaVBFVh13*rh_VV + Sigmatth13*(rh_QuQuE + rh_QuQuO) + Sigmabbh13*(rh_QdQdE + rh_QdQdE))/SigSM_pph13;
6755
6756 /* VBF_Vh is the ratio of the THDM and SM cross sections for VBF and Vh production */
6757 VBF_Vh = rh_VV;
6758
6759 /* ggF_VBF_Vh13 is the ratio of the GTHDM and SM cross sections for ggF + VBF + Vh production at 13 TeV */
6760 ggF_VBF_Vh13 = (SigmaggF13 * rh_gg + SigmaVBFVh13 * rh_VV)/(SigmaggF13 + SigmaVBFVh13);
6761
6762 double Gamma_h_exp = myGTHDM->computeGammaHTotal();
6763
6764 //double Gamma_htobb = BrSM_htobb * (rh_QdQdE + rh_QdQdO/(beta(Mb, m1_2)*beta(Mb, m1_2))) * Gamma_h_exp;
6765 double Gamma_htobb = BrSM_htobb * (rh_QdQdE + rh_QdQdO) * Gamma_h_exp;
6766 double Gamma_htoWW = BrSM_htoWW * rh_VV * Gamma_h_exp;
6767 double Gamma_htoZZ = BrSM_htoZZ * rh_VV * Gamma_h_exp;
6768 //double Gamma_htotautau = BrSM_htotautau * (rh_QlQlE + rh_QlQlO/(beta(Mtau, m1_2)*beta(Mtau, m1_2))) * Gamma_h_exp;
6769 double Gamma_htotautau = BrSM_htotautau * (rh_QlQlE + rh_QlQlO) * Gamma_h_exp;
6770 double Gamma_htogaga = BrSM_htogaga * rh_gaga * Gamma_h_exp;
6771 double Gamma_htogg = BrSM_htogg * rh_gg * Gamma_h_exp;
6772 double Gamma_htoZga = BrSM_htoZga * rh_Zga * Gamma_h_exp;
6773 //double Gamma_htocc = BrSM_htocc * (rh_QuQuE + rh_QuQuO/(beta(Mc, m1_2)*beta(Mc, m1_2))) * Gamma_h_exp;
6774 double Gamma_htocc = BrSM_htocc * (rh_QuQuE + rh_QuQuO) * Gamma_h_exp;
6775
6776 Gamma_h_inv = Gamma_hHpHm + Gamma_hHH + Gamma_hAA + Gamma_hHZ + Gamma_hAZ;
6777
6778 Gamma_h = (Gamma_htobb + Gamma_htoWW + Gamma_htoZZ + Gamma_htotautau + Gamma_htogaga +
6779 Gamma_htogg + Gamma_htoZga + Gamma_htocc + Gamma_h_inv);
6780
6781 GTHDM_BR_h_bb = Gamma_htobb / Gamma_h;
6782 GTHDM_BR_h_WW = Gamma_htoWW / Gamma_h;
6783 GTHDM_BR_h_ZZ = Gamma_htoZZ / Gamma_h;
6784 GTHDM_BR_h_tautau = Gamma_htotautau / Gamma_h;
6785 GTHDM_BR_h_cc = Gamma_htocc / Gamma_h;
6786 GTHDM_BR_h_gaga = Gamma_htogaga / Gamma_h;
6787 GTHDM_BR_h_gg = Gamma_htogg / Gamma_h;
6788 GTHDM_BR_h_HpHm = Gamma_hHpHm / Gamma_h;
6789 GTHDM_BR_h_HH = Gamma_hHH / Gamma_h;
6790 GTHDM_BR_h_AA = Gamma_hAA / Gamma_h;
6791 GTHDM_BR_h_HZ = Gamma_hHZ / Gamma_h;
6792 GTHDM_BR_h_AZ = Gamma_hAZ / Gamma_h;
6793
6794 sumModBRs = Gamma_h / Gamma_h_exp;
6795}
6796
6797
6798
6800{
6801 //FLAG to select only the model in which all the couplings are the same (by families)
6802 if (!myGTHDM->getATHDMflag())
6803 {
6804 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
6805 }
6806
6807 /*complex i */
6808 gslpp::complex i = gslpp::complex::i();
6809
6810 //Here we define the couplings to the fermions for the mass states
6811 yu2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) - i*Rij_GTHDM(1,2))*su.conjugate();
6812 yd2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) + i*Rij_GTHDM(1,2))*sd;
6813 yl2 = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1) + i*Rij_GTHDM(1,2))*sl;
6814
6815 yu2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*su.real();
6816 yd2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*sd.real();
6817 yl2R = Rij_GTHDM(1,0) + (Rij_GTHDM(1,1))*sl.real();
6818
6819 //These cross sections ratios are necessary for rphi2_gg
6820 //At 8 TeV
6821
6822 //SM gg -> H (phi even) production cross section ratio at 8 TeV, charm and top loop only over total
6823 double rSigmaggphi2E_tc8 = ip_csr_ggH_tc_8(m2);
6824 //SM gg -> H (phi even) production cross section ratio at 8 TeV, bottom loop only over total
6825 double rSigmaggphi2E_b8 = ip_csr_ggH_b_8(m2);
6826 //gg -> H (phieven) production cross section at 8 TeV, total
6827 // double Sigmaggphi2E_8 = ip_cs_ggtoH_8(m2);
6828
6829
6830 //gg -> A (phi odd) production cross section ratio at 8 TeV, charm and top loop only over total
6831 double rSigmaggphi2O_tc8 = ip_csr_ggA_tc_8(m2);
6832 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
6833 double rSigmaggphi2O_b8 = ip_csr_ggA_b_8(m2);
6834
6835 //gg -> A (phiodd) production cross section at 8 TeV, total
6836 // double Sigmaggphi2O_8 = ip_cs_ggtoA_8(m2);
6837
6838
6839 /* r_ii is the ratio of the squared 2HDM vertex coupling of phi2
6840 * to the particle phi2 and the respective squared SM coupling.
6841 * phi2 is fixed to be the non-SM and lightests (phi2), but can be translated*/
6842
6843 double rphi2_QuQuE= yu2.real()*yu2.real();
6844 double rphi2_QuQuO= yu2.imag()*yu2.imag();
6845 double rphi2_QdQdE= yd2.real()*yd2.real();
6846 double rphi2_QdQdO= yd2.imag()*yd2.imag();
6847 double rphi2_QlQlE= yl2.real()*yl2.real();
6848 double rphi2_QlQlO= yl2.imag()*yl2.imag();
6849 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;
6850 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;
6851
6852 rphi2_VV=Rij_GTHDM(1,0)*Rij_GTHDM(1,0);
6853
6854
6855 /*Gamma_phi2gaga and Gamma_phi2Zga expressions ...*/
6856
6857 /*Decay to photons. The fermionic contribution has a CP-even part (HH) and a CP-odd (A)*/
6858 /*CP EVEN*/
6859
6860
6861 gslpp::complex I_HH2_Ux=I_HH_U(m2_2,Mc,Mt);
6862 gslpp::complex I_HH2_Dx=I_HH_D(m2_2,Ms,Mb);
6863 gslpp::complex I_HH2_Lx=I_HH_L(m2_2,Mmu,Mtau);
6864 gslpp::complex I_phi2E_F= yu2.real()*I_HH2_Ux+ yd2.real()*I_HH2_Dx+yl2.real()*I_HH2_Lx;
6865
6866 gslpp::complex I_phi2_W=Rij_GTHDM(1,0)*I_H_W(m2,MW);
6867
6868
6869 double lambdaphi2HpHm = lambdaipm(R21, R22, R32);
6870
6871 gslpp::complex I_phi2_Hp=(vev*vev)/(2.0*mHp2)*I_H_Hp(mHp2,m2)*(lambdaphi2HpHm);
6872
6873
6874 /*CP ODD */
6875
6876 gslpp::complex I_A2_Ux=I_A_U(m2_2,Mc,Mt);
6877 gslpp::complex I_A2_Dx=I_A_D(m2_2,Ms,Mb);
6878 gslpp::complex I_A2_Lx=I_A_L(m2_2,Mmu,Mtau);
6879
6880 gslpp::complex I_phi2O_F = yu2.imag()*I_A2_Ux + yd2.imag()*I_A2_Dx + yl2.imag()*I_A2_Lx;
6881
6882 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()
6883 + (I_phi2O_F).abs2());
6884
6885 //std::cout<<"\033[1;33m Ale= \033[0m "<< Ale <<std::endl;
6886
6887 /*Decay to Z gamma
6888 CP-EVEN PART*/
6889
6890 gslpp::complex A_HH2_Ux = A_HH_U(m2_2,cW2,Mc,Mt,MZ);
6891 gslpp::complex A_HH2_Dx = A_HH_D(m2_2,cW2,Ms,Mb,MZ);
6892 gslpp::complex A_HH2_Lx = A_HH_L(m2_2,cW2,Mmu,Mtau,MZ);
6893
6894 gslpp::complex A_phi2E_F = (yu2.real()*A_HH2_Ux+ yd2.real()*A_HH2_Dx+ yl2.real()*A_HH2_Lx)/sqrt(sW2*cW2);
6895
6896
6897
6898 gslpp::complex A_phi2_W = Rij_GTHDM(1,0)*A_H_W(m2,cW2,MW,MZ);
6899
6900 gslpp::complex A_phi2_Hp = (vev*vev)/(2.0*mHp2)*A_H_Hp(mHp2,m2,cW2,MZ)*(lambdaphi2HpHm);
6901
6902 /*CP-ODD PART*/
6903
6904 gslpp::complex A_A2_Ux = A_A_U(m2_2,cW2,Mc,Mt,MZ);
6905 gslpp::complex A_A2_Dx = A_A_D(m2_2,cW2,Ms,Mb,MZ);
6906 gslpp::complex A_A2_Lx = A_A_L(m2_2,cW2,Mmu,Mtau,MZ);
6907
6908 gslpp::complex A_phi2O_F=yu2.imag()*A_A2_Ux + yd2.imag()*A_A2_Dx + yl2.imag()*A_A2_Lx;
6909
6910
6911
6912 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()
6913 + A_phi2O_F.abs2());
6914
6915
6916
6917 //std::cout<<"\033[1;35m Gamma_phi2Zga= \033[0m "<< Gamma_phi2Zga <<std::endl;
6918
6919
6920 /*Decay to gluons*/
6921
6922
6923 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()
6924 +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();
6925
6926
6927 //Cross-sections of ggF, bbF and VBF at 8 TeV Sigmaxx_H8 = Sigmaxx_H8SM*rphi2_xx
6928 /*
6929 SigmaggF_phi2_8=ip_cs_ggtoH_8(m2)*rphi2_gg;
6930 SigmabbF_phi2_8=ip_cs_pptobbH_8(m2)*rphi2_QbQb;
6931 SigmaVBF_phi2_8=ip_cs_VBFtoH_8(m2)*rphi2_VV;
6932 SigmattF_phi2_8=ip_cs_pptottH_8(m2)*rphi2_QtQt;
6933 SigmaVH_phi2_8=(ip_cs_WtoWH_8(m2)+ip_cs_ZtoZH_8(m2))*rphi2_VV;*/
6934
6935
6937 SigmabbF_phi2_8=ip_cs_pptobbH_8(m2)*rphi2_QdQdE + ip_cs_pptobbA_8(m2)*rphi2_QdQdO;
6939 SigmattF_phi2_8=ip_cs_pptottH_8(m2)*rphi2_QuQuE + ip_cs_pptottA_8(m2)*rphi2_QuQuO;
6941
6942
6943 //SM PREDICTIONS
6944
6945 SigmaTotSM_phi2_8 = 1.0e-15;
6946
6947 if (m2>=20. && m2 <=2000.) {
6949 }
6951
6952 /* SigmaggF_phi2_13=ip_cs_ggtoH_13(m2)*rphi2_gg;
6953 SigmabbF_phi2_13=ip_cs_pptobbH_13(m2)*rphi2_QbQb;
6954 SigmaVBF_phi2_13=ip_cs_VBFtoH_13(m2)*rphi2_VV;
6955 SigmattF_phi2_13=ip_cs_pptottH_13(m2)*rphi2_QtQt;
6956 SigmaVH_phi2_13=(ip_cs_WtoWH_13(m2)+ip_cs_ZtoZH_13(m2))*rphi2_VV;*/
6957
6958
6959
6961 SigmabbF_phi2_13=ip_cs_pptobbH_13(m2)*rphi2_QdQdE + ip_cs_pptobbA_13(m2)*rphi2_QdQdO;
6963 SigmattF_phi2_13=ip_cs_pptottH_13(m2)*rphi2_QuQuE + ip_cs_pptottA_13(m2)*rphi2_QuQuO;
6965
6966// std::cout<< SigmaggF_phi2_13<<std::endl;
6967// std::cout<<SigmaVBF_phi2_13;
6968
6969 /*std::cout << "THoEX_bb_phi2_tautau_ATLAS13 = " << THoEX_bb_phi2_tautau_ATLAS13 << std::endl;
6970 std::cout << "bb_phi2_tautau_TH13 = " << bb_phi2_tautau_TH13 << std::endl;
6971 std::cout << "ip_ex_bb_phi_tautau_ATLAS13(m2) = " << ip_ex_bb_phi_tautau_ATLAS13(m2) << std::endl;
6972 std::cout << "SigmabbF_phi2_13 = " << SigmabbF_phi2_13 << std::endl;
6973 std::cout << "ip_cs_pptobbH_13(m2) = " << ip_cs_pptobbH_13(m2) << std::endl;
6974 std::cout << "rphi2_QdQdE = " << rphi2_QdQdE << std::endl;
6975 std::cout << "yd2 = " << yd2 << std::endl;
6976 std::cout << "R21 = " << R21 << std::endl;
6977 std::cout << "R22 = " << R22 << std::endl;
6978 std::cout << "R23 = " << R23 << std::endl;
6979 std::cout << "sd " << sd << std::endl;
6980 std::cout << "ip_cs_pptobbA_13(m2) = " << ip_cs_pptobbA_13(m2) << std::endl;
6981 std::cout << "rphi2_QdQdO = " << rphi2_QdQdO << std::endl;*/
6982
6983
6984
6985// double SigmaTotSM_H13 = 1.0e-15;
6986// if (mHh>=20. && mHh <=2000.) {
6987// 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);
6988// }
6990
6991 double BrSM_phi2tott=ip_Br_HPtott(m2);
6992 double BrSM_phi2tocc=ip_Br_HPtocc(m2);
6993 double BrSM_phi2tobb=ip_Br_HPtobb(m2);
6994 double BrSM_phi2totautau=ip_Br_HPtotautau(m2);
6995 double BrSM_phi2tomumu=ip_Br_HPtomumu(m2);
6996 double BrSM_phi2toWW =ip_Br_HPtoWW(m2);
6997 double BrSM_phi2toZZ =ip_Br_HPtoZZ(m2);
6998
7000
7001 /*Decay of phi3 to the others scalars*/
7002double lambda132 = lambdaijk(R11, R12, R13, R31, R32, R33, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
7014
7015double lambda332 = lambdaijk(R31, R32, R33, R31, R32, R33, R21, R22, R23, lambda1, lambda3, lambda4, Relambda5,
7021
7022//phi2 -> phi1 phi3
7023double Gammaphi2_phi1phi3=HSTheta(m2 - (m1+m3))*KaellenFunction(m2_2,m1_2,m3_2)*lambda132*lambda132/(8.0*m3_2*M_PI);
7024double 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);
7025
7026/*Decay of phi2 to the others scalars*/
7027double lambda112 = (2.0)*(lambdaijk(R11, R12, R13, R21, R22, R23, R11, R12, R13, lambda1, lambda3, lambda4, Relambda5,
7033
7034//phi2 -> phi1phi1
7035double 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);
7036
7037//std::cout<<"\033[1;35m m2 =\033[0m "<< m2 <<std::endl;
7038//std::cout<<"\033[1;35m m1 =\033[0m "<< m1 <<std::endl;
7039//std::cout<<"\033[1;35m m1_2 =\033[0m "<< m1_2 <<std::endl;
7040//std::cout<<"\033[1;35m m2_2 =\033[0m "<< m2_2 <<std::endl;
7041//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;
7042
7043
7044//std::cout<<"\033[1;35m lambda112*lambda112 =\033[0m "<< lambda112*lambda112 <<std::endl;
7045//std::cout<<"\033[1;35m 1/(32.0*m2*M_PI) =\033[0m "<< 1/(32.0*m2*M_PI) <<std::endl;
7046
7047
7048//std::cout<<"\033[1;35m HSTheta(m2 - 2.0*m1) =\033[0m "<< HSTheta(m2 - 2.0*m1) <<std::endl;
7049
7050
7051 //phi2 ->H+H-
7052double 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);
7053//phi2 -> phi1 Z
7054double 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);
7055
7056//phi2 -> phi3 Z
7057double 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);
7058
7059
7060/* phi2 -> H+W- */
7061double Gammaphi2_HpW=HSTheta(m2-sqrt(mHp2)-MW)*pow(KaellenFunction(m2_2,MW*MW,mHp2),3)*(R23-i*R22).abs2()/(M_PI*vev*vev);
7062
7063double Gammaphi2_tt = HSTheta(m2 - 2*Mt)*BrSM_phi2tott*(rphi2_QuQuE + rphi2_QuQuO/(beta(Mt, m2_2)*beta(Mt, m2_2)))*Gammaphi2totSM;
7064
7065double Gammaphi2_cc = HSTheta(m2 - 2*Mc)*BrSM_phi2tocc*(rphi2_QuQuE + rphi2_QuQuO/(beta(Mc, m2_2)*beta(Mc, m2_2)))*Gammaphi2totSM;
7066
7067double Gammaphi2_bb = HSTheta(m2 - 2*Mb)*BrSM_phi2tobb*(rphi2_QdQdE + rphi2_QdQdO/(beta(Mb, m2_2)*beta(Mb, m2_2)))*Gammaphi2totSM;
7068
7069double Gammaphi2_mumu = HSTheta(m2 - 2*Mmu)*BrSM_phi2tomumu*(rphi2_QlQlE + rphi2_QlQlO/(beta(Mmu, m2_2)*beta(Mmu, m2_2)))*Gammaphi2totSM;
7070
7071double Gammaphi2_tautau = HSTheta(m2 - 2*Mtau)*BrSM_phi2totautau*(rphi2_QlQlE + rphi2_QlQlO/(beta(Mtau, m2_2)*beta(Mtau, m2_2)))*Gammaphi2totSM;
7072
7073double Gammaphi2_WW = HSTheta(m2 - 2*MW)*BrSM_phi2toWW*(rphi2_VV)*Gammaphi2totSM;
7074
7075double Gammaphi2_ZZ = HSTheta(m2 - 2*MZ)*BrSM_phi2toZZ*(rphi2_VV)*Gammaphi2totSM;
7076
7077
7078
7079
7080Gammaphi2tot = 1.e-10;
7081
7082Gammaphi2tot= Gammaphi2tot + Gammaphi2_tt+Gammaphi2_cc
7083 +Gammaphi2_bb+Gammaphi2_tautau+Gammaphi2_mumu
7084 +Gammaphi2_WW+Gammaphi2_ZZ+Gamma_phi2gaga
7085 +Gamma_phi2Zga+Gamma_phi2gg +Gammaphi2_phi1phi3
7086 +Gammaphi2_phi1phi1+Gammaphi2_phi3phi3+Gammaphi2_HpHm
7087 +Gammaphi2_phi1Z+Gammaphi2_phi3Z+Gammaphi2_HpW;
7088
7089
7090 //std::cout<<"\033[1;34m R11 =\033[0m "<< R11 <<std::endl;
7091
7092 //std::cout<<"\033[1;34m R23 =\033[0m "<< R23 <<std::endl;
7093 //std::cout<<"\033[1;34m R22 =\033[0m "<< R22 <<std::endl;
7094
7095 //std::cout<<"\033[1;34m lambdaphi2HpHm =\033[0m "<< lambdaphi2HpHm <<std::endl;
7096 //std::cout<<"\033[1;34m lambdaphi2HpHm =\033[0m "<< lambdaphi2HpHm <<std::endl;
7097 //std::cout<<"\033[1;34m Gammaphi2_HpHm =\033[0m "<< Gammaphi2_HpHm <<std::endl;
7098 //std::cout<<"\033[1;34m Gammaphi2_HpW =\033[0m "<< Gammaphi2_HpW <<std::endl;
7099
7100
7101
7102
7103 Br_phi2tott=Gammaphi2_tt/Gammaphi2tot;
7104 Br_phi2tobb=Gammaphi2_bb/Gammaphi2tot;
7105 Br_phi2totautau=Gammaphi2_tautau/Gammaphi2tot;
7106 Br_phi2tomumu=Gammaphi2_mumu/Gammaphi2tot;
7107
7108 Br_phi2toWW=Gammaphi2_WW/Gammaphi2tot;
7109 Br_phi2toZZ=Gammaphi2_ZZ/Gammaphi2tot;
7110 Br_phi2togaga=Gamma_phi2gaga/Gammaphi2tot;
7111 Br_phi2togg=Gamma_phi2gg/Gammaphi2tot;
7112 Br_phi2toZga=Gamma_phi2Zga/Gammaphi2tot;
7113 Br_phi2tophi1phi1=Gammaphi2_phi1phi1/Gammaphi2tot;
7114 Br_phi2tophi3phi3=Gammaphi2_phi3phi3/Gammaphi2tot;
7115 Br_phi2tophi1phi3=Gammaphi2_phi1phi3/Gammaphi2tot;
7116 Br_phi2toHpHm=Gammaphi2_HpHm/Gammaphi2tot;
7117 Br_phi2tophi1Z=Gammaphi2_phi1Z/Gammaphi2tot;
7118 Br_phi2tophi3Z=Gammaphi2_phi3Z/Gammaphi2tot;
7119 Br_phi2toHpW=Gammaphi2_HpW/Gammaphi2tot;
7120
7121
7122 //std::cout<<"\033[1;30m Gammaphi2_tt =\033[0m "<< Gammaphi2_tt <<std::endl;
7123 //std::cout<<"\033[1;30m Gammaphi2_bb =\033[0m "<< Gammaphi2_bb <<std::endl;
7124 //std::cout<<"\033[1;30m Gammaphi2_cc =\033[0m "<< Gammaphi2_cc <<std::endl;
7125 //std::cout<<"\033[1;30m Gammaphi2_tautau =\033[0m "<< Gammaphi2_tautau <<std::endl;
7126 //std::cout<<"\033[1;30m Gammaphi2_mumu =\033[0m "<< Gammaphi2_mumu <<std::endl;
7127
7128 //std::cout<<"\033[1;30m Gammaphi2_WW =\033[0m "<< Gammaphi2_WW <<std::endl;
7129 //std::cout<<"\033[1;30m Gammaphi2_ZZ =\033[0m "<< Gammaphi2_ZZ <<std::endl;
7130 //std::cout<<"\033[1;30m Gamma_phi2gaga =\033[0m "<< Gamma_phi2gaga <<std::endl;
7131 //std::cout<<"\033[1;30m Gamma_phi2Zga =\033[0m "<< Gamma_phi2Zga <<std::endl;
7132 //std::cout<<"\033[1;30m Gamma_phi2gg =\033[0m "<< Gamma_phi2gg <<std::endl;
7133
7134 //std::cout<<"\033[1;30m Gammaphi2_phi1phi3 =\033[0m "<< Gammaphi2_phi1phi3 <<std::endl;
7135 //std::cout<<"\033[1;30m Gammaphi2_phi1phi1 =\033[0m "<< Gammaphi2_phi1phi1 <<std::endl;
7136 //std::cout<<"\033[1;30m Gammaphi2_phi3phi3 =\033[0m "<< Gammaphi2_phi3phi3 <<std::endl;
7137 //std::cout<<"\033[1;30m Gammaphi2_HpHm =\033[0m "<< Gammaphi2_HpHm <<std::endl;
7138 //std::cout<<"\033[1;30m Gammaphi2_phi1Z =\033[0m "<< Gammaphi2_phi1Z <<std::endl;
7139
7140 //std::cout<<"\033[1;30m Gammaphi2_phi3Z =\033[0m "<< Gammaphi2_phi3Z <<std::endl;
7141 //std::cout<<"\033[1;30m Gammaphi2_HpW =\033[0m "<< Gammaphi2_HpW <<std::endl;
7142}
7143
7144
7145
7147{
7148 //FLAG to select only the model in which all the couplings are the same (by families)
7149 if (!myGTHDM->getATHDMflag())
7150 {
7151 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
7152 }
7153
7154 /*complex i */
7155 gslpp::complex i = gslpp::complex::i();
7156
7157 //fermionic couplings for phi3
7158 yu3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) - i*Rij_GTHDM(2,2))*su.conjugate();
7159 yd3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) + i*Rij_GTHDM(2,2))*sd;
7160 yl3 = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1) + i*Rij_GTHDM(2,2))*sl;
7161
7162 yu3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*su.real();
7163 yd3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*sd.real();
7164 yl3R = Rij_GTHDM(2,0) + (Rij_GTHDM(2,1))*sl.real();
7165
7166 //These cross sections ratios are necessary for rphi3_gg
7167 //At 8 TeV
7168
7169 //SM gg -> H (phi even) production cross section ratio at 8 TeV, charm and top loop only over total
7170 double rSigmaggphi3E_tc8 = ip_csr_ggH_tc_8(m3);
7171 //SM gg -> H (phi even) production cross section ratio at 8 TeV, bottom loop only over total
7172 double rSigmaggphi3E_b8 = ip_csr_ggH_b_8(m3);
7173 //gg -> H (phieven) production cross section at 8 TeV, total
7174 // double Sigmaggphi3E_8 = ip_cs_ggtoH_8(m3);
7175
7176
7177 //gg -> A (phi odd) production cross section ratio at 8 TeV, charm and top loop only over total
7178 double rSigmaggphi3O_tc8 = ip_csr_ggA_tc_8(m3);
7179 //gg -> A (phi odd) production cross section ratio at 8 TeV, bottom loop only over total
7180 double rSigmaggphi3O_b8 = ip_csr_ggA_b_8(m3);
7181
7182 //gg -> A (phiodd) production cross section at 8 TeV, total
7183 // double Sigmaggphi3O_8 = ip_cs_ggtoA_8(m3);
7184
7185
7186
7187 /* r_ii is the ratio of the squared 2HDM vertex coupling of phi3
7188 * to the particle phi3 and the respective squared SM coupling.
7189 * phi is fixed to be the non-SM and heaviest (phi3), but can be translated*/
7190
7191
7192 double rphi3_QuQuE= yu3.real()*yu3.real();
7193 double rphi3_QuQuO= yu3.imag()*yu3.imag();
7194 double rphi3_QdQdE= yd3.real()*yd3.real();
7195 double rphi3_QdQdO= yd3.imag()*yd3.imag();
7196 double rphi3_QlQlE= yl3.real()*yl3.real();
7197 double rphi3_QlQlO= yl3.imag()*yl3.imag();
7198 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;
7199 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;
7200 rphi3_VV=Rij_GTHDM(2,0)*Rij_GTHDM(2,0);
7201
7202
7203 /*Gamma_phi3gaga and Gamma_phi3Zga expressions ...*/
7204
7205 /*Decay to photons. The fermionic contribution has a CP-even part (HH) and a CP-odd (A)*/
7206 /*CP EVEN*/
7207
7208 gslpp::complex I_HH_Ux=I_HH_U(m3_2,Mc,Mt);
7209 gslpp::complex I_HH_Dx=I_HH_D(m3_2,Ms,Mb);
7210 gslpp::complex I_HH_Lx=I_HH_L(m3_2,Mmu,Mtau);
7211 gslpp::complex I_phi3E_F= yu3.real()*I_HH_Ux+ yd3.real()*I_HH_Dx+yl3.real()*I_HH_Lx;
7212
7213 gslpp::complex I_phi3_W=Rij_GTHDM(2,0)*I_H_W(m3,MW);
7214
7215
7216
7217 double lambdaphi3HpHm = lambdaipm(R31, R32, R33);
7218 gslpp::complex I_phi3_Hp=(vev*vev)/(2.0*mHp2)*I_H_Hp(mHp2,m3)*(lambdaphi3HpHm);
7219
7220
7221 /*CP ODD */
7222
7223 gslpp::complex I_A_Ux=I_A_U(m3_2,Mc,Mt);
7224 gslpp::complex I_A_Dx=I_A_D(m3_2,Ms,Mb);
7225 gslpp::complex I_A_Lx=I_A_L(m3_2,Mmu,Mtau);
7226
7227 gslpp::complex I_phi3O_F = yu3.imag()*I_A_Ux + yd3.imag()*I_A_Dx + yl3.imag()*I_A_Lx;
7228
7229 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());
7230
7231
7232 /*Decay to Z gamma
7233 CP-EVEN PART*/
7234
7235 gslpp::complex A_HH_Ux = A_HH_U(m3_2,cW2,Mc,Mt,MZ);
7236 gslpp::complex A_HH_Dx = A_HH_D(m3_2,cW2,Ms,Mb,MZ);
7237 gslpp::complex A_HH_Lx = A_HH_L(m3_2,cW2,Mmu,Mtau,MZ);
7238
7239 gslpp::complex A_phi3E_F = (yu3.real()*A_HH_Ux+ yd3.real()*A_HH_Dx+ yl3.real()*A_HH_Lx)/sqrt(sW2*cW2);
7240 gslpp::complex A_phi3_W = Rij_GTHDM(2,0)*A_H_W(m3,cW2,MW,MZ);
7241
7242 gslpp::complex A_phi3_Hp = (vev*vev)/(2.0*mHp2)*A_H_Hp(mHp2,m3,cW2,MZ)*(lambdaphi3HpHm);
7243
7244 /*CP-ODD PART*/
7245
7246 gslpp::complex A_A_Ux = A_A_U(m3_2,cW2,Mc,Mt,MZ);
7247 gslpp::complex A_A_Dx = A_A_D(m3_2,cW2,Ms,Mb,MZ);
7248 gslpp::complex A_A_Lx = A_A_L(m3_2,cW2,Mmu,Mtau,MZ);
7249
7250 gslpp::complex A_phi3O_F=yu3.imag()*A_A_Ux + yd3.imag()*A_A_Dx + yl3.imag()*A_A_Lx;
7251
7252 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()
7253 + A_phi3O_F.abs2());
7254
7255
7256 /*Decay to gluons */
7257
7258 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()
7259 +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();
7260
7261
7262 //Cross-sections of ggF, bbF and VBF at 8 TeV Sigmaxx_H8 = Sigmaxx_H8SM*rphi3_xx
7263
7264 /*SigmaggF_phi3_8=ip_cs_ggtoH_8(m3)*rphi3_gg;
7265 SigmabbF_phi3_8=ip_cs_pptobbH_8(m3)*rphi3_QbQb;
7266 SigmattF_phi3_8=ip_cs_pptottH_8(m3)*rphi3_QtQt;
7267 */
7268
7270 //std::cout<<"\033[1;33m ip_cs_ggtoH_8(m3) =\033[0m "<< ip_cs_ggtoH_8(m3) <<std::endl;
7271 //std::cout<<"\033[1;33m rphi3_ggE =\033[0m "<< rphi3_ggE <<std::endl;
7272 //std::cout<<"\033[1;33m ip_cs_ggtoA_8(m3) =\033[0m "<< ip_cs_ggtoA_8(m3) <<std::endl;
7273 //std::cout<<"\033[1;33m rphi3_ggO =\033[0m "<< rphi3_ggO <<std::endl;
7274 SigmabbF_phi3_8=ip_cs_pptobbH_8(m3)*rphi3_QdQdE + ip_cs_pptobbA_8(m3)*rphi3_QdQdO;
7276 SigmattF_phi3_8=ip_cs_pptottH_8(m3)*rphi3_QuQuE + ip_cs_pptottA_8(m3)*rphi3_QuQuO;
7278
7279 //SM PREDICTIONS
7280 SigmaTotSM_phi3_8 = 1.0e-15;
7281
7282 if (m3>=20. && m3 <=2000.) {
7284 }
7286
7287 /* SigmaggF_phi3_13=ip_cs_ggtoH_13(m3)*rphi3_gg;
7288 SigmabbF_phi3_13=ip_cs_pptobbH_13(m3)*rphi3_QbQb;
7289 SigmattF_phi3_13=ip_cs_pptottH_13(m3)*rphi3_QtQt;*/
7290
7292 SigmabbF_phi3_13=ip_cs_pptobbH_13(m3)*rphi3_QdQdE + ip_cs_pptobbA_13(m3)*rphi3_QdQdO;
7294 SigmattF_phi3_13=ip_cs_pptottH_13(m3)*rphi3_QuQuE + ip_cs_pptottA_13(m3)*rphi3_QuQuO;
7296
7297
7298// double SigmaTotSM_H13 = 1.0e-15;
7299// if (mHh>=20. && mHh <=2000.) {
7300// 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);
7301// }
7303
7304
7305double BrSM_phi3tott=ip_Br_HPtott(m3);
7306double BrSM_phi3tocc=ip_Br_HPtocc(m3);
7307double BrSM_phi3tobb=ip_Br_HPtobb(m3);
7308double BrSM_phi3totautau=ip_Br_HPtotautau(m3);
7309double BrSM_phi3tomumu=ip_Br_HPtomumu(m3);
7310double BrSM_phi3toWW =ip_Br_HPtoWW(m3);
7311double BrSM_phi3toZZ =ip_Br_HPtoZZ(m3);
7312
7314
7315
7316
7317/*Decay of phi3 to the others scalars*/
7318double lambda123 = lambdaijk(R11, R12, R13, R21, R22, R23, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7330double lambda223 = lambdaijk(R21, R22, R23, R21, R22, R23, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7336double lambda113 = lambdaijk(R11, R12, R13, R11, R13, R13, R31, R32, R33, lambda1, lambda3, lambda4, Relambda5,
7342
7343//phi3 -> phi1 phi2
7344double Gammaphi3_phi1phi2=HSTheta(m3 - (m1+m2))*KaellenFunction(m3_2,m1_2,m2_2)*lambda123*lambda123/(8.0*m3_2*M_PI);
7345// phi3 -> phi2 phi2
7346double 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);
7347//phi3 -> phi1phi1
7348double 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);
7349//phi3 ->H+H-
7350double 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);
7351//phi3 -> phi1 Z
7352double 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);
7353//phi3 -> phi2 Z
7354double 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);
7355/* phi3 -> H+W- */
7356double Gammaphi3_HpW=HSTheta(m3-sqrt(mHp2)-MW)*pow(KaellenFunction(m3_2,MW*MW,mHp2),3)*(R33-i*R32).abs2()/(M_PI*vev*vev);
7357
7358double Gammaphi3_tt = HSTheta(m3 - 2*Mt)*BrSM_phi3tott*(rphi3_QuQuE + rphi3_QuQuO/(beta(Mt, m3_2)*beta(Mt, m3_2)))*Gammaphi3totSM;
7359
7360double Gammaphi3_cc = HSTheta(m3 - 2*Mc)*BrSM_phi3tocc*(rphi3_QuQuE + rphi3_QuQuO/(beta(Mc, m3_2)*beta(Mc, m3_2)))*Gammaphi3totSM;
7361
7362double Gammaphi3_bb = HSTheta(m3 - 2*Mb)*BrSM_phi3tobb*(rphi3_QdQdE + rphi3_QdQdO/(beta(Mb, m3_2)*beta(Mb, m3_2)))*Gammaphi3totSM;
7363
7364double Gammaphi3_tautau = HSTheta(m3 - 2*Mtau)*BrSM_phi3totautau*(rphi3_QlQlE + rphi3_QlQlO/(beta(Mtau, m3_2)*beta(Mtau, m3_2)))*Gammaphi3totSM;
7365
7366double Gammaphi3_mumu = HSTheta(m3 - 2*Mmu)*BrSM_phi3tomumu*(rphi3_QlQlE + rphi3_QlQlO/(beta(Mmu, m3_2)*beta(Mmu, m3_2)))*Gammaphi3totSM;
7367
7368double Gammaphi3_WW = HSTheta(m3 - 2*MW)*BrSM_phi3toWW*(rphi3_VV)*Gammaphi3totSM;
7369
7370double Gammaphi3_ZZ = HSTheta(m3 - 2*MZ)*BrSM_phi3toZZ*(rphi3_VV)*Gammaphi3totSM;
7371
7372
7373Gammaphi3tot = 1.e-15;
7374
7375Gammaphi3tot = Gammaphi3tot + Gammaphi3_tt + Gammaphi3_cc + Gammaphi3_bb
7376 + Gammaphi3_tautau + Gammaphi3_mumu + Gammaphi3_WW
7377 + Gammaphi3_ZZ + Gamma_phi3gaga + Gamma_phi3Zga + Gamma_phi3gg
7378 + Gammaphi3_phi1phi1 + Gammaphi3_phi2phi2 + Gammaphi3_phi1phi2
7379 + Gammaphi3_HpHm + Gammaphi3_phi1Z + Gammaphi3_phi2Z
7380 + Gammaphi3_HpW;
7381
7382
7383
7384
7385 //std::cout<<"\033[1;34m R31 =\033[0m "<< R31 <<std::endl;
7386 //std::cout<<"\033[1;34m R32 =\033[0m "<< R32 <<std::endl;
7387 //std::cout<<"\033[1;34m R33 =\033[0m "<< R33 <<std::endl;
7388
7389 //std::cout<<"\033[1;34m lambdaphi3HpHm =\033[0m "<< lambdaphi3HpHm <<std::endl;
7390 //std::cout<<"\033[1;34m lambdaphi3HpHm =\033[0m "<< lambdaphi3HpHm <<std::endl;
7391 //std::cout<<"\033[1;34m Gammaphi3_HpHm =\033[0m "<< Gammaphi3_HpHm <<std::endl;
7392 //std::cout<<"\033[1;34m Gammaphi3_HpW =\033[0m "<< Gammaphi3_HpW <<std::endl;
7393
7394
7395
7396
7397
7398
7399
7400 Br_phi3tott=Gammaphi3_tt/Gammaphi3tot;
7401 Br_phi3tobb=Gammaphi3_bb/Gammaphi3tot;
7402 Br_phi3tomumu=Gammaphi3_mumu/Gammaphi3tot;
7403 Br_phi3totautau=Gammaphi3_tautau/Gammaphi3tot;
7404 Br_phi3toWW=Gammaphi3_WW/Gammaphi3tot;
7405 Br_phi3toZZ=Gammaphi3_ZZ/Gammaphi3tot;
7406 Br_phi3togaga=Gamma_phi3gaga/Gammaphi3tot;
7407 Br_phi3togg=Gamma_phi3gg/Gammaphi3tot;
7408 Br_phi3toZga=Gamma_phi3Zga/Gammaphi3tot;
7409 Br_phi3tophi1phi1=Gammaphi3_phi1phi1/Gammaphi3tot;
7410 Br_phi3tophi2phi2=Gammaphi3_phi2phi2/Gammaphi3tot;
7411 Br_phi3tophi1phi2=Gammaphi3_phi1phi2/Gammaphi3tot;
7412 Br_phi3toHpHm=Gammaphi3_HpHm/Gammaphi3tot;
7413 Br_phi3tophi1Z=Gammaphi3_phi1Z/Gammaphi3tot;
7414 Br_phi3tophi2Z=Gammaphi3_phi2Z/Gammaphi3tot;
7415 Br_phi3toHpW=Gammaphi3_HpW/Gammaphi3tot;
7416
7417
7418 //std::cout<<"\033[1;34m BrSM_phi3totautau =\033[0m "<< BrSM_phi3totautau <<std::endl;
7419}
7420
7421
7423{
7424 //FLAG to select only the model in which all the couplings are the same (by families)
7425 if (!myGTHDM->getATHDMflag())
7426 {
7427 throw std::runtime_error("Direct Searches are only available in the A2HDM.");
7428 }
7429
7430 /*complex i */
7431 gslpp::complex i = gslpp::complex::i();
7432
7433 // Pole masses and CKM matrix elements relevant for Hp quantities
7434 double alsmuc = myGTHDM->Als(myGTHDM->getMuc(), FULLNNNLO, true, true);
7435 // Mbar2Mp does not receive Mc
7436 double Mcp = Mc*(1.+4.*alsmuc/3./M_PI+alsmuc*alsmuc/M_PI/M_PI*(-1.0414*(1.-4.*Ms/3.*Mc)+13.4434));
7437 double Mbp = myGTHDM->Mbar2Mp(Mb, QCD::BOTTOM, FULLNNLO);
7438 double Mtp = myGTHDM->getMtpole();
7439 double Mmu2 = Mmu*Mmu;
7440 double Mtau2 = Mtau*Mtau;
7441 double Ms2 = Ms*Ms;
7442 double Mc2 = Mcp*Mcp;
7443 double Mb2 = Mbp*Mbp;
7444 double Mt2 = Mtp*Mtp;
7445 double r2hot = mHp*mHp/Mtp/Mtp;
7446 double r2bot = Mbp*Mbp/Mtp/Mtp;
7447 double Vtb = myGTHDM->getCKM().getV_tb().abs();
7448 double Vcb = myGTHDM->getCKM().getV_cb().abs();
7449 double Vcs = myGTHDM->getCKM().getV_cs().abs();
7450
7451 //In order to compute the xsection we use the xsections generated in the table log_cs_ggtoHp_8
7452 //such a table is generated for the type II mode, basically we take the value for tanb=1 and
7453 //then we rescale with the coupling of the top-quark, there should be a residual dependence on
7454 //the coupling to the bottom-quarks which we neglect since it should be proportional to the bottom
7455 //quark (and the one included to the top quark)
7456 SigmaHp8=0.0;
7457 SigmaHpm13=0.0;
7458
7459 SigmaHp8=ip_cs_ggtoHp_8(mHp,0.0)*su.abs2();
7460 SigmaHpm13=ip_cs_ggtoHp_13(mHp,0.0)*su.abs2();
7461
7462
7463 double GammaHpmunu = HSTheta(mHp-Mmu) * (Mmu2 * (mHp2-Mmu2) * (mHp2-Mmu2) * sl.abs2()) / (8.0*mHp*mHp2*M_PI*vev*vev);
7464 double GammaHptaunu = HSTheta(mHp-Mtau) * (Mtau2 * (mHp2-Mtau2) * (mHp2-Mtau2) * sl.abs2()) / (8.0*mHp*mHp2*M_PI*vev*vev);
7465
7466 double GammaHpcs = 0.;
7467 double GammaHpcb = 0.;
7468 double GammaHptb = 0.;
7469 double GammaHpHlW = 0.;
7470 double GammaHpphi2W = 0.;
7471 double GammaHpphi3W = 0.;
7472 double GammaHpphi3Wst = 0.;
7473
7474 if(mHp>=Mtp+Mbp)
7475 {
7476 GammaHptb = HSTheta(mHp-Mtp-Mbp)*(Vtb*Vtb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mt2
7477 -sd.abs2()*Mb2*(Mb2-mHp2+Mt2)-su.abs2()*Mt2*(Mb2-mHp2+Mt2))
7478 *sqrt((Mb2*Mb2+(mHp2-Mt2)*(mHp2-Mt2)-2.0*Mb2*(mHp2+Mt2))/(mHp2*mHp2));
7479 }
7480
7481 if(mHp>=Mcp+Mbp)
7482 {
7483 GammaHpcb = HSTheta(mHp-Mcp-Mbp)*(Vcb*Vcb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mc2
7484 -sd.abs2()*Mb2*(Mb2-mHp2+Mc2)-su.abs2()*Mc2*(Mb2-mHp2+Mc2))
7485 *sqrt((Mb2*Mb2+(mHp2-Mc2)*(mHp2-Mc2)-2.0*Mb2*(mHp2+Mc2))/(mHp2*mHp2));
7486 }
7487
7488 if(mHp>=Mcp+Ms)
7489 {
7490 GammaHpcs = HSTheta(mHp-Mcp-Ms)*(Vcs*Vcs/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Ms2*Mc2
7491 -sd.abs2()*Ms2*(Ms2-mHp2+Mc2)-su.abs2()*Mc2*(Ms2-mHp2+Mc2))
7492 *sqrt((Ms2*Ms2+(mHp2-Mc2)*(mHp2-Mc2)-2.0*Ms2*(mHp2+Mc2))/(mHp2*mHp2));
7493 }
7494
7495 //decay to phi1 (SM Higgs)
7496 if(mHp>=mHl+MW)
7497 {
7498 GammaHpHlW = KaellenFunction(1.0, mHl*mHl/mHp/mHp, MW*MW/mHp/mHp) *
7501 mHp*mHp*mHp * (R12*R12 + R13*R13) / (2.0*M_PI*vev*vev);
7502 }
7503
7504 //decay to phi2
7505 if(mHp>=m2+MW)
7506 {
7507 GammaHpphi2W = KaellenFunction(1.0, m2*m2/mHp/mHp, MW*MW/mHp/mHp) *
7510 mHp*mHp*mHp * (R22*R22 + R23*R23) / (2.0*M_PI*vev*vev);
7511 }
7512
7513 //decay to phi3
7514 if(mHp>=m3+MW)
7515 {
7516 GammaHpphi3W = KaellenFunction(1.0, m3*m3/mHp/mHp, MW*MW/mHp/mHp) *
7519 mHp*mHp*mHp * (R32*R32 + R33*R33) / (2.0*M_PI*vev*vev);
7520 }
7521
7522 //decay to phi3 + Wstar
7523 //computed for LEP interval of Hp and phi3 masses
7524 if(mHp >= 40.0 && mHp <= 93.0 && mH3 >= 12.0 && mH3 <= (mHp - 3.))
7525 GammaHpphi3Wst = ip_integral_Hp_A_Wstar(mHp,mH3,1.,1.);
7526
7527 GammaHptot = 1.e-10;
7528
7529 GammaHptot = GammaHptot + GammaHpmunu + GammaHptaunu +
7530 GammaHpcs + GammaHpcb + GammaHptb +
7531 GammaHpHlW + GammaHpphi2W + GammaHpphi3W + GammaHpphi3Wst;
7532
7533
7534 Br_Hptomunu = GammaHpmunu/GammaHptot;
7535 Br_Hptotaunu = GammaHptaunu/GammaHptot;
7536 Br_Hptocs = GammaHpcs/GammaHptot;
7537 Br_Hptocb = GammaHpcb/GammaHptot;
7538 Br_Hptotb = GammaHptb/GammaHptot;
7539 Br_Hptophi3W = GammaHpphi3W/GammaHptot;
7540 Br_Hptophi3Wst = GammaHpphi3Wst/GammaHptot;
7541
7542 //HSTheta(mHp-Mt-Mb)*(Vtb*Vtb/(8.0*mHp*M_PI*vev*vev))*3.0*(-4.0*(su*sd).real()*Mb2*Mt2
7543 // -sd.abs2()*Mb2*(Mb2-mHp2+Mt2)-su.abs2()*Mt2*(Mb2-mHp2+Mt2))
7544 // *sqrt((Mb2*Mb2+(mHp2-Mt2)*(mHp2-Mt2)-2.0*Mb2*(mHp2+Mt2))/(mHp2*mHp2))
7545
7546
7547 // Hp production from top decay, for light charged scalars
7548 // Formula according to Czarnecki and Davidson, hep-ph/9301237
7549 //double Gammatoptot = 1.42; // PDG 2023
7550 double GammatHpb = 0.;
7551 double pre_tHpb = GF * Mt2 * Mtp * Vtb * Vtb / 4. / sqrt(2.) / M_PI;
7552 gslpp::complex aCD = su - sd * Mbp / Mtp;
7553 gslpp::complex bCD = su + sd * Mbp / Mtp;
7554 double aCD2 = (aCD * aCD.conjugate()).real();
7555 double bCD2 = (bCD * bCD.conjugate()).real();
7556
7557 if(Mtp>=mHp+Mbp)
7558 {
7559 GammatHpb = pre_tHpb * ((1. - r2hot + r2bot) * (aCD2 + bCD2) / 2. + r2bot * (aCD2 - bCD2)) *
7560 sqrt(1. + r2hot*r2hot + r2bot*r2bot - 2. * (r2hot + r2bot + r2hot*r2bot)) / 2.;
7561 }
7562
7563 double GammatWb = 1.35; // (in GeV) at NLO-QCD from 2409.04179
7564
7565 Gammatoptot = GammatWb + GammatHpb;
7566
7567 Br_ttoHpb = GammatHpb / Gammatoptot;
7568}
7569
7570
7572{
7573 double MZ2 = MZ * MZ;
7574 double MW2 = MW * MW;
7575 double preZ = GF * MZ * MZ2 / 24. / sqrt(2.) / M_PI;
7576 double preW = GF * MW * MW2 / 24. / sqrt(2.) / M_PI;
7577
7578 double gZAH_2 = R22 * R22; // CP conserving case; needs to be generalised for CPV analyses
7579 double gZHpHm_2 = (sW2 - cW2) * (sW2 - cW2);
7580 double gWHpH_2 = R22 * R22; // CP conserving case; needs to be generalised for CPV analyses
7581 double gWHpA_2 = R33 * R33; // CP conserving case; needs to be generalised for CPV analyses
7582
7583 double func_ZAH = 1. + (mH3sq - mH2sq) * (mH3sq - mH2sq) / MZ2 / MZ2 - 2. * (mH3sq + mH2sq) / MZ2;
7584 double func_ZHpHm = 1. - 4. * mHp2 / MZ2;
7585 double func_WHpH = 1. + (mHp2 - mH2sq) * (mHp2 - mH2sq) / MW2 / MW2 - 2. * (mHp2 + mH2sq) / MW2;
7586 double func_WHpA = 1. + (mHp2 - mH3sq) * (mHp2 - mH3sq) / MW2 / MW2 - 2. * (mHp2 + mH3sq) / MW2;
7587
7588 double Gamma_ZAH = HSTheta(MZ-mH3-mH2) * preZ * gZAH_2 * sqrt(std::fabs(func_ZAH)) * func_ZAH;
7589 double Gamma_ZHpHm = HSTheta(MZ-2.*mHp) * preZ * gZHpHm_2 * sqrt(std::fabs(func_ZHpHm)) * func_ZHpHm;
7590 double Gamma_WHpH = HSTheta(MW-mHp-mH2) * preW * gWHpH_2 * sqrt(std::fabs(func_WHpH)) * func_WHpH;
7591 double Gamma_WHpA = HSTheta(MW-mHp-mH3) * preW * gWHpA_2 * sqrt(std::fabs(func_WHpA)) * func_WHpA;
7592
7593 Gamma_Z_inv = myGTHDM->Gamma_inv() + Gamma_ZAH + Gamma_ZHpHm;
7594
7595 Gamma_W_inv = Gamma_WHpH + Gamma_WHpA;
7596}
7597
7598
7599//Higgs direct searches
7600
7602{
7603 //FLAG to select only the model in which all the couplings are the same (by families)
7604 if (!myGTHDM->getATHDMflag())
7605 {
7606 throw std::runtime_error("Direct Searches are only aviable in the A2HDM.");
7607 }
7608
7609 /*complex i */
7610 gslpp::complex i = gslpp::complex::i();
7611
7612 double Br_Ztoee=0.03363; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7613 double Br_Ztomumu=0.03366; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7614 double Br_Ztotautau=0.0337; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7615 double Br_Ztoinv=0.2; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7616// double Br_Ztohadrons=0.69911; //PDG2022
7617 double Br_Wtoenu=0.1071; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7618 double Br_Wtomunu=0.1063; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7619 double Br_Wtotaunu=0.1138; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7620 double Br_Wtohadrons=0.6741; // PDG2022
7621 double Br_tautoleptons=0.3521; // PDG2022
7622 double Br_tautohadrons=1-Br_tautoleptons; // PDG2022
7623
7624
7643
7644
7649
7654
7659
7660
7661
7662
7663
7716
7717
7722
7723
7728
7745
7750
7771 //THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13=0.0; //OLD this has been splitted in two
7774 //THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13=0.0; //OLD this has been splitted in two
7783
7786
7787
7790
7791
7792
7797
7798
7801
7802
7823
7826
7831
7846
7855
7856 //Theoretical expressions for the Heavy Higgs cross sections times branching ratios
7857
7862
7863
7864
7865
7874
7875
7876
7885
7886
7887
7896
7897
7898
7905
7906
7907
7908
7909 pp_phi2_Zga_llga_TH8=SigmaSumphi2_8*Br_phi2toZga*(Br_Ztoee+Br_Ztomumu);
7910 pp_phi3_Zga_llga_TH8=SigmaSumphi3_8*Br_phi3toZga*(Br_Ztoee+Br_Ztomumu);
7913
7914
7915
7916
7917
7918
7929
7930
7931
7932
7941 ggVV_phi2_WW_lnulnu_TH13=(SigmaggF_phi2_13+SigmaVBF_phi2_13)*Br_phi2toWW*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu);
7942 ggVV_phi3_WW_lnulnu_TH13=(SigmaggF_phi3_13+SigmaVBF_phi3_13)*Br_phi3toWW*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu);
7945
7946
7947
7948
7949
7950
7955
7958
7961
7962
7963
7964
7973
7976
7981
7984
7989
7992
7995
7996
7997 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)
7998 +GTHDM_BR_h_ZZ*2.0*Br_Ztoinv*(Br_Ztoee+Br_Ztomumu+Br_Ztotautau*Br_tautoleptons*Br_tautoleptons));
7999 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)
8000 +GTHDM_BR_h_ZZ*2.0*Br_Ztoinv*(Br_Ztoee+Br_Ztomumu+Br_Ztotautau*Br_tautoleptons*Br_tautoleptons));
8001
8002
8003
8004// 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
8005// BR of the SM (which is what experimentalist have assumed)
8007 +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)
8008 +GTHDM_BR_h_tautau*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons)/
8009 (BrSM_htoWW*BrSM_htoWW*pow((Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons),4)
8010 +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)
8011 +BrSM_htotautau*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons);
8012
8014 +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)
8015 +GTHDM_BR_h_tautau*GTHDM_BR_h_tautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons)/
8016 (BrSM_htoWW*BrSM_htoWW*pow((Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*Br_tautohadrons),4)
8017 +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)
8018 +BrSM_htotautau*BrSM_htotautau*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons*Br_tautohadrons);
8019
8020
8021
8022
8023 //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;
8024 //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;
8025
8028
8029
8030
8033
8034
8035 //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;
8036 //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;
8037
8038 //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;
8039 //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;
8040
8041
8042
8043
8044 //pp_phi2_phi1phi1_bbWWorbbtautau_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*
8045 // 2.0*GTHDM_BR_h_bb*
8046 // (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8047 // +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8048 // +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons);
8049 //pp_phi3_phi1phi1_bbWWorbbtautau_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*
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
8055
8057 2.0*GTHDM_BR_h_bb*
8058 (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8059 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8060 +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons)/(
8061 2.0*BrSM_htobb*
8062 (BrSM_htoWW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8063 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8064 +BrSM_htotautau*Br_tautoleptons*Br_tautoleptons)
8065 );
8067 2.0*GTHDM_BR_h_bb*
8068 (GTHDM_BR_h_WW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8069 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8070 +GTHDM_BR_h_tautau*Br_tautoleptons*Br_tautoleptons)/(
8071 2.0*BrSM_htobb*
8072 (BrSM_htoWW*((Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)
8073 +2.0*(Br_Wtoenu+Br_Wtomunu)*Br_Wtohadrons)
8074 +BrSM_htotautau*Br_tautoleptons*Br_tautoleptons)
8075 );
8076
8077
8078
8079
8080
8081 //pp_phi2_phi1phi1_bbWW_TH13=SigmaSumphi2_13*Br_phi2tophi1phi1*2.0*5.77e-1*2.15e-1; //SM Br of hh assumed
8082 //pp_phi3_phi1phi1_bbWW_TH13=SigmaSumphi3_13*Br_phi3tophi1phi1*2.0*5.77e-1*2.15e-1; //SM Br of hh assumed
8083
8086
8087
8088
8091
8092
8093
8102
8107
8112
8113 //gg_phi2_phi1Z_tautaull_TH13=SigmaggF_phi2_13*Br_phi2tophi1Z*GTHDM_BR_h_tautau*(Br_Ztoee+Br_Ztomumu)*Br_tautohadrons*Br_tautohadrons;
8114 //gg_phi3_phi1Z_tautaull_TH13=SigmaggF_phi3_13*Br_phi3tophi1Z*GTHDM_BR_h_tautau*(Br_Ztoee+Br_Ztomumu)*Br_tautohadrons*Br_tautohadrons;
8117
8118
8119 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbZ_TH8 = \033[0m "<<gg_phi2_phi1Z_bbZ_TH8<<std::endl;
8120 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbZ_TH8 = \033[0m "<<gg_phi3_phi1Z_bbZ_TH8<<std::endl;
8121 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbll_TH8 = \033[0m "<<gg_phi2_phi1Z_bbll_TH8<<std::endl;
8122 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbll_TH8 = \033[0m "<<gg_phi3_phi1Z_bbll_TH8<<std::endl;
8123 //std::cout<<"\033[1;34m gg_phi2_phi1Z_tautauZ_TH8 = \033[0m "<<gg_phi2_phi1Z_tautauZ_TH8<<std::endl;
8124 //std::cout<<"\033[1;34m gg_phi3_phi1Z_tautauZ_TH8 = \033[0m "<<gg_phi3_phi1Z_tautauZ_TH8<<std::endl;
8125 //std::cout<<"\033[1;34m gg_phi2_phi1Z_tautaull_TH8 = \033[0m "<<gg_phi2_phi1Z_tautaull_TH8<<std::endl;
8126 //std::cout<<"\033[1;34m gg_phi3_phi1Z_tautaull_TH8 = \033[0m "<<gg_phi3_phi1Z_tautaull_TH8<<std::endl;
8127 //std::cout<<"\033[1;34m gg_phi2_phi1Z_bbZ_TH13 = \033[0m "<<gg_phi2_phi1Z_bbZ_TH13<<std::endl;
8128 //std::cout<<"\033[1;34m gg_phi3_phi1Z_bbZ_TH13 = \033[0m "<<gg_phi3_phi1Z_bbZ_TH13<<std::endl;
8129 //std::cout<<"\033[1;34m bb_phi2_phi1Z_bbZ_TH13 = \033[0m "<<bb_phi2_phi1Z_bbZ_TH13<<std::endl;
8130 //std::cout<<"\033[1;34m bb_phi3_phi1Z_bbZ_TH13 = \033[0m "<<bb_phi3_phi1Z_bbZ_TH13<<std::endl;
8131 //std::cout<<"\033[1;31m Br_phi2tophi1Z = \033[0m "<<Br_phi2tophi1Z<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8132 //std::cout<< "\n" <<std::endl;
8133
8134
8135
8136
8145
8148
8149 //std::cout<<"\033[1;34m SigmaggF_phi2_13*Br_phi2tophi3Z = \033[0m "<<SigmaggF_phi2_13*Br_phi2tophi3Z<<std::endl;
8150 //std::cout<<"\033[1;34m Br_phi3toWW = \033[0m "<<Br_phi3toWW<<std::endl;
8151
8152 //std::cout<<"\033[1;34m pp_phi3_phi2Z_bbll_TH8 = \033[0m "<<pp_phi3_phi2Z_bbll_TH8<<std::endl;
8153 //std::cout<<"\033[1;34m pp_phi2_phi3Z_bbll_TH8 = \033[0m "<<pp_phi2_phi3Z_bbll_TH8<<std::endl;
8154 //std::cout<<"\033[1;34m pp_phi3_phi2Z_tautaull_TH8 = \033[0m "<<pp_phi3_phi2Z_tautaull_TH8<<std::endl;
8155 //std::cout<<"\033[1;34m pp_phi2_phi3Z_tautaull_TH8 = \033[0m "<<pp_phi2_phi3Z_tautaull_TH8<<std::endl;
8156 //std::cout<<"\033[1;34m gg_phi3_phi2Z_bbZ_TH13 = \033[0m "<<gg_phi3_phi2Z_bbZ_TH13<<std::endl;
8157 //std::cout<<"\033[1;34m gg_phi2_phi3Z_bbZ_TH13 = \033[0m "<<gg_phi2_phi3Z_bbZ_TH13<<std::endl;
8158 //std::cout<<"\033[1;34m bb_phi3_phi2Z_bbZ_TH13 = \033[0m "<<bb_phi3_phi2Z_bbZ_TH13<<std::endl;
8159 //std::cout<<"\033[1;34m bb_phi2_phi3Z_bbZ_TH13 = \033[0m "<<bb_phi2_phi3Z_bbZ_TH13<<std::endl;
8160 //std::cout<<"\033[1;31m Br_phi3tophi2Z = \033[0m "<<Br_phi3tophi2Z<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8161 //std::cout<< "\n" <<std::endl;
8162
8163
8164 //std::cout<<"\033[1;34m SigmaHp8 = \033[0m "<<SigmaHp8<<std::endl;
8165 //std::cout<<"\033[1;34m Br_Hptotaunu = \033[0m "<<Br_Hptotaunu<<std::endl;
8166
8173
8174 //std::cout<<"\033[1;34m SigmaHp8 = \033[0m "<<SigmaHp8<<std::endl;
8175 //std::cout<<"\033[1;34m pp_Hpm_tb_TH13 = \033[0m "<<pp_Hpm_tb_TH13<<std::endl;
8176
8177 //std::cout<<"mHp = "<<mHp<<std::endl;
8178 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(100) = "<<ip_ex_pp_Hpm_taunu_CMS13(100)<<std::endl;
8179 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(200) = "<<ip_ex_pp_Hpm_taunu_CMS13(200)<<std::endl;
8180 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(300) = "<<ip_ex_pp_Hpm_taunu_CMS13(300)<<std::endl;
8181 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13(400) = "<<ip_ex_pp_Hpm_taunu_CMS13(400)<<std::endl;
8182 //std::cout<<"pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(500)<<std::endl;
8183 //std::cout<<"pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(1065.95)<<std::endl;
8184
8185 //std::cout<<"ip_ex_pp_Hpm_taunu_CMS13 = "<<ip_ex_pp_Hpm_taunu_CMS13(mHp)<<std::endl;
8186
8187 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH8 = \033[0m "<<pp_Hpm_taunu_TH8<<std::endl;
8188 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH8 = \033[0m "<<pp_Hpm_taunu_TH8<<std::endl;
8189 //std::cout<<"\033[1;34m pp_Hp_taunu_TH8 = \033[0m "<<pp_Hp_taunu_TH8<<std::endl;
8190 //std::cout<<"\033[1;34m pp_Hpm_taunu_TH13 = \033[0m "<<pp_Hpm_taunu_TH13<<std::endl;
8191 //std::cout<<"\033[1;34m pp_Hpm_tb_TH8 = \033[0m "<<pp_Hpm_tb_TH8<<std::endl;
8192 //std::cout<<"\033[1;34m pp_Hp_tb_TH8 = \033[0m "<<pp_Hp_tb_TH8<<std::endl;
8193 //std::cout<<"\033[1;34m pp_Hpm_tb_TH13 = \033[0m "<<pp_Hpm_tb_TH13<<std::endl;
8194
8195 //std::cout<<"\033[1;31m SigmaHp8 = \033[0m "<<SigmaHp8<<"\033[1;31m THIS MUST BE SOLVED \033[0m "<<std::endl;
8196
8197
8198 //95% to 1 sigma conversion factor, roughly sqrt(3.84)
8199// double nftos=1.95996398454;
8200
8201
8202 //std::cout<<"\033[1;33m m2 = \033[0m "<<m2<<std::endl;
8203 //std::cout<<"\033[1;33m m3 = \033[0m "<<m3<<std::endl;
8204 //std::cout<<"\033[1;33m mHp = \033[0m "<<mHp<<std::endl;
8205
8206 //std::cout<<"\033[1;31m mHp = \033[0m "<< mHp <<std::endl;
8207
8208 if(m2>= 450.0 && m2<1400.0) {
8209
8210 //std::cout<<"\033[1;31m stop1 \033[0m "<<std::endl;
8211
8213 // if(THoEX_bb_phi2_bb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8214 }
8215 if(m3>= 450.0 && m3<1400.0){
8216
8217 //std::cout<<"\033[1;31m stop2 \033[0m "<<std::endl;
8218
8220 // if(THoEX_bb_phi3_bb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8221 }
8222
8223
8224
8225 if(m2>= 400.0 && m2<1000.0) {
8226
8227 //std::cout<<"\033[1;31m stop3 \033[0m "<<std::endl;
8228
8230 // if(THoEX_tt_phi2_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8231 }
8232 if(m3>= 400.0 && m3<1000.0){
8233
8234 //std::cout<<"\033[1;31m stop4 \033[0m "<<std::endl;
8235
8237 // if(THoEX_tt_phi3_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8238 }
8239
8240 if(m2>= 400.0 && m2<1000.0) {
8241
8242 //std::cout<<"\033[1;31m stop5 \033[0m "<<std::endl;
8243
8245 // if(THoEX_bb_phi2_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8246 }
8247
8248 if(m3>= 400.0 && m3<1000.0){
8249
8250 //std::cout<<"\033[1;31m stop6 \033[0m "<<std::endl;
8251
8253 // if(THoEX_bb_phi3_tt_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8254
8255 }
8256
8257 if(m2>= 100.0 && m2< 900.0) {
8258
8259 //std::cout<<"\033[1;31m stop7 \033[0m "<<std::endl;
8260
8262 // if(THoEX_bb_phi2_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8263
8264 }
8265 if(m3>= 100.0 && m3< 900.0) {
8266
8267 //std::cout<<"\033[1;31m stop8 \033[0m "<<std::endl;
8268
8270 // if(THoEX_bb_phi3_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8271 }
8272 if(m2>= 330.0 && m2<1200.0) {
8273
8274 //std::cout<<"\033[1;31m stop9 \033[0m "<<std::endl;
8275
8277 // if(THoEX_gg_phi2_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8278 }
8279 if(m3>= 330.0 && m3<1200.0) {
8280
8281 //std::cout<<"\033[1;31m stop10 \033[0m "<<std::endl;
8282
8284 // if(THoEX_gg_phi3_bb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8285 }
8286
8287
8288
8289
8290
8291
8292
8293 if(m2>= 350.0 && m2<650.0) {
8294
8295 //std::cout<<"\033[1;31m stop11 \033[0m "<<std::endl;
8296
8298
8299 }
8300 if(m3>= 350.0 && m3<650.0) {
8301
8302 //std::cout<<"\033[1;31m stop12 \033[0m "<<std::endl;
8303
8305 // if(THoEX_tt_phi3_tt_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8306 }
8307
8308
8309
8310
8311
8312
8313
8314
8315 if(m2>= 550.0 && m2<1200.0) {
8316
8317 //std::cout<<"\033[1;31m stop13 \033[0m "<<std::endl;
8318
8320 // if(THoEX_pp_phi2_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8321 }
8322 if(m3>= 550.0 && m3<1200.0) {
8323
8324 //std::cout<<"\033[1;31m stop14 \033[0m "<<std::endl;
8325
8327 // if(THoEX_pp_phi3_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8328 }
8329
8330
8331
8332
8333
8334
8335
8336 if(m2>= 50.0 && m2<350.0) {
8337
8338 //std::cout<<"\033[1;31m stop15 \033[0m "<<std::endl;
8339
8341 // if(THoEX_pp_phi2_bb_light_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8342 }
8343 if(m3>= 50.0 && m3<350.0) {
8344
8345 //std::cout<<"\033[1;31m stop16 \033[0m "<<std::endl;
8346
8348 // if(THoEX_pp_phi3_bb_light_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8349 }
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359 if(m2>= 300.0 && m2<1300.0) {
8360
8361 //std::cout<<"\033[1;31m stop17 \033[0m "<<std::endl;
8362
8364 // if(THoEX_bb_phi2_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8365 }
8366 if(m3>= 300.0 && m3<1300.0) {
8367
8368 //std::cout<<"\033[1;31m stop18 \033[0m "<<std::endl;
8369
8371 // if(THoEX_bb_phi3_bb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8372 }
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382 //1508.01437
8383 if(m2>= 120.0 && m2<500.0) {
8384
8385 //std::cout<<"\033[1;31m stop19 \033[0m "<<std::endl;
8386
8388 // if(THoEX_gg_phi2_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8389 }
8390 if(m3>= 120.0 && m3<500.0) {
8391
8392 //std::cout<<"\033[1;31m stop20 \033[0m "<<std::endl;
8393
8395 // if(THoEX_gg_phi3_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8396 }
8397
8398
8399 if(m2>= 120.0 && m2<500.0) {
8400
8401 //std::cout<<"\033[1;31m stop21 \033[0m "<<std::endl;
8402
8404 // if(THoEX_bb_phi2_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8405 }
8406 if(m3>= 120.0 && m3<500.0) {
8407
8408 //std::cout<<"\033[1;31m stop22 \033[0m "<<std::endl;
8409
8411 // if(THoEX_bb_phi3_mumu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8412 }
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425 //1907.03152
8426 if(m2>= 140.0 && m2<1000.0) {
8427
8428 //std::cout<<"\033[1;31m stop23 \033[0m "<<std::endl;
8429
8430
8431 //std::cout<<"\033[1;32m gg_phi2_mumu_TH13= \033[0m "<< gg_phi2_mumu_TH13 <<std::endl;
8432 //std::cout<<"\033[1;32m ip_ex_gg_phi_mumu_CMS13= \033[0m "<< ip_ex_gg_phi_mumu_CMS13(m2) <<std::endl;
8433
8434
8435
8437 // if(THoEX_gg_phi2_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8438 }
8439 if(m3>= 140.0 && m3<1000.0) {
8440
8441 //std::cout<<"\033[1;31m stop24 \033[0m "<<std::endl;
8442
8444 // if(THoEX_gg_phi3_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8445 }
8446
8447
8448 if(m2>= 140.0 && m2<1000.0) {
8449
8450 //std::cout<<"\033[1;31m stop25 \033[0m "<<std::endl;
8451
8452
8453
8454
8455
8456
8457
8458
8460 // if(THoEX_bb_phi2_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8461 }
8462 if(m3>= 140.0 && m3<1000.0) {
8463
8464 //std::cout<<"\033[1;31m stop26 \033[0m "<<std::endl;
8465
8466
8467
8468
8469
8470
8472 // if(THoEX_bb_phi3_mumu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8473 }
8474
8475
8476
8477
8478
8479
8480
8481 //1901.08144
8482 if(m2>= 200.0 && m2<1000.0) {
8483
8484 //std::cout<<"\033[1;31m stop27 \033[0m "<<std::endl;
8485
8486 //std::cout<<"\033[1;32m gg_phi2_mumu_TH13= \033[0m "<< gg_phi2_mumu_TH13 <<std::endl;
8487 //std::cout<<"\033[1;32m ip_ex_gg_phi_mumu_ATLAS13= \033[0m "<< ip_ex_gg_phi_mumu_ATLAS13(m2) <<std::endl;
8488
8490 // if(THoEX_gg_phi2_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8491 }
8492 if(m3>= 200.0 && m3<1000.0) {
8493
8494 //std::cout<<"\033[1;31m stop28 \033[0m "<<std::endl;
8495
8497 // if(THoEX_gg_phi3_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8498 }
8499
8500
8501 if(m2>= 200.0 && m2<1000.0) {
8502
8503 //std::cout<<"\033[1;31m stop29 \033[0m "<<std::endl;
8504
8506 // if(THoEX_bb_phi2_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8507 }
8508 if(m3>= 200.0 && m3<1000.0) {
8509
8510 //std::cout<<"\033[1;31m stop30 \033[0m "<<std::endl;
8511
8513 // if(THoEX_bb_phi3_mumu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8514 }
8515
8516
8517
8518
8519
8520
8521
8522 if(m2>= 90.0 && m2<1000.0) { //
8523
8524 //std::cout<<"\033[1;31m gg_phi2_tautau_TH8 =\033[0m "<< gg_phi2_tautau_TH8 <<std::endl;
8525 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS8(m2) =\033[0m "<< ip_ex_gg_phi_tautau_ATLAS8(m2) <<std::endl;
8526
8528 // if(THoEX_gg_phi2_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8529 }
8530 if(m3>= 90.0 && m3<1000.0) { //
8531
8532 //std::cout<<"\033[1;31m stop32 \033[0m "<<std::endl;
8533
8534 //std::cout<<"\033[1;31m gg_phi3_tautau_TH8 = \033[0m "<< gg_phi3_tautau_TH8 <<std::endl;
8535 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS8(m3) = \033[0m "<< ip_ex_gg_phi_tautau_ATLAS8(m3) <<std::endl;
8536
8537
8539 // if(THoEX_gg_phi3_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8540 }
8541 if(m2>= 90.0 && m2<1000.0) {
8542
8543 //std::cout<<"\033[1;31m stop33 \033[0m "<<std::endl;
8544
8546 // if(THoEX_gg_phi2_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8547 }
8548 if(m3>= 90.0 && m3<1000.0) {
8549
8550 //std::cout<<"\033[1;31m stop34 \033[0m "<<std::endl;
8551
8553 // if(THoEX_gg_phi3_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8554 }
8555 if(m2>= 90.0 && m2<1000.0) {
8556
8557 //std::cout<<"\033[1;31m stop35 \033[0m "<<std::endl;
8558
8560 // if(THoEX_bb_phi2_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8561 }
8562 if(m3>= 90.0 && m3<1000.0) {
8563
8564 //std::cout<<"\033[1;31m stop36 \033[0m "<<std::endl;
8565
8567 // if(THoEX_bb_phi3_tautau_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8568 }
8569 if(m2>= 90.0 && m2<1000.0) {
8570
8571 //std::cout<<"\033[1;31m stop37 \033[0m "<<std::endl;
8572
8574 // if(THoEX_bb_phi2_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8575 }
8576 if(m3>= 90.0 && m3<1000.0) {
8577
8578 //std::cout<<"\033[1;31m stop38 \033[0m "<<std::endl;
8579
8581 // if(THoEX_bb_phi3_tautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8582 }
8583 if(m2>= 200.0 && m2<2250.0) {
8584
8585 //std::cout<<"\033[1;31m stop39 \033[0m "<<std::endl;
8586
8587
8588
8590 // if(THoEX_gg_phi2_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8591 }
8592
8593
8594 if(m3>= 200.0 && m3<2250.0) {
8595
8596 //std::cout<<"\033[1;31m stop40 \033[0m "<<std::endl;
8597
8598 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_ATLAS13(m2) \033[0m "<< ip_ex_gg_phi_tautau_ATLAS13(m3) <<std::endl;
8599 //std::cout<<"\033[1;31m gg_phi3_tautau_TH13 \033[0m "<< gg_phi3_tautau_TH13 <<std::endl;
8600
8602 // if(THoEX_gg_phi3_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8603 }
8604 if(m2>= 90.0 && m2<3200.0) {
8605
8606 //std::cout<<"\033[1;31m stop41 \033[0m "<<std::endl;
8607
8608 //std::cout<<"\033[1;31m ip_ex_gg_phi_tautau_CMS13(m2) \033[0m "<< ip_ex_gg_phi_tautau_CMS13(m2) <<std::endl;
8609 //std::cout<<"\033[1;31m gg_phi2_tautau_TH13 \033[0m "<< gg_phi2_tautau_TH13 <<std::endl;
8610
8612 // if(THoEX_gg_phi2_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8613 }
8614 if(m3>= 90.0 && m3<3200.0) {
8615
8616 //std::cout<<"\033[1;31m stop42 \033[0m "<<std::endl;
8617
8619 // if(THoEX_gg_phi3_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8620 }
8621 if(m2>= 200.0 && m2<2250.0) {
8622
8623 //std::cout<<"\033[1;31m stop43 \033[0m "<<std::endl;
8624
8626 // if(THoEX_bb_phi2_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8627 }
8628
8629
8630 if(m3>= 200.0 && m3<2250.0) {
8631
8632 //std::cout<<"\033[1;31m stop44 \033[0m "<<std::endl;
8633
8635 // if(THoEX_bb_phi3_tautau_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8636 }
8637 if(m2>= 60.0 && m2<3500.0) {
8638
8639 //std::cout<<"\033[1;31m stop45 \033[0m "<<std::endl;
8640
8642 // if(THoEX_bb_phi2_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8643 }
8644 if(m3>= 60.0 && m3<3500.0) {
8645
8646 //std::cout<<"\033[1;31m stop46 \033[0m "<<std::endl;
8647
8649 // if(THoEX_bb_phi3_tautau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8650 }
8651
8652
8653 if(m2>= 65.0 && m2< 600.0) {
8654
8655 //std::cout<<"\033[1;31m stop47 \033[0m "<<std::endl;
8656
8658 // if(THoEX_gg_phi2_gaga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8659 }
8660 if(m3>= 65.0 && m3< 600.0) {
8661
8662 //std::cout<<"\033[1;31m stop48 \033[0m "<<std::endl;
8663
8665 // if(THoEX_gg_phi3_gaga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8666 }
8667 if(m2>= 160.0 && m2<3000.0) {
8668
8669 //std::cout<<"\033[1;31m stop49 \033[0m "<<std::endl;
8670
8671
8672
8673
8675 // if(THoEX_pp_phi2_gaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8676 }
8677
8678
8679 if(m3>= 160.0 && m3<3000.0)
8680 {
8681
8683
8684 }
8685 if(m2>= 600.0 && m2<5000.0)
8686 {
8687
8689
8690 }
8691 if(m3>= 600.0 && m3<5000.0)
8692 {
8693
8695
8696 }
8697 if(m2>= 200.0 && m2<1600.0)
8698 {
8699
8701
8702 }
8703
8704 if(m3>= 200.0 && m3<1600.0)
8705 {
8706
8707 //std::cout<<"\033[1;31m stop54 \033[0m "<<std::endl;
8708
8710 // if(THoEX_pp_phi3_Zga_llga_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8711 }
8712 if(m2>= 200.0 && m2<1200.0)
8713 {
8714
8715 //std::cout<<"\033[1;31m stop55 \033[0m "<<std::endl;
8716
8718 // if(THoEX_pp_phi2_Zga_llga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8719 }
8720 if(m3>= 200.0 && m3<1200.0)
8721 {
8722
8723 //std::cout<<"\033[1;31m stop56 \033[0m "<<std::endl;
8724
8726 // if(THoEX_pp_phi3_Zga_llga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
8727 }
8728 if(m2>= 250.0 && m2<2400.0)
8729 {
8730
8731 //std::cout<<"\033[1;31m stop57 \033[0m "<<std::endl;
8732
8734 // if(THoEX_gg_phi2_Zga_llga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8735 }
8736 if(m3>= 250.0 && m3<2400.0)
8737 {
8738
8739 //std::cout<<"\033[1;31m stop58 \033[0m "<<std::endl;
8740
8742 // if(THoEX_gg_phi3_Zga_llga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8743 }
8744 if(m2>=1000.0 && m2<6800.0)
8745 {
8746
8747 //std::cout<<"\033[1;31m stop59 \033[0m "<<std::endl;
8748
8750 // if(THoEX_gg_phi2_Zga_qqga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8751 }
8752 if(m3>=1000.0 && m3<6800.0)
8753 {
8754
8755 //std::cout<<"\033[1;31m stop60 \033[0m "<<std::endl;
8756
8758 // if(THoEX_gg_phi3_Zga_qqga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8759 }
8760
8761 if(m2>= 350.0 && m2<4000.0)
8762 {
8763
8764 //std::cout<<"\033[1;31m stop61 \033[0m "<<std::endl;
8765
8767 // if(THoEX_gg_phi2_Zga_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8768 }
8769 if(m3>= 350.0 && m3<4000.0)
8770 {
8771
8772 //std::cout<<"\033[1;31m stop62 \033[0m "<<std::endl;
8773
8775 // if(THoEX_gg_phi3_Zga_CMS13>5) return std::numeric_limits<double>::quiet_NaN();
8776 }
8777 if(m2>= 140.0 && m2<1000.0)
8778 {
8779
8780 //std::cout<<"\033[1;31m stop63 \033[0m "<<std::endl;
8781
8783 // if(THoEX_gg_phi2_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8784 }
8785 if(m3>= 140.0 && m3<1000.0)
8786 {
8787
8788 //std::cout<<"\033[1;31m stop64 \033[0m "<<std::endl;
8789
8791 // if(THoEX_gg_phi3_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8792 }
8793 if(m2>= 140.0 && m2<1000.0)
8794 {
8795
8796 //std::cout<<"\033[1;31m stop65 \033[0m "<<std::endl;
8797
8799 // if(THoEX_VV_phi2_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8800 }
8801
8802 if(m3>= 140.0 && m3<1000.0)
8803 {
8804
8805 //std::cout<<"\033[1;31m stop66 \033[0m "<<std::endl;
8806
8808 // if(THoEX_VV_phi3_ZZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8809 }
8810 if(m2>= 210.0 && m2<1200.0)
8811 {
8812
8813 //std::cout<<"\033[1;31m stop67 \033[0m "<<std::endl;
8814
8816 // if(THoEX_gg_phi2_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8817 }
8818 if(m3>= 210.0 && m3<1200.0)
8819 {
8820
8821 //std::cout<<"\033[1;31m stop68 \033[0m "<<std::endl;
8822
8824 // if(THoEX_gg_phi3_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8825 }
8826 if(m2>= 210.0 && m2<2000.0)
8827 {
8828
8829 //std::cout<<"\033[1;31m stop69 \033[0m "<<std::endl;
8830
8832 // if(THoEX_VV_phi2_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8833 }
8834 if(m3>= 210.0 && m3<2000.0)
8835 {
8836
8837 //std::cout<<"\033[1;31m stop70 \033[0m "<<std::endl;
8838
8840 // if(THoEX_VV_phi3_ZZ_llllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8841 }
8842 if(m2>= 300.0 && m2<3000.0)
8843 {
8844
8845 //std::cout<<"\033[1;31m stop71 \033[0m "<<std::endl;
8846
8848 // if(THoEX_gg_phi2_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8849 }
8850 if(m3>= 300.0 && m3<3000.0)
8851 {
8852
8853 //std::cout<<"\033[1;31m stop72 \033[0m "<<std::endl;
8854
8856 // if(THoEX_gg_phi3_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8857 }
8858 if(m2>= 300.0 && m2<3000.0)
8859 {
8860
8861 //std::cout<<"\033[1;31m stop73 \033[0m "<<std::endl;
8862
8864 // if(THoEX_VV_phi2_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8865 }
8866 if(m3>= 300.0 && m3<3000.0)
8867 {
8868
8869 //std::cout<<"\033[1;31m stop74 \033[0m "<<std::endl;
8870
8872 // if(THoEX_VV_phi3_ZZ_qqllnunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
8873 }
8874
8875 if(m2>= 130.0 && m2<3000.0)
8876 {
8877
8878 //std::cout<<"\033[1;31m stop75 \033[0m "<<std::endl;
8879
8881 // if(THoEX_pp_phi2_ZZ_llqqnunull_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8882 }
8883 if(m3>= 130.0 && m3<3000.0)
8884 {
8885
8886 //std::cout<<"\033[1;31m stop76 \033[0m "<<std::endl;
8887
8889 // if(THoEX_pp_phi3_ZZ_llqqnunull_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8890 }
8891 if(m2>=1000.0 && m2<4000.0)
8892 {
8893
8894 //std::cout<<"\033[1;31m stop77 \033[0m "<<std::endl;
8895
8897 // if(THoEX_pp_phi2_ZZ_qqnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8898 }
8899 if(m3>=1000.0 && m3<4000.0)
8900 {
8901
8902 //std::cout<<"\033[1;31m stop78 \033[0m "<<std::endl;
8903
8905 // if(THoEX_pp_phi3_ZZ_qqnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8906 }
8907 if(m2>= 300.0 && m2<1500.0)
8908 {
8909
8910 //std::cout<<"\033[1;31m stop79 \033[0m "<<std::endl;
8911
8913 // if(THoEX_gg_phi2_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8914 }
8915 if(m3>= 300.0 && m3<1500.0)
8916 {
8917
8918 //std::cout<<"\033[1;31m stop80 \033[0m "<<std::endl;
8919
8921 // if(THoEX_gg_phi3_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8922 }
8923 if(m2>= 300.0 && m2<1500.0)
8924 {
8925
8926 //std::cout<<"\033[1;31m stop81 \033[0m "<<std::endl;
8927
8929 // if(THoEX_VV_phi2_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8930 }
8931 if(m3>= 300.0 && m3<1500.0)
8932 {
8933
8934 //std::cout<<"\033[1;31m stop82 \033[0m "<<std::endl;
8935
8937 // if(THoEX_VV_phi3_WW_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
8938 }
8939
8940 //ip_ex_VV_phi_WW_CMS13
8941
8942 if(m2>= 200.0 && m2<3000.0)
8943 {
8944
8945 //std::cout<<"\033[1;31m stop83 \033[0m "<<std::endl;
8946
8948 // if(THoEX_VV_phi2_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8949 }
8950 if(m3>= 200.0 && m3<3000.0)
8951 {
8952
8953 //std::cout<<"\033[1;31m stop84 \033[0m "<<std::endl;
8954
8956 // if(THoEX_VV_phi3_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8957 }
8958 if(m2>= 200.0 && m2<3000.0)
8959 {
8960
8961 //std::cout<<"\033[1;31m stop85 \033[0m "<<std::endl;
8962
8964 // if(THoEX_gg_phi2_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8965 }
8966 if(m3>= 200.0 && m3<3000.0)
8967 {
8968
8969 //std::cout<<"\033[1;31m stop86 \033[0m "<<std::endl;
8970
8972 // if(THoEX_gg_phi3_WW_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8973 }
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984 if(m2>= 1000.0 && m2<4500.0)
8985 {
8986
8987 //std::cout<<"\033[1;31m stop87 \033[0m "<<std::endl;
8988
8990 // if(THoEX_VV_phi2_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8991 }
8992 if(m3>= 1000.0 && m3<4500.0)
8993 {
8994
8995 //std::cout<<"\033[1;31m stop88 \033[0m "<<std::endl;
8996
8998 // if(THoEX_VV_phi3_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
8999 }
9000 if(m2>= 1000.0 && m2<4500.0)
9001 {
9002
9003 //std::cout<<"\033[1;31m stop89 \033[0m "<<std::endl;
9004
9006 // if(THoEX_gg_phi2_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9007 }
9008 if(m3>= 1000.0 && m3<4500.0)
9009 {
9010
9011 //std::cout<<"\033[1;31m stop90 \033[0m "<<std::endl;
9012
9014 // if(THoEX_gg_phi3_WW_heavy_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9015 }
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028 if(m2>= 250.0 && m2<4000.0)
9029 {
9030
9031 //std::cout<<"\033[1;31m stop91 \033[0m "<<std::endl;
9032
9034 // if(THoEX_gg_phi2_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9035 }
9036 if(m3>= 250.0 && m3<4000.0)
9037 {
9038
9039 //std::cout<<"\033[1;31m stop92 \033[0m "<<std::endl;
9040
9042 // if(THoEX_gg_phi3_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9043 }
9044 if(m2>= 250.0 && m2<3000.0)
9045 {
9046
9047 //std::cout<<"\033[1;31m stop93 \033[0m "<<std::endl;
9048
9050 // if(THoEX_VV_phi2_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9051 }
9052 if(m3>= 250.0 && m3<3000.0)
9053 {
9054
9055 //std::cout<<"\033[1;31m stop94 \033[0m "<<std::endl;
9056
9058 // if(THoEX_VV_phi3_WW_enumunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9059 }
9060 if(m2>= 200.0 && m2<1000.0)
9061 {
9062
9063 //std::cout<<"\033[1;31m stop95 \033[0m "<<std::endl;
9064
9066 // if(THoEX_ggVV_phi2_WW_lnulnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9067 }
9068 if(m3>= 200.0 && m3<1000.0)
9069 {
9070
9071 //std::cout<<"\033[1;31m stop96 \033[0m "<<std::endl;
9072
9074 // if(THoEX_ggVV_phi3_WW_lnulnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9075 }
9076 if(m2>= 300.0 && m2<3000.0)
9077 {
9078
9079 //std::cout<<"\033[1;31m stop97 \033[0m "<<std::endl;
9080
9082 // if(THoEX_gg_phi2_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9083 }
9084 if(m3>= 300.0 && m3<3000.0)
9085 {
9086
9087 //std::cout<<"\033[1;31m stop98 \033[0m "<<std::endl;
9088
9090 // if(THoEX_gg_phi3_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9091 }
9092 if(m2>= 300.0 && m2<3000.0)
9093 {
9094
9095 //std::cout<<"\033[1;31m stop99 \033[0m "<<std::endl;
9096
9098 // if(THoEX_VV_phi2_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9099 }
9100 if(m3>= 300.0 && m3<3000.0)
9101 {
9102
9103 //std::cout<<"\033[1;31m stop100 \033[0m "<<std::endl;
9104
9106 // if(THoEX_VV_phi3_WW_lnuqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9107 }
9108 if(m2>=1000.0 && m2<4400.0)
9109 {
9110
9111 //std::cout<<"\033[1;31m stop101 \033[0m "<<std::endl;
9112
9114 // if(THoEX_pp_phi2_WW_lnuqq_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9115 }
9116 if(m3>=1000.0 && m3<4400.0)
9117 {
9118
9119 //std::cout<<"\033[1;31m stop102 \033[0m "<<std::endl;
9120
9122 // if(THoEX_pp_phi3_WW_lnuqq_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9123 }
9124 if(m2>= 145.0 && m2<1000.0)
9125 {
9126
9128 // if(THoEX_mu_pp_phi2_VV_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9129 }
9130 if(m3>= 145.0 && m3<1000.0)
9131 {
9132
9134
9135 }
9136 if(m2>=1200.0 && m2<3000.0)
9137 {
9138
9139
9141 // if(THoEX_pp_phi2_VV_qqqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9142 }
9143 if(m3>=1200.0 && m3<3000.0)
9144 {
9145
9146 //std::cout<<"\033[1;31m stop106 \033[0m "<<std::endl;
9147
9149 // if(THoEX_pp_phi3_VV_qqqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9150 }
9151
9152
9153
9154
9155
9156 if(m2>=300.0 && m2<5000.0)
9157 {
9158
9159 //std::cout<<"\033[1;31m stop107 \033[0m "<<std::endl;
9160
9162 // if(THoEX_gg_phi2_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9163 }
9164 if(m3>=300.0 && m3<5000.0)
9165 {
9166
9167 //std::cout<<"\033[1;31m stop108 \033[0m "<<std::endl;
9168
9170 // if(THoEX_gg_phi3_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9171 }
9172
9173
9174 if(m2>=300.0 && m2<5000.0)
9175 {
9176
9177 //std::cout<<"\033[1;31m stop109 \033[0m "<<std::endl;
9178
9180 // if(THoEX_VV_phi2_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9181 }
9182 if(m3>=300.0 && m3<5000.0)
9183 {
9184
9185 //std::cout<<"\033[1;31m stop110 \033[0m "<<std::endl;
9186
9188 // if(THoEX_VV_phi3_VV_llqq_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9189 }
9190
9191
9192
9193
9194
9195 if(m2>= 260.0 && m2<1000.0)
9196 {
9197
9198
9200
9201 }
9202 if(m3>= 260.0 && m3<1000.0)
9203 {
9204
9205 //std::cout<<"\033[1;31m stop112 \033[0m "<<std::endl;
9206
9208 // if(THoEX_gg_phi3_phi1phi1_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9209 }
9210 if(m2>= 270.0 && m2<1100.0)
9211 {
9212
9213 //std::cout<<"\033[1;31m stop113 \033[0m "<<std::endl;
9214
9216 // if(THoEX_pp_phi2_phi1phi1_bbbb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9217 }
9218 if(m3>= 270.0 && m3<1100.0)
9219 {
9220
9221 //std::cout<<"\033[1;31m stop114 \033[0m "<<std::endl;
9222
9224 // if(THoEX_pp_phi3_phi1phi1_bbbb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9225 }
9226 if(m2>= 260.0 && m2<1100.0)
9227 {
9228
9229 //std::cout<<"\033[1;31m stop115 \033[0m "<<std::endl;
9230
9232 // if(THoEX_pp_phi2_phi1phi1_bbgaga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9233 }
9234 if(m3>= 260.0 && m3<1100.0)
9235 {
9236
9237 //std::cout<<"\033[1;31m stop116 \033[0m "<<std::endl;
9238
9240 // if(THoEX_pp_phi3_phi1phi1_bbgaga_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9241 }
9242 if(m2>= 260.0 && m2< 350.0)
9243 {
9244
9245 //std::cout<<"\033[1;31m stop117 \033[0m "<<std::endl;
9246
9248 // if(THoEX_gg_phi2_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9249 }
9250 if(m3>= 260.0 && m3< 350.0)
9251 {
9252
9253 //std::cout<<"\033[1;31m stop118 \033[0m "<<std::endl;
9254
9256 // if(THoEX_gg_phi3_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9257 }
9258 if(m2>= 350.0 && m2<1000.0)
9259 {
9260
9261 //std::cout<<"\033[1;31m stop119 \033[0m "<<std::endl;
9262
9264 // if(THoEX_pp_phi2_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9265 }
9266 if(m3>= 350.0 && m3<1000.0)
9267 {
9268
9269 //std::cout<<"\033[1;31m stop120 \033[0m "<<std::endl;
9270
9272 // if(THoEX_pp_phi3_phi1phi1_bbtautau_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9273 }
9274 if(m2>= 250.0 && m2<3000.0)
9275 {
9276
9277 //std::cout<<"\033[1;31m stop121 \033[0m "<<std::endl;
9278
9280 // if(THoEX_pp_phi2_phi1phi1_bbbb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9281 }
9282 if(m3>= 250.0 && m3<3000.0)
9283 {
9284
9285 //std::cout<<"\033[1;31m stop122 \033[0m "<<std::endl;
9286
9288 // if(THoEX_pp_phi3_phi1phi1_bbbb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9289 }
9290 if(m2>= 260.0 && m2<1200.0)
9291 {
9292
9293 //std::cout<<"\033[1;31m stop123 \033[0m "<<std::endl;
9294
9296 // if(THoEX_pp_phi2_phi1phi1_bbbb_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9297 }
9298 if(m3>= 260.0 && m3<1200.0)
9299 {
9300
9301 //std::cout<<"\033[1;31m stop124 \033[0m "<<std::endl;
9302
9304 // if(THoEX_pp_phi3_phi1phi1_bbbb_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9305 }
9306 if(m2>=1000.0 && m2<3000.0)
9307 {
9308
9309 //std::cout<<"\033[1;31m stop125 \033[0m "<<std::endl;
9310
9312 // if(THoEX_pp_phi2_phi1phi1_bbbb_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9313 }
9314 if(m3>=1000.0 && m3<3000.0)
9315 {
9316
9317 //std::cout<<"\033[1;31m stop126 \033[0m "<<std::endl;
9318
9320 // if(THoEX_pp_phi3_phi1phi1_bbbb_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9321 }
9322 if(m2>= 251.0 && m2<1000.0)
9323 {
9324
9325 //std::cout<<"\033[1;31m stop127 \033[0m "<<std::endl;
9326
9328 // if(THoEX_pp_phi2_phi1phi1_bbgaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9329 }
9330 if(m3>= 251.0 && m3<1000.0)
9331 {
9332
9334 // if(THoEX_pp_phi3_phi1phi1_bbgaga_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9335 }
9336 //if(m2>= 250.0 && m2< 900.0) //Old limits
9337 if(m2>= 260.0 && m2< 1000.0)
9338 {
9339
9340
9342
9343 }
9344 //if(m3>= 250.0 && m3< 900.0) //Old limits
9345 if(m3>= 260.0 && m3< 1000.0)
9346 {
9347
9349 }
9350 /*
9351 if(m2>= 260.0 && m2<1000.0)
9352 {
9353 THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13=pp_phi2_phi1phi1_bbtautau_TH13/ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(m2);
9354 if(THoEX_pp_phi2_phi1phi1_bbtautau_ATLAS13 >2) return std::numeric_limits<double>::quiet_NaN();
9355 }
9356 if(m3>= 260.0 && m3<1000.0)
9357 {
9358 THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13=pp_phi3_phi1phi1_bbtautau_TH13/ip_ex_pp_phi_phi1phi1_bbtautau_ATLAS13(m3);
9359 if(THoEX_pp_phi3_phi1phi1_bbtautau_ATLAS13 >2) return std::numeric_limits<double>::quiet_NaN();
9360 }
9361 */ //OLD We have split this one in two parts
9363 if(m2>= 251.0 && m2<1600.0)
9364 {
9365
9366 //std::cout<<"\033[1;31m stop131 \033[0m "<<std::endl;
9367
9369 // if(THoEX_pp_phi2_phi1phi1_bbtautau_1_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9370 }
9371 if(m3>= 251.0 && m3<1600.0)
9372 {
9373
9374 //std::cout<<"\033[1;31m stop132 \033[0m "<<std::endl;
9375
9377 // if(THoEX_pp_phi3_phi1phi1_bbtautau_1_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9378 }
9379 if(m2>= 1000.0 && m2<3000.0)
9380 {
9381
9382 //std::cout<<"\033[1;31m stop133 \033[0m "<<std::endl;
9383
9385 // if(THoEX_pp_phi2_phi1phi1_bbtautau_2_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9386 }
9387 if(m3>= 1000.0 && m3<3000.0)
9388 {
9389
9390 //std::cout<<"\033[1;31m stop134 \033[0m "<<std::endl;
9391
9393 // if(THoEX_pp_phi3_phi1phi1_bbtautau_2_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9394 }
9396 if(m2>= 250.0 && m2< 900.0)
9397 {
9398
9399 //std::cout<<"\033[1;31m stop135 \033[0m "<<std::endl;
9400
9402 // if(THoEX_pp_phi2_phi1phi1_bbtautau_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9403 }
9404 if(m3>= 250.0 && m3< 900.0)
9405 {
9406
9407 //std::cout<<"\033[1;31m stop136 \033[0m "<<std::endl;
9408
9410 // if(THoEX_pp_phi3_phi1phi1_bbtautau_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9411 }
9412 if(m2>= 900.0 && m2<4000.0)
9413 {
9414
9415 //std::cout<<"\033[1;31m stop137 \033[0m "<<std::endl;
9416
9418 // if(THoEX_pp_phi2_phi1phi1_bbtautau_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9419 }
9420 if(m3>= 900.0 && m3<4000.0)
9421 {
9422
9423 //std::cout<<"\033[1;31m stop138 \033[0m "<<std::endl;
9424
9426 // if(THoEX_pp_phi3_phi1phi1_bbtautau_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9427 }
9428 if(m2>= 260.0 && m2< 900.0)
9429 {
9430
9431 //std::cout<<"\033[1;31m stop139 \033[0m "<<std::endl;
9432
9434 // if(THoEX_pp_phi2_phi1phi1_bbVV_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9435 }
9436 if(m3>= 260.0 && m3< 900.0)
9437 {
9438
9439 //std::cout<<"\033[1;31m stop140 \033[0m "<<std::endl;
9440
9442 // if(THoEX_pp_phi3_phi1phi1_bbVV_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9443 }
9444
9445
9446 if(m2>= 250.0 && m2< 1000.0)
9447 {
9448
9449 //std::cout<<"\033[1;31m stop141 \033[0m "<<std::endl;
9450
9452 // if(THoEX_pp_phi2_phi1phi1_4WOr2W2tauOr4tau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9453 }
9454 if(m3>= 250.0 && m3< 1000.0)
9455 {
9456
9457 //std::cout<<"\033[1;31m stop142 \033[0m "<<std::endl;
9458
9460 // if(THoEX_pp_phi3_phi1phi1_4WOr2W2tauOr4tau_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9461 }
9462
9463
9464
9465 if(m2>= 800.0 && m2< 3500.0)
9466 {
9467
9468 //std::cout<<"\033[1;31m stop143 \033[0m "<<std::endl;
9469
9471 // if(THoEX_pp_phi2_phi1phi1_bbWW_qqlnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9472 }
9473 if(m3>= 800.0 && m3< 3500.0)
9474 {
9475
9476 //std::cout<<"\033[1;31m stop144 \033[0m "<<std::endl;
9477
9479 // if(THoEX_pp_phi3_phi1phi1_bbWW_qqlnu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9480 }
9481
9482
9483
9484
9485
9486
9487 if(m2>= 260.0 && m2< 1000.0)
9488 {
9489
9490 //std::cout<<"\033[1;31m stop145 \033[0m "<<std::endl;
9491
9493 // if(THoEX_pp_phi2_phi1phi1_bbZZ_lljj_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9494 }
9495 if(m3>= 260.0 && m3< 1000.0)
9496 {
9497
9498 //std::cout<<"\033[1;31m stop146 \033[0m "<<std::endl;
9499
9501 // if(THoEX_pp_phi3_phi1phi1_bbZZ_lljj_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9502 }
9503 if(m2>= 250.0 && m2< 1000.0)
9504 {
9505
9506 //std::cout<<"\033[1;31m stop147 \033[0m "<<std::endl;
9507
9509 // if(THoEX_pp_phi2_phi1phi1_bbZZ_llnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9510 }
9511 if(m3>= 250.0 && m3< 1000.0)
9512 {
9513
9514 //std::cout<<"\033[1;31m stop148 \033[0m "<<std::endl;
9515
9517 // if(THoEX_pp_phi3_phi1phi1_bbZZ_llnunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9518 }
9519
9520
9521 //ip_ex_pp_phi_phi1phi1_bbWWorbbtautau_CMS13
9522
9523 if(m2>= 800.0 && m2< 4500.0)
9524 {
9525
9527
9528 }
9529 if(m3>= 800.0 && m3< 4500.0)
9530 {
9531
9533 }
9534
9535
9536 //This will overwrite the previous one when the mass is in this range.
9537 //This way we consider this search only once so it's fine
9538 if(m2>= 250.0 && m2 < 899.0)
9539 {
9540
9542
9543 }
9544 if(m3>= 250.0 && m3< 899.0)
9545 {
9546
9548 }
9549
9550
9551
9552 if(m2>= 500.0 && m2< 3000.0)
9553 {
9554
9555 //std::cout<<"\033[1;31m stop151 \033[0m "<<std::endl;
9556
9558 // if(THoEX_pp_phi2_phi1phi1_bbWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9559 }
9560 if(m3>= 500.0 && m3< 3000.0)
9561 {
9562
9563 //std::cout<<"\033[1;31m stop152 \033[0m "<<std::endl;
9564
9566 // if(THoEX_pp_phi3_phi1phi1_bbWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9567 }
9568 if(m2>= 260.0 && m2< 500.0)
9569 {
9570
9571 //std::cout<<"\033[1;31m stop153 \033[0m "<<std::endl;
9572
9574 // if(THoEX_gg_phi2_phi1phi1_gagaWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9575 }
9576 if(m3>= 260.0 && m3< 500.0)
9577 {
9578
9579 //std::cout<<"\033[1;31m stop154 \033[0m "<<std::endl;
9580
9582 // if(THoEX_gg_phi3_phi1phi1_gagaWW_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9583 }
9584 if(m2>= 220.0 && m2<1000.0)
9585 {
9586
9587 //std::cout<<"\033[1;31m stop155 \033[0m "<<std::endl;
9588
9590 // if(THoEX_gg_phi2_phi1Z_bbZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9591 }
9592 if(m3>= 220.0 && m3<1000.0)
9593 {
9594
9595 //std::cout<<"\033[1;31m stop156 \033[0m "<<std::endl;
9596
9598 // if(THoEX_gg_phi3_phi1Z_bbZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9599 }
9600 if(m2>= 225.0 && m2< 600.0)
9601 {
9602
9603 //std::cout<<"\033[1;31m stop157 \033[0m "<<std::endl;
9604
9606 // if(THoEX_gg_phi2_phi1Z_bbll_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9607 }
9608 if(m3>= 225.0 && m3< 600.0)
9609 {
9610
9611 //std::cout<<"\033[1;31m stop158 \033[0m "<<std::endl;
9612
9614 // if(THoEX_gg_phi3_phi1Z_bbll_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9615 }
9616 if(m2>= 220.0 && m2<1000.0)
9617 {
9618
9619 //std::cout<<"\033[1;31m stop159 \033[0m "<<std::endl;
9620
9622 // if(THoEX_gg_phi2_phi1Z_tautauZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9623 }
9624 if(m3>= 220.0 && m3<1000.0)
9625 {
9626
9627 //std::cout<<"\033[1;31m stop160 \033[0m "<<std::endl;
9628
9630 // if(THoEX_gg_phi3_phi1Z_tautauZ_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9631 }
9632 if(m2>= 220.0 && m2< 350.0)
9633 {
9634
9635 //std::cout<<"\033[1;31m stop161 \033[0m "<<std::endl;
9636
9638 // if(THoEX_gg_phi2_phi1Z_tautaull_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9639 }
9640 if(m3>= 220.0 && m3< 350.0)
9641 {
9643
9644 }
9645 //if(m2>= 200.0 && m2<2000.0)
9646 if(m2>= 220.0 && m2<2000.0)
9647 {
9648
9649
9650 //THoEX_gg_phi2_phi1Z_bbZ_ATLAS13=gg_phi2_phi1Z_bbZ_TH13/ip_ex_gg_phi_phi1Z_bbZ_ATLAS13(m2);
9652
9653
9654 }
9655 //if(m3>= 200.0 && m3<2000.0)
9656 if(m3>= 220.0 && m3<2000.0)
9657 {
9658
9659 //THoEX_gg_phi3_phi1Z_bbZ_ATLAS13=gg_phi3_phi1Z_bbZ_TH13/ip_ex_gg_phi_phi1Z_bbZ_ATLAS13(m3);
9661
9662
9663 }
9664 if(m2>= 220.0 && m2< 800.0)
9665 {
9666
9667
9669
9670 }
9671 if(m3>= 220.0 && m3< 800.0)
9672 {
9673
9675
9676 }
9677 if(m2>= 800.0 && m2<2000.0)
9678 {
9679
9680 //std::cout<<"\033[1;31m stop167 \033[0m "<<std::endl;
9681
9683 // if(THoEX_gg_phi2_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9684 }
9685 if(m3>= 800.0 && m3<2000.0)
9686 {
9687
9688 //std::cout<<"\033[1;31m stop168 \033[0m "<<std::endl;
9689
9691 // if(THoEX_gg_phi3_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9692 }
9693 //if(m2>= 200.0 && m2<2000.0)
9694 if(m2>= 220.0 && m2<2000.0)
9695 {
9696
9697 //THoEX_bb_phi2_phi1Z_bbZ_ATLAS13=bb_phi2_phi1Z_bbZ_TH13/ip_ex_bb_phi_phi1Z_bbZ_ATLAS13(m2);
9699
9700 }
9701 //if(m3>= 220.0 && m3<2000.0)
9702 if(m3>= 220.0 && m3<2000.0)
9703 {
9704
9705 //THoEX_bb_phi3_phi1Z_bbZ_ATLAS13=bb_phi3_phi1Z_bbZ_TH13/ip_ex_bb_phi_phi1Z_bbZ_ATLAS13(m3);
9707
9708 }
9709
9710 //ip_ex_bb_phi_phi1Z_tautaull_ATLAS13
9711 if(m2>= 220.0 && m2<400.0)
9712 {
9713
9714 //std::cout<<"\033[1;31m stop171 \033[0m "<<std::endl;
9715
9717 // if(THoEX_gg_phi2_phi1Z_tautaull_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9718 }
9719 if(m3>= 220.0 && m3<400.0)
9720 {
9721
9722 //std::cout<<"\033[1;31m stop172 \033[0m "<<std::endl;
9723
9725 // if(THoEX_gg_phi3_phi1Z_tautaull_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9726 }
9727
9728
9729
9730
9731
9732
9733 if(m2>= 220.0 && m2< 800.0)
9734 {
9735
9736 //std::cout<<"\033[1;31m stop173 \033[0m "<<std::endl;
9737
9739 // if(THoEX_bb_phi2_phi1Z_bbZ_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9740 }
9741 if(m3>= 220.0 && m3< 800.0)
9742 {
9743
9744 //std::cout<<"\033[1;31m stop174 \033[0m "<<std::endl;
9745
9747 // if(THoEX_bb_phi3_phi1Z_bbZ_1_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9748 }
9749 if(m2>= 800.0 && m2<2000.0)
9750 {
9751
9752 //std::cout<<"\033[1;31m stop175 \033[0m "<<std::endl;
9753
9755 // if(THoEX_bb_phi2_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9756 }
9757 if(m3>= 800.0 && m3<2000.0)
9758 {
9759
9760 //std::cout<<"\033[1;31m stop176 \033[0m "<<std::endl;
9761
9763 // if(THoEX_bb_phi3_phi1Z_bbZ_2_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9764 }
9765 if(m3>= 175.0 && m3<1000.0 && m2 >=50.0 && m2 <910.0)
9766 {
9767
9768 //std::cout<<"\033[1;31m stop177 \033[0m "<<std::endl;
9769
9771 // if(THoEX_pp_phi3_phi2Z_bbll_1_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9772 } //mA=m3, mH=m2
9773 if(m2>= 175.0 && m2<1000.0 && m3 >=50.0 && m3 <910.0)
9774 {
9775
9776 //std::cout<<"\033[1;31m stop178 \033[0m "<<std::endl;
9777
9779 // if(THoEX_pp_phi2_phi3Z_bbll_1_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9780 } //mA=m3, mH=m2
9781 if(m3>= 50.0 && m3<1000.0 && m2 >=50.0 && m2 <1000.0)
9782 {
9783
9784
9786
9787 } //mA=m3, mH=m2
9788 if(m2>= 50.0 && m2<1000.0 && m3 >=50.0 && m3 <1000.0)
9789 {
9790
9791
9793
9794 } //mA=m3, mH=m2
9795 if(m3>= 50.0 && m3<1000.0 && m2 >=50.0 && m2 <1000.0)
9796 {
9797
9798
9800
9801 } //mA=m2, mH=m3
9802 if(m2>= 50.0 && m2<1000.0 && m3 >=50.0 && m3 <1000.0)
9803 {
9804
9805
9807
9808 }
9809 if(m2 >= 230.0 && m2 <800.0 && m3>=130.0 && m3<700.0 && m2-m3>=100)
9810 {
9811
9813 //std::cout<<"\033[1;31m Enters = \033[0m " <<std::endl;
9814 //std::cout<<"\033[1;31m gg_phi3_phi2Z_bbZ_TH13 = \033[0m "<< gg_phi3_phi2Z_bbZ_TH13 <<std::endl;
9815 //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;
9816
9817 }
9818 if(m3 >= 230.0 && m3 <800.0 && m2>=130.0 && m2<700.0 && m3-m2>=100)
9819 {
9820
9821
9823 }
9824
9825 if(m2 >= 230.0 && m2 <800.0 && m3>=130.0 && m3<700.0 && m2-m3>=100)
9826 {
9827
9829
9830 }
9831 if(m3 >= 230.0 && m3 <800.0 && m2>=130.0 && m2<700.0 && m3-m2>=100)
9832 {
9833
9835
9836
9837 }
9838
9839
9840 if(m2 >= 300.0 && m2 <800.0 && m3>=200.0 && m3<700.0 && m2-m3>=100)
9841 {
9842
9844
9845 }
9846 if(m3 >= 300.0 && m3 <800.0 && m2>=200.0 && m2<700.0 && m3-m2>=100)
9847 {
9848
9849
9851 }
9852
9853
9854
9855 if(mHp>= 180.0 && mHp<1000.0)
9856 {
9857
9858
9859
9860
9861 //std::cout<<"\033[1;31m pp_Hpm_taunu_TH8 = \033[0m "<< pp_Hpm_taunu_TH8 <<std::endl;
9862
9863 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_taunu_ATLAS8(mHp) = \033[0m "<< ip_ex_pp_Hpm_taunu_ATLAS8(mHp) <<std::endl;
9864
9865
9866 //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;
9867
9869
9870
9871
9872 // if(THoEX_pp_Hpm_taunu_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9873 }
9874
9875 if(mHp>= 180.0 && mHp< 600.0)
9876 {
9877
9879
9880
9882 //std::cout<<"\033[1;31m THoEX_pp_Hp_taunu_CMS8 = \033[0m "<< THoEX_pp_Hp_taunu_CMS8 <<std::endl;
9883
9884
9885
9887
9888 // if(THoEX_pp_Hp_taunu_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9889 }
9890 if(mHp>= 180.0 && mHp<2000.0)//exp can start in 150 GeV but theoretical no, we should compute more points there
9891 {
9892
9894
9896 //std::cout<<"\033[1;31m THoEX_pp_Hpm_taunu_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_taunu_ATLAS13 <<std::endl;
9897
9898
9899
9900
9901
9903 // if(THoEX_pp_Hpm_taunu_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9904 }
9905 if(mHp>= 180.0 && mHp<3000.0)//exp can start in 80 GeV but theoretical no, we should compute more points there
9906 {
9907
9909
9910 //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;
9911
9912 //std::cout<<"\033[1;31m THoEX_pp_Hpm_taunu_CMS13 = \033[0m "<< THoEX_pp_Hpm_taunu_CMS13 <<std::endl;
9913
9914
9915
9917 // if(THoEX_pp_Hpm_taunu_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9918 }
9919 if(mHp>= 200.0 && mHp< 600.0)
9920 {
9921
9923
9925
9926 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS8 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS8 <<std::endl;
9927
9928
9929
9931 // if(THoEX_pp_Hpm_tb_ATLAS8 >5) return std::numeric_limits<double>::quiet_NaN();
9932 }
9933 if(mHp>= 180.0 && mHp< 600.0)
9934 {
9935
9937
9939
9940 //std::cout<<"\033[1;31m THoEX_pp_Hp_tb_CMS8 = \033[0m "<< THoEX_pp_Hp_tb_CMS8 <<std::endl;
9941
9942
9944 // if(THoEX_pp_Hp_tb_CMS8 >5) return std::numeric_limits<double>::quiet_NaN();
9945 }
9946 if(mHp>= 200.0 && mHp<2000.0)
9947 {
9948
9950
9952
9953 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS13 <<std::endl;
9954 //std::cout<<"\033[1;31m pp_Hpm_tb_TH13 = \033[0m "<< pp_Hpm_tb_TH13 <<std::endl;
9955 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_tb_ATLAS13(mHp) = \033[0m "<< ip_ex_pp_Hpm_tb_ATLAS13(mHp) <<std::endl;
9956
9957
9959 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_ATLAS13 = \033[0m "<< THoEX_pp_Hpm_tb_ATLAS13 <<std::endl;
9960
9961 // if(THoEX_pp_Hpm_tb_ATLAS13 >5) return std::numeric_limits<double>::quiet_NaN();
9962 }
9963 if(mHp>= 200.0 && mHp<3000.0)
9964 {
9965
9967
9969
9970 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_CMS13 = \033[0m "<< THoEX_pp_Hpm_tb_CMS13 <<std::endl;
9971
9972
9973
9974
9975 //std::cout<<"\033[1;31m GammaHptot = \033[0m "<< GammaHptot <<std::endl;
9976 //std::cout<<"\033[1;31m GammaHptb = \033[0m "<< GammaHptb <<std::endl;
9977 //std::cout<<"\033[1;32m Br_Hptotb = \033[0m "<< Br_Hptotb <<std::endl;
9978 //std::cout<<"\033[1;32m SigmaHpm13 = \033[0m "<< SigmaHpm13 <<std::endl;
9979 //std::cout<<"\033[1;31m pp_Hpm_tb_TH13 = \033[0m "<< pp_Hpm_tb_TH13 <<std::endl;
9980 //std::cout<<"\033[1;31m ip_ex_pp_Hpm_tb_CMS13(mHp) = \033[0m "<< ip_ex_pp_Hpm_tb_CMS13(mHp) <<std::endl;
9981 //std::cout<<"\033[1;31m THoEX_pp_Hpm_tb_CMS13 = \033[0m "<< THoEX_pp_Hpm_tb_CMS13 <<std::endl;
9982
9983
9984
9986 // if(THoEX_pp_Hpm_tb_CMS13 >5) return std::numeric_limits<double>::quiet_NaN();
9987 }
9988}
9989
9991{
9992 /*********************************/
9993 /* Observables with phi_3, i.e A */
9994 /*********************************/
9995
9997
9998 if(mH3 >= 15.0 && mH3 <= 62.0)
9999 {
10001 }
10002
10003// THoEX_pp_h_phi3phi3_bbtautau_CMS13 = 0.0;
10004//
10005// if(mH3 >= 15.0 && mH3 <= 60.0)
10006// {
10007// 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);
10008// }
10009
10011
10012 if(mH3 >= 12.0 && mH3 <= 60.0)
10013 {
10015 }
10016
10017// THoEX_pp_h_phi3phi3_bbmumu_CMS13 = 0.0;
10018//
10019// if(mH3 >= 20.0 && mH3 <= 62.5)
10020// {
10021// 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);
10022// }
10023
10025
10026 if(mH3 >= 15.0 && mH3 <= 62.0)
10027 {
10029 }
10030
10032
10033 if(mH3 >= 4.2045 && mH3 <= 34.843)
10034 {
10036 }
10037
10039
10040 if(mH3 >= 4.2 && mH3 <= 59.946)
10041 {
10043 }
10044
10046
10047 if(mH3 >= 15.0 && mH3 <= 62.0)
10048 {
10049 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10051 }
10052
10054
10055 if(mH3 >= 4.0 && mH3 <= 15.0)
10056 {
10058 }
10059
10061
10062 if(mH3 >= 15.0 && mH3 <= 350.0)
10063 {
10065 }
10066
10068
10069 if(mH3 >= 15.0 && mH3 <= 350.0)
10070 {
10072 }
10073
10075
10076 if(mH3 >= 15.0 && mH3 <= 60.0)
10077 {
10079 }
10080
10082
10083 if(mH3 >= 16.0 && mH3 <= 62.0)
10084 {
10086 }
10087
10089
10090 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))
10091 {
10092 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10094 }
10095
10097
10098 if(mH3 >= 15.0 && mH3 <= 30.0)
10099 {
10100 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10102 }
10103
10105
10106 if(mH3 >= 20.0 && mH3 <= 60.0)
10107 {
10109 }
10110
10112
10113 if(mH3 >= 15.0 && mH3 <= 30.0)
10114 {
10116 }
10117
10119
10120 if(mH3 >= 20.0 && mH3 <= 60.0)
10121 {
10123 }
10124
10126
10127 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))
10128 {
10130 }
10131
10133
10134 if(mH3 >= 20.0 && mH3 <= 90.0)
10135 {
10137 }
10138
10140
10141 if(mH3 >= 10.0 && mH3 <= 62.0)
10142 {
10144 }
10145
10147
10148 if(mH3 >= 3.7 && mH3 <= 50.0)
10149 {
10151 }
10152
10154
10155 if(mH3 >= 5.0 && mH3 <= 15.0)
10156 {
10158 }
10159
10161
10162 if(mH3 >= 25.0 && mH3 <= 62.5)
10163 {
10165 }
10166
10168
10169 if(mH3 >= 15.0 && mH3 <= 62.5)
10170 {
10172 }
10173
10175
10176 if(mH3 >= 25.0 && mH3 <= 70.0)
10177 {
10179 }
10180
10182
10183 if(mH3 >= 25.0 && mH3 <= 80.0)
10184 {
10186 }
10187
10189
10190 if(mH3 >= 15.1 && mH3 <= 73.3)
10191 {
10193 }
10194
10196
10197 if(mH3 >= 25.0 && mH3 <= 60.0)
10198 {
10200 }
10201
10203
10204 if(mH3 >= 10.0 && mH3 <= 62.0)
10205 {
10207 }
10208
10210
10211 if(mH3 >= 12.0 && mH3 <= 60.0)
10212 {
10214 }
10215
10216 /*********************************/
10217 /* Observables with phi_2, i.e H */
10218 /*********************************/
10219
10221
10222 if(mH2 >= 4.2045 && mH2 <= 34.843)
10223 {
10225 }
10226
10228
10229 if(mH2 >= 4.2 && mH2 <= 59.946)
10230 {
10232 }
10233
10235
10236 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))
10237 {
10238 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10240 }
10241
10243
10244 if(mH2 >= 15.0 && mH2 <= 30.0)
10245 {
10246 //The experimental values are in fb whereas the theoretical value is calculated in pb.
10248 }
10249
10251
10252 if(mH2 >= 20.0 && mH2 <= 60.0)
10253 {
10255 }
10256
10258
10259 if(mH2 >= 15.0 && mH2 <= 30.0)
10260 {
10262 }
10263
10265
10266 if(mH2 >= 20.0 && mH2 <= 60.0)
10267 {
10269 }
10270
10272
10273 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))
10274 {
10276 }
10277
10279
10280 if(mH2 >= 80.0 && mH2 <= 109.9)
10281 {
10283 }
10284
10286
10287 if(mH2 >= 70.0 && mH2 <= 110.0)
10288 {
10290 }
10291
10293
10294 if(mH2 >= 66.0 && mH2 <= 110.0)
10295 {
10297 }
10298
10300
10301 if(mH2 >= 20.0 && mH2 <= 116.0)
10302 {
10304 }
10305
10307
10308 if(mH2 >= 12.0 && mH2 <= 120.0)
10309 {
10311 }
10312
10314
10315 if(mH2 >= 4.0 && mH2 <= 120.0)
10316 {
10318 }
10319
10320 /**********************************/
10321 /* Observables with phi_i + phi_j */
10322 /**********************************/
10323
10324 // To generalise for CPV analyses, also the Z-h-H combination has to be considered with the LEP data below
10325
10328
10329 if(mH2 <= mH3)
10330 {
10331 if(mH2 >= 10.0 && mH3 >= 15.0 && mH3 <= 145.0 && mH2+mH3 <= 205.0)
10333
10334 if(mH2 >= 5.0 && mH3 >= 5.0 && mH3 <= 150.0 && mH2+mH3 <= 205.0)
10336 }
10337 else
10338 {
10339 if(mH3 >= 10.0 && mH2 >= 15.0 && mH2 <= 145.0 && mH2+mH3 <= 205.0)
10341
10342 if(mH3 >= 5.0 && mH2 >= 5.0 && mH2 <= 150.0 && mH2+mH3 <= 205.0)
10344 }
10345
10347
10348 if(mH3 >= 10.0 && mHl+mH3 <= 205.0)
10349 {
10351 }
10352
10354
10355 if(mH3 >= 5.0 && mHl+mH3 <= 205.0)
10356 {
10358 }
10359
10360 /***********************/
10361 /* Observables with Hp */
10362 /***********************/
10363
10365
10366 if(mHp >= 90.0 && mHp <= 160.0)
10367 {
10369 }
10370
10372
10373 if(mHp >= 80.0 && mHp <= 160.0)
10374 {
10376 }
10377
10379
10380 if(mHp >= 90.0 && mHp <= 150.0)
10381 {
10383 }
10384
10386
10387 if(mH3 >= 15.0 && mH3 <= 75.0 && mHp >= (mH3+85.0) && mHp <= 160.)
10388 {
10390 }
10391
10393
10394 if(mHp >= 80.0 && mHp <= 160.0)
10395 {
10397 }
10398
10400
10401 if(mHp >= 80.0 && mHp <= 160.0)
10402 {
10404 }
10405
10407
10408 if(mHp >= 90.0 && mHp <= 150.0)
10409 {
10411 }
10412
10414
10415 if(mH3 >= 15.1 && mH3 <= 70.2 && mHp >= 120.0 && mHp <= 160.0)
10416 {
10418 }
10419
10421
10422 if(mHp >= 60.0 && mHp <= 168.0)
10423 {
10425 }
10426
10427 // GeV^-2 -> pb
10428 double GeV2pb = 0.389379e9;
10429
10431
10432 if(mHp >= 43.0 && mHp <= 95.0)
10433 {
10435 }
10436
10438
10439 if(mHp >= 43.0 && mHp <= 95.0)
10440 {
10442 }
10443
10445
10446 if(mHp >= 50.0 && mHp <= 93.0)
10447 {
10449 }
10450
10452
10453 if(mHp >= 40.0 && mHp < 50.0)
10454 {
10456 }
10457
10460
10461 if(mHp >= 40.0 && mHp <= 93.0 && mH3 >= 12.0 && mH3 <= (mHp - 3.))
10462 {
10464
10466 }
10467
10469
10470 if(mHp >= 80.0 && mHp < 440.0)
10471 {
10472 //One can try with LO cross-section too.
10474 }
10475
10477
10478 if(mHp >= 90.0 && mHp < 500.0)
10479 {
10480 //One can try with LO cross-section too.
10482 }
10483
10485
10486 if(mHp >= 90.0 && mHp < 350.0)
10487 {
10488 //One can try with LO cross-section too.
10490 }
10491
10493
10494 if(mHp >= 100.0 && mHp < 800.0)
10495 {
10496 //One can try with LO cross-section too.
10498 }
10499
10501
10502 if(mHp >= 45.0 && mHp <= 102.0)
10503 {
10505 }
10506}
10507
10509{
10510 //flag will be used to transport information about model and RGEorder to the Runner:
10511 //flag=0 for LO (1 for approxNLO and 2 for NLO - not implemented yet)
10512 int flag;
10513 if( RGEorder == "LO" ) flag=0;
10514// else if( RGEorder == "approxNLO" ) flag=1;
10515// else if( RGEorder == "NLO" ) flag=2;
10516 else {
10517 throw std::runtime_error("RGEorder can be only \"LO\" at the moment");//any of \"LO\", \"approxNLO\" or \"NLO\"
10518 }
10519
10520 if(myGTHDM->getATHDMflag() && myGTHDM->getCPconservationflag())
10521 {
10522 double g1_at_MZ=sqrt(4.0*M_PI*Ale/cW2);
10523 double g2_at_MZ=sqrt(4.0*M_PI*Ale/(1-cW2));
10524 double g3_at_MZ=sqrt(4.0*M_PI*Als);
10525 double v1_at_MZ=0.;
10526 double v2_at_MZ=0.;
10527 double etaU1_at_MZ=0.;
10528 double etaU2_at_MZ=0.;
10529 double etaD1_at_MZ=0.;
10530 double etaD2_at_MZ=0.;
10531 double etaL1_at_MZ=0.;
10532 double etaL2_at_MZ=0.;
10533 double m11sq_at_MZ=0.;
10534 double m12sq_at_MZ=0.;
10535 double m22sq_at_MZ=0.;
10536 double lambda1_at_MZ=lambda1;
10537 double lambda2_at_MZ=lambda2;
10538 double lambda3_at_MZ=lambda3;
10539 double lambda4_at_MZ=lambda4;
10540 double lambda5_at_MZ=Relambda5;
10541 double lambda6_at_MZ=Relambda6;
10542 double lambda7_at_MZ=Relambda7;
10543 double RpepsGTHDM=myGTHDM->getRpepsGTHDM();
10544 double NLOuniscale=myGTHDM->getNLOuniscaleGTHDM();
10545
10546 // Temporarily, until this running (in the Higgs basis) is clarified, we fix the scale to Mz
10547 // Once solved, reverse changes: Q_A2HDM -> Q_GTHDM [defined below, in updateCache()]
10548 double Q_A2HDM = log10(MZ);
10549
10550 if(fabs(Q_A2HDM-log10(MZ))<0.005) //at MZ scale
10551 {
10552 Q_cutoff=log10(MZ);
10553
10554 g1_at_Q = g1_at_MZ;
10555 g2_at_Q = g2_at_MZ;
10556 g3_at_Q = g3_at_MZ;
10557 v1_at_Q = v1_at_MZ;
10558 v2_at_Q = v2_at_MZ;
10559 etaU1_at_Q = etaU1_at_MZ;
10560 etaU2_at_Q = etaU2_at_MZ;
10561 etaD1_at_Q = etaD1_at_MZ;
10562 etaD2_at_Q = etaD2_at_MZ;
10563 etaL1_at_Q = etaL1_at_MZ;
10564 etaL2_at_Q = etaL2_at_MZ;
10565 m11sq_at_Q = m11sq_at_MZ;
10566 m12sq_at_Q = m12sq_at_MZ;
10567 m22sq_at_Q = m22sq_at_MZ;
10568 lambda1_at_Q = lambda1_at_MZ;
10569 lambda2_at_Q = lambda2_at_MZ;
10570 lambda3_at_Q = lambda3_at_MZ;
10571 lambda4_at_Q = lambda4_at_MZ;
10572 Relambda5_at_Q = lambda5_at_MZ;
10573 Relambda6_at_Q = lambda6_at_MZ;
10574 Relambda7_at_Q = lambda7_at_MZ;
10575 }
10576 else //at some other scale
10577 {
10578 double InitVals[21];
10579 InitVals[0]=g1_at_MZ;
10580 InitVals[1]=g2_at_MZ;
10581 InitVals[2]=g3_at_MZ;
10582 InitVals[3]=v1_at_MZ;
10583 InitVals[4]=v2_at_MZ;
10584 InitVals[5]=etaU1_at_MZ;
10585 InitVals[6]=etaU2_at_MZ;
10586 InitVals[7]=etaD1_at_MZ;
10587 InitVals[8]=etaD2_at_MZ;
10588 InitVals[9]=etaL1_at_MZ;
10589 InitVals[10]=etaL2_at_MZ;
10590 InitVals[11]=m11sq_at_MZ;
10591 InitVals[12]=m12sq_at_MZ;
10592 InitVals[13]=m22sq_at_MZ;
10593 InitVals[14]=lambda1_at_MZ;
10594 InitVals[15]=lambda2_at_MZ;
10595 InitVals[16]=lambda3_at_MZ;
10596 InitVals[17]=lambda4_at_MZ;
10597 InitVals[18]=lambda5_at_MZ;
10598 InitVals[19]=lambda6_at_MZ;
10599 InitVals[20]=lambda7_at_MZ;
10600
10601 Q_cutoff=myRunnerGTHDM->RGEGeneralTHDMRunner(InitVals, 21, log10(MZ), Q_GTHDM, flag, RpepsGTHDM, NLOuniscale); //Running up to Q_cutoff<=Q_GTHDM
10602
10603 g1_at_Q = InitVals[0];
10604 g2_at_Q = InitVals[1];
10605 g3_at_Q = InitVals[2];
10606 v1_at_Q = InitVals[3];
10607 v2_at_Q = InitVals[4];
10608 etaU1_at_Q = InitVals[5];
10609 etaU2_at_Q = InitVals[6];
10610 etaD1_at_Q = InitVals[7];
10611 etaD2_at_Q = InitVals[8];
10612 etaL1_at_Q = InitVals[9];
10613 etaL2_at_Q = InitVals[10];
10614 m11sq_at_Q = InitVals[11];
10615 m12sq_at_Q = InitVals[12];
10616 m22sq_at_Q = InitVals[13];
10617 lambda1_at_Q = InitVals[14];
10618 lambda2_at_Q = InitVals[15];
10619 lambda3_at_Q = InitVals[16];
10620 lambda4_at_Q = InitVals[17];
10621 Relambda5_at_Q = InitVals[18];
10622 Relambda6_at_Q = InitVals[19];
10623 Relambda7_at_Q = InitVals[20];
10624 }
10625 }//End ATHDM case
10626 else {
10627 throw std::runtime_error("RGE are only defined for the CP conserving ATHDM at the moment");
10628 }
10629}
10630
10631
10634{
10635
10636
10637 //The Standard Model h branching ratios
10638 //Could be made into mass-dependent formulae in the future
10639 //SEE IF WE CAN UPDATE THESE NUMBERS. THEY MAY BE OLD!!!!!!!!!
10640 BrSM_htobb = 5.77e-1;
10641 BrSM_htotautau = 6.32e-2;
10642 BrSM_htogaga = 2.28e-3;
10643 BrSM_htoWW = 2.15e-1;
10644 BrSM_htoZZ = 2.64e-2;
10645 BrSM_htogg = 8.57e-2;
10646 BrSM_htoZga = 1.54e-3;
10647 BrSM_htocc = 2.91e-2;
10648
10649 //The Standard Model Z to ll branching ratio
10650 BrSM_Ztoll = 6.73e-2;
10651
10652
10653 mHl = myGTHDM->getMHl();
10654 m1 = mHl;
10655 mH1sq = myGTHDM->getmH1sq();
10656 mH2sq = myGTHDM->getmH2sq();
10657 mH3sq = myGTHDM->getmH3sq();
10658 mH2 = sqrt(mH2sq);
10659 mH3 = sqrt(mH3sq);
10660 mHp2 = myGTHDM->getmHp2();
10661 mHp = sqrt(mHp2);
10662 vev = myGTHDM->v();
10663
10664 m2 = mH2;
10665 m3 = mH3;
10666
10667 m1_2 = mH1sq;
10668 m2_2 = mH2sq;
10669 m3_2 = mH3sq;
10670
10671 if (m1_2 < 0. || m2_2 < 0. || m3_2 < 0.)
10672 return std::numeric_limits<double>::quiet_NaN();
10673
10674
10675 cosa1=myGTHDM->getcosalpha1();
10676 sina1=myGTHDM->getsinalpha1();
10677 tana1=myGTHDM->gettanalpha1();
10678
10679 cosa2=myGTHDM->getcosalpha2();
10680 sina2=myGTHDM->getsinalpha2();
10681 cosa3=myGTHDM->getcosalpha3();
10682 sina3=myGTHDM->getsinalpha3();
10683
10684 lambda1 = myGTHDM->getlambda1();
10685 lambda2 = myGTHDM->getlambda2();
10686 lambda3 = myGTHDM->getlambda3();
10687 lambda4 = myGTHDM->getlambda4();
10688 Relambda5=myGTHDM->getRelambda5();
10689 Imlambda5=myGTHDM->getImlambda5();
10690 Relambda6=myGTHDM->getRelambda6();
10691 Imlambda6=myGTHDM->getImlambda6();
10692 Relambda7=myGTHDM->getRelambda7();
10693
10694 Rij_GTHDM.assign(0, 0, cosa1*cosa2);
10695 Rij_GTHDM.assign(0, 1, sina1*cosa2);
10696 Rij_GTHDM.assign(0, 2, -sina2);
10697 Rij_GTHDM.assign(1, 0, cosa1*sina2*sina3 - sina1*cosa3);
10698 Rij_GTHDM.assign(1, 1, sina1*sina2*sina3 + cosa1*cosa3);
10699 Rij_GTHDM.assign(1, 2, cosa2*sina3);
10700 Rij_GTHDM.assign(2, 0, cosa2*sina2*cosa3 + sina1*sina3);
10701 Rij_GTHDM.assign(2, 1, sina1*sina2*cosa3 - cosa1*sina3);
10702 Rij_GTHDM.assign(2, 2, cosa2*cosa3);
10703
10704 //What about the case "Heavy case" in which the SM is Higgs is not the light one, for the g-2
10705 //in that case the \pi/2 phase is included so that the angles are still small perturbations but
10706 //that is not being done here
10707
10708 // Variables without 'GTHDM' label to simplify expressions with lambdaijk and KaellenFunction
10709 R11 = Rij_GTHDM(0,0);
10710 R12 = Rij_GTHDM(0,1);
10711 R13 = Rij_GTHDM(0,2);
10712 R21 = Rij_GTHDM(1,0);
10713 R22 = Rij_GTHDM(1,1);
10714 R23 = Rij_GTHDM(1,2);
10715 R31 = Rij_GTHDM(2,0);
10716 R32 = Rij_GTHDM(2,1);
10717 R33 = Rij_GTHDM(2,2);
10718
10719
10720
10721 //std::cout<<"\033[1;33m R11 = \033[0m "<<R11<<std::endl;
10722 //std::cout<<"\033[1;33m R12 = \033[0m "<<R12<<std::endl;
10723 //std::cout<<"\033[1;33m R13 = \033[0m "<<R13<<std::endl;
10724 //std::cout<<"\033[1;33m R21 = \033[0m "<<R21<<std::endl;
10725 //std::cout<<"\033[1;33m R22 = \033[0m "<<R22<<std::endl;
10726 //std::cout<<"\033[1;33m R23 = \033[0m "<<R23<<std::endl;
10727 //std::cout<<"\033[1;33m R31 = \033[0m "<<R31<<std::endl;
10728 //std::cout<<"\033[1;33m R32 = \033[0m "<<R32<<std::endl;
10729 //std::cout<<"\033[1;33m R33 = \033[0m "<<R33<<std::endl;
10730
10731
10732
10733 //LOOK AT THIS, NOT SURE IF IT MAKES SENSE NOW
10734 /*The Mij_2 are defined such that Msqdiag = -2*RT*M_2*R with the rotation Matrix R
10735 * and Msqdiag containing the physical mass squares on the diagonal. */
10736
10752
10753 //Remaining general potential parameters
10754 /*
10755 m11sq = M11_2 - M33_2 - M12_2*tanb + 0.5*Relambda5*vev*vev
10756 + (M33_2-0.5*Relambda5*vev*vev)*(cosb*cosb-sinb*sinb)
10757 + 0.5*vev*vev*((Relambda6-Relambda7)*sinb*cosb+Relambda7*tanb);
10758
10759 m22sq = M11_2 - M33_2 + M12_2/tanb + 0.5*Relambda5*vev*vev
10760 - (M33_2-0.5*Relambda5*vev*vev)*(cosb*cosb-sinb*sinb)
10761 + 0.25*vev*vev*(Relambda6+Relambda7+(Relambda6-Relambda7)*(cosb*cosb-sinb*sinb))/tanb;
10762
10763 Rem12sq = 0.25*vev*vev*(Relambda6+Relambda7+(Relambda6-Relambda7)*(cosb*cosb-sinb*sinb))
10764 - (2.0*M33_2-Relambda5*vev*vev)*sinb*cosb;
10765
10766 Imm12sq = M13_2;
10767 */
10768
10769 //Let's the define the parameters of the potential in terms of the linear independent parameters
10770 //Here we'll assume CP-conservation and therefore we'll take the imaginary parts to zero explicitly
10771 //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
10772 //doing we'll simplify the rotation matrix although we'll keep one parameter that seems to be less physical (ImLambda7)
10773
10774 /*
10775 mH1sq=mHl*mHl;
10776 mH2sq=myGTHDM->getmH2sq();
10777 mH3sq=myGTHDM->getmH3sq();
10778 mHp2=myGTHDM->getmHp2();
10779 */
10780
10781
10782
10783 //std::cout<<"\033[1;33m vev = \033[0m "<<vev<<std::endl;
10784
10785 // This was clearly wrong, keep it to try to find where exactly it was coming from
10786 //lambda1 = (-2.0*(M11_2-M22_2+M33_2) + Relambda5*vev*vev
10787 // - (2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)/(cosb*cosb)
10788 // + (4.0*M12_2-2.0*Relambda6*vev*vev)*tanb)/(vev*vev);
10789
10790 //lambda2 = (-2.0*(M11_2-M22_2+M33_2) + Relambda5*vev*vev
10791 // - (2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)/(sinb*sinb)
10792 // - (4.0*M12_2+2.0*Relambda7*vev*vev)/tanb)/(vev*vev);
10793
10794 //lambda3 = -(2.0*(M11_2-M22_2-M33_2-mHp2) + Relambda5*vev*vev
10795 // + (2.0*M12_2+Relambda6*vev*vev)/tanb
10796 // - (2.0*M12_2-Relambda7*vev*vev)*tanb)/(vev*vev);
10797
10798 //lambda4 = Relambda5 - (2.0*mHp2+4.0*M33_2)/(vev*vev);
10799
10800 //Imlambda6 = (2.0*M13_2-(2.0*M23_2+0.5*Imlambda5*vev*vev)*tanb)/(vev*vev);
10801
10802 //Imlambda7 = 2.0*M13_2/(vev*vev) + (-0.5*Imlambda5+(2.0*M23_2)/(vev*vev))/tanb;
10803
10804 //Higgs potential parameters
10805 /*
10806 m11sqH = M11_2;
10807 m22sqH = M11_2-2.0*M33_2+Relambda5*vev*vev
10808 +(M12_2+0.5*(Relambda6*vev*vev))/tanb
10809 -(M12_2-0.5*(Relambda7*vev*vev))*tanb;
10810 Rem12sqH = -M12_2;
10811 Imm12sqH = M13_2;
10812 lambda1H = -2.0*M11_2/(vev*vev);
10813 lambda2H = -2.0*((2.0*M12_2+Relambda7*vev*vev)/tanb
10814 +M11_2-4.0*M22_2+4.0*M33_2-2.0*Relambda5*vev*vev
10815 +(M22_2-M33_2+0.5*Relambda5*vev*vev)/(sinb*sinb*cosb*cosb)
10816 -2.0*M12_2*tanb+Relambda6*vev*vev*tanb)/(vev*vev);
10817 lambda3H = -((2.0*(M11_2-2.0*M33_2-mHp2+Relambda5*vev*vev)
10818 +(2.0*M12_2+Relambda6*vev*vev)/tanb
10819 -(2.0*M12_2-Relambda7*vev*vev)*tanb)/(vev*vev));
10820 lambda4H = -2.0*(M22_2+M33_2+mHp2)/(vev*vev);
10821 Relambda5H = -2.0*(M22_2-M33_2)/(vev*vev);
10822 Imlambda5H = 4.0*M23_2/(vev*vev);
10823 Relambda6H = -2.0*M12_2/(vev*vev);
10824 Imlambda6H = 2.0*M13_2/(vev*vev);
10825 Relambda7H = (-2.0*M12_2+(Relambda6-Relambda7)*vev*vev
10826 +(2.0*M22_2-2.0*M33_2+Relambda5*vev*vev)*(tanb-1.0/tanb))/(vev*vev);
10827 Imlambda7H = 2.0*(M13_2-M23_2*(tanb-1.0/tanb))/(vev*vev)-0.5*Imlambda5/(sinb*cosb);
10828
10829
10830 M2 = Rem12sq/(sinb*cosb);
10831 */
10832
10833// R11_GTHDM = cosalpha1*cosalpha2;
10834// R12_GTHDM = sinalpha1*cosalpha2;
10835// R13_GTHDM = -sinalpha2;
10836// R21_GTHDM = cosalpha1*sinalpha2*sinalpha3 - sinalpha1*cosalpha3;
10837// R22_GTHDM = sinalpha1*sinalpha2*sinalpha3 + cosalpha1*cosalpha3;
10838// R23_GTHDM = cosalpha2*sinalpha3;
10839// R31_GTHDM = cosalpha1*sinalpha2*cosalpha3 + sinalpha1*sinalpha3;
10840// R32_GTHDM = sinalpha1*sinalpha2*cosalpha3 - cosalpha1*sinalpha3;
10841// R33_GTHDM = cosalpha2*cosalpha3;
10842
10843// M13_2 = -vev*vev*(sinb*cosb*Imlambda5 + cosb*cosb*Imlambda6 + sinb*sinb*Imlambda7);
10844// M23_2 = -vev*vev*((cosb*cosb - sinb*sinb)*Imlambda5 + 2.*sinb*cosb*(Imlambda7 - Imlambda6))/2.;
10845
10846// std::cout<<"mH1sq before ordering = "<<mH1sq<<std::endl;
10847// std::cout<<"mH2sq before ordering = "<<mH2sq<<std::endl;
10848// std::cout<<"mH3sq before ordering = "<<mH3sq<<std::endl;
10849
10850// M11_2 = (mH1sq*cosalpha1*cosalpha1*cosalpha2*cosalpha2 + mH2sq*sinalpha1*sinalpha1*cosalpha2*cosalpha2 + mH3sq*sinalpha2*sinalpha2);
10851//
10852// M12_2 = (mH1sq*cosalpha1*cosalpha2*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)
10853// + mH2sq*cosalpha2*sinalpha1*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)
10854// - mH3sq*cosalpha2*sinalpha2*sinalpha3);
10855//
10857//
10858// M22_2 = (mH1sq*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)*(cosalpha1*sinalpha2*sinalpha3 - cosalpha3*sinalpha1)
10859// + mH2sq*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)*(cosalpha1*cosalpha3 + sinalpha1*sinalpha2*sinalpha3)
10860// + mH3sq*cosalpha2*cosalpha2*sinalpha3*sinalpha3);
10861//
10863//
10864// M33_2 = (mH1sq*(cosalpha1*cosalpha3*sinalpha2 + sinalpha1*sinalpha3)*(cosalpha1*cosalpha3*sinalpha2 + sinalpha1*sinalpha3)
10865// + mH2sq*(cosalpha3*sinalpha1*sinalpha2 - cosalpha1*sinalpha3)*(cosalpha3*sinalpha1*sinalpha2 - cosalpha1*sinalpha3)
10866// + mH3sq*cosalpha2*cosalpha2*cosalpha3*cosalpha3);
10867//
10868// m11_2_GTHDM = M2_GTHDM*(1. - cosb*cosb + 3.*sinb*sinb)/4. + (M12_2*tanb - M11_2)/2.;
10869// m22_2_GTHDM = M2_GTHDM*(1. + 3.*cosb*cosb - sinb*sinb)/4. - (M12_2/tanb + M11_2)/2.;
10870// Imm12_2_GTHDM = 0.5*(cosb*sinb*Imlambda5 + cosb*cosb*Imlambda6 + sinb*sinb*Imlambda7)*vev*vev;
10871// 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;
10872// 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;
10873// 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;
10874// lambda4_GTHDM = (M2_GTHDM + M33_2 - 2.0*mHp2)/(vev*vev) - 0.5*(Relambda6/tanb + tanb*Relambda7);
10875// Relambda5_GTHDM = (M2_GTHDM - M33_2)/(vev*vev) - 0.5*(Relambda6/tanb + tanb*Relambda7);
10876//
10877
10878
10879 Mu_GTHDM.assign(0,0, myGTHDM->getQuarks(QCD::UP).getMass());
10880 Mu_GTHDM.assign(1,1, myGTHDM->getQuarks(QCD::CHARM).getMass());
10881 Mu_GTHDM.assign(2,2, myGTHDM->getQuarks(QCD::TOP).getMass());
10882
10883 Md_GTHDM.assign(0,0, myGTHDM->getQuarks(QCD::DOWN).getMass());
10884 Md_GTHDM.assign(1,1, myGTHDM->getQuarks(QCD::STRANGE).getMass());
10885 Md_GTHDM.assign(2,2, myGTHDM->getQuarks(QCD::BOTTOM).getMass());
10886
10887 Ml_GTHDM.assign(0,0, myGTHDM->getLeptons(StandardModel::ELECTRON).getMass());
10888 Ml_GTHDM.assign(1,1, myGTHDM->getLeptons(StandardModel::MU).getMass());
10889 Ml_GTHDM.assign(2,2, myGTHDM->getLeptons(StandardModel::TAU).getMass());
10890
10891 if(myGTHDM->getATHDMflag() == true)
10892 {
10893 sigmau_ATHDM = myGTHDM->getNu_11()/myGTHDM->getQuarks(StandardModel::TOP).getMass();
10894 sigmad_ATHDM = myGTHDM->getNd_11()/myGTHDM->getQuarks(StandardModel::DOWN).getMass();
10895 sigmal_ATHDM = myGTHDM->getNl_11()/myGTHDM->getLeptons(StandardModel::TAU).getMass();
10896
10897 Nu_GTHDM.assign(0,0, sigmau_ATHDM*Mu_GTHDM(0,0));
10898 Nu_GTHDM.assign(1,1, sigmau_ATHDM*Mu_GTHDM(1,1));
10899 Nu_GTHDM.assign(2,2, sigmau_ATHDM*Mu_GTHDM(2,2));
10900
10901 Nd_GTHDM.assign(0,0, sigmad_ATHDM*Md_GTHDM(0,0));
10902 Nd_GTHDM.assign(1,1, sigmad_ATHDM*Md_GTHDM(1,1));
10903 Nd_GTHDM.assign(2,2, sigmad_ATHDM*Md_GTHDM(2,2));
10904
10905 Nl_GTHDM.assign(0,0, sigmal_ATHDM*Ml_GTHDM(0,0));
10906 Nl_GTHDM.assign(1,1, sigmal_ATHDM*Ml_GTHDM(1,1));
10907 Nl_GTHDM.assign(2,2, sigmal_ATHDM*Ml_GTHDM(2,2));
10908 }
10909 else
10910 {
10911 Nu_GTHDM.assign(0,0, myGTHDM->getNu_11());
10912 Nu_GTHDM.assign(0,1, myGTHDM->getNu_12());
10913 Nu_GTHDM.assign(0,2, myGTHDM->getNu_13());
10914 Nu_GTHDM.assign(1,0, myGTHDM->getNu_21());
10915 Nu_GTHDM.assign(1,1, myGTHDM->getNu_22());
10916 Nu_GTHDM.assign(1,2, myGTHDM->getNu_23());
10917 Nu_GTHDM.assign(2,0, myGTHDM->getNu_31());
10918 Nu_GTHDM.assign(2,1, myGTHDM->getNu_32());
10919 Nu_GTHDM.assign(2,2, myGTHDM->getNu_33());
10920
10921 Nd_GTHDM.assign(0,0, myGTHDM->getNd_11());
10922 Nd_GTHDM.assign(0,1, myGTHDM->getNd_12());
10923 Nd_GTHDM.assign(0,2, myGTHDM->getNd_13());
10924 Nd_GTHDM.assign(1,0, myGTHDM->getNd_21());
10925 Nd_GTHDM.assign(1,1, myGTHDM->getNd_22());
10926 Nd_GTHDM.assign(1,2, myGTHDM->getNd_23());
10927 Nd_GTHDM.assign(2,0, myGTHDM->getNd_31());
10928 Nd_GTHDM.assign(2,1, myGTHDM->getNd_32());
10929 Nd_GTHDM.assign(2,2, myGTHDM->getNd_33());
10930
10931 Nl_GTHDM.assign(0,0, myGTHDM->getNl_11());
10932 Nl_GTHDM.assign(0,1, myGTHDM->getNl_12());
10933 Nl_GTHDM.assign(0,2, myGTHDM->getNl_13());
10934 Nl_GTHDM.assign(1,0, myGTHDM->getNl_21());
10935 Nl_GTHDM.assign(1,1, myGTHDM->getNl_22());
10936 Nl_GTHDM.assign(1,2, myGTHDM->getNl_23());
10937 Nl_GTHDM.assign(2,0, myGTHDM->getNl_31());
10938 Nl_GTHDM.assign(2,1, myGTHDM->getNl_32());
10939 Nl_GTHDM.assign(2,2, myGTHDM->getNl_33());
10940 }
10941
10942 //Definition of Yukawa matrices
10943 //All this matrices where suppose to be defined in the basis where we have two vevs,
10944 //such a basis doesn't make sense in the Align (or general Align) THDM, we remove them
10945 /*
10946 Yu1_GTHDM = (cosb*Mu_GTHDM - sinb*Nu_GTHDM)*sqrt(2.)/vev;
10947 Yu2_GTHDM = (cosb*Nu_GTHDM + sinb*Mu_GTHDM)*sqrt(2.)/vev;
10948 Yd1_GTHDM = (cosb*Md_GTHDM - sinb*Nd_GTHDM)*sqrt(2.)/vev;
10949 Yd2_GTHDM = (cosb*Nd_GTHDM + sinb*Md_GTHDM)*sqrt(2.)/vev;
10950 Yl1_GTHDM = (cosb*Ml_GTHDM - sinb*Nl_GTHDM)*sqrt(2.)/vev;
10951 Yl2_GTHDM = (cosb*Nl_GTHDM + sinb*Ml_GTHDM)*sqrt(2.)/vev;
10952 */
10953
10954 /*up, down and leptonic couplings */
10955 su = myGTHDM->getNu_11();
10956 sd = myGTHDM->getNd_11();
10957 sl = myGTHDM->getNl_11();
10958
10959 //if (yu1R*yu1R >4. || yd1R*yd1R >4. || yl1R*yl1R >4.)
10960 // return std::numeric_limits<double>::quiet_NaN();
10961
10962
10963 Q_GTHDM=myGTHDM->getQ_GTHDM();
10964 Ale=myGTHDM->getAle();
10965 Als=myGTHDM->getAlsMz();
10966 MZ=myGTHDM->getMz();
10967 MW=MWGTHDM(myGTHDM->Mw_tree());
10968 cW2=cW2GTHDM(myGTHDM->c02());
10969 sW2=1.0-cW2;
10970 GF=1.0/(sqrt(2.0)*vev*vev);
10971
10972 Mt = myGTHDM->getQuarks(QCD::TOP).getMass();
10973 Mb = myGTHDM->getQuarks(QCD::BOTTOM).getMass();
10974 Mc = myGTHDM->getQuarks(QCD::CHARM).getMass();
10975 Ms = myGTHDM->getQuarks(QCD::STRANGE).getMass();
10976 Mu = myGTHDM->getQuarks(QCD::UP).getMass();
10977 Md = myGTHDM->getQuarks(QCD::DOWN).getMass();
10978 Mtau = myGTHDM->getLeptons(StandardModel::TAU).getMass();
10979 Mmu = myGTHDM->getLeptons(StandardModel::MU).getMass();
10980 Me = myGTHDM->getLeptons(StandardModel::ELECTRON).getMass();
10981
10982
10983 if (myGTHDM->getModelName() == "GeneralTHDMZ2") {
10984 // runGeneralTHDMparameters: RGEorder can be only "LO" at the moment
10985 // runGeneralTHDMZ2parameters: RGEorder can be "LO", "approxNLO", "NLO"
10987 }
10988 else {
10989 runGeneralTHDMparameters(myGTHDM->getRGEorderflag());
10990 }
10998
10999 return mH1sq;
11000}
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 .