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