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

#include <HeffDS1.h>

Detailed Description

Definition at line 18 of file HeffDS1.h.

Public Member Functions

gslpp::vector< gslpp::complex > ** ComputeCoeffDS1mumu ()
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1pnunu ()
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1PP (double mu, schemes scheme=NDR)
 the effective Hamiltonian at the scale mu for \( K \rightarrow \pi \pi \) More...
 
WilsonCoefficient getCoeffDS1cc () const
 
WilsonCoefficient getCoeffDS1mumu () const
 
WilsonCoefficient getCoeffDS1pnunu () const
 
WilsonCoefficient getCoeffDS1PP () const
 
const StandardModelGetModel () const
 
EvolDF1nlepgetUDF1B () const
 
EvolDB1MllgetUDF1M () const
 
 HeffDS1 (const StandardModel &SM)
 constructor More...
 
virtual ~HeffDS1 ()
 destructor More...
 

Private Member Functions

void CharmMatch ()
 compute the matching at the charm threshold within the SM, NDR scheme implemented More...
 

Private Attributes

WilsonCoefficient coeffds1
 
WilsonCoefficient coeffds1cc
 
WilsonCoefficient coeffds1mumu
 
WilsonCoefficient coeffds1pnunu
 
gslpp::vector< gslpp::complexDS1cc
 
gslpp::vector< gslpp::complexDS1cce
 
const StandardModelmodel
 
std::unique_ptr< EvolDF1nlepu
 
std::unique_ptr< EvolDB1MlluM
 

Constructor & Destructor Documentation

◆ HeffDS1()

HeffDS1::HeffDS1 ( const StandardModel SM)

constructor

Parameters
SM
modelmatching

Definition at line 13 of file HeffDS1.cpp.

14 : model(SM),
15  coeffds1 (10, NDR, NLO, NLO_QED11), coeffds1cc(10, NDR, NLO),
17  u(new EvolDF1nlep(10, NDR, NLO, NLO_QED11, SM)), uM(new EvolDB1Mll(13, NDR, NLO, SM)),
18  DS1cce(10, 0.), DS1cc(10, 0.)
19 {}

◆ ~HeffDS1()

HeffDS1::~HeffDS1 ( )
virtual

destructor

Definition at line 21 of file HeffDS1.cpp.

21 {}

Member Function Documentation

◆ CharmMatch()

void HeffDS1::CharmMatch ( )
private

compute the matching at the charm threshold within the SM, NDR scheme implemented

Returns
the SM effective hamiltonian below the charm threshold for \( K \rightarrow \pi \pi \)

Definition at line 174 of file HeffDS1.cpp.

175 {
178 
180 
181  DS1cc.assign(2, (-model.Als(model.getMuc())/24./M_PI)*(-2./3.*
182  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cc(1)));
183  DS1cc.assign(3, (model.Als(model.getMuc())/8./M_PI)*(-2./3.*
184  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cc(1)));
185  DS1cc.assign(4, (-model.Als(model.getMuc())/24./M_PI)*(-2./3.*
186  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cc(1)));
187  DS1cc.assign(5, (model.Als(model.getMuc())/8./M_PI)*(-2./3.*
188  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cc(1)));
189  DS1cc.assign(8, 0.);
190  DS1cc.assign(7, 0.);
191  DS1cc.assign(8, 0.);
192  DS1cc.assign(9, 0.);
193 
194  DS1cc.assign(2, (-model.Als(model.getMuc())/24./M_PI)*(-2./3.*
195  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cce(1)));
196  DS1cc.assign(3, (model.Als(model.getMuc())/8./M_PI)*(-2./3.*
197  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cce(1)));
198  DS1cc.assign(4, (-model.Als(model.getMuc())/24./M_PI)*(-2./3.*
199  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cce(1)));
200  DS1cc.assign(5, (model.Als(model.getMuc())/8./M_PI)*(-2./3.*
201  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*DS1cce(1)));
202  DS1cce.assign(8, -model.getAle()/6./M_PI*4./9.*
203  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*(3.*DS1cc(0)+DS1cc(1)));
204  DS1cce.assign(7, 0.);
205  DS1cce.assign(8, -model.getAle()/6./M_PI*4./9.*
206  (log(mc*mc/model.getMuc()/model.getMuc())+1.)*(3.*DS1cc(0)+DS1cc(1)));
207  DS1cce.assign(9, 0.);
208  DS1cce.assign(0, 0.);
209  DS1cce.assign(1, 0.);
210 
213 
215 
218 
219  coeffds1cc.setMu(0.);
220 }

