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

#include <AmpDS1.h>

+ Inheritance diagram for AmpDS1:

Detailed Description

Definition at line 16 of file AmpDS1.h.

Public Member Functions

 AmpDS1 (const StandardModel &SM_i)
 compute the amplitude for \( K_L \) decay in 2 pion More...
 

Protected Member Functions

gslpp::complex AmpDS1pp0 (orders order)
 
gslpp::complex AmpDS1pp2 (orders order)
 

Private Attributes

const StandardModelmySM
 

Constructor & Destructor Documentation

◆ AmpDS1()

AmpDS1::AmpDS1 ( const StandardModel SM_i)

compute the amplitude for \( K_L \) decay in 2 pion

Parameters
Flavour

Definition at line 13 of file AmpDS1.cpp.

14 : mySM(SM_i)
15 {
16  mySM.initializeBParameter("BKd1");
17  mySM.initializeBParameter("BKd3");
18 }

Member Function Documentation

◆ AmpDS1pp0()

gslpp::complex AmpDS1::AmpDS1pp0 ( orders  order)
protected
Parameters
order
Returns
the amplitude for \( K_L \) decay in 2 pion with 0 isospin change

Definition at line 20 of file AmpDS1.cpp.

21 {
22  if (mySM.getFlavour().getHDS1().getCoeffDS1PP().getOrder() < order){
23  std::stringstream out;
24  out << order;
25  throw std::runtime_error("AmpDK1::computeThValue(): requires cofficient of order"
26  + out.str() + "not computed");
27  }
28 
30  mySM.getBKd1().getMu(),
31  mySM.getBKd1().getScheme());
32 
34 
35  double MK = mySM.getMesons(QCD::K_0).getMass();
36  double MP = mySM.getMesons(QCD::P_0).getMass();
37  double FK = mySM.getMesons(QCD::K_0).getDecayconst();
38  double FP = mySM.getMesons(QCD::P_0).getDecayconst();
39  double Ms = mySM.Mrun(mySM.getBKd1().getMu(),
42  double Md = mySM.Mrun(mySM.getBKd1().getMu(),
45 
46  double X = sqrt(1.5)*FP*(MK*MK-MP*MP);
47  double KK = FP/(FK-FP);
48  double Q6b = -4.*sqrt(1.5)*(MK*MK/(Ms+Md))*(MK*MK/(Ms+Md))*FP/KK;
49 
50  me1(0) *= -1./9.*X;
51  me1(1) *= 5./9.*X;
52  me1(2) *= 1./3.*X;
53  me1(3) = me1(2)+me1(1)-me1(0);
54  me1(4) *= Q6b/3.;
55  me1(5) *= Q6b;
56  me1(6) *= -(1./6.*Q6b*(KK+1)-0.5*X);
57  me1(7) *= -(0.5*Q6b*(KK+1)-1./6.*X);
58  me1(8) = 1.5*me1(0)-0.5*me1(2);
59  me1(9) = me1(1)+0.5*me1(0)-0.5*me1(2);
60  me1(10) *= 0.;
61  me1(11) *= 0.;
62 
63  switch(order) {
64  case NLO:
65  return((*(allcoeff[LO]) + *(allcoeff[NLO])) * me1);
66  case LO:
67  return((*(allcoeff[LO])) * me1);
68  default:
69  std::stringstream out;
70  out << order;
71  throw std::runtime_error("AmpDK1::AmpDK(): order " + out.str() + "not implemented");
72  }
73 }

◆ AmpDS1pp2()

gslpp::complex AmpDS1::AmpDS1pp2 ( orders  order)
protected
Parameters
order
Returns
the amplitude for \( K_L \) decay in 2 pion with double isospin change

Definition at line 75 of file AmpDS1.cpp.

76 {
77  if (mySM.getFlavour().getHDS1().getCoeffDS1PP().getOrder() < order){
78  std::stringstream out;
79  out << order;
80  throw std::runtime_error("AmpDK1::computeThValue(): requires cofficient of "
81  "order" + out.str() + "not computed");
82  }
83 
85  mySM.getBKd3().getMu(),
86  mySM.getBKd3().getScheme());
87 
89 
90  double MK = mySM.getMesons(QCD::K_0).getMass();
91  double MP = mySM.getMesons(QCD::P_0).getMass();
92  double FK = mySM.getMesons(QCD::K_0).getDecayconst();
93  double FP = mySM.getMesons(QCD::P_0).getDecayconst();
94  double Ms = mySM.Mrun(mySM.getBKd3().getMu(),
97  double Md = mySM.Mrun(mySM.getBKd3().getMu(),
100 
101  double X = sqrt(1.5)*FP*(MK*MK-MP*MP);
102  double KK = FP/(FK-FP);
103  double Q6b = -4.*sqrt(1.5)*(MK*MK/(Ms+Md))*(MK*MK/(Ms+Md))*FP/KK;
104 
105  me2(0) *= 4./9.*sqrt(2.)*X;
106  me2(1) *= me2(0);
107  me2(2) *= 0.;
108  me2(3) *= 0.;
109  me2(4) *= 0.;
110  me2(5) *= 0.;
111  me2(6) *= -(KK/6./sqrt(2.)*Q6b*(KK+1)-X/sqrt(2.));
112  me2(7) *= -(KK/2./sqrt(2.)*Q6b*(KK+1)-sqrt(2.)/6.*X);
113  me2(8) = 1.5*me2(0);
114  me2(9) = 1.5*me2(0);
115  me2(10) = 0.;
116  me2(11) = 0.;
117 
118  switch(order) {
119  case NLO:
120  return((*(allcoeff[LO]) + *(allcoeff[NLO])) * me2);
121  case LO:
122  return((*(allcoeff[LO])) * me2);
123  default:
124  std::stringstream out;
125  out << order;
126  throw std::runtime_error("AmpDK1::AmpDK(): order " + out.str() + "not implemented");;
127  }
128 }

Member Data Documentation

◆ mySM

const StandardModel& AmpDS1::mySM
private

Definition at line 42 of file AmpDS1.h.


The documentation for this class was generated from the following files:
QCD::getBKd3
BParameter getBKd3() const
Definition: QCD.h:657
QCD::initializeBParameter
void initializeBParameter(std::string name_i) const
A method to initialize B Parameter and the corresponding meson.
Definition: QCD.cpp:192
BParameter::getBpars
const gslpp::vector< double > & getBpars() const
A get method for the vector of the bag parameters.
Definition: BParameter.h:176
LO
Definition: OrderScheme.h:33
Particle::getMass_scale
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
AmpDS1::mySM
const StandardModel & mySM
Definition: AmpDS1.h:42
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
Particle::getMass
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
QCD::getMesons
Meson getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:524
Meson::getDecayconst
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:360
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
gslpp::vector< double >
A class for constructing and defining operations on real vectors.
Definition: gslpp_vector_double.h:33
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1020
Flavour::getHDS1
HeffDS1 & getHDS1() const
The member that returns an object of the class HeffDS1.
Definition: Flavour.cpp:49
HeffDS1::getCoeffDS1PP
WilsonCoefficient getCoeffDS1PP() const
Definition: HeffDS1.h:47
QCD::P_0
Definition: QCD.h:337
BParameter::getScheme
schemes getScheme() const
A get method for the scheme of the bag parameters.
Definition: BParameter.h:222
QCD::K_0
Definition: QCD.h:339
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
QCD::STRANGE
Definition: QCD.h:327
QCD::getBKd1
BParameter getBKd1() const
Definition: QCD.h:649
NLO
Definition: OrderScheme.h:34
Flavour::ComputeCoeffDS1PP
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1PP(double mu, schemes scheme=NDR) const
Definition: Flavour.cpp:84
FULLNNLO
Definition: OrderScheme.h:38
QCD::DOWN
Definition: QCD.h:325
gslpp::vector< gslpp::complex >
BParameter::getMu
const double & getMu() const
A get method for the scale of the bag parameters.
Definition: BParameter.h:204