a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeneralTHDMZ2Unitarity.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
10
12: ThObservable(SM_i), myGTHDM(SM_i), myZ2_at_Q(3, 5, 0.)
13{}
14
16{
18}
19
20/************************************/
21/* Eigenvalues of the even 00 block */
22/************************************/
23
25: unitarity_Z2(SM_i)
26{}
27
29{
30 gslpp::complex i = gslpp::complex::i();
31
33
34 double la1Q = myZ2_at_Q(0, 0);
35 double la2Q = myZ2_at_Q(0, 1);
36 double la3Q = myZ2_at_Q(0, 2);
37 double la4Q = myZ2_at_Q(0, 3);
38 double la5Q = myZ2_at_Q(0, 4);
39
40 double YtQ = myZ2_at_Q(1, 0);
41 double Yb1Q = myZ2_at_Q(1, 1);
42 double Yb2Q = myZ2_at_Q(1, 2);
43 double Ytau1Q = myZ2_at_Q(1, 3);
44 double Ytau2Q = myZ2_at_Q(1, 4);
45
46 double WFRc1 = myZ2_at_Q(2, 0);
47 double WFRc2 = myZ2_at_Q(2, 1);
48
49 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
50 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
51 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
52 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
53
54 gslpp::complex B1 = -3.*la1Q + 9.*beta1/2. + (i*M_PI - 1.)*(9.*la1Q*la1Q +
55 (2.*la3Q + la4Q)*(2.*la3Q + la4Q))/16./M_PI/M_PI -
56 3.*la1Q*WFRc1/32./M_PI/M_PI;
57
58 gslpp::complex B2 = -3.*la2Q + 9.*beta2/2. + (i*M_PI - 1.)*(9.*la2Q*la2Q +
59 (2.*la3Q + la4Q)*(2.*la3Q + la4Q))/16./M_PI/M_PI -
60 3.*la2Q*(-WFRc1 + 2.*WFRc2)/32./M_PI/M_PI;
61
62 gslpp::complex B3 = -2.*la3Q - la4Q + 3.*(2.*beta3 + beta4)/2. + 3.*(i*M_PI -
63 1.)*(la1Q + la2Q)*(2.*la3Q + la4Q)/16./M_PI/M_PI -
64 (2.*la3Q + la4Q)*WFRc2/32./M_PI/M_PI;
65
66 return ((B1 + B2 + sqrt((B1 - B2)*(B1 - B2) + 4.*B3*B3))/32./M_PI - i/2.).abs();
67}
68
70: unitarity_Z2(SM_i)
71{}
72
74{
75 gslpp::complex i = gslpp::complex::i();
76
78
79 double la1Q = myZ2_at_Q(0, 0);
80 double la2Q = myZ2_at_Q(0, 1);
81 double la3Q = myZ2_at_Q(0, 2);
82 double la4Q = myZ2_at_Q(0, 3);
83 double la5Q = myZ2_at_Q(0, 4);
84
85 double YtQ = myZ2_at_Q(1, 0);
86 double Yb1Q = myZ2_at_Q(1, 1);
87 double Yb2Q = myZ2_at_Q(1, 2);
88 double Ytau1Q = myZ2_at_Q(1, 3);
89 double Ytau2Q = myZ2_at_Q(1, 4);
90
91 double WFRc1 = myZ2_at_Q(2, 0);
92 double WFRc2 = myZ2_at_Q(2, 1);
93
94 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
95 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
96 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
97 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
98
99 gslpp::complex B1 = -3.*la1Q + 9.*beta1/2. + (i*M_PI - 1.)*(9.*la1Q*la1Q +
100 (2.*la3Q + la4Q)*(2.*la3Q + la4Q))/16./M_PI/M_PI -
101 3.*la1Q*WFRc1/32./M_PI/M_PI;
102
103 gslpp::complex B2 = -3.*la2Q + 9.*beta2/2. + (i*M_PI - 1.)*(9.*la2Q*la2Q +
104 (2.*la3Q + la4Q)*(2.*la3Q + la4Q))/16./M_PI/M_PI -
105 3.*la2Q*(-WFRc1 + 2.*WFRc2)/32./M_PI/M_PI;
106
107 gslpp::complex B3 = -2.*la3Q - la4Q + 3.*(2.*beta3 + beta4)/2. + 3.*(i*M_PI -
108 1.)*(la1Q + la2Q)*(2.*la3Q + la4Q)/16./M_PI/M_PI -
109 (2.*la3Q + la4Q)*WFRc2/32./M_PI/M_PI;
110
111 return ((B1 + B2 - sqrt((B1 - B2)*(B1 - B2) + 4.*B3*B3))/32./M_PI - i/2.).abs();
112}
113
114
115/***********************************/
116/* Eigenvalues of the odd 00 block */
117/***********************************/
118
120: unitarity_Z2(SM_i)
121{}
122
124{
125 gslpp::complex i = gslpp::complex::i();
126
128
129 double la1Q = myZ2_at_Q(0, 0);
130 double la2Q = myZ2_at_Q(0, 1);
131 double la3Q = myZ2_at_Q(0, 2);
132 double la4Q = myZ2_at_Q(0, 3);
133 double la5Q = myZ2_at_Q(0, 4);
134
135 double YtQ = myZ2_at_Q(1, 0);
136 double Yb1Q = myZ2_at_Q(1, 1);
137 double Yb2Q = myZ2_at_Q(1, 2);
138 double Ytau1Q = myZ2_at_Q(1, 3);
139 double Ytau2Q = myZ2_at_Q(1, 4);
140
141 double WFRc2 = myZ2_at_Q(2, 1);
142
143 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
144 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
145 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
146
147 gslpp::complex B4 = -la3Q - 2.*la4Q + 3.*(beta3 + 2.*beta4)/2. + (i*M_PI - 1.)*(la3Q*la3Q +
148 4.*la3Q*la4Q + 4.*la4Q*la4Q + 9.*la5Q*la5Q)/16./M_PI/M_PI -
149 (la3Q + la4Q + la5Q)*WFRc2/32./M_PI/M_PI;
150
151 gslpp::complex B6 = -3.*la5Q + 9.*beta5/2. + 6.*(i*M_PI - 1.)*(la3Q + 2.*la4Q)*la5Q/16./M_PI/M_PI -
152 (la4Q + 2.*la5Q)*WFRc2/32./M_PI/M_PI;
153
154 return ((B4 + B6)/16./M_PI - i/2.).abs();
155}
156
158: unitarity_Z2(SM_i)
159{}
160
162{
163 gslpp::complex i = gslpp::complex::i();
164
166
167 double la1Q = myZ2_at_Q(0, 0);
168 double la2Q = myZ2_at_Q(0, 1);
169 double la3Q = myZ2_at_Q(0, 2);
170 double la4Q = myZ2_at_Q(0, 3);
171 double la5Q = myZ2_at_Q(0, 4);
172
173 double YtQ = myZ2_at_Q(1, 0);
174 double Yb1Q = myZ2_at_Q(1, 1);
175 double Yb2Q = myZ2_at_Q(1, 2);
176 double Ytau1Q = myZ2_at_Q(1, 3);
177 double Ytau2Q = myZ2_at_Q(1, 4);
178
179 double WFRc2 = myZ2_at_Q(2, 1);
180
181 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
182 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
183 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
184
185 gslpp::complex B4 = -la3Q - 2.*la4Q + 3.*(beta3 + 2.*beta4)/2. + (i*M_PI - 1.)*(la3Q*la3Q +
186 4.*la3Q*la4Q + 4.*la4Q*la4Q + 9.*la5Q*la5Q)/16./M_PI/M_PI -
187 (la3Q + la4Q + la5Q)*WFRc2/32./M_PI/M_PI;
188
189 gslpp::complex B6 = -3.*la5Q + 9.*beta5/2. + 6.*(i*M_PI - 1.)*(la3Q + 2.*la4Q)*la5Q/16./M_PI/M_PI -
190 (la4Q + 2.*la5Q)*WFRc2/32./M_PI/M_PI;
191
192 return ((B4 - B6)/16./M_PI - i/2.).abs();
193}
194
195
196/************************************/
197/* Eigenvalues of the even 01 block */
198/************************************/
199
201: unitarity_Z2(SM_i)
202{}
203
205{
206 gslpp::complex i = gslpp::complex::i();
207
209
210 double la1Q = myZ2_at_Q(0, 0);
211 double la2Q = myZ2_at_Q(0, 1);
212 double la3Q = myZ2_at_Q(0, 2);
213 double la4Q = myZ2_at_Q(0, 3);
214 double la5Q = myZ2_at_Q(0, 4);
215
216 double YtQ = myZ2_at_Q(1, 0);
217 double Yb1Q = myZ2_at_Q(1, 1);
218 double Yb2Q = myZ2_at_Q(1, 2);
219 double Ytau1Q = myZ2_at_Q(1, 3);
220 double Ytau2Q = myZ2_at_Q(1, 4);
221
222 double WFRc1 = myZ2_at_Q(2, 0);
223 double WFRc2 = myZ2_at_Q(2, 1);
224
225 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
226 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
227 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
228
229 gslpp::complex B7 = -la1Q + 3.*beta1/2. + (i*M_PI - 1.)*(la1Q*la1Q + la4Q*la4Q)/16./M_PI/M_PI -
230 la1Q*WFRc1/32./M_PI/M_PI;
231
232 gslpp::complex B8 = -la2Q + 3.*beta2/2. + (i*M_PI - 1.)*(la2Q*la2Q + la4Q*la4Q)/16./M_PI/M_PI -
233 la2Q*(-WFRc1 + 2.*WFRc2)/32./M_PI/M_PI;
234
235 gslpp::complex B9 = -la4Q + 3.*beta4/2. + (i*M_PI - 1.)*(la1Q + la2Q)*la4Q/16./M_PI/M_PI -
236 la4Q*WFRc2/32./M_PI/M_PI;
237
238 return ((B7 + B8 + sqrt((B7 - B8)*(B7 - B8) + 4.*B9*B9))/32./M_PI - i/2.).abs();
239}
240
242: unitarity_Z2(SM_i)
243{}
244
246{
247 gslpp::complex i = gslpp::complex::i();
248
250
251 double la1Q = myZ2_at_Q(0, 0);
252 double la2Q = myZ2_at_Q(0, 1);
253 double la3Q = myZ2_at_Q(0, 2);
254 double la4Q = myZ2_at_Q(0, 3);
255 double la5Q = myZ2_at_Q(0, 4);
256
257 double YtQ = myZ2_at_Q(1, 0);
258 double Yb1Q = myZ2_at_Q(1, 1);
259 double Yb2Q = myZ2_at_Q(1, 2);
260 double Ytau1Q = myZ2_at_Q(1, 3);
261 double Ytau2Q = myZ2_at_Q(1, 4);
262
263 double WFRc1 = myZ2_at_Q(2, 0);
264 double WFRc2 = myZ2_at_Q(2, 1);
265
266 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
267 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
268 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
269
270 gslpp::complex B7 = -la1Q + 3.*beta1/2. + (i*M_PI - 1.)*(la1Q*la1Q + la4Q*la4Q)/16./M_PI/M_PI -
271 la1Q*WFRc1/32./M_PI/M_PI;
272
273 gslpp::complex B8 = -la2Q + 3.*beta2/2. + (i*M_PI - 1.)*(la2Q*la2Q + la4Q*la4Q)/16./M_PI/M_PI -
274 la2Q*(-WFRc1 + 2.*WFRc2)/32./M_PI/M_PI;
275
276 gslpp::complex B9 = -la4Q + 3.*beta4/2. + (i*M_PI - 1.)*(la1Q + la2Q)*la4Q/16./M_PI/M_PI -
277 la4Q*WFRc2/32./M_PI/M_PI;
278
279 return ((B7 + B8 - sqrt((B7 - B8)*(B7 - B8) + 4.*B9*B9))/32./M_PI - i/2.).abs();
280}
281
282
283/***********************************/
284/* Eigenvalues of the odd 01 block */
285/***********************************/
286
288: unitarity_Z2(SM_i)
289{}
290
292{
293 gslpp::complex i = gslpp::complex::i();
294
296
297 double la1Q = myZ2_at_Q(0, 0);
298 double la2Q = myZ2_at_Q(0, 1);
299 double la3Q = myZ2_at_Q(0, 2);
300 double la4Q = myZ2_at_Q(0, 3);
301 double la5Q = myZ2_at_Q(0, 4);
302
303 double YtQ = myZ2_at_Q(1, 0);
304 double Yb1Q = myZ2_at_Q(1, 1);
305 double Yb2Q = myZ2_at_Q(1, 2);
306 double Ytau1Q = myZ2_at_Q(1, 3);
307 double Ytau2Q = myZ2_at_Q(1, 4);
308
309 double WFRc2 = myZ2_at_Q(2, 1);
310
311 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
312 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
313
314 gslpp::complex B13 = -la3Q + 3.*beta3/2. + (i*M_PI - 1.)*(la3Q*la3Q + la5Q*la5Q)/16./M_PI/M_PI -
315 (la3Q + la4Q - la5Q)*WFRc2/32./M_PI/M_PI;
316
317 gslpp::complex B15 = -la5Q + 3.*beta5/2. + 2.*(i*M_PI - 1.)*la3Q*la5Q/16./M_PI/M_PI -
318 (la4Q - 2.*la5Q)*WFRc2/32./M_PI/M_PI;
319
320 return ((B13 + B15)/16./M_PI - i/2.).abs();
321}
322
324: unitarity_Z2(SM_i)
325{}
326
328{
329 gslpp::complex i = gslpp::complex::i();
330
332
333 double la1Q = myZ2_at_Q(0, 0);
334 double la2Q = myZ2_at_Q(0, 1);
335 double la3Q = myZ2_at_Q(0, 2);
336 double la4Q = myZ2_at_Q(0, 3);
337 double la5Q = myZ2_at_Q(0, 4);
338
339 double YtQ = myZ2_at_Q(1, 0);
340 double Yb1Q = myZ2_at_Q(1, 1);
341 double Yb2Q = myZ2_at_Q(1, 2);
342 double Ytau1Q = myZ2_at_Q(1, 3);
343 double Ytau2Q = myZ2_at_Q(1, 4);
344
345 double WFRc2 = myZ2_at_Q(2, 1);
346
347 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
348 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
349
350 gslpp::complex B13 = -la3Q + 3.*beta3/2. + (i*M_PI - 1.)*(la3Q*la3Q + la5Q*la5Q)/16./M_PI/M_PI -
351 (la3Q + la4Q - la5Q)*WFRc2/32./M_PI/M_PI;
352
353 gslpp::complex B15 = -la5Q + 3.*beta5/2. + 2.*(i*M_PI - 1.)*la3Q*la5Q/16./M_PI/M_PI -
354 (la4Q - 2.*la5Q)*WFRc2/32./M_PI/M_PI;
355
356 return ((B13 - B15)/16./M_PI - i/2.).abs();
357}
358
359
360/**********************************/
361/* Eigenvalue of the odd 10 block */
362/**********************************/
363
365: unitarity_Z2(SM_i)
366{}
367
369{
370 gslpp::complex i = gslpp::complex::i();
371
373
374 double la1Q = myZ2_at_Q(0, 0);
375 double la2Q = myZ2_at_Q(0, 1);
376 double la3Q = myZ2_at_Q(0, 2);
377 double la4Q = myZ2_at_Q(0, 3);
378 double la5Q = myZ2_at_Q(0, 4);
379
380 double YtQ = myZ2_at_Q(1, 0);
381 double Yb1Q = myZ2_at_Q(1, 1);
382 double Yb2Q = myZ2_at_Q(1, 2);
383 double Ytau1Q = myZ2_at_Q(1, 3);
384 double Ytau2Q = myZ2_at_Q(1, 4);
385
386 double WFRc2 = myZ2_at_Q(2, 1);
387
388 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
389 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
390
391 gslpp::complex B19 = -la3Q + la4Q + 3.*(beta3 - beta4)/2. + (i*M_PI - 1.)*(la3Q -
392 la4Q)*(la3Q - la4Q)/16./M_PI/M_PI - (la3Q - la5Q)*WFRc2/32./M_PI/M_PI;
393
394 return (B19/16./M_PI - i/2.).abs();
395}
396
397
398/************************************/
399/* Eigenvalues of the even 11 block */
400/************************************/
401
403: unitarity_Z2(SM_i)
404{}
405
407{
408 gslpp::complex i = gslpp::complex::i();
409
411
412 double la1Q = myZ2_at_Q(0, 0);
413 double la2Q = myZ2_at_Q(0, 1);
414 double la3Q = myZ2_at_Q(0, 2);
415 double la4Q = myZ2_at_Q(0, 3);
416 double la5Q = myZ2_at_Q(0, 4);
417
418 double YtQ = myZ2_at_Q(1, 0);
419 double Yb1Q = myZ2_at_Q(1, 1);
420 double Yb2Q = myZ2_at_Q(1, 2);
421 double Ytau1Q = myZ2_at_Q(1, 3);
422 double Ytau2Q = myZ2_at_Q(1, 4);
423
424 double WFRc1 = myZ2_at_Q(2, 0);
425 double WFRc2 = myZ2_at_Q(2, 1);
426 double WFRc3 = myZ2_at_Q(2, 2);
427 double WFRc4 = myZ2_at_Q(2, 3);
428
429 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
430 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
431 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
432
433 gslpp::complex B20 = -la1Q + 3.*beta1/2. + (i*M_PI - 1.)*(la1Q*la1Q + la5Q*la5Q)/16./M_PI/M_PI -
434 la1Q*(WFRc1 - 2.*WFRc2 + WFRc3 + 2.*WFRc4)/32./M_PI/M_PI;
435
436 gslpp::complex B21 = -la2Q + 3.*beta2/2. + (i*M_PI - 1.)*(la2Q*la2Q + la5Q*la5Q)/16./M_PI/M_PI -
437 la2Q*(-WFRc1 + 2.*WFRc2 - WFRc3 + 2.*WFRc4)/32./M_PI/M_PI;
438
439 gslpp::complex B22 = -la5Q + 3.*beta5/2. + (i*M_PI - 1.)*(la1Q + la2Q)*la5Q/16./M_PI/M_PI -
440 la5Q*2.*WFRc4/32./M_PI/M_PI;
441
442 return ((B20 + B21 + sqrt((B20 - B21)*(B20 - B21) + 4.*B22*B22))/32./M_PI - i/2.).abs();
443}
444
446: unitarity_Z2(SM_i)
447{}
448
450{
451 gslpp::complex i = gslpp::complex::i();
452
454
455 double la1Q = myZ2_at_Q(0, 0);
456 double la2Q = myZ2_at_Q(0, 1);
457 double la3Q = myZ2_at_Q(0, 2);
458 double la4Q = myZ2_at_Q(0, 3);
459 double la5Q = myZ2_at_Q(0, 4);
460
461 double YtQ = myZ2_at_Q(1, 0);
462 double Yb1Q = myZ2_at_Q(1, 1);
463 double Yb2Q = myZ2_at_Q(1, 2);
464 double Ytau1Q = myZ2_at_Q(1, 3);
465 double Ytau2Q = myZ2_at_Q(1, 4);
466
467 double WFRc1 = myZ2_at_Q(2, 0);
468 double WFRc2 = myZ2_at_Q(2, 1);
469 double WFRc3 = myZ2_at_Q(2, 2);
470 double WFRc4 = myZ2_at_Q(2, 3);
471
472 double beta1 = myGTHDM.betalambda1_Z2(la1Q, la3Q, la4Q, la5Q, Yb1Q, Ytau1Q);
473 double beta2 = myGTHDM.betalambda2_Z2(la2Q, la3Q, la4Q, la5Q, YtQ, Yb2Q, Ytau2Q);
474 double beta5 = myGTHDM.betalambda5_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
475
476 gslpp::complex B20 = -la1Q + 3.*beta1/2. + (i*M_PI - 1.)*(la1Q*la1Q + la5Q*la5Q)/16./M_PI/M_PI -
477 la1Q*(WFRc1 - 2.*WFRc2 + WFRc3 + 2.*WFRc4)/32./M_PI/M_PI;
478
479 gslpp::complex B21 = -la2Q + 3.*beta2/2. + (i*M_PI - 1.)*(la2Q*la2Q + la5Q*la5Q)/16./M_PI/M_PI -
480 la2Q*(-WFRc1 + 2.*WFRc2 - WFRc3 + 2.*WFRc4)/32./M_PI/M_PI;
481
482 gslpp::complex B22 = -la5Q + 3.*beta5/2. + (i*M_PI - 1.)*(la1Q + la2Q)*la5Q/16./M_PI/M_PI -
483 la5Q*2.*WFRc4/32./M_PI/M_PI;
484
485 return ((B20 + B21 - sqrt((B20 - B21)*(B20 - B21) + 4.*B22*B22))/32./M_PI - i/2.).abs();
486}
487
488
489/**********************************/
490/* Eigenvalue of the odd 11 block */
491/**********************************/
492
494: unitarity_Z2(SM_i)
495{}
496
498{
499 gslpp::complex i = gslpp::complex::i();
500
502
503 double la1Q = myZ2_at_Q(0, 0);
504 double la2Q = myZ2_at_Q(0, 1);
505 double la3Q = myZ2_at_Q(0, 2);
506 double la4Q = myZ2_at_Q(0, 3);
507 double la5Q = myZ2_at_Q(0, 4);
508
509 double YtQ = myZ2_at_Q(1, 0);
510 double Yb1Q = myZ2_at_Q(1, 1);
511 double Yb2Q = myZ2_at_Q(1, 2);
512 double Ytau1Q = myZ2_at_Q(1, 3);
513 double Ytau2Q = myZ2_at_Q(1, 4);
514
515 double WFRc4 = myZ2_at_Q(2, 3);
516
517 double beta3 = myGTHDM.betalambda3_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
518 double beta4 = myGTHDM.betalambda4_Z2(la1Q, la2Q, la3Q, la4Q, la5Q, YtQ, Yb1Q, Yb2Q, Ytau1Q, Ytau2Q);
519
520 gslpp::complex B30 = -la3Q - la4Q + 3.*(beta3 + beta4)/2. + (i*M_PI - 1.)*(la3Q +
521 la4Q)*(la3Q + la4Q)/16./M_PI/M_PI - (la3Q + la4Q)*2.*WFRc4/32./M_PI/M_PI;
522
523 return (B30/16./M_PI - i/2.).abs();
524}
const GeneralTHDM & myGTHDM
double betalambda2_Z2(double la2, double la3, double la4, double la5, double Yt, double Yb2, double Ytau2)
The beta function of appearing in unitarity conditions.
gslpp::matrix< double > getGTHDMZ2_at_Q()
The public function which contains all relevant GTHDMZ2 parameter after running.
double betalambda3_Z2(double la1, double la2, double la3, double la4, double la5, double Yt, double Yb1, double Yb2, double Ytau1, double Ytau2)
The beta function of appearing in unitarity conditions.
double betalambda1_Z2(double la1, double la3, double la4, double la5, double Yb1, double Ytau1)
The beta function of appearing in unitarity conditions.
double betalambda5_Z2(double la1, double la2, double la3, double la4, double la5, double Yt, double Yb1, double Yb2, double Ytau1, double Ytau2)
The beta function of appearing in unitarity conditions.
double betalambda4_Z2(double la1, double la2, double la3, double la4, double la5, double Yt, double Yb1, double Yb2, double Ytau1, double Ytau2)
The beta function of appearing in unitarity conditions.
A model class for the Standard Model.
A class for a model prediction of an observable.
Definition: ThObservable.h:25
unitarity00eveM_Z2(const StandardModel &SM_i)
unitarity00eveM_Z2 constructor.
unitarity00eveP_Z2(const StandardModel &SM_i)
unitarity00eveP_Z2 constructor.
unitarity00oddM_Z2(const StandardModel &SM_i)
unitarity00oddM_Z2 constructor.
unitarity00oddP_Z2(const StandardModel &SM_i)
unitarity00oddP_Z2 constructor.
unitarity01eveM_Z2(const StandardModel &SM_i)
unitarity01eveM_Z2 constructor.
unitarity01eveP_Z2(const StandardModel &SM_i)
unitarity01eveP_Z2 constructor.
unitarity01oddM_Z2(const StandardModel &SM_i)
unitarity01oddM_Z2 constructor.
unitarity01oddP_Z2(const StandardModel &SM_i)
unitarity01oddP_Z2 constructor.
unitarity10odd_Z2(const StandardModel &SM_i)
unitarity10odd_Z2 constructor.
unitarity11eveM_Z2(const StandardModel &SM_i)
unitarity11eveM_Z2 constructor.
unitarity11eveP_Z2(const StandardModel &SM_i)
unitarity11eveP_Z2 constructor.
unitarity11odd_Z2(const StandardModel &SM_i)
unitarity11odd_Z2 constructor.
An observable class for NLO perturbative unitarity conditions to the THDM with a Z2 symmetry.
unitarity_Z2(const StandardModel &SM_i)
unitarity_Z2 constructor.
gslpp::matrix< double > myZ2_at_Q
GeneralTHDMZ2Runner myGTHDM