◆ ComputeCoeffDS1mumu()

gslpp::vector< gslpp::complex > ** HeffDS1::ComputeCoeffDS1mumu ( )

Definition at line 157 of file HeffDS1.cpp.

158 {
159 
160  const std::vector<WilsonCoefficient>& mcb = model.getMatching().CMkmm();
161 
162  orders ordDF1 = coeffds1mumu.getOrder();
163 
164  for (unsigned int i = 0; i < mcb.size(); i++){
165  for (int j = LO; j <= ordDF1; j++){
167  + *mcb[i].getCoeff(orders(j)), orders(j));
168  }
169  }
170 
171  return coeffds1mumu.getCoeff();
172 }

◆ ComputeCoeffDS1pnunu()

gslpp::vector< gslpp::complex > ** HeffDS1::ComputeCoeffDS1pnunu ( )

Definition at line 135 of file HeffDS1.cpp.

136 {
137 
138  const std::vector<WilsonCoefficient>& mcb = model.getMatching().CMkpnn();
139 
140  orders ordDF1 = coeffds1pnunu.getOrder();
141  orders_qed ordDF1_ew = coeffds1pnunu.getOrder_qed();
142 
143  for (unsigned int i = 0; i < mcb.size(); i++){
144  for (int j = LO; j <= ordDF1; j++){
146  + *mcb[i].getCoeff(orders(j)), orders(j));
147  }
148  for (int j = LO_QED; j <= ordDF1_ew; j++){
150  + *mcb[i].getCoeff(orders(j)), orders(j));
151  }
152  }
153 
154  return coeffds1pnunu.getCoeff();
155 }

◆ ComputeCoeffDS1PP()

gslpp::vector< gslpp::complex > ** HeffDS1::ComputeCoeffDS1PP ( double  mu,
schemes  scheme = NDR 
)

the effective Hamiltonian at the scale mu for \( K \rightarrow \pi \pi \)

with the current current open-charm operator contribution.

Parameters
muis the low energy scale
schemeindicates the renormalization scheme
Returns
the effective Hamiltonian at the scale mu for \( K \rightarrow \pi \pi \)

Definition at line 23 of file HeffDS1.cpp.

