HeffDF2 Class Reference

A class for the \(\Delta F = 2\) effective Hamiltonian. More...

#include <HeffDF2.h>

Collaboration diagram for HeffDF2:
[legend]

Detailed Description

A class for the \(\Delta F = 2\) effective Hamiltonian.

Author
HEPfit Collaboration

This class is used to compute the contributions to the \(\Delta F = 2\) by taking the values of the Wilson coefficients from the model matching classes and runs them down to the relevant scale for the observables.

Definition at line 26 of file HeffDF2.h.

Public Member Functions

gslpp::matrix< double > AnomalousDimension (orders order, unsigned int nf=0) const
 
void ChangeScheme (schemes schout, WilsonCoefficient &c_in, orders order)
 change scheme for a Wilson Coefficient More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBd (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBs (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffdd (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffK (double mu, schemes scheme=NDR)
 
gslpp::vector< gslpp::complex > ** ComputeCoeffmK (double mu, schemes scheme=NDR)
 for Delta M_K the SM contribution is set to zero More...
 
WilsonCoefficient getCoeffBd () const
 
WilsonCoefficient getCoeffBs () const
 
WilsonCoefficient getCoeffDD () const
 
WilsonCoefficient getCoeffK () const
 
WilsonCoefficient getCoeffmK () const
 
EvolDF2 getUDF2 () const
 
 HeffDF2 (const StandardModel &SM)
 constructor More...
 
virtual ~HeffDF2 ()
 destructor More...
 

Private Member Functions

gslpp::complex S0tt (double mu) const
 

Private Attributes

WilsonCoefficient coeffbd
 
WilsonCoefficient coeffbs
 
WilsonCoefficient coeffDd
 
WilsonCoefficient coeffk
 
WilsonCoefficient coeffmk
 
gslpp::matrix< double > drNDRLRI
 
EvolDF2 evolDF2
 
const StandardModelmodel
 

Constructor & Destructor Documentation

HeffDF2::HeffDF2 ( const StandardModel SM)

constructor

Parameters
SM
SM_Matching

Definition at line 11 of file HeffDF2.cpp.

12 : model(SM),
13  drNDRLRI(5, 5, 0),
14  coeffbd(5, NDR, NLO),
15  coeffbs(5, NDR, NLO),
16  coeffDd(5, NDR, NLO),
17  coeffk(5, NDR, NLO),
18  coeffmk(5, NDR, NLO),
19  evolDF2(5, NDR, NLO, SM)
20 {
21 
22  double Nc = SM.getNc();
23  drNDRLRI(0,0) = -(((-1. + Nc) * (-7. + log(4096.))) / Nc);
24  drNDRLRI(1,1) = (-2. * (-1. + 6. * Nc * Nc - 8. * log(2.) + Nc * (-13. + log(1024.)))) / (3. * Nc);
25  drNDRLRI(1,2) = (-2. * (13. - 10. * log(2.) + Nc * (-5. + log(256.)))) / (3. * Nc);
26  drNDRLRI(2,1) = (-8. + 6. * Nc * Nc + 20. * log(2.) - 8. * Nc * (1. + log(4.))) / (3. * Nc);
27  drNDRLRI(2,2) = (2. * (4. + Nc - 10. * Nc * log(2.) + log(256.))) / (3. * Nc);
28  drNDRLRI(3,3) = (2. - 4. * Nc * Nc + log(4.)) / Nc;
29  drNDRLRI(3,4) = 2. - log(4.);
30  drNDRLRI(4,3) = -2. * (1. + log(2.));
31  drNDRLRI(4,4) = (2. + log(4.)) / Nc;
32 }
WilsonCoefficient coeffbs
Definition: HeffDF2.h:127
const StandardModel & model
Definition: HeffDF2.h:124
double getNc() const
A get method to access the number of colours .
Definition: QCD.h:840
gslpp::matrix< double > drNDRLRI
Definition: HeffDF2.h:125
WilsonCoefficient coeffmk
Definition: HeffDF2.h:130
EvolDF2 evolDF2
Definition: HeffDF2.h:132
WilsonCoefficient coeffk
Definition: HeffDF2.h:129
WilsonCoefficient coeffbd
Definition: HeffDF2.h:126
complex log(const complex &z)
WilsonCoefficient coeffDd
Definition: HeffDF2.h:128
HeffDF2::~HeffDF2 ( )
virtual

destructor

Definition at line 34 of file HeffDF2.cpp.

35 {}

Member Function Documentation

gslpp::matrix<double> HeffDF2::AnomalousDimension ( orders  order,
unsigned int  nf = 0 
) const
Parameters
order
nfis the number of active flavours
Returns
the anomalous dimension for DeltaF=2 processes
void HeffDF2::ChangeScheme ( schemes  schout,
WilsonCoefficient c_in,
orders  order 
)

change scheme for a Wilson Coefficient

Parameters
schoutis the renormalization scheme in output
c_inis the Wilson Coefficient to be converted to scheme schout
order

Definition at line 195 of file HeffDF2.cpp.

196 {
197  schemes schin = c_in.getScheme();
198  if (schout == schin || order == LO) return;
199  WilsonCoefficient c_out(5, schout, order);
200  switch(schin) {
201  case NDR:
202  switch(schout) {
203  case LRI:
204  c_out.setCoeff(*c_in.getCoeff(NLO) -
205  model.Als(c_in.getMu()) / 4. / M_PI * drNDRLRI.transpose()*
206  (*c_in.getCoeff(LO)), NLO);
207  c_in.setCoeff(*c_out.getCoeff(NLO),NLO);
208  c_in.setScheme(schout);
209  break;
210  default:
211  throw std::runtime_error("HeffDF2::ChangeScheme(): out scheme not implemented");
212  }
213  break;
214  default:
215  throw std::runtime_error("HeffDF2::ChangeScheme(): in scheme not implemented");
216  }
217 }
A class for the Wilson coefficients.
const StandardModel & model
Definition: HeffDF2.h:124
double Als(const double mu, const orders order=FULLNLO) const
Computes the running strong coupling in the scheme. In the cases of LO, NLO and FULLNNLO...
Definition: QCD.cpp:1004
gslpp::vector< gslpp::complex > ** getCoeff() const
schemes getScheme() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
schemes
An enum type for regularization schemes.
Definition: OrderScheme.h:19
gslpp::matrix< double > drNDRLRI
Definition: HeffDF2.h:125
void setScheme(schemes scheme)
Definition: OrderScheme.h:33
double getMu() const
gslpp::vector< gslpp::complex > ** HeffDF2::ComputeCoeffBd ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme (Default: NDR)
Returns
the effective hamiltonian at the scale mu for B_d oscillations

Definition at line 37 of file HeffDF2.cpp.

38 {
39 
40  std::vector<WilsonCoefficient>& mc = model.getMyMatching()->CMdbd2();
41 
42  coeffbd.setMu(mu);
43 
44  coeffbd.setScheme(mc[0].getScheme());
45 
46  orders ordDF2 = coeffbd.getOrder();
47  for (unsigned int i = 0; i < mc.size(); i++){
48  ChangeScheme(mc[0].getScheme(),mc[i],ordDF2);
49  for (int j = LO; j <= ordDF2; j++){
50  for (int k = LO; k <= j; k++){
52  evolDF2.Df2Evol(mu, mc[i].getMu(), orders(k), mc[i].getScheme()) *
53  (*(mc[i].getCoeff(orders(j - k)))), orders(j));
54  }
55  }
56  }
57 
58  ChangeScheme(scheme, coeffbd, ordDF2);
59 
60  return coeffbd.getCoeff();
61 }
virtual void setMu(double mu)
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
const StandardModel & model
Definition: HeffDF2.h:124
virtual std::vector< WilsonCoefficient > & CMdbd2()
,
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
void setScheme(schemes scheme)
gslpp::matrix< double > & Df2Evol(double mu, double M, orders order, schemes scheme=NDR)
Definition: EvolDF2.cpp:147
Definition: OrderScheme.h:33
EvolDF2 evolDF2
Definition: HeffDF2.h:132
WilsonCoefficient coeffbd
Definition: HeffDF2.h:126
void ChangeScheme(schemes schout, WilsonCoefficient &c_in, orders order)
change scheme for a Wilson Coefficient
Definition: HeffDF2.cpp:195
orders getOrder() const
gslpp::vector< gslpp::complex > ** HeffDF2::ComputeCoeffBs ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme (Default: NDR)
Returns
the effective hamiltonian at the scale mu for B_s oscillations

Definition at line 63 of file HeffDF2.cpp.

64 {
65 
66  std::vector<WilsonCoefficient>& mc = model.getMyMatching()->CMdbs2();
67 
68  coeffbs.setMu(mu);
69 
70  coeffbs.setScheme(mc[0].getScheme());
71 
72  orders ordDF2 = coeffbs.getOrder();
73  for (unsigned int i = 0; i < mc.size(); i++){
74  ChangeScheme(mc[0].getScheme(),mc[i],ordDF2);
75  for (int j = LO; j <= ordDF2; j++){
76  for (int k = LO; k <= j; k++){
78  evolDF2.Df2Evol(mu, mc[i].getMu(), orders(k), mc[i].getScheme()) *
79  (*(mc[i].getCoeff(orders(j - k)))), orders(j));
80  }
81  }
82  }
83 
84  ChangeScheme(scheme, coeffbs, ordDF2);
85 
86  return coeffbs.getCoeff();
87 }
virtual void setMu(double mu)
WilsonCoefficient coeffbs
Definition: HeffDF2.h:127
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
const StandardModel & model
Definition: HeffDF2.h:124
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
void setScheme(schemes scheme)
gslpp::matrix< double > & Df2Evol(double mu, double M, orders order, schemes scheme=NDR)
Definition: EvolDF2.cpp:147
Definition: OrderScheme.h:33
EvolDF2 evolDF2
Definition: HeffDF2.h:132
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
void ChangeScheme(schemes schout, WilsonCoefficient &c_in, orders order)
change scheme for a Wilson Coefficient
Definition: HeffDF2.cpp:195
orders getOrder() const
gslpp::vector< gslpp::complex > ** HeffDF2::ComputeCoeffdd ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme (Default: NDR)
Returns
the effective hamiltonian at the scale mu for D oscillations

Definition at line 89 of file HeffDF2.cpp.

90 {
91 
92  std::vector<WilsonCoefficient>& mc = model.getMyMatching()->CMdd2();
93 
94  coeffDd.setMu(mu);
95 
96  coeffDd.setScheme(mc[0].getScheme());
97 
98  orders ordDF2 = coeffDd.getOrder();
99  for (unsigned int i = 0; i < mc.size(); i++){
100  ChangeScheme(mc[0].getScheme(),mc[i],ordDF2);
101  for (int j = LO; j <= ordDF2; j++){
102  for (int k = LO; k <= j; k++){
104  evolDF2.Df2Evol(mu, mc[i].getMu(), orders(k), mc[i].getScheme()) *
105  (*(mc[i].getCoeff(orders(j - k)))), orders(j));
106  }
107  }
108  }
109 
110  ChangeScheme(scheme, coeffDd, ordDF2);
111 
112  return coeffDd.getCoeff();
113 }
virtual void setMu(double mu)
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
const StandardModel & model
Definition: HeffDF2.h:124
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
void setScheme(schemes scheme)
gslpp::matrix< double > & Df2Evol(double mu, double M, orders order, schemes scheme=NDR)
Definition: EvolDF2.cpp:147
Definition: OrderScheme.h:33
EvolDF2 evolDF2
Definition: HeffDF2.h:132
void ChangeScheme(schemes schout, WilsonCoefficient &c_in, orders order)
change scheme for a Wilson Coefficient
Definition: HeffDF2.cpp:195
orders getOrder() const
WilsonCoefficient coeffDd
Definition: HeffDF2.h:128
virtual std::vector< WilsonCoefficient > & CMdd2()
,
gslpp::vector< gslpp::complex > ** HeffDF2::ComputeCoeffK ( double  mu,
schemes  scheme = NDR 
)
Parameters
muis the low energy scale
schemeindicates the renormalization scheme (Default: NDR)
Returns
the effective hamiltonian at the scale mu for K oscillations

