a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
HeffDF1bnlep Class Reference

#include <HeffDF1bnlep.h>

Detailed Description

Definition at line 17 of file HeffDF1bnlep.h.

Public Member Functions

gslpp::vector< gslpp::complex > ** ComputeCoeffBnlep00 (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBnlep01 (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBnlep10 (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBnlep11 (double mu, schemes scheme=NDR)
 
WilsonCoefficient getCoeffbnlep00 () const
 
WilsonCoefficient getCoeffbnlep01 () const
 
WilsonCoefficient getCoeffbnlep10 () const
 
WilsonCoefficient getCoeffbnlep11 () const
 
const StandardModelGetModel () const
 
EvolDF1nlepgetUDF1 () const
 
 HeffDF1bnlep (const StandardModel &SM)
 constructor More...
 
virtual ~HeffDF1bnlep ()
 destructor More...
 

Private Attributes

gslpp::vector< gslpp::complex > bnlep
 
gslpp::vector< gslpp::complex > bnlep2
 
gslpp::vector< gslpp::complex > bnlepCC
 
WilsonCoefficient coeffbnlep00
 
WilsonCoefficient coeffbnlep00CC
 
WilsonCoefficient coeffbnlep00qcd
 
WilsonCoefficient coeffbnlep01
 
WilsonCoefficient coeffbnlep01A
 
WilsonCoefficient coeffbnlep01B
 
WilsonCoefficient coeffbnlep10
 
WilsonCoefficient coeffbnlep10CC
 
WilsonCoefficient coeffbnlep10qcd
 
WilsonCoefficient coeffbnlep11
 
WilsonCoefficient coeffbnlep11A
 
WilsonCoefficient coeffbnlep11B
 
const StandardModelmodel
 
std::unique_ptr< EvolDF1nlepu
 

Constructor & Destructor Documentation

◆ HeffDF1bnlep()

HeffDF1bnlep::HeffDF1bnlep ( const StandardModel SM)

constructor

Parameters
SM
modelmatching

Definition at line 13 of file HeffDF1bnlep.cpp.

14: model(SM),
19 u(new EvolDF1nlep(10, NDR, NLO, NLO_QED11, SM)),
20 bnlep (12, 0.), bnlep2(10, 0.), bnlepCC(4, 0.)
21{}
@ NLO
Definition: OrderScheme.h:35
@ NDR
Definition: OrderScheme.h:21
@ NLO_QED11
Definition: OrderScheme.h:59
Evolutor Class
Definition: EvolDF1nlep.h:16
WilsonCoefficient coeffbnlep11A
Definition: HeffDF1bnlep.h:94
WilsonCoefficient coeffbnlep11
Definition: HeffDF1bnlep.h:94
WilsonCoefficient coeffbnlep01A
Definition: HeffDF1bnlep.h:93
gslpp::vector< gslpp::complex > bnlep2
Definition: HeffDF1bnlep.h:97
WilsonCoefficient coeffbnlep01
Definition: HeffDF1bnlep.h:93
WilsonCoefficient coeffbnlep01B
Definition: HeffDF1bnlep.h:93
WilsonCoefficient coeffbnlep11B
Definition: HeffDF1bnlep.h:94
WilsonCoefficient coeffbnlep10CC
Definition: HeffDF1bnlep.h:94
const StandardModel & model
Definition: HeffDF1bnlep.h:89
std::unique_ptr< EvolDF1nlep > u
Definition: HeffDF1bnlep.h:95
gslpp::vector< gslpp::complex > bnlep
Definition: HeffDF1bnlep.h:97
WilsonCoefficient coeffbnlep10
Definition: HeffDF1bnlep.h:92
WilsonCoefficient coeffbnlep00CC
Definition: HeffDF1bnlep.h:93
WilsonCoefficient coeffbnlep00qcd
Definition: HeffDF1bnlep.h:91
gslpp::vector< gslpp::complex > bnlepCC
Definition: HeffDF1bnlep.h:97
WilsonCoefficient coeffbnlep00
Definition: HeffDF1bnlep.h:91
WilsonCoefficient coeffbnlep10qcd
Definition: HeffDF1bnlep.h:92

◆ ~HeffDF1bnlep()

HeffDF1bnlep::~HeffDF1bnlep ( )
virtual

destructor

Definition at line 23 of file HeffDF1bnlep.cpp.

24{}

Member Function Documentation

◆ ComputeCoeffBnlep00()

gslpp::vector< gslpp::complex > ** HeffDF1bnlep::ComputeCoeffBnlep00 ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the reonrmalization scheme
Returns
the effective hamiltonian at the scale mu for B decays, \( |\Delta C = 0 | \), \( |\Delta S = 0 | \)

Definition at line 31 of file HeffDF1bnlep.cpp.

32{
33
34 const std::vector<WilsonCoefficient>& mcb = model.getMatching().CMbnlep( 0);
35 const std::vector<WilsonCoefficient>& mcbCC = model.getMatching().CMbnlepCC( 0);
36
37 coeffbnlep00qcd.setMu(mu); //inizializes to zero the coefficients
40
42 orders ordDF1 = coeffbnlep00.getOrder();
43
44 for (unsigned int i = 0; i < mcb.size(); i++){
45 for (int j = LO; j <= ordDF1; j++){
46 for (int k = LO; k <= j; k++) {
47
48 //Evolves the LO terms and the ones proportional to alpha_s
50 u->Df1Evolnlep(mu, mcb[i].getMu(), orders(k), NO_QED, mcb[i].getScheme())*
51 (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
52
53
54 //Evolves terms proportional to alpha_e and alpha_e/aplha_s
56 u->Df1Evolnlep(mu, mcb[i].getMu(), NNLO, orders_qed(k+4), mcb[i].getScheme()) *
57 (*(mcb[i].getCoeff(orders(j - k)))), orders_qed(j+4));
58
59 }
60 }
61
63 u->Df1Evolnlep(mu, mcb[i].getMu(), orders(LO), NO_QED, mcb[i].getScheme()) *
64 (*(mcb[i].getCoeff(orders_qed(NLO_QED11)))), orders_qed(NLO_QED11));
65
66 }
67
68 //Evolves the current*current part of the hamiltonian (the one non-proportional to lambda_t)
69 for (unsigned int i = 0; i < mcbCC.size(); i++)
70 for (int j = LO; j <= ordDF1; j++)
71 for (int k = LO; k <= j; k++)
73 u->Df1Evolnlep(mu, mcbCC[i].getMu(), orders(k), NO_QED, mcbCC[i].getScheme()) *
74 (*(mcbCC[i].getCoeff(orders(j - k)))), orders(j));
75
78
79 //Puts all together in a wilson coefficient object of 12 component:
80 //the first 10 terms are the ones proportional to lambda_t
81 //the last two are the remainder current*current operators
82 gslpp::complex appoggio[10], appoggio1[10], appoggio2[10], appoggio3[10];
83 for (int i=0; i<10; i++) {
84 appoggio[i] = 0.;
85 appoggio1[i] = 0.;
86 appoggio2[i] = 0.;
87 appoggio3[i] = 0.;
88 }
89 for (int j=LO; j <= ordDF1; j++) {
91 std::cout<< std::endl <<"$$$$$$$$$$$$ "<< j <<" $$$$$$$$$$$"<<std::endl;
92
93 for (int i = 0; i < 10; i++){
94 bnlep.assign(i, bnlep2(i));
95 if(j == LO){ appoggio[i] = bnlep(i);}
96 if( j == NLO){ appoggio1[i] = bnlep(i); }
97 std::cout<<"++++++++++ "<< i <<" -> "<< bnlep(i) <<" ++++++++++++"<<std::endl;
98 }
100 for (int i = 10; i < 12; i++){
101 bnlep.assign(i, bnlep2(i-10));
102 std::cout<<"++++++++++ "<< i <<" -> "<< bnlep(i) <<" ++++++++++++"<<std::endl;
103
104 }
106 }
107 for (int k=LO_QED; k <= ordDF1ew; k++) {
109 std::cout<< std::endl <<"$$$$$$$$$$$$ "<<k<<" $$$$$$$$$$$"<<std::endl;
110
111 for (int l = 0; l < 10; l++){
112 bnlep.assign(l, bnlep2(l));
113 if(k == LO_QED){ appoggio2[l] = bnlep(l); }
114 if(k == NLO_QED11) { appoggio3[l] = bnlep(l); }
115 std::cout<<"++++++++++ "<< l <<" -> "<< bnlep(l) <<" ++++++++++++"<<std::endl;
116 }
117
119 }
120
121 std::cout<< std::endl << " COEFFICIENTI TOTALI " << std::endl;
122 gslpp::complex aaa = 0. ;
123 for (int l = 0; l < 10; l++){
124 aaa = appoggio[l] + appoggio2[l];
125 std::cout<< std::endl << " C_0 + C_ALE/ALPHA_S "<< l <<" -> " << aaa << std::endl;
126 aaa = appoggio1[l] + appoggio3[l];
127 std::cout<< std::endl <<" C_1 + C_ALE " << l <<" -> " << aaa << std::endl;
128 std::cout << std::endl << " ************************************************ " << std::endl;
129 }
130
131 return coeffbnlep00.getCoeff();
132}
@ NNLO
Definition: OrderScheme.h:36
@ LO
Definition: OrderScheme.h:34
@ LO_QED
Definition: OrderScheme.h:58
@ NO_QED
Definition: OrderScheme.h:57
virtual std::vector< WilsonCoefficient > & CMbnlep(int a)=0
virtual std::vector< WilsonCoefficient > & CMbnlepCC(const int a)=0
virtual StandardModelMatching & getMatching() const
A get method to access the member reference of type StandardModelMatching.
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
void setScheme(schemes scheme)
virtual void setMu(double mu)
orders_qed getOrder_qed() const
orders getOrder() const
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:33
orders_qed
An enum type for orders in electroweak.
Definition: OrderScheme.h:56

◆ ComputeCoeffBnlep01()

gslpp::vector< gslpp::complex > ** HeffDF1bnlep::ComputeCoeffBnlep01 ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme
Returns
the effective hamiltonian at the scale mu for B decays, \( |\Delta C = 0 | \), \( |\Delta S = 1 | \)

Definition at line 215 of file HeffDF1bnlep.cpp.

216{
217
218 const std::vector<WilsonCoefficient>& mcbCC1 = model.getMatching().CMbnlepCC( 2);
219 const std::vector<WilsonCoefficient>& mcbCC2 = model.getMatching().CMbnlepCC( 3);
220
224
225 orders ordDF1 = coeffbnlep01A.getOrder();
226
227 //evolution of the current*current terms
228 for (unsigned int i = 0; i < mcbCC1.size(); i++)
229 for (int j = LO; j <= ordDF1; j++)
230 for (int k = LO; k <= j; k++)
232 u->Df1Evolnlep(mu, mcbCC1[i].getMu(), orders(k), NO_QED, mcbCC1[i].getScheme()) *
233 (*(mcbCC1[i].getCoeff(orders(j - k)))), orders(j));
234
235 for (unsigned int i = 0; i < mcbCC2.size(); i++)
236 for (int j = LO; j <= ordDF1; j++)
237 for (int k = LO; k <= j; k++)
239 u->Df1Evolnlep(mu, mcbCC2[i].getMu(), orders(k), NO_QED, mcbCC2[i].getScheme()) *
240 (*(mcbCC2[i].getCoeff(orders(j - k)))), orders(j));
241
242 coeffbnlep01A.setScheme(scheme);
243 coeffbnlep01B.setScheme(scheme);
244 coeffbnlep01.setScheme(scheme);
245
246 //Puts all together in a wilson coefficient object of 4 components
247 for (int j=LO; j <= ordDF1; j++) {
249 for (int i = 0; i < 2; i++){
250 bnlep.assign(i, bnlep2(i));
251 }
253 for (int i = 2; i < 4; i++){
254 bnlep.assign(i, bnlep2(i-2));
255 }
257 }
258 return coeffbnlep01.getCoeff();
259
260}

