AmpDK2 Class Reference

A class for calculating the amplitudes contributing to \(\epsilon_K\) and \(\Delta M_K\). More...

#include <AmpDK2.h>

Inheritance diagram for AmpDK2:
[legend]
Collaboration diagram for AmpDK2:
[legend]

Detailed Description

A class for calculating the amplitudes contributing to \(\epsilon_K\) and \(\Delta M_K\).

Author
HEPfit Collaboration

This class is used to compute the theoretical value of amplitudes contributing to \(\epsilon_K\) and \(\Delta M_K\). The hadronic matrix elements are defined for the operators \(O_1, \ldots, O_5\) in the chiral limit as can be found in ...

Definition at line 28 of file AmpDK2.h.

Public Member Functions

 AmpDK2 (const StandardModel &SM_i)
 compute the amplitude for kaon oscillations More...
 

Protected Member Functions

gslpp::complex AmpDK (orders order)
 
gslpp::complex AmpMK (orders order)
 

Private Attributes

const StandardModelmySM
 

Constructor & Destructor Documentation

AmpDK2::AmpDK2 ( const StandardModel SM_i)

compute the amplitude for kaon oscillations

Parameters
[in]SM_i

Definition at line 10 of file AmpDK2.cpp.

11 : mySM(SM_i)
12 {}
const StandardModel & mySM
Definition: AmpDK2.h:43

Member Function Documentation

gslpp::complex AmpDK2::AmpDK ( orders  order)
protected

Definition at line 14 of file AmpDK2.cpp.

15 {
16  if (mySM.getMyFlavour()->getHDF2().getCoeffK().getOrder() < order % 3)
17  throw std::runtime_error("AmpDK::computeThValue(): requires cofficient of order not computed");
18 
20  mySM.getBK().getMu(),
21  mySM.getBK().getScheme());
22 
24 
25  double MK = mySM.getMesons(QCD::K_0).getMass();
26  double Ms = mySM.Mrun(mySM.getBK().getMu(),
29  double Md = mySM.Mrun(mySM.getBK().getMu(),
32  double KK = MK/(Ms+Md)*MK/(Ms+Md);
33  double FK = mySM.getMesons(QCD::K_0).getDecayconst();
34  double mm = MK*FK*FK;
35  KK *= mm;
36  me(0) *= 1./3.*mm;
37  me(1) *= -5./24.*KK;
38  me(2) *= 1./24.*KK;
39  me(3) *= 1./4.*KK;
40  me(4) *= 1./12.*KK;
41 
42  switch(order) {
43  case FULLNLO:
44  return((*(allcoeff[LO]) + *(allcoeff[NLO])) * me);
45  case LO:
46  return((*(allcoeff[LO])) * me);
47  default:
48  throw std::runtime_error("AmpDK2::AmpDK(): order not implemented");
49  }
50 }
WilsonCoefficient getCoeffK() const
Definition: HeffDF2.h:109
const StandardModel & mySM
Definition: AmpDK2.h:43
schemes getScheme() const
A get method for the scheme of the bag parameters.
Definition: BParameter.h:88
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
BParameter getBK() const
For getting the bag parameters corresponding to the operator basis in process in the meson system...
Definition: QCD.h:976
Definition: QCD.h:716
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:74
const HeffDF2 & getHDF2() const
The member that returns an object of the class HeffDF2.
Definition: Flavour.h:59
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
const double & getMu() const
A get method for the scale of the bag parameters.
Definition: BParameter.h:71
Definition: OrderScheme.h:33
const gslpp::vector< double > & getBpars() const
A get method for the vector of the bag parameters.
Definition: BParameter.h:43
Definition: QCD.h:732
Flavour * getMyFlavour() const
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
A class for constructing and defining operations on real vectors.
orders getOrder() const
gslpp::vector< gslpp::complex > ** ComputeCoeffK(double mu, schemes scheme=NDR)
Definition: Flavour.h:98
gslpp::complex AmpDK2::AmpMK ( orders  order)
protected

Definition at line 52 of file AmpDK2.cpp.

53 {
54  if (mySM.getMyFlavour()->getHDF2().getCoeffmK().getOrder() < order % 3)
55  throw std::runtime_error("AmpDK::computeThValue(): requires cofficient of order not computed");
56 
58  mySM.getBK().getMu(),
59  mySM.getBK().getScheme());
60 
62  double MK = mySM.getMesons(QCD::K_0).getMass();
63  double Ms = mySM.Mrun(mySM.getBK().getMu(),
66  double Md = mySM.Mrun(mySM.getBK().getMu(),
69  double KK = MK/(Ms+Md)*MK/(Ms+Md);
70  double FK = mySM.getMesons(QCD::K_0).getDecayconst();
71  double mm = MK*FK*FK;
72  KK *= mm;
73  me(0) *= 1./3.*mm;
74  me(1) *= -5./24.*KK;
75  me(2) *= 1./24.*KK;
76  me(3) *= 1./4.*KK;
77  me(4) *= 1./12.*KK;
78 
79  switch(order) {
80  case FULLNLO:
81  return((*(allcoeff[LO]) + *(allcoeff[NLO])) * me);
82  case LO:
83  return((*(allcoeff[LO])) * me);
84  default:
85  throw "AmpDM2::AmpDK(): order not implemented";
86  }
87 }
const StandardModel & mySM
Definition: AmpDK2.h:43
schemes getScheme() const
A get method for the scheme of the bag parameters.
Definition: BParameter.h:88
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
BParameter getBK() const
For getting the bag parameters corresponding to the operator basis in process in the meson system...
Definition: QCD.h:976
Definition: QCD.h:716
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:74
const HeffDF2 & getHDF2() const
The member that returns an object of the class HeffDF2.
Definition: Flavour.h:59
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
const double & getMu() const
A get method for the scale of the bag parameters.
Definition: BParameter.h:71
Definition: OrderScheme.h:33
const gslpp::vector< double > & getBpars() const
A get method for the vector of the bag parameters.
Definition: BParameter.h:43
Definition: QCD.h:732
Flavour * getMyFlavour() const
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
A class for constructing and defining operations on real vectors.
orders getOrder() const
WilsonCoefficient getCoeffmK() const
Definition: HeffDF2.h:113
gslpp::vector< gslpp::complex > ** ComputeCoeffmK(double mu, schemes scheme=NDR)
Definition: Flavour.h:102

Member Data Documentation

const StandardModel& AmpDK2::mySM
private

Definition at line 43 of file AmpDK2.h.


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