a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
VCKM.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "VCKM.h"
9#include "StandardModel.h"
10
11VCKM::VCKM(const StandardModel& SM_i, unsigned int obsFlag_1, unsigned int obsFlag_2, unsigned int obsFlag_3)
12: ThObservable(SM_i)
13{
14 if (obsFlag_1 > 0 && obsFlag_1 < 4 && obsFlag_2 > 0 && obsFlag_2 < 4 && obsFlag_3 < 2) {
15 obs_1 = obsFlag_1;
16 obs_2 = obsFlag_2;
17 obs_3 = obsFlag_3;
18 }
19 else throw std::runtime_error("obsFlag_1,2 in CKM(myFlavour, obsFlag_1, obsFlag_2, obsFlag_3) called from ThFactory::ThFactory() can only be 1 - 3 corresponding to the CKM matrix; obsFlag_3 can only be 0 - 1 corresponding to abs or arg ");
20}
21
23{}
24
26{
27 if (obs_3 == 0) {
28 if (obs_1 == 1 && obs_2 == 1) return(SM.getCKM().getV_ud().abs());
29 if (obs_1 == 1 && obs_2 == 2) return(SM.getCKM().getV_us().abs());
30 if (obs_1 == 1 && obs_2 == 3) return(SM.getCKM().getV_ub().abs());
31 if (obs_1 == 2 && obs_2 == 1) return(SM.getCKM().getV_cd().abs());
32 if (obs_1 == 2 && obs_2 == 2) return(SM.getCKM().getV_cs().abs());
33 if (obs_1 == 2 && obs_2 == 3) return(SM.getCKM().getV_cb().abs());
34 if (obs_1 == 3 && obs_2 == 1) return(SM.getCKM().getV_td().abs());
35 if (obs_1 == 3 && obs_2 == 2) return(SM.getCKM().getV_ts().abs());
36 if (obs_1 == 3 && obs_2 == 3) return(SM.getCKM().getV_tb().abs());
37 else throw std::runtime_error("obsFlag in CKM(myFlavour, obsFlag_1, obsFlag_1) called from ThFactory::ThFactory() can only be 1 - 3 corresponding to the CKM matrix");
38 }
39 else {
40 if (obs_1 == 1 && obs_2 == 1) return(SM.getCKM().getV_ud().arg());
41 if (obs_1 == 1 && obs_2 == 2) return(SM.getCKM().getV_us().arg());
42 if (obs_1 == 1 && obs_2 == 3) return(SM.getCKM().getV_ub().arg());
43 if (obs_1 == 2 && obs_2 == 1) return(SM.getCKM().getV_cd().arg());
44 if (obs_1 == 2 && obs_2 == 2) return(SM.getCKM().getV_cs().arg());
45 if (obs_1 == 2 && obs_2 == 3) return(SM.getCKM().getV_cb().arg());
46 if (obs_1 == 3 && obs_2 == 1) return(SM.getCKM().getV_td().arg());
47 if (obs_1 == 3 && obs_2 == 2) return(SM.getCKM().getV_ts().arg());
48 if (obs_1 == 3 && obs_2 == 3) return(SM.getCKM().getV_tb().arg());
49 else throw std::runtime_error("obsFlag in CKM(myFlavour, obsFlag_1, obsFlag_1) called from ThFactory::ThFactory() can only be 1 - 3 corresponding to the CKM matrix");
50 }
51}
52
54: ThObservable(SM_i)
55{}
56
58{
59 return (SM.getCKM().computelamt()).abs();
60}
61
63: ThObservable(SM_i)
64{}
65
67{
68 return (SM.getCKM().computelamc()).abs();
69}
70
72: ThObservable(SM_i)
73{}
74
76{
77 return (SM.getCKM().computelamu()).abs();
78}
79
81: ThObservable(SM_i)
82{}
83
85{
86 return (SM.getCKM().computelamt_d()).abs();
87}
88
90: ThObservable(SM_i)
91{}
92
94{
95 return (SM.getCKM().computelamc_d()).abs();
96}
97
99: ThObservable(SM_i)
100{}
101
103{
104 return (SM.getCKM().computelamu_d()).abs();
105}
106
108: ThObservable(SM_i)
109{}
110
112{
113 return (SM.getCKM().computelamt_s()).abs();
114}
115
117: ThObservable(SM_i)
118{}
119
121{
122 return (SM.getCKM().computelamc_s()).abs();
123}
124
126: ThObservable(SM_i)
127{}
128
130{
131 return (SM.getCKM().computelamt_s()).abs();
132}
133
135: ThObservable(SM_i)
136{}
137
139{
140 return (SM.getCKM().computelamt()).imag();
141}
142
144: ThObservable(SM_i)
145{}
146
148{
149 return (SM.getCKM().computelamc()).imag();
150}
151
153: ThObservable(SM_i)
154{}
155
157{
158 return (SM.getCKM().computelamu()).imag();
159}
160
162: ThObservable(SM_i)
163{}
164
166{
167 return (SM.getCKM().computelamt_d()).imag();
168}
169
171: ThObservable(SM_i)
172{}
173
175{
176 return (SM.getCKM().computelamc_d()).imag();
177}
178
180: ThObservable(SM_i)
181{}
182
184{
185 return (SM.getCKM().computelamu_d()).imag();
186}
187
189: ThObservable(SM_i)
190{}
191
193{
194 return (SM.getCKM().computelamt_s()).imag();
195}
196
198: ThObservable(SM_i)
199{}
200
202{
203 return (SM.getCKM().computelamc_s()).imag();
204}
205
207: ThObservable(SM_i)
208{}
209
211{
212 return (SM.getCKM().computelamt_s()).imag();
213}
214
216: ThObservable(SM_i)
217{}
218
220{
221 return (SM.getCKM().computelamt()).real();
222}
223
225: ThObservable(SM_i)
226{}
227
229{
230 return (SM.getCKM().computelamc()).real();
231}
232
234: ThObservable(SM_i)
235{}
236
238{
239 return (SM.getCKM().computelamu()).real();
240}
241
243: ThObservable(SM_i)
244{}
245
247{
248 return (SM.getCKM().computelamt_d()).real();
249}
250
252: ThObservable(SM_i)
253{}
254
256{
257 return (SM.getCKM().computelamc_d()).real();
258}
259
261: ThObservable(SM_i)
262{}
263
265{
266 return (SM.getCKM().computelamu_d()).real();
267}
268
270: ThObservable(SM_i)
271{}
272
274{
275 return (SM.getCKM().computelamt_s()).real();
276}
277
279: ThObservable(SM_i)
280{}
281
283{
284 return (SM.getCKM().computelamc_s()).real();
285}
286
288: ThObservable(SM_i)
289{}
290
292{
293 return (SM.getCKM().computelamt_s()).real();
294}
295
297
299{
300 return SM.getCKM().computeAlpha()/M_PI*180.;
301}
302
304
306{
307 return SM.getCKM().computeBeta()/M_PI*180.;
308}
309
311
313{
314 return SM.getCKM().computeBetas()/M_PI*180.;
315}
316
318
320{
321 return SM.getCKM().computeGamma()/M_PI*180.;
322}
323
325
327{
328 return ((SM.getCKM().computeGamma() + 2. * SM.getCKM().computeBeta())/M_PI*180.);
329}
330
332
334{
335 return sin(2. * SM.getCKM().computeBeta());
336}
337
339
341{
342 return cos(2. * SM.getCKM().computeBeta());
343}
344
346
348{
349 return SM.getCKM().gets12();
350}
351
353
355{
356 return SM.getCKM().gets13();
357}
358
360
362{
363 return SM.getCKM().gets23();
364}
365
367
369{
370 return SM.getCKM().getdelta();
371}
372
373J_CP::J_CP(const StandardModel& SM_i) : ThObservable(SM_i) {}
374
376{
377 return SM.getCKM().getJcp();
378}
379
381
383{
384 return SM.getCKM().computeRt();
385}
386
388
390{
391 return SM.getCKM().computeRt()*sqrt(1.+SM.getCKM().getLambda()*SM.getCKM().getLambda()*(1.-2.*SM.getCKM().getRhoBar()));
392}
393
395
397{
398 return SM.getCKM().computeRts();
399}
400
402
404{
405 return SM.getCKM().computeRb();
406}
407
409
411{
412 return (SM.getCKM().getV_td().abs()/SM.getCKM().getV_ts().abs());
413}
414
416
418{
419 return ((-SM.getCKM().computelamt()/SM.getCKM().computelamu()).real());
420}
421
423
425{
426 return ((-SM.getCKM().computelamt()/SM.getCKM().computelamu()).imag());
427}
428
430
432{
433 return (SM.getCKM().getRho());
434}
435
437
439{
440 return (SM.getCKM().getEta());
441}
Abslam_c(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:62
double computeThValue()
Definition: VCKM.cpp:66
Abslam_cd(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:89
double computeThValue()
Definition: VCKM.cpp:93
double computeThValue()
Definition: VCKM.cpp:120
Abslam_cs(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:116
Abslam_t(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:53
double computeThValue()
Definition: VCKM.cpp:57
Abslam_td(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:80
double computeThValue()
Definition: VCKM.cpp:84
Abslam_ts(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:107
double computeThValue()
Definition: VCKM.cpp:111
double computeThValue()
Definition: VCKM.cpp:75
Abslam_u(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:71
Abslam_ud(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:98
double computeThValue()
Definition: VCKM.cpp:102
double computeThValue()
Definition: VCKM.cpp:129
Abslam_us(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:125
CKM_2BpG(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:324
double computeThValue()
Definition: VCKM.cpp:326
double computeThValue()
Definition: VCKM.cpp:298
CKM_Alpha(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:296
double computeThValue()
Definition: VCKM.cpp:305
CKM_Beta(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:303
double computeThValue()
Definition: VCKM.cpp:312
CKM_Betas(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:310
double computeThValue()
Definition: VCKM.cpp:340
CKM_C2Beta(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:338
double computeThValue()
Definition: VCKM.cpp:368
CKM_Delta(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:366
CKM_Gamma(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:317
double computeThValue()
Definition: VCKM.cpp:319
CKM_Rb(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:401
double computeThValue()
.
Definition: VCKM.cpp:403
CKM_Rt_dms(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:387
double computeThValue()
.
Definition: VCKM.cpp:389
double computeThValue()
.
Definition: VCKM.cpp:382
CKM_Rt(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:380
CKM_Rts(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:394
double computeThValue()
.
Definition: VCKM.cpp:396
double computeThValue()
Definition: VCKM.cpp:333
CKM_S2Beta(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:331
double computeThValue()
Definition: VCKM.cpp:347
CKM_SinTheta12(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:345
double computeThValue()
Definition: VCKM.cpp:354
CKM_SinTheta13(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:352
double computeThValue()
Definition: VCKM.cpp:361
CKM_SinTheta23(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:359
CKM_VtdoVts(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:408
double computeThValue()
.
Definition: VCKM.cpp:410
double computeThValue()
Definition: VCKM.cpp:438
CKM_eta(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:436
double computeThValue()
Definition: VCKM.cpp:431
CKM_rho(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:429
const double computeBeta() const
The CKM angle .
Definition: CKM.cpp:120
const double computeAlpha() const
The CKM angle .
Definition: CKM.cpp:130
const double gets12() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:126
const double computeRb() const
.
Definition: CKM.cpp:199
const gslpp::complex computelamc() const
The product of the CKM elements .
Definition: CKM.cpp:147
const double getdelta() const
A member for returning the value of the CKM parameter .
Definition: CKM.h:180
const gslpp::complex computelamt_s() const
The product of the CKM elements .
Definition: CKM.cpp:174
const gslpp::complex getV_ud() const
A member for returning the value of the CKM element .
Definition: CKM.h:202
const gslpp::complex getV_us() const
A member for returning the value of the CKM element .
Definition: CKM.h:211
const double computeGamma() const
The CKM angle .
Definition: CKM.cpp:125
const gslpp::complex getV_cs() const
A member for returning the value of the CKM element .
Definition: CKM.h:238
const gslpp::complex getV_cb() const
A member for returning the value of the CKM element .
Definition: CKM.h:247
const gslpp::complex computelamc_s() const
The product of the CKM elements .
Definition: CKM.cpp:179
const double getJcp() const
A member for returning the value of the Jarlskog determinant.
Definition: CKM.h:191
const gslpp::complex getV_cd() const
A member for returning the value of the CKM element .
Definition: CKM.h:229
const gslpp::complex getV_td() const
A member for returning the value of the CKM element .
Definition: CKM.h:256
const gslpp::complex computelamu_d() const
The product of the CKM elements .
Definition: CKM.cpp:168
const double gets13() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:135
const gslpp::complex computelamc_d() const
The product of the CKM elements .
Definition: CKM.cpp:163
const gslpp::complex getV_tb() const
A member for returning the value of the CKM element .
Definition: CKM.h:274
const gslpp::complex getV_ub() const
A member for returning the value of the CKM element .
Definition: CKM.h:220
const double gets23() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:144
const double getEta() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:115
const double computeBetas() const
The CKM angle .
Definition: CKM.cpp:135
const gslpp::complex getV_ts() const
A member for returning the value of the CKM element .
Definition: CKM.h:265
const gslpp::complex computelamu() const
The product of the CKM elements .
Definition: CKM.cpp:152
const gslpp::complex computelamt() const
The product of the CKM elements .
Definition: CKM.cpp:142
const double getRho() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:106
const gslpp::complex computelamt_d() const
The product of the CKM elements .
Definition: CKM.cpp:158
const double computeRt() const
.
Definition: CKM.cpp:190
const double getRhoBar() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:70
const double getLambda() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:88
const double computeRts() const
.
Definition: CKM.cpp:194
Imlam_c(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:143
double computeThValue()
Definition: VCKM.cpp:147
Imlam_cd(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:170
double computeThValue()
Definition: VCKM.cpp:174
double computeThValue()
Definition: VCKM.cpp:201
Imlam_cs(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:197
double computeThValue()
Definition: VCKM.cpp:138
Imlam_t(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:134
Imlam_td(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:161
double computeThValue()
Definition: VCKM.cpp:165
Imlam_ts(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:188
double computeThValue()
Definition: VCKM.cpp:192
Imlam_u(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:152
double computeThValue()
Definition: VCKM.cpp:156
Imlam_ud(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:179
double computeThValue()
Definition: VCKM.cpp:183
Imlam_us(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:206
double computeThValue()
Definition: VCKM.cpp:210
Imtau_DS1(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:422
double computeThValue()
Definition: VCKM.cpp:424
J_CP(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:373
double computeThValue()
Definition: VCKM.cpp:375
Relam_c(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:224
double computeThValue()
Definition: VCKM.cpp:228
Relam_cd(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:251
double computeThValue()
Definition: VCKM.cpp:255
Relam_cs(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:278
double computeThValue()
Definition: VCKM.cpp:282
double computeThValue()
Definition: VCKM.cpp:219
Relam_t(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:215
double computeThValue()
Definition: VCKM.cpp:246
Relam_td(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:242
double computeThValue()
Definition: VCKM.cpp:273
Relam_ts(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:269
Relam_u(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:233
double computeThValue()
Definition: VCKM.cpp:237
double computeThValue()
Definition: VCKM.cpp:264
Relam_ud(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:260
double computeThValue()
Definition: VCKM.cpp:291
Relam_us(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:287
double computeThValue()
Definition: VCKM.cpp:417
Retau_DS1(const StandardModel &SM_i)
Constructor.
Definition: VCKM.cpp:415
A model class for the Standard Model.
const CKM & getCKM() const
A get method to retrieve the member object of type CKM.
A class for a model prediction of an observable.
Definition: ThObservable.h:25
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
VCKM(const StandardModel &SM_i, unsigned int obsFlag_1, unsigned int obsFlag_2, unsigned int obsFlag_3=0)
Constructor.
Definition: VCKM.cpp:11
double computeThValue()
Definition: VCKM.cpp:25
unsigned int obs_2
Definition: VCKM.h:43
unsigned int obs_3
Definition: VCKM.h:44
virtual ~VCKM()
Destructor.
Definition: VCKM.cpp:22
unsigned int obs_1
Definition: VCKM.h:42