◆ ComputeCoeffBnlep10()

gslpp::vector< gslpp::complex > ** HeffDF1bnlep::ComputeCoeffBnlep10 ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme
Returns
the effective hamiltonian at the scale mu for B decays, \( |\Delta C = 1 | \), \( |\Delta S = 0 | \)

Definition at line 139 of file HeffDF1bnlep.cpp.

140{
141
142 const std::vector<WilsonCoefficient>& mcb = model.getMatching().CMbnlep( 1);
143 const std::vector<WilsonCoefficient>& mcbCC = model.getMatching().CMbnlepCC( 1);
144
148
150 orders ordDF1 = coeffbnlep10.getOrder();
151
152 for (unsigned int i = 0; i < mcb.size(); i++){
153 for (int j = LO; j <= ordDF1; j++){
154 for (int k = LO; k <= j; k++) {
155
156 //Evolves the LO terms and the ones proportional to alpha_s
158 u->Df1Evolnlep(mu, mcb[i].getMu(), orders(k), NO_QED, mcb[i].getScheme()) *
159 (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
160
161 //Evolves terms proportional to alpha_e and alpha_e/aplha_s
163 u->Df1Evolnlep(mu, mcb[i].getMu(), NNLO, orders_qed(k+4), mcb[i].getScheme()) *
164 (*(mcb[i].getCoeff(orders(j - k)))), orders_qed(j+4));
165 }
166 }
167
169 u->Df1Evolnlep(mu, mcb[i].getMu(), orders(LO), NO_QED, mcb[i].getScheme()) *
170 (*(mcb[i].getCoeff(orders(LO_QED)))), orders_qed(NLO_QED11));
171 }
172
173 //Evolves the current*current part of the hamiltonian (the one non-proportional to lambda_t)
174 for (unsigned int i = 0; i < mcbCC.size(); i++)
175 for (int j = LO; j <= ordDF1; j++)
176 for (int k = LO; k <= j; k++)
178 u->Df1Evolnlep(mu, mcbCC[i].getMu(), orders(k), NO_QED, mcbCC[i].getScheme()) *
179 (*(mcbCC[i].getCoeff(orders(j - k)))), orders(j));
180
183
184 //Puts all together in a wilson coefficient object of 12 component:
185 //the first 10 terms are the one proportional to lambda_t
186 //the last two are the remainder current*current operators
187
188 for (int j=LO; j <= ordDF1; j++) {
190 for (int i = 0; i < 10; i++){
191 bnlep.assign(i, bnlep2(i));
192 }
194 for (int i = 10; i < 12; i++){
195 bnlep.assign(i, bnlep2(i-10));
196 }
198 }
199 for (int k=LO_QED; k <= ordDF1ew; k++) {
201 for (int l = 0; l < 10; l++){
202 bnlep.assign(l, bnlep2(l));;
203 }
205 }
206
207 return coeffbnlep10.getCoeff();
208}

