AmpDK2.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "AmpDK2.h"
9 
11 : mySM(SM_i)
12 {}
13 
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 }
51 
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 }
88 
WilsonCoefficient getCoeffK() const
Definition: HeffDF2.h:109
gslpp::complex AmpDK(orders order)
Definition: AmpDK2.cpp:14
const StandardModel & mySM
Definition: AmpDK2.h:43
schemes getScheme() const
A get method for the scheme of the bag parameters.
Definition: BParameter.h:88
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
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
A model class for the Standard Model.
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
gslpp::complex AmpMK(orders order)
Definition: AmpDK2.cpp:52
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
AmpDK2(const StandardModel &SM_i)
compute the amplitude for kaon oscillations
Definition: AmpDK2.cpp:10
A class for constructing and defining operations on real vectors.
orders getOrder() const
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::vector< gslpp::complex > ** ComputeCoeffK(double mu, schemes scheme=NDR)
Definition: Flavour.h:98
WilsonCoefficient getCoeffmK() const
Definition: HeffDF2.h:113
gslpp::vector< gslpp::complex > ** ComputeCoeffmK(double mu, schemes scheme=NDR)
Definition: Flavour.h:102