Definition at line 115 of file HeffDF2.cpp.

116 {
117 
118  std::vector<WilsonCoefficient>& mc = model.getMyMatching()->CMdk2();
120 
121  coeffk.setScheme(mc[0].getScheme());
122 
123  coeffk.setMu(mu);
124  coeffk.setCoeff(zero,LO);
125  coeffk.setCoeff(zero,NLO);
126 
127  orders ordDF2 = coeffk.getOrder();
128  for (unsigned int i = 0; i < mc.size(); i++){
129  if (i == 0){
131  + evolDF2.etacc(mu) * model.getMyMatching()->S0c()
132  + evolDF2.etact(mu) * model.getMyMatching()->S0ct(),
133  NLO);
134 #if SUSYFIT_DEBUG & 2
135  std::cout << "mu = " << mu<< ", S0tt = " << model.getMyMatching()->S0tt() <<
136  ", S0cc = " << model.getMyMatching()->S0c() <<
137  ", S0ct = " << model.getMyMatching()->S0ct() << std::endl <<
138  ", etatt = " << evolDF2.etatt(mu) <<
139  ", etacc = " << evolDF2.etacc(mu) <<
140  ", etact = " << evolDF2.etact(mu) << std::endl <<
141  "tt = " << evolDF2.etatt(mu)*model.getMyMatching()->S0tt() <<
142  ", cc = " << evolDF2.etacc(mu)*model.getMyMatching()->S0c() <<
143  ", ct = " << evolDF2.etact(mu)*model.getMyMatching()->S0ct() << std::endl;
144 #endif
145 
146  }
147  else {
148  ChangeScheme(mc[0].getScheme(),mc[i],ordDF2);
149  for (int j = LO; j <= ordDF2; j++){
150  for (int k = LO; k <= j; k++){
152  evolDF2.Df2Evol(mu, mc[i].getMu(), orders(k), mc[i].getScheme()) *
153  (*(mc[i].getCoeff(orders(j - k)))), orders(j));
154  }
155  }
156  }
157  }
158 
159  ChangeScheme(scheme, coeffk, ordDF2);
160 
161  return coeffk.getCoeff();
162 }
virtual void setMu(double mu)
double etatt(double mu) const
Buras et al, hep-ph/9512380.
Definition: EvolDF2.cpp:362
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
gslpp::complex S0ct() const
hep-ph/9512380
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
double etact(double mu) const
Buras et al, hep-ph/9512380.
Definition: EvolDF2.cpp:330
const StandardModel & model
Definition: HeffDF2.h:124
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
void setScheme(schemes scheme)
gslpp::complex S0tt() const
hep-ph/9512380v1
gslpp::matrix< double > & Df2Evol(double mu, double M, orders order, schemes scheme=NDR)
Definition: EvolDF2.cpp:147
Definition: OrderScheme.h:33
EvolDF2 evolDF2
Definition: HeffDF2.h:132
WilsonCoefficient coeffk
Definition: HeffDF2.h:129
gslpp::complex S0c() const
hep-ph/9512380
void ChangeScheme(schemes schout, WilsonCoefficient &c_in, orders order)
change scheme for a Wilson Coefficient
Definition: HeffDF2.cpp:195
virtual std::vector< WilsonCoefficient > & CMdk2()
double etacc(double mu) const
Buras et al, hep-ph/9512380.
Definition: EvolDF2.cpp:227
orders getOrder() const
gslpp::vector< gslpp::complex > ** HeffDF2::ComputeCoeffmK ( double  mu,
schemes  scheme = NDR 
)