◆ ComputeCoeffBnlep11()

gslpp::vector< gslpp::complex > ** HeffDF1bnlep::ComputeCoeffBnlep11 ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme
Returns
the effective hamiltonian at the scale mu for B decays, \( |\Delta C = 1 | \), \( |\Delta S = 1 | \)

Definition at line 267 of file HeffDF1bnlep.cpp.

268{
269
270 const std::vector<WilsonCoefficient>& mcbCC1 = model.getMatching().CMbnlepCC( 2);
271 const std::vector<WilsonCoefficient>& mcbCC2 = model.getMatching().CMbnlepCC( 3);
272
276
277 orders ordDF1 = coeffbnlep11A.getOrder();
278
279 for (unsigned int i = 0; i < mcbCC1.size(); i++)
280 for (int j = LO; j <= ordDF1; j++)
281 for (int k = LO; k <= j; k++)
283 u->Df1Evolnlep(mu, mcbCC1[i].getMu(), orders(k), NO_QED, mcbCC1[i].getScheme()) *
284 (*(mcbCC1[i].getCoeff(orders(j - k)))), orders(j));
285
286 for (unsigned int i = 0; i < mcbCC2.size(); i++)
287 for (int j = LO; j <= ordDF1; j++)
288 for (int k = LO; k <= j; k++)
290 u->Df1Evolnlep(mu, mcbCC2[i].getMu(), orders(k), NO_QED, mcbCC2[i].getScheme()) *
291 (*(mcbCC2[i].getCoeff(orders(j - k)))), orders(j));
292
293 coeffbnlep11A.setScheme(scheme);
294 coeffbnlep11B.setScheme(scheme);
295 coeffbnlep11.setScheme(scheme);
296
297 for (int j=LO; j <= ordDF1; j++) {
299 for (int i = 0; i < 2; i++){
300 bnlep.assign(i, bnlep2(i));
301 }
303 for (int i = 2; i < 4; i++){
304 bnlep.assign(i, bnlep2(i-2));
305 }
307 }
308 return coeffbnlep11.getCoeff();
309
310}

