a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
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:

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 30 of file AmpDK2.h.

Public Member Functions

 AmpDK2 (const StandardModel &SM_i)
 Constructor. More...
 

Protected Member Functions

gslpp::complex AmpDK (orders order)
 compute the amplitude for kaon oscillations More...
 
gslpp::complex AmpDMKNP (orders order)
 compute the NP part of the amplitude for kaon oscillations More...
 

Private Attributes

const StandardModelmySM
 

Constructor & Destructor Documentation

◆ AmpDK2()

AmpDK2::AmpDK2 ( const StandardModel SM_i)

Constructor.

Parameters
[in]SM_ia reference to an object of type StandardModel

Definition at line 12 of file AmpDK2.cpp.

13: mySM(SM_i)
14{
16}
const StandardModel & mySM
Definition: AmpDK2.h:55
void initializeBParameter(std::string name_i) const
A method to initialize B Parameter and the corresponding meson.
Definition: QCD.cpp:211

Member Function Documentation

◆ AmpDK()

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

compute the amplitude for kaon oscillations

Parameters
[in]orderthe QCD order of the computation

Definition at line 18 of file AmpDK2.cpp.

19{
20 if (mySM.getFlavour().getHDF2().getCoeffK().getOrder() < order % 3)
21 throw std::runtime_error("AmpDK::computeThValue(): requires cofficient of order not computed");
22
23#if SUSYFIT_DEBUG & 4
24 std::cout << "alsmu" << mySM.Als(2.) << std::endl;
25#endif
26
27 gslpp::vector<gslpp::complex> ** allcoeff = mySM.getFlavour().ComputeCoeffK(
28 mySM.getBK().getMu(),
29 mySM.getBK().getScheme());
30
31 gslpp::vector<double> me(mySM.getBK().getBpars());
32#if SUSYFIT_DEBUG & 2
33 std::cout << "B-parameter: " << me(0) << std::endl;
34#endif
35#if SUSYFIT_DEBUG & 4
36 std::cout << "alsmu" << mySM.Als(2.) << std::endl;
37#endif
38
39 double MK = mySM.getMesons(QCD::K_0).getMass();
40 double Ms = mySM.Mrun(mySM.getBK().getMu(),
43 double Md = mySM.Mrun(mySM.getBK().getMu(),
46 double KK = MK/(Ms+Md)*MK/(Ms+Md);
47 double FK = mySM.getMesons(QCD::K_0).getDecayconst();
48 double mm = MK*FK*FK;
49 KK *= mm;
50 me(0) *= 1./3.*mm;
51 me(1) *= -5./24.*KK;
52 me(2) *= 1./24.*KK;
53 me(3) *= 1./4.*KK;
54 me(4) *= 1./12.*KK;
55
56#if SUSYFIT_DEBUG & 2
57 std::cout << "matrix element: " << me(0) << std::endl;
58#endif
59#if SUSYFIT_DEBUG & 4
60 std::cout << "alsmu" << mySM.Als(2.) << std::endl;
61#endif
62 switch(order) {
63 case FULLNLO:
64 return(((*(allcoeff[LO]) + *(allcoeff[NLO])) * me) / HCUT * 1.e3); // ns^-1
65 case LO:
66 return(((*(allcoeff[LO])) * me) / HCUT * 1.e3); // ns^-1
67 default:
68 throw std::runtime_error("AmpDK2::AmpDK(): order not implemented");
69 }
70}
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
@ FULLNNLO
Definition: OrderScheme.h:39
@ FULLNLO
Definition: OrderScheme.h:38
const double & getMu() const
A get method for the scale of the bag parameters.
Definition: BParameter.h:204
schemes getScheme() const
A get method for the scheme of the bag parameters.
Definition: BParameter.h:222
const gslpp::vector< double > & getBpars() const
A get method for the vector of the bag parameters.
Definition: BParameter.h:176
HeffDF2 & getHDF2() const
The member that returns an object of the class HeffDF2.
Definition: Flavour.cpp:81
gslpp::vector< gslpp::complex > ** ComputeCoeffK(double mu, schemes scheme=NDR) const
Definition: Flavour.cpp:116
WilsonCoefficient getCoeffK() const
Definition: HeffDF2.h:112
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:360
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
const BParameter & getBK() const
For getting the bag parameters corresponding to the operator basis in process in the meson system.
Definition: QCD.h:684
@ K_0
Definition: QCD.h:339
const Meson & getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:526
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1353
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:536
const Flavour & getFlavour() const
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.
orders getOrder() const

◆ AmpDMKNP()

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

compute the NP part of the amplitude for kaon oscillations

Parameters
[in]orderthe QCD order of the computation

Definition at line 72 of file AmpDK2.cpp.

73{
74 if (mySM.getFlavour().getHDF2().getCoeffmK().getOrder() < order % 3)
75 throw std::runtime_error("AmpDMKNP::computeThValue(): requires cofficient of order not computed");
76
77 gslpp::vector<gslpp::complex> ** allcoeff = mySM.getFlavour().ComputeCoeffmK(
78 mySM.getBK().getMu(),
79 mySM.getBK().getScheme());
80
81 gslpp::vector<double> me(mySM.getBK().getBpars());
82 double MK = mySM.getMesons(QCD::K_0).getMass();
83 double Ms = mySM.Mrun(mySM.getBK().getMu(),
86 double Md = mySM.Mrun(mySM.getBK().getMu(),
89 double KK = MK/(Ms+Md)*MK/(Ms+Md);
90 double FK = mySM.getMesons(QCD::K_0).getDecayconst();
91 double mm = MK*FK*FK;
92 KK *= mm;
93 me(0) *= 1./3.*mm;
94 me(1) *= -5./24.*KK;
95 me(2) *= 1./24.*KK;
96 me(3) *= 1./4.*KK;
97 me(4) *= 1./12.*KK;
98
99 switch(order) {
100 case FULLNLO:
101 return(((*(allcoeff[LO]) + *(allcoeff[NLO])) * me) / HCUT * 1.e3); // ns^-1
102 case LO:
103 return(((*(allcoeff[LO])) * me) / HCUT * 1.e3); // ns^-1
104 default:
105 throw "AmpDM2::AmpDMKNP(): order not implemented";
106 }
107}
gslpp::vector< gslpp::complex > ** ComputeCoeffmK(double mu, schemes scheme=NDR) const
Definition: Flavour.cpp:121
WilsonCoefficient getCoeffmK() const
Definition: HeffDF2.h:116

Member Data Documentation

◆ mySM

const StandardModel& AmpDK2::mySM
private

Definition at line 55 of file AmpDK2.h.


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