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::complexbnlep
 
gslpp::vector< gslpp::complexbnlep2
 
gslpp::vector< gslpp::complexbnlepCC
 
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 {}

◆ ~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 30 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
39  coeffbnlep00.setMu(mu);
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 
76  coeffbnlep00qcd.setScheme(scheme);
77  coeffbnlep00CC.setScheme(scheme);
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();

◆ 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 212 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 
221  coeffbnlep01.setMu(mu);
222  coeffbnlep01A.setMu(mu);
223  coeffbnlep01B.setMu(mu);
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  }

◆ 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 137 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 
146  coeffbnlep10CC.setMu(mu);
147  coeffbnlep10.setMu(mu);
148 
149  orders_qed ordDF1ew = coeffbnlep10.getOrder_qed();
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 
181  coeffbnlep10qcd.setScheme(scheme);
182  coeffbnlep10CC.setScheme(scheme);
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 

◆ 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 263 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 
273  coeffbnlep11.setMu(mu);
274  coeffbnlep11A.setMu(mu);
275  coeffbnlep11B.setMu(mu);
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  }

◆ 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:
WilsonTemplate::setScheme
void setScheme(schemes scheme)
Definition: WilsonTemplate.h:103
NO_QED
Definition: OrderScheme.h:49
HeffDF1bnlep::bnlepCC
gslpp::vector< gslpp::complex > bnlepCC
Definition: HeffDF1bnlep.h:97
HeffDF1bnlep::model
const StandardModel & model
Definition: HeffDF1bnlep.h:89
HeffDF1bnlep::coeffbnlep10CC
WilsonCoefficient coeffbnlep10CC
Definition: HeffDF1bnlep.h:94
NLO_QED11
Definition: OrderScheme.h:51
HeffDF1bnlep::coeffbnlep11A
WilsonCoefficient coeffbnlep11A
Definition: HeffDF1bnlep.h:94
HeffDF1bnlep::coeffbnlep00qcd
WilsonCoefficient coeffbnlep00qcd
Definition: HeffDF1bnlep.h:91
HeffDF1bnlep::coeffbnlep00
WilsonCoefficient coeffbnlep00
Definition: HeffDF1bnlep.h:91
WilsonTemplate::getOrder_qed
orders_qed getOrder_qed() const
Definition: WilsonTemplate.h:70
LO
Definition: OrderScheme.h:33
ModelMatching::CMbnlepCC
virtual std::vector< WilsonCoefficient > & CMbnlepCC(const int a)=0
NDR
Definition: OrderScheme.h:21
HeffDF1bnlep::coeffbnlep11B
WilsonCoefficient coeffbnlep11B
Definition: HeffDF1bnlep.h:94
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
EvolDF1nlep
Evolutor Class
Definition: EvolDF1nlep.h:16
ModelMatching::CMbnlep
virtual std::vector< WilsonCoefficient > & CMbnlep(const int a)=0
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
WilsonCoefficient::setCoeff
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
Definition: WilsonCoefficient.h:34
HeffDF1bnlep::coeffbnlep10
WilsonCoefficient coeffbnlep10
Definition: HeffDF1bnlep.h:92
HeffDF1bnlep::coeffbnlep01
WilsonCoefficient coeffbnlep01
Definition: HeffDF1bnlep.h:93
LO_QED
Definition: OrderScheme.h:50
NNLO
Definition: OrderScheme.h:35
WilsonTemplate::setMu
virtual void setMu(double mu)
Definition: WilsonTemplate.h:92
orders_qed
orders_qed
An enum type for orders in electroweak.
Definition: OrderScheme.h:47
HeffDF1bnlep::coeffbnlep00CC
WilsonCoefficient coeffbnlep00CC
Definition: HeffDF1bnlep.h:93
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
HeffDF1bnlep::coeffbnlep10qcd
WilsonCoefficient coeffbnlep10qcd
Definition: HeffDF1bnlep.h:92
HeffDF1bnlep::coeffbnlep11
WilsonCoefficient coeffbnlep11
Definition: HeffDF1bnlep.h:94
StandardModel::getMatching
virtual StandardModelMatching & getMatching() const
A get method to access the member reference of type StandardModelMatching.
Definition: StandardModel.h:952
WilsonCoefficient::getCoeff
gslpp::vector< gslpp::complex > ** getCoeff() const
Definition: WilsonCoefficient.h:29
HeffDF1bnlep::coeffbnlep01A
WilsonCoefficient coeffbnlep01A
Definition: HeffDF1bnlep.h:93
HeffDF1bnlep::bnlep2
gslpp::vector< gslpp::complex > bnlep2
Definition: HeffDF1bnlep.h:97
NLO
Definition: OrderScheme.h:34
HeffDF1bnlep::bnlep
gslpp::vector< gslpp::complex > bnlep
Definition: HeffDF1bnlep.h:97
HeffDF1bnlep::coeffbnlep01B
WilsonCoefficient coeffbnlep01B
Definition: HeffDF1bnlep.h:93
HeffDF1bnlep::u
std::unique_ptr< EvolDF1nlep > u
Definition: HeffDF1bnlep.h:95