◆ getCoeffbnlep00()

WilsonCoefficient HeffDF1bnlep::getCoeffbnlep00 ( ) const
inline

Definition at line 64 of file HeffDF1bnlep.h.

64 {
65 return coeffbnlep00;
66 }

◆ getCoeffbnlep01()

WilsonCoefficient HeffDF1bnlep::getCoeffbnlep01 ( ) const
inline

Definition at line 72 of file HeffDF1bnlep.h.

72 {
73 return coeffbnlep10;
74 }

◆ getCoeffbnlep10()

WilsonCoefficient HeffDF1bnlep::getCoeffbnlep10 ( ) const
inline

Definition at line 68 of file HeffDF1bnlep.h.

68 {
69 return coeffbnlep01;
70 }

◆ getCoeffbnlep11()

WilsonCoefficient HeffDF1bnlep::getCoeffbnlep11 ( ) const
inline

Definition at line 76 of file HeffDF1bnlep.h.

76 {
77 return coeffbnlep11;
78 }

◆ GetModel()

const StandardModel & HeffDF1bnlep::GetModel ( ) const
inline

Definition at line 84 of file HeffDF1bnlep.h.

84 {
85 return model;
86 }

◆ getUDF1()

EvolDF1nlep & HeffDF1bnlep::getUDF1 ( ) const
inline

