Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
MesonMixingWilsonTHDM.cpp
Go to the documentation of this file.
2
5 {
6 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
7 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
8 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
9 {ParameterType::SM, "MASS", 24},
10 {ParameterType::BSM, "MASS", 37}, // M_H
11 {ParameterType::SM, "MASS", 1}, //m_d
12 {ParameterType::SM, "MASS", 2}, //m_u
13 {ParameterType::SM, "GAUGE", 2}, //g_2
14 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
15 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
16 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
17 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
18 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
19 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
20 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
21 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
22 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
23 },
26 };
27}
28
30
31 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
32 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
33 double M_H_pow_2 = pow(M_H,2.);
34 double M_W_pow_2 = pow(M_W,2.);
35 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
36 double m_q = src.get_val(ParameterType::SM, "MASS", 1);;
37 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
38 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
39
40 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
41 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
42 double tbeta=src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
43 double m_u[4],m_u_pow_2[4];
44
45 for (int i = 0; i<3; ++i) {
46 for (int j = 0; j<3; j++) {
47 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
48 }
49 }
50 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
51 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
52 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
53 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
54 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
55
56
57 for(int i =0;i<3;++i) {
58 m_u_pow_2[i]=pow(m_u[i],2.);
59 }
60
61 scalar_t C1_chargedhiggs=0.;
62
63 double D0h,D2h,D2h_c;
64 scalar_t CKM_product;
65
66
67 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
68 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
69 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
70 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
71
72 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
73
74 C1_chargedhiggs += pow(g_2,4.)*CKM_product*m_u_pow_2[i]*m_u_pow_2[j]*(2.*pow(M_W,2.)*D0h*pow(tbeta,-2.) - D2h_c*pow(tbeta,-4.) - 2*D2h*pow(tbeta,-2.))/(128.*pow(PI,2.)*pow(M_W,4.));
75 }
76
77}
78
81 {
82 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
83 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
84 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
85 {ParameterType::SM, "MASS", 24},
86 {ParameterType::BSM, "MASS", 37}, // M_H
87 {ParameterType::SM, "MASS", 1}, //m_d
88 {ParameterType::SM, "MASS", 2}, //m_u
89 {ParameterType::SM, "GAUGE", 2}, //g_2
90 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
91 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
92 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
93 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
94 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
95 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
96 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
97 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
98 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
99 },
102 };
103}
104
106
107 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
108 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
109 double M_H_pow_2 = pow(M_H,2.);
110 double M_W_pow_2 = pow(M_W,2.);
111 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
112 double m_q = src.get_val(ParameterType::SM, "MASS", 1);
113 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
114 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
115
116 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
117 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
118 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
119 double m_u[4],m_u_pow_2[4];
120
121 for (int i = 0; i<3; ++i) {
122 for (int j = 0; j<3; j++) {
123 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
124 }
125 }
126 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
127 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
128 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
129 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
130 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
131
132
133 for(int i =0;i<3;++i) {
134 m_u_pow_2[i]=pow(m_u[i],2.);
135 }
136
137
138 scalar_t Cp1_chargedhiggs=0.;
139
140
141 double D0h,D0h_c,D2h,D2h_c;
142 scalar_t CKM_product;
143
144
145 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
146 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
147 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
148
149 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
150
151 Cp1_chargedhiggs += -pow(g_2,4.)*pow(m_b,2.)*pow(m_q,2.)*CKM_product*(D2h_c*pow(tbeta,4.)+2.*D2h*pow(tbeta,2.))/(128.*pow(PI,2.)*pow(M_W,4.));
152
153 }
154
155}
156
159 {
160 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
161 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
162 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
163 {ParameterType::SM, "MASS", 24},
164 {ParameterType::BSM, "MASS", 37}, // M_H
165 {ParameterType::SM, "MASS", 1}, //m_d
166 {ParameterType::SM, "MASS", 2}, //m_u
167 {ParameterType::SM, "GAUGE", 2}, //g_2
168 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
169 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
170 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
171 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
172 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
173 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
174 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
175 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
176 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
177 },
180 };
181}
182
184
185 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
186 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
187 double M_H_pow_2 = pow(M_H,2.);
188 double M_W_pow_2 = pow(M_W,2.);
189 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
190 double m_q = src.get_val(ParameterType::SM, "MASS", 1);
191 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
192 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
193
194 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
195 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
196 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
197 double m_u[4],m_u_pow_2[4];
198
199 for (int i = 0; i<3; ++i) {
200 for (int j = 0; j<3; j++) {
201 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
202 }
203 }
204 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
205 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
206 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
207 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
208 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
209
210
211 for(int i =0;i<3;++i) {
212 m_u_pow_2[i]=pow(m_u[i],2.);
213 }
214
215 scalar_t C2_chargedhiggs=0.;
216
217
218 double D0h,D0h_c;
219 scalar_t CKM_product;
220
221
222 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
223 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
224 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
225
226 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
227
228 C2_chargedhiggs += -pow(g_2,4.)*pow(m_q,2.)*CKM_product*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c - 2*D0h)/(128.*pow(PI,2.)*pow(M_W,4.));
229 }
230
231}
232
235 {
236 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
237 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
238 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
239 {ParameterType::SM, "MASS", 24},
240 {ParameterType::BSM, "MASS", 37}, // M_H
241 {ParameterType::SM, "MASS", 1}, //m_d
242 {ParameterType::SM, "MASS", 2}, //m_u
243 {ParameterType::SM, "GAUGE", 2}, //g_2
244 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
245 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
246 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
247 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
248 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
249 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
250 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
251 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
252 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
253 },
256 };
257}
258
260
261 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
262 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
263 double M_H_pow_2 = pow(M_H,2.);
264 double M_W_pow_2 = pow(M_W,2.);
265 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
266 double m_q = src.get_val(ParameterType::SM, "MASS", 1);
267 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
268 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
269
270 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
271 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
272 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
273 double m_u[4],m_u_pow_2[4];
274
275 for (int i = 0; i<3; ++i) {
276 for (int j = 0; j<3; j++) {
277 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
278 }
279 }
280 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
281 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
282 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
283 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
284 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
285
286
287 for(int i =0;i<3;++i) {
288 m_u_pow_2[i]=pow(m_u[i],2.);
289 }
290
291 scalar_t Cp2_chargedhiggs=0.;
292
293 double D0h,D0h_c;
294 scalar_t CKM_product;
295
296
297 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
298 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
299 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
300
301 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
302
303 Cp2_chargedhiggs += -pow(g_2,4.)*pow(m_b,2.)*CKM_product*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c-2.*D0h)/(128.*pow(PI,2.)*pow(M_W,4.));
304 }
305
306}
307
310
311
314
317 {
318 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
319 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
320 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
321 {ParameterType::SM, "MASS", 24},
322 {ParameterType::BSM, "MASS", 37}, // M_H
323 {ParameterType::SM, "MASS", 1}, //m_d
324 {ParameterType::SM, "MASS", 2}, //m_u
325 {ParameterType::SM, "GAUGE", 2}, //g_2
326 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
327 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
328 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
329 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
330 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
331 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
332 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
333 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
334 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
335 },
338 };
339}
340
342
343 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
344 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
345 double M_H_pow_2 = pow(M_H,2.);
346 double M_W_pow_2 = pow(M_W,2.);
347 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
348 double m_q = src.get_val(ParameterType::SM, "MASS", 1);
349 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
350 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
351
352 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
353 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
354 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
355 double m_u[4],m_u_pow_2[4];
356
357 for (int i = 0; i<3; ++i) {
358 for (int j = 0; j<3; j++) {
359 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
360 }
361 }
362 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
363 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
364 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
365 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
366 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
367
368
369 for(int i =0;i<3;++i) {
370 m_u_pow_2[i]=pow(m_u[i],2.);
371 }
372
373
374 scalar_t C4_chargedhiggs=0.;
375
376
377 double D0h,D0h_c,D2h;
378 scalar_t CKM_product;
379
380
381 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
382 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
383 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
384 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
385
386 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
387
388 C4_chargedhiggs += pow(g_2,4.)*CKM_product*(m_b*m_q*D2h*pow(tbeta,2.)/pow(M_W,2.) - m_b*m_q*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c + D0h*(pow(tbeta,2.) + pow(tbeta,-2.)))/(4*pow(M_W,4.)))/(16.*pow(PI,2.));
389
390 }
391
392}
393
396 {
397 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
398 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
399 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
400 {ParameterType::SM, "MASS", 24},
401 {ParameterType::BSM, "MASS", 37}, // M_H
402 {ParameterType::SM, "MASS", 1}, //m_d
403 {ParameterType::SM, "MASS", 2}, //m_u
404 {ParameterType::SM, "GAUGE", 2}, //g_2
405 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
406 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
407 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
408 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
409 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
410 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
411 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
412 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
413 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
414 },
417 };
418}
419
421
422 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
423 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
424 double M_H_pow_2 = pow(M_H,2.);
425 double M_W_pow_2 = pow(M_W,2.);
426 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
427 double m_q = src.get_val(ParameterType::SM, "MASS", 1);
428 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
429 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
430
431 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
432 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
433 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
434 double m_u[4],m_u_pow_2[4];
435
436 for (int i = 0; i<3; ++i) {
437 for (int j = 0; j<3; j++) {
438 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
439 }
440 }
441 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
442 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
443 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
444 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
445 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
446
447
448 for(int i =0;i<3;++i) {
449 m_u_pow_2[i]=pow(m_u[i],2.);
450 }
451
452 scalar_t C5_chargedhiggs=0.;
453
454 double D2h,D2h_c;
455 scalar_t CKM_product;
456
457 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
458 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
459 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
460
461 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
462
463 C5_chargedhiggs += pow(g_2,4.)*m_b*m_q*CKM_product*pow(m_u[i],2.)*(D2h_c-2.*D2h)/(32.*pow(PI,2.)*pow(M_W,4.));
464 }
465
466}
467
470 {
471 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
472 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
473 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
474 {ParameterType::SM, "MASS", 24},
475 {ParameterType::BSM, "MASS", 37}, // M_H
476 {ParameterType::SM, "MASS", 3}, //m_d
477 {ParameterType::SM, "MASS", 2}, //m_u
478 {ParameterType::SM, "GAUGE", 2}, //g_2
479 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
480 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
481 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
482 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
483 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
484 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
485 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
486 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
487 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
488 },
491 };
492}
493
495
496 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
497 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
498 double M_H_pow_2 = pow(M_H,2.);
499 double M_W_pow_2 = pow(M_W,2.);
500 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
501 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
502 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
503 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
504
505 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
506 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
507 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
508 double m_u[4],m_u_pow_2[4];
509
510 for (int i = 0; i<3; ++i) {
511 for (int j = 0; j<3; j++) {
512 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
513 }
514 }
515
516 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
517 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
518 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
519 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
520 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
521
522
523 for(int i =0;i<3;++i) {
524 m_u_pow_2[i]=pow(m_u[i],2.);
525 }
526
527 scalar_t C1_chargedhiggs=0.;
528
529 double D0h,D0h_c,D2h,D2h_c;
530 scalar_t CKM_product;
531
532
533 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
534 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
535 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
536 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
537 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
538
539 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
540
541 C1_chargedhiggs += pow(g_2,4.)*CKM_product*m_u_pow_2[i]*m_u_pow_2[j]*(2.*pow(M_W,2.)*D0h*pow(tbeta,-2.) - D2h_c*pow(tbeta,-4.) - 2*D2h*pow(tbeta,-2.))/(128.*pow(PI,2.)*pow(M_W,4.));
542 }
543
544}
545
548 {
549 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
550 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
551 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
552 {ParameterType::SM, "MASS", 24},
553 {ParameterType::BSM, "MASS", 37}, // M_H
554 {ParameterType::SM, "MASS", 2}, //m_u
555 {ParameterType::SM, "MASS", 3}, //m_s
556 {ParameterType::SM, "GAUGE", 2}, //g_2
557 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
558 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
559 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
560 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
561 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
562 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
563 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
564 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
565 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
566 },
569 };
570}
571
573
574 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
575 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
576 double M_H_pow_2 = pow(M_H,2.);
577 double M_W_pow_2 = pow(M_W,2.);
578 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
579 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
580
581 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
582 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
583
584 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
585 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
586 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
587 double m_u[4],m_u_pow_2[4];
588
589 for (int i = 0; i<3; ++i) {
590 for (int j = 0; j<3; j++) {
591 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
592 }
593 }
594 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
595 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
596 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
597 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
598 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
599
600
601 for(int i =0;i<3;++i) {
602 m_u_pow_2[i]=pow(m_u[i],2.);
603 }
604
605
606 scalar_t Cp1_chargedhiggs=0.;
607
608
609 double D2h,D2h_c;
610 scalar_t CKM_product;
611
612
613 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
614 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
615 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
616
617 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
618
619 Cp1_chargedhiggs += -pow(g_2,4.)*pow(m_b,2.)*pow(m_q,2.)*CKM_product*(D2h_c*pow(tbeta,4.)+2.*D2h*pow(tbeta,2.))/(128.*pow(PI,2.)*pow(M_W,4.));
620
621 }
622
623}
624
627 {
628 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
629 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
630 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
631 {ParameterType::SM, "MASS", 24},
632 {ParameterType::BSM, "MASS", 37}, // M_H
633 {ParameterType::SM, "MASS", 2}, //m_u
634 {ParameterType::SM, "MASS", 3}, //m_s
635 {ParameterType::SM, "GAUGE", 2}, //g_2
636 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
637 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
638 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
639 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
640 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
641 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
642 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
643 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
644 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
645 },
648 };
649}
650
652
653 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
654 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
655 double M_H_pow_2 = pow(M_H,2.);
656 double M_W_pow_2 = pow(M_W,2.);
657 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
658 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
659 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
660 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
661
662 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
663 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
664 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
665 double m_u[4],m_u_pow_2[4];
666
667 for (int i = 0; i<3; ++i) {
668 for (int j = 0; j<3; j++) {
669 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
670 }
671 }
672 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
673 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
674 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
675 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
676 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
677
678
679 for(int i =0;i<3;++i) {
680 m_u_pow_2[i]=pow(m_u[i],2.);
681 }
682
683 scalar_t C2_chargedhiggs=0.;
684
685 double D0h,D0h_c,D2h,D2h_c;
686 scalar_t CKM_product;
687
688
689 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
690 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
691 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
692 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
693 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
694
695 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
696
697 C2_chargedhiggs += -pow(g_2,4.)*pow(m_q,2.)*CKM_product*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c - 2*D0h)/(128.*pow(PI,2.)*pow(M_W,4.));
698
699 }
700
701}
702
705 {
706 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
707 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
708 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
709 {ParameterType::SM, "MASS", 24},
710 {ParameterType::BSM, "MASS", 37}, // M_H
711 {ParameterType::SM, "MASS", 1}, //m_d
712 {ParameterType::SM, "MASS", 2}, //m_u
713 {ParameterType::SM, "MASS", 3}, //m_s
714 {ParameterType::SM, "GAUGE", 2}, //g_2
715 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
716 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
717 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
718 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
719 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
720 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
721 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
722 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
723 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
724 },
727 };
728}
729
731
732 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
733 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
734 double M_H_pow_2 = pow(M_H,2.);
735 double M_W_pow_2 = pow(M_W,2.);
736 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
737 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
738 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
739 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
740
741 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
742 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
743 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
744 double m_u[4],m_u_pow_2[4];
745
746 for (int i = 0; i<3; ++i) {
747 for (int j = 0; j<3; j++) {
748 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
749 }
750 }
751 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
752 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
753 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
754 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
755 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
756
757
758 for(int i =0;i<3;++i) {
759 m_u_pow_2[i]=pow(m_u[i],2.);
760 }
761
762
763 scalar_t Cp2_chargedhiggs=0.;
764
765 double D0h,D0h_c;
766 scalar_t CKM_product;
767
768
769 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
770 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
771 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
772
773 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
774
775 Cp2_chargedhiggs += -pow(g_2,4.)*pow(m_b,2.)*CKM_product*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c-2.*D0h)/(128.*pow(PI,2.)*pow(M_W,4.));
776
777 }
778
779}
780
783
784
785
788
789
792 {
793 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
794 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
795 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
796 {ParameterType::SM, "MASS", 24},
797 {ParameterType::BSM, "MASS", 37}, // M_H
798 {ParameterType::SM, "MASS", 2}, //m_u
799 {ParameterType::SM, "MASS", 3}, //m_s
800 {ParameterType::SM, "GAUGE", 2}, //g_2
801 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
802 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
803 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
804 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
805 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
806 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
807 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
808 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
809 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
810 },
813 };
814}
815
817
818 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
819 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
820 double M_H_pow_2 = pow(M_H,2.);
821 double M_W_pow_2 = pow(M_W,2.);
822 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
823 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
824 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
825 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
826
827 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
828 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
829 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
830 double m_u[4],m_u_pow_2[4];
831
832 for (int i = 0; i<3; ++i) {
833 for (int j = 0; j<3; j++) {
834 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
835 }
836 }
837 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
838 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
839 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
840 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
841 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
842
843
844 for(int i =0;i<3;++i) {
845 m_u_pow_2[i]=pow(m_u[i],2.);
846 }
847
848 scalar_t C4_chargedhiggs=0.;
849
850
851 double D0h,D0h_c,D2h,D2h_c;
852 scalar_t CKM_product;
853
854
855 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
856 D0h = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
857 D0h_c = D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
858 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
859
860 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
861
862 C4_chargedhiggs += pow(g_2,4.)*CKM_product*(m_b*m_q*D2h*pow(tbeta,2.)/pow(M_W,2.) - m_b*m_q*pow(m_u[i],2)*pow(m_u[j],2)*(D0h_c + D0h*(pow(tbeta,2.) + pow(tbeta,-2.)))/(4*pow(M_W,4.)))/(16.*pow(PI,2.));
863
864 }
865
866}
867
870 {
871 {ParameterType::WILSON, "WPARAM_MATCH_SM", 4}, //mass_c_muW_mcrun
872 {ParameterType::WILSON, "WPARAM_MATCH_SM", LhaID(5, 1)}, //mass_b_muW_mbrun
873 {ParameterType::WILSON, "WPARAM_MATCH_SM", 6}, //mass_t_muW_mbrun
874 {ParameterType::SM, "MASS", 24},
875 {ParameterType::BSM, "MASS", 37}, // M_H
876 {ParameterType::SM, "MASS", 2}, //m_u
877 {ParameterType::SM, "MASS", 3}, //m_s
878 {ParameterType::SM, "GAUGE", 2}, //g_2
879 {ParameterType::SM, "VCKM", LhaID(0, 0)}, // V_ud
880 {ParameterType::SM, "VCKM", LhaID(0, 1)}, // V_us
881 {ParameterType::SM, "VCKM", LhaID(0, 2)}, // V_ub
882 {ParameterType::SM, "VCKM", LhaID(1, 0)}, // V_cd
883 {ParameterType::SM, "VCKM", LhaID(1, 1)}, // V_cs
884 {ParameterType::SM, "VCKM", LhaID(1, 2)}, // V_cb
885 {ParameterType::SM, "VCKM", LhaID(2, 0)}, // V_td
886 {ParameterType::SM, "VCKM", LhaID(2, 1)}, // V_ts
887 {ParameterType::SM, "VCKM", LhaID(2, 2)}, // V_tb
888 },
891 };
892}
893
895
896 double M_H=src.get_val(ParameterType::BSM, "MASS", 37);
897 double M_W=src.get_val(ParameterType::SM, "MASS", 24);
898 double M_H_pow_2 = pow(M_H,2.);
899 double M_W_pow_2 = pow(M_W,2.);
900 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
901 double m_q=src.get_val(ParameterType::SM, "MASS", 3);
902 // if(gen==1) m_q=src.get_val(ParameterType::SM, "MASS", 1);
903 // else m_q=src.get_val(ParameterType::SM, "MASS", 3);
904
905 double m_b= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", {5, 1});
906 double g_2=src.get_val(ParameterType::SM, "GAUGE", 2);
907 double tbeta= src.get_val(ParameterType::BSM, "MINPAR", 3); //tan_b
908 double m_u[4],m_u_pow_2[4];
909
910 for (int i = 0; i<3; ++i) {
911 for (int j = 0; j<3; j++) {
912 V_CKM[i][j] = src.get_val(ParameterType::SM, "VCKM", LhaID(i, j));
913 }
914 }
915 m_u[1]= src.get_val(ParameterType::SM, "MASS", 2);
916 // m_u[2]=running_mass(param->mass_c,param->mass_c,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
917 // m_u[3]=running_mass(param->mtmt,param->mtmt,mu_t,param->mass_top_pole,param->mass_b,param); /* NM: running mass */
918 m_u[2]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 4);
919 m_u[3]= src.get_val(ParameterType::WILSON, "WPARAM_MATCH_SM", 6);
920
921
922 for(int i =0;i<3;++i) {
923 m_u_pow_2[i]=pow(m_u[i],2.);
924 }
925
926 scalar_t C5_chargedhiggs=0.;
927
928 double D2h,D2h_c;
929 scalar_t CKM_product;
930
931
932 for(int i = 0; i<3; i++) for(int j=1; j<3; j++) {
933 D2h = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
934 D2h_c = D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
935
936 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]); /* NM: added generation dependence, V_CKM[ie][2] -> V_CKM[ie][gen] */
937
938 C5_chargedhiggs += pow(g_2,4.)*m_b*m_q*CKM_product*pow(m_u[i],2.)*(D2h_c-2.*D2h)/(32.*pow(PI,2.)*pow(M_W,4.));
939
940 }
941
942}
ScaleType
WGroup
@ MESON_MIXING
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
Mapper for WGroup <-> WGroupId <-> optional external string.
Lightweight view over a set of source parameters keyed by ParamId.
scalar_t get_val(const ParamId &id) const
Retrieves the current value of a parameter.
Abstract base class representing a Wilson coefficient and its matching information.
Definition Wilson.h:153
LhaID get_lhaid_from_name(QCDOrder order)
Computes the LhaID directly from the coefficient base name and mapping conventions.
Definition Wilson.cpp:61
std::map< QCDOrder, MatchingInfo > matching_info
Matching metadata indexed by QCD order.
Definition Wilson.h:330
constexpr double PI
Definition constants.h:7
scalar_t pow(const scalar_t &base, const scalar_t &exp)
Definition scalar.cpp:75
double D2p(double w, double x, double y, double z)
Wilson special function D2p depending on 4 parameters.
double D0(double w, double x, double y, double z)
Wilson special function D0 depending on 4 parameters.
Represents an identifier of a LHA element, possibly containing several sub-ids.
Definition LhaID.h:56