24 {
25 
26  const std::vector<WilsonCoefficient>& mcb = model.getMatching().CMK();
27  const std::vector<WilsonCoefficient>& mcbCC = model.getMatching().CMKCC();
28 
29  coeffds1.setMu(mu); //inizializes to zero the coefficients
30  coeffds1cc.setMu(mu);
31 
32  orders ordDF1 = coeffds1.getOrder();
33 
34  switch(scheme) {
35 
36  case NDR:
37  for (unsigned int i = 0; i < mcb.size(); i++){
38 
39  //evolves until the chram trheshold
40  if (i == 0){
41  for (int j = LO; j <= ordDF1; j++){
42  for (int k = LO; k <= j; k++){
43 
44  //Evolves the LO terms and the ones proportional to alpha_s
46  u->Df1Evolnlep(model.getMuc(), mcb[i].getMu(),
47  orders(k), NO_QED, mcb[i].getScheme())*
48  (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
49 
50  //Evolves terms proportional to alpha_e and alpha_e/aplha_s
52  u->Df1Evolnlep(model.getMuc(), mcb[i].getMu(), NNLO,
53  orders_qed(k+4), mcb[i].getScheme()) *
54  (*(mcb[i].getCoeff(orders(j - k)))), orders_qed(j+4));
55 
56  //Evolves the open-charm current*current part
58  u->Df1Evolnlep(model.getMuc(), mcbCC[i].getMu(),
59  orders(k), NO_QED, mcbCC[i].getScheme()) *
60  (*(mcbCC[i].getCoeff(orders(j - k)))), orders(j));
61  }
62 
64  u->Df1Evolnlep(model.getMuc(), mcb[i].getMu(), orders(LO),
65  NO_QED, mcb[i].getScheme()) *
66  (*(mcb[i].getCoeff(orders_qed(NLO_QED11)))), orders_qed(NLO_QED11));
67  }
68 
69  //Matching at the charm threshold
70  CharmMatch();
71 
72  //evolves below the chram trheshold
73  for (int j = LO; j <= ordDF1; j++){
74  for (int k = LO; k <= j; k++){
75 
77  u->Df1Evolnlep(mu, model.getMuc(), orders(k),
78  NO_QED, mcb[i].getScheme())*
79  (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
80 
82  u->Df1Evolnlep(mu, model.getMuc(), NNLO,
83  orders_qed(k+4), mcb[i].getScheme()) *
84  (*(mcb[i].getCoeff(orders(j - k)))), orders_qed(j+4));
85  }
86  }
87 
89  u->Df1Evolnlep(mu, model.getMuc(), orders(LO),
90  NO_QED, mcb[i].getScheme()) *
91  (*(mcb[i].getCoeff(orders_qed(NLO_QED11)))), orders_qed(NLO_QED11));
92  }
93 
94  if (i>0){
95  //if (model.BasisFlag() == 0){
96  //evolves according to the Misiak Basis
97  for (int j = LO; j <= ordDF1; j++){
98  for (int k = LO; k <= j; k++){
100  uM->Df1EvolMll(mu, mcb[i].getMu(), orders(k), mcb[i].getScheme())*
101  (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
102  }
103  }
104  /*}else{
105  for (int j = LO; j <= ordDF1; j++){
106  for (int k = LO; k <= j; k++){
107 
108  //Evolves the LO terms and the ones proportional to alpha_s
109  coeffds1.setCoeff(*coeffds1.getCoeff(orders(j)) +
110  u.Df1Evolnlep(mu, mcb[i].getMu(),
111  orders(k), NO_QED, mcb[i].getScheme())*
112  (*(mcb[i].getCoeff(orders(j - k)))), orders(j));
113 
114  //Evolves terms proportional to alpha_e and alpha_e/aplha_s
115  coeffds1.setCoeff(*coeffds1.getCoeff(orders_qed(j+4)) +
116  u.Df1Evolnlep(mu, mcb[i].getMu(), NNLO,
117  orders_qed(k+4), mcb[i].getScheme()) *
118  (*(mcb[i].getCoeff(orders(j - k)))), orders_qed(j+4));
119  }
120  }
121  coeffds1.setCoeff(*coeffds1.getCoeff(orders_qed(NLO_QED)) +
122  u.Df1Evolnlep(mu, mcb[i].getMu(), orders(LO),
123  NO_QED, mcb[i].getScheme()) *
124  (*(mcb[i].getCoeff(orders_qed(NLO_QED)))), orders_qed(NLO_QED));
125  }*/
126  }
127  }
128  return coeffds1.getCoeff();
129 
130  default:
131  throw "HeffDS1::ComputeCoeffDS1PP(double mu, schemes scheme): scheme not implemented";
132  }
133 }

◆ getCoeffDS1cc()

WilsonCoefficient HeffDS1::getCoeffDS1cc ( ) const
inline

Definition at line 51 of file HeffDS1.h.

51  {
52  return coeffds1cc;
53  }

◆ getCoeffDS1mumu()

WilsonCoefficient HeffDS1::getCoeffDS1mumu ( ) const
inline

Definition at line 59 of file HeffDS1.h.

59  {
60  return coeffds1mumu;
61  }

◆ getCoeffDS1pnunu()

WilsonCoefficient HeffDS1::getCoeffDS1pnunu ( ) const
inline

Definition at line 55 of file HeffDS1.h.

55  {
56  return coeffds1pnunu;
57  }

◆ getCoeffDS1PP()

WilsonCoefficient HeffDS1::getCoeffDS1PP ( ) const
inline

Definition at line 47 of file HeffDS1.h.

47  {
48  return coeffds1;
49  }

◆ GetModel()

const StandardModel& HeffDS1::GetModel ( ) const
inline

Definition at line 71 of file HeffDS1.h.

71  {
72  return model;
73  }

◆ getUDF1B()

EvolDF1nlep& HeffDS1::getUDF1B ( ) const
inline

Definition at line 63 of file HeffDS1.h.