for Delta M_K the SM contribution is set to zero

Parameters
muis the low energy scale
schemeindicates the renormalization scheme (Default: NDR)
Returns
the effective hamiltonian at the scale mu for Delta M_K

Definition at line 165 of file HeffDF2.cpp.

166 {
167 
168  std::vector<WilsonCoefficient>& mc = model.getMyMatching()->CMdk2();
170 
171  coeffmk.setMu(mu);
172 
173  orders ordDF2 = coeffmk.getOrder();
174  for (unsigned int i = 0; i < mc.size(); i++){
175  if (i == 0){
176  coeffmk.setCoeff(zero, NLO);
177  coeffmk.setCoeff(zero, LO);
178  }
179  else {
180  for (int j = LO; j <= ordDF2; j++){
181  for (int k = LO; k <= j; k++){
183  evolDF2.Df2Evol(mu, mc[i].getMu(), orders(k), mc[i].getScheme()) *
184  (*(mc[i].getCoeff(orders(j - k)))), orders(j));
185  }
186  }
187  }
188  }
189 
190  ChangeScheme(scheme, coeffmk, ordDF2);
191 
192  return coeffmk.getCoeff();
193 }
virtual void setMu(double mu)
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
const StandardModel & model
Definition: HeffDF2.h:124
gslpp::vector< gslpp::complex > ** getCoeff() const
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
gslpp::matrix< double > & Df2Evol(double mu, double M, orders order, schemes scheme=NDR)
Definition: EvolDF2.cpp:147
WilsonCoefficient coeffmk
Definition: HeffDF2.h:130
Definition: OrderScheme.h:33
EvolDF2 evolDF2
Definition: HeffDF2.h:132
void ChangeScheme(schemes schout, WilsonCoefficient &c_in, orders order)
change scheme for a Wilson Coefficient
Definition: HeffDF2.cpp:195
virtual std::vector< WilsonCoefficient > & CMdk2()
orders getOrder() const
WilsonCoefficient HeffDF2::getCoeffBd ( ) const
inline