Definition at line 80 of file HeffDF1bnlep.h.

80 {
81 return *u;
82 }

Member Data Documentation

◆ bnlep

gslpp::vector<gslpp::complex> HeffDF1bnlep::bnlep
private

Definition at line 97 of file HeffDF1bnlep.h.

◆ bnlep2

gslpp::vector<gslpp::complex> HeffDF1bnlep::bnlep2
private

Definition at line 97 of file HeffDF1bnlep.h.

◆ bnlepCC

gslpp::vector<gslpp::complex> HeffDF1bnlep::bnlepCC
private

Definition at line 97 of file HeffDF1bnlep.h.

◆ coeffbnlep00

WilsonCoefficient HeffDF1bnlep::coeffbnlep00
private

Definition at line 91 of file HeffDF1bnlep.h.

◆ coeffbnlep00CC

WilsonCoefficient HeffDF1bnlep::coeffbnlep00CC
private

Definition at line 93 of file HeffDF1bnlep.h.

◆ coeffbnlep00qcd

WilsonCoefficient HeffDF1bnlep::coeffbnlep00qcd
private

Definition at line 91 of file HeffDF1bnlep.h.

◆ coeffbnlep01

WilsonCoefficient HeffDF1bnlep::coeffbnlep01
private

Definition at line 93 of file HeffDF1bnlep.h.

◆ coeffbnlep01A

WilsonCoefficient HeffDF1bnlep::coeffbnlep01A
private

Definition at line 93 of file HeffDF1bnlep.h.

◆ coeffbnlep01B

WilsonCoefficient HeffDF1bnlep::coeffbnlep01B
private

Definition at line 93 of file HeffDF1bnlep.h.

◆ coeffbnlep10

WilsonCoefficient HeffDF1bnlep::coeffbnlep10
private

Definition at line 92 of file HeffDF1bnlep.h.

◆ coeffbnlep10CC

WilsonCoefficient HeffDF1bnlep::coeffbnlep10CC
private

Definition at line 94 of file HeffDF1bnlep.h.

◆ coeffbnlep10qcd

WilsonCoefficient HeffDF1bnlep::coeffbnlep10qcd
private

Definition at line 92 of file HeffDF1bnlep.h.

◆ coeffbnlep11

WilsonCoefficient HeffDF1bnlep::coeffbnlep11
private

Definition at line 94 of file HeffDF1bnlep.h.

◆ coeffbnlep11A

WilsonCoefficient HeffDF1bnlep::coeffbnlep11A
private

Definition at line 94 of file HeffDF1bnlep.h.

◆ coeffbnlep11B

WilsonCoefficient HeffDF1bnlep::coeffbnlep11B
private

Definition at line 94 of file HeffDF1bnlep.h.

◆ model

const StandardModel& HeffDF1bnlep::model
private

Definition at line 89 of file HeffDF1bnlep.h.

◆ u

std::unique_ptr<EvolDF1nlep> HeffDF1bnlep::u
private

Definition at line 95 of file HeffDF1bnlep.h.


The documentation for this class was generated from the following files: