a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Asl.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2023 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7#include "Asl.h"
8#include "StandardModel.h"
9#include "std_make_vector.h"
10#include "AmpDB2.h"
11
13: ThObservable(SM_i) {
14 SM.getFlavour().getDB2(0);
15}
16
18}
19
21 return -(SM.getFlavour().getDB2(0).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(0).pole) / gslpp::complex(SM.getCBd(), -2. * SM.getPhiBd(), true)).imag();
22}
23
25: ThObservable(SM_i) {
26 SM.getFlavour().getDB2(1);
27}
28
30}
31
33 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).pole) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
34}
35
37: ThObservable(SM_i) {
38 SM.getFlavour().getDB2(1);
39}
40
42}
43
45 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNLO, SM.getFlavour().getDB2(1).pole) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
46}
47
49: ThObservable(SM_i) {
50 SM.getFlavour().getDB2(1);
51}
52
54}
55
57 return -(SM.getFlavour().getDB2(1).getGamma21overM21(LO, SM.getFlavour().getDB2(1).pole) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
58}
59
61: ThObservable(SM_i) {
62 SM.getFlavour().getDB2(0);
63}
64
66}
67
69 return -(SM.getFlavour().getDB2(0).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(0).MSbar) / gslpp::complex(SM.getCBd(), -2. * SM.getPhiBd(), true)).imag();
70}
71
73: ThObservable(SM_i) {
74 SM.getFlavour().getDB2(1);
75}
76
78}
79
81 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).MSbar) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
82}
83
85: ThObservable(SM_i) {
86 SM.getFlavour().getDB2(1);
87}
88
90}
91
93 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNLO, SM.getFlavour().getDB2(1).MSbar) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
94}
95
97: ThObservable(SM_i) {
98 SM.getFlavour().getDB2(1);
99}
100
102}
103
105 return -(SM.getFlavour().getDB2(1).getGamma21overM21(LO, SM.getFlavour().getDB2(1).MSbar) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
106}
107
109: ThObservable(SM_i) {
110 SM.getFlavour().getDB2(0);
111}
112
114}
115
117 return -(SM.getFlavour().getDB2(0).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(0).PS) / gslpp::complex(SM.getCBd(), -2. * SM.getPhiBd(), true)).imag();
118}
119
121: ThObservable(SM_i) {
122 SM.getFlavour().getDB2(1);
123}
124
126}
127
129 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).PS) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
130}
131
133: ThObservable(SM_i) {
134 SM.getFlavour().getDB2(1);
135}
136
138}
139
141 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNLO, SM.getFlavour().getDB2(1).PS) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
142}
143
145: ThObservable(SM_i) {
146 SM.getFlavour().getDB2(1);
147}
148
150}
151
153 return -(SM.getFlavour().getDB2(1).getGamma21overM21(LO, SM.getFlavour().getDB2(1).PS) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
154}
155
157: ThObservable(SM_i) {
158 SM.getFlavour().getDB2(1);
159}
160
162}
163
165 return -(SM.getFlavour().getDB2(1, true).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1, true).pole) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
166}
167
169: ThObservable(SM_i) {
170 SM.getFlavour().getDB2(1);
171}
172
174}
175
177 return -(SM.getFlavour().getDB2(1, true).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1, true).MSbar) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
178}
179
181: ThObservable(SM_i) {
182 SM.getFlavour().getDB2(1);
183}
184
186}
187
189 return -(SM.getFlavour().getDB2(1, true).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1, true).PS) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
190}
191
193: ThObservable(SM_i) {
194 SM.getFlavour().getDB2(0);
195}
196
198}
199
201 return -(SM.getFlavour().getDB2(0).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(0).only1overmb) / gslpp::complex(SM.getCBd(), -2. * SM.getPhiBd(), true)).imag();
202}
203
205: ThObservable(SM_i) {
206 SM.getFlavour().getDB2(1);
207}
208
210}
211
213 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).only1overmb) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
214}
215
217: ThObservable(SM_i) {
218 SM.getFlavour().getDB2(0);
219}
220
222}
223
225 return -(SM.getFlavour().getDB2(0).getGamma21overM21_tradBasis(FULLNLO) / gslpp::complex(SM.getCBd(), -2. * SM.getPhiBd(), true)).imag();
226}
227
229: ThObservable(SM_i) {
230 SM.getFlavour().getDB2(1);
231}
232
234}
235
237 return -(SM.getFlavour().getDB2(1).getGamma21overM21_tradBasis(FULLNLO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
238}
239
241: ThObservable(SM_i) {
242 SM.getFlavour().getDB2(1);
243}
244
246}
247
249 return -(SM.getFlavour().getDB2(1, false, true).getGamma21overM21(FULLNLO, SM.getFlavour().getDB2(1, false, true).MSbar) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
250}
251
253: ThObservable(SM_i) {
254 SM.getFlavour().getDB2(1);
255}
256
258}
259
261 return -(SM.getFlavour().getDB2(1, false, true).getGamma21overM21(FULLNLO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
262}
263
265: ThObservable(SM_i) {
266 SM.getFlavour().getDB2(1);
267}
268
270}
271
273 return -(SM.getFlavour().getDB2(1, false, true).getGamma21overM21(FULLNLO, SM.getFlavour().getDB2(1, false, true).PS) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
274}
275
277: ThObservable(SM_i) {
278 SM.getFlavour().getDB2(1);
279}
280
282}
283
285 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).MSbar_partialNNLO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
286}
287
289: ThObservable(SM_i) {
290 SM.getFlavour().getDB2(1);
291}
292
294}
295
297 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNLO, SM.getFlavour().getDB2(1).PS_partialNNLO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
298}
299
301: ThObservable(SM_i) {
302 SM.getFlavour().getDB2(1);
303}
304
306}
307
309 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNNLO, SM.getFlavour().getDB2(1).MSbar_partialN3LO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
310}
311
313: ThObservable(SM_i) {
314 SM.getFlavour().getDB2(1);
315}
316
318}
319
321 return -(SM.getFlavour().getDB2(1).getGamma21overM21(FULLNNNLO, SM.getFlavour().getDB2(1).PS_partialN3LO) / gslpp::complex(SM.getCBs(), 2. * SM.getPhiBs(), true)).imag();
322}
@ FULLNNNLO
Definition: OrderScheme.h:40
@ LO
Definition: OrderScheme.h:34
@ FULLNNLO
Definition: OrderScheme.h:39
@ FULLNLO
Definition: OrderScheme.h:38
gslpp::complex getGamma21overM21_tradBasis(orders order)
The value of in the traditional basis.
Definition: AmpDB2.h:73
@ MSbar_partialN3LO
Definition: AmpDB2.h:63
@ MSbar
Definition: AmpDB2.h:63
@ PS
Definition: AmpDB2.h:63
@ PS_partialN3LO
Definition: AmpDB2.h:63
@ pole
Definition: AmpDB2.h:63
@ MSbar_partialNNLO
Definition: AmpDB2.h:63
@ only1overmb
Definition: AmpDB2.h:63
@ PS_partialNNLO
Definition: AmpDB2.h:63
gslpp::complex getGamma21overM21(orders order, mass_schemes mass_scheme=MSbar)
The value of from Gerlach (2205.07907 and thesis)
Definition: AmpDB2.h:91
Asl_d_MSbar_NLO_tradBasis(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:216
double computeThValue()
Definition: Asl.cpp:224
virtual ~Asl_d_MSbar_NLO_tradBasis()
Destructor.
Definition: Asl.cpp:221
Asl_d_MSbar(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:60
double computeThValue()
Definition: Asl.cpp:68
virtual ~Asl_d_MSbar()
Destructor.
Definition: Asl.cpp:65
Asl_d_PS(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:108
virtual ~Asl_d_PS()
Destructor.
Definition: Asl.cpp:113
double computeThValue()
Definition: Asl.cpp:116
Asl_d_only1overmb(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:192
virtual ~Asl_d_only1overmb()
Destructor.
Definition: Asl.cpp:197
double computeThValue()
Definition: Asl.cpp:200
virtual ~Asl_d_pole()
Destructor.
Definition: Asl.cpp:17
Asl_d_pole(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:12
double computeThValue()
Definition: Asl.cpp:20
double computeThValue()
Definition: Asl.cpp:104
Asl_s_MSbar_LO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:96
virtual ~Asl_s_MSbar_LO()
Destructor.
Definition: Asl.cpp:101
Asl_s_MSbar_NLO_RI_tradBasis(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:252
virtual ~Asl_s_MSbar_NLO_RI_tradBasis()
Destructor.
Definition: Asl.cpp:257
Asl_s_MSbar_NLO_RI(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:240
double computeThValue()
Definition: Asl.cpp:248
virtual ~Asl_s_MSbar_NLO_RI()
Destructor.
Definition: Asl.cpp:245
virtual ~Asl_s_MSbar_NLO_tradBasis()
Destructor.
Definition: Asl.cpp:233
Asl_s_MSbar_NLO_tradBasis(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:228
double computeThValue()
Definition: Asl.cpp:236
virtual ~Asl_s_MSbar_NLO()
Destructor.
Definition: Asl.cpp:89
double computeThValue()
Definition: Asl.cpp:92
Asl_s_MSbar_NLO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:84
double computeThValue()
Definition: Asl.cpp:176
Asl_s_MSbar_fixmub(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:168
virtual ~Asl_s_MSbar_fixmub()
Destructor.
Definition: Asl.cpp:173
virtual ~Asl_s_MSbar_partialN3LO()
Destructor.
Definition: Asl.cpp:305
Asl_s_MSbar_partialN3LO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:300
double computeThValue()
Definition: Asl.cpp:308
double computeThValue()
Definition: Asl.cpp:284
Asl_s_MSbar_partialNNLO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:276
virtual ~Asl_s_MSbar_partialNNLO()
Destructor.
Definition: Asl.cpp:281
Asl_s_MSbar(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:72
virtual ~Asl_s_MSbar()
Destructor.
Definition: Asl.cpp:77
double computeThValue()
Definition: Asl.cpp:80
double computeThValue()
Definition: Asl.cpp:152
Asl_s_PS_LO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:144
virtual ~Asl_s_PS_LO()
Destructor.
Definition: Asl.cpp:149
Asl_s_PS_NLO_RI(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:264
virtual ~Asl_s_PS_NLO_RI()
Destructor.
Definition: Asl.cpp:269
double computeThValue()
Definition: Asl.cpp:272
double computeThValue()
Definition: Asl.cpp:140
Asl_s_PS_NLO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:132
virtual ~Asl_s_PS_NLO()
Destructor.
Definition: Asl.cpp:137
double computeThValue()
Definition: Asl.cpp:188
virtual ~Asl_s_PS_fixmub()
Destructor.
Definition: Asl.cpp:185
Asl_s_PS_fixmub(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:180
double computeThValue()
Definition: Asl.cpp:320
virtual ~Asl_s_PS_partialN3LO()
Destructor.
Definition: Asl.cpp:317
Asl_s_PS_partialN3LO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:312
virtual ~Asl_s_PS_partialNNLO()
Destructor.
Definition: Asl.cpp:293
double computeThValue()
Definition: Asl.cpp:296
Asl_s_PS_partialNNLO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:288
virtual ~Asl_s_PS()
Destructor.
Definition: Asl.cpp:125
Asl_s_PS(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:120
double computeThValue()
Definition: Asl.cpp:128
double computeThValue()
Definition: Asl.cpp:212
Asl_s_only1overmb(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:204
virtual ~Asl_s_only1overmb()
Destructor.
Definition: Asl.cpp:209
Asl_s_pole_LO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:48
virtual ~Asl_s_pole_LO()
Destructor.
Definition: Asl.cpp:53
double computeThValue()
Definition: Asl.cpp:56
virtual ~Asl_s_pole_NLO()
Destructor.
Definition: Asl.cpp:41
double computeThValue()
Definition: Asl.cpp:44
Asl_s_pole_NLO(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:36
double computeThValue()
Definition: Asl.cpp:164
Asl_s_pole_fixmub(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:156
virtual ~Asl_s_pole_fixmub()
Destructor.
Definition: Asl.cpp:161
Asl_s_pole(const StandardModel &SM_i)
Constructor.
Definition: Asl.cpp:24
virtual ~Asl_s_pole()
Destructor.
Definition: Asl.cpp:29
double computeThValue()
Definition: Asl.cpp:32
AmpDB2 & getDB2(int BMeson_i, bool flag_fixmub=false, bool flag_RI=false) const
Returns a reference to the meson dependent object for processes.
Definition: Flavour.cpp:228
A model class for the Standard Model.
virtual const double getPhiBs() const
Half the relative phase of the $B_s$ mixing amplitude w.r.t. the Standard Model one.
virtual const double getCBd() const
The ratio of the absolute value of the $B_d$ mixing amplitude over the Standard Model value.
virtual const double getPhiBd() const
Half the relative phase of the $B_d$ mixing amplitude w.r.t. the Standard Model one.
const Flavour & getFlavour() const
virtual const double getCBs() const
The ratio of the absolute value of the $B_s$ mixing amplitude over the Standard Model value.
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