Definition at line 97 of file HeffDF2.h.

97  {
98  return coeffbd;
99  }
WilsonCoefficient coeffbd
Definition: HeffDF2.h:126
WilsonCoefficient HeffDF2::getCoeffBs ( ) const
inline

Definition at line 101 of file HeffDF2.h.

101  {
102  return coeffbs;
103  }
WilsonCoefficient coeffbs
Definition: HeffDF2.h:127
WilsonCoefficient HeffDF2::getCoeffDD ( ) const
inline

Definition at line 105 of file HeffDF2.h.

105  {
106  return coeffDd;
107  }
WilsonCoefficient coeffDd
Definition: HeffDF2.h:128
WilsonCoefficient HeffDF2::getCoeffK ( ) const
inline

Definition at line 109 of file HeffDF2.h.

109  {
110  return coeffk;
111  }
WilsonCoefficient coeffk
Definition: HeffDF2.h:129
WilsonCoefficient HeffDF2::getCoeffmK ( ) const
inline

Definition at line 113 of file HeffDF2.h.

113  {
114  return coeffmk;
115  }
WilsonCoefficient coeffmk
Definition: HeffDF2.h:130
EvolDF2 HeffDF2::getUDF2 ( ) const
inline

Definition at line 117 of file HeffDF2.h.

117  {
118  return evolDF2;
119  }
EvolDF2 evolDF2
Definition: HeffDF2.h:132
gslpp::complex HeffDF2::S0tt ( double  mu) const
private

Member Data Documentation

WilsonCoefficient HeffDF2::coeffbd
private

Definition at line 126 of file HeffDF2.h.

WilsonCoefficient HeffDF2::coeffbs
private

Definition at line 127 of file HeffDF2.h.

WilsonCoefficient HeffDF2::coeffDd
private

Definition at line 128 of file HeffDF2.h.

WilsonCoefficient HeffDF2::coeffk
private

Definition at line 129 of file HeffDF2.h.

WilsonCoefficient HeffDF2::coeffmk
private

Definition at line 130 of file HeffDF2.h.

gslpp::matrix<double> HeffDF2::drNDRLRI
private

Definition at line 125 of file HeffDF2.h.

EvolDF2 HeffDF2::evolDF2
private

Definition at line 132 of file HeffDF2.h.

const StandardModel& HeffDF2::model
private

Definition at line 124 of file HeffDF2.h.


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