63  {
64  return *u;
65  }

◆ getUDF1M()

EvolDB1Mll& HeffDS1::getUDF1M ( ) const
inline

Definition at line 67 of file HeffDS1.h.

67  {
68  return *uM;
69  }

Member Data Documentation

◆ coeffds1

WilsonCoefficient HeffDS1::coeffds1
private

Definition at line 78 of file HeffDS1.h.

◆ coeffds1cc

WilsonCoefficient HeffDS1::coeffds1cc
private

Definition at line 78 of file HeffDS1.h.

◆ coeffds1mumu

WilsonCoefficient HeffDS1::coeffds1mumu
private

Definition at line 78 of file HeffDS1.h.

◆ coeffds1pnunu

WilsonCoefficient HeffDS1::coeffds1pnunu
private

Definition at line 78 of file HeffDS1.h.

◆ DS1cc

gslpp::vector<gslpp::complex> HeffDS1::DS1cc
private

Definition at line 82 of file HeffDS1.h.

◆ DS1cce

gslpp::vector<gslpp::complex> HeffDS1::DS1cce
private

Definition at line 82 of file HeffDS1.h.

◆ model

const StandardModel& HeffDS1::model
private

Definition at line 76 of file HeffDS1.h.

◆ u

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

Definition at line 79 of file HeffDS1.h.

◆ uM

std::unique_ptr<EvolDB1Mll> HeffDS1::uM
private

Definition at line 80 of file HeffDS1.h.


The documentation for this class was generated from the following files:
NO_QED
Definition: OrderScheme.h:49
HeffDS1::DS1cce
gslpp::vector< gslpp::complex > DS1cce
Definition: HeffDS1.h:82
HeffDS1::coeffds1
WilsonCoefficient coeffds1
Definition: HeffDS1.h:78
NLO_QED11
Definition: OrderScheme.h:51
WilsonTemplate::getOrder_qed
orders_qed getOrder_qed() const
Definition: WilsonTemplate.h:70
LO
Definition: OrderScheme.h:33
HeffDS1::DS1cc
gslpp::vector< gslpp::complex > DS1cc
Definition: HeffDS1.h:82
HeffDS1::u
std::unique_ptr< EvolDF1nlep > u
Definition: HeffDS1.h:79
QCD::CHARM
Definition: QCD.h:326
NDR
Definition: OrderScheme.h:21
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
EvolDF1nlep
Evolutor Class
Definition: EvolDF1nlep.h:16
HeffDS1::CharmMatch
void CharmMatch()
compute the matching at the charm threshold within the SM, NDR scheme implemented
Definition: HeffDS1.cpp:174
EvolDB1Mll
Definition: EvolDB1Mll.h:14
HeffDS1::coeffds1mumu
WilsonCoefficient coeffds1mumu
Definition: HeffDS1.h:78
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
Particle::getMass
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
LO_QED
Definition: OrderScheme.h:50
QCD::getMuc
double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
Definition: QCD.h:579
HeffDS1::coeffds1cc
WilsonCoefficient coeffds1cc
Definition: HeffDS1.h:78
NNLO
Definition: OrderScheme.h:35
StandardModel::Als
double Als(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
The running QCD coupling in the scheme including QED corrections.
Definition: StandardModel.cpp:602
QCD::getQuarks
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:534
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
HeffDS1::model
const StandardModel & model
Definition: HeffDS1.h:76
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
StandardModel::getMatching
virtual StandardModelMatching & getMatching() const
A get method to access the member reference of type StandardModelMatching.
Definition: StandardModel.h:952
QCD::Mrun
double Mrun(const double mu, const double m, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1064
HeffDS1::coeffds1pnunu
WilsonCoefficient coeffds1pnunu
Definition: HeffDS1.h:78
WilsonCoefficient::getCoeff
gslpp::vector< gslpp::complex > ** getCoeff() const
Definition: WilsonCoefficient.h:29
NLO
Definition: OrderScheme.h:34
HeffDS1::uM
std::unique_ptr< EvolDB1Mll > uM
Definition: HeffDS1.h:80
FULLNNLO
Definition: OrderScheme.h:38
StandardModel::getAle
double getAle() const
A get method to retrieve the fine-structure constant .
Definition: StandardModel.h:748