a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
BR_Kmumu.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "BR_Kmumu.h"
9 #include "StandardModel.h"
10 #include "std_make_vector.h"
11 #include "HeffDS1.h"
12 
14 : ThObservable(SM_i), mySM(SM_i), CPB(SM)
15 {
16  setParametersForObservable(make_vector<std::string>() << "Br_Kp_munu" << "DeltaP_cu");
19 }
20 
22 {
23  double theta= asin(sqrt( (M_PI * mySM.getAle() )/( sqrt(2) * mySM.getGF() *
24  mySM.Mw_tree() * mySM.Mw_tree()) ));
25 
26  return((mySM.getMesons(QCD::K_0).getLifetime() / HCUT / mySM.getMesons(QCD::K_P).getLifetime() / HCUT)
27  * mySM.getAle()*mySM.getAle()/(2.*M_PI*M_PI*pow(sin(theta),4.))
28  * mySM.getOptionalParameter("Br_Kp_munu") * BRKmumu(NLO).real());
29 }
30 
32 {
33  if (mySM.getFlavour().getHDS1().getCoeffDS1mumu().getOrder() < order){
34  std::stringstream out;
35  out << order;
36  throw std::runtime_error("BRKmumu::computeThValue(): requires cofficient of "
37  "order" + out.str() + "not computed");
38  }
39 
41 
42  switch(order) {
43  case NLO:
44  return((*(allcoeff[LO]) + *(allcoeff[NLO])) *
45  (*(allcoeff[LO]) + *(allcoeff[NLO]))
46  + CPB.X_ch() );
47  case LO:
48  return((*(allcoeff[LO])) *
49  (*(allcoeff[LO]))
50  + CPB.X_ch() );
51  default:
52  std::stringstream out;
53  out << order;
54  throw std::runtime_error("BRKmumu::BRKmumu(): order " + out.str() + "not implemented");;
55  }
56 }
std_make_vector.h
CPenguinBoxMu::X_ch
double X_ch()
Definition: CPenguinBoxMu.cpp:54
ThObservable::setParametersForObservable
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
Flavour::ComputeCoeffDS1mumu
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1mumu() const
Definition: Flavour.cpp:94
gslpp::sin
complex sin(const complex &z)
Definition: gslpp_complex.cpp:420
QCD::initializeMeson
void initializeMeson(QCD::meson meson_i) const
A method to initialize a meson.
Definition: QCD.cpp:236
make_vector
Definition: std_make_vector.h:15
LO
Definition: OrderScheme.h:33
StandardModel.h
HeffDS1::getCoeffDS1mumu
WilsonCoefficient getCoeffDS1mumu() const
Definition: HeffDS1.h:59
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
BR_Kmumu::computeThValue
double computeThValue()
Definition: BR_Kmumu.cpp:21
HeffDS1.h
BR_Kmumu::BR_Kmumu
BR_Kmumu(StandardModel &SM_i)
Definition: BR_Kmumu.cpp:13
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
StandardModel::getGF
double getGF() const
A get method to retrieve the Fermi constant .
Definition: StandardModel.h:739
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
BR_Kmumu::BRKmumu
gslpp::complex BRKmumu(orders order)
Definition: BR_Kmumu.cpp:31
QCD::K_P
Definition: QCD.h:340
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1020
Meson::getLifetime
double getLifetime() const
A get method for the lifetime of the meson.
Definition: Meson.h:351
Flavour::getHDS1
HeffDS1 & getHDS1() const
The member that returns an object of the class HeffDS1.
Definition: Flavour.cpp:49
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
BR_Kmumu::CPB
CPenguinBoxMu CPB
Definition: BR_Kmumu.h:82
BR_Kmumu.h
StandardModel::Mw_tree
virtual double Mw_tree() const
The tree-level mass of the boson, .
Definition: StandardModel.cpp:951
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
QCD::K_0
Definition: QCD.h:339
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
QCD::getOptionalParameter
double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
Definition: QCD.h:448
NLO
Definition: OrderScheme.h:34
StandardModel::getAle
double getAle() const
A get method to retrieve the fine-structure constant .
Definition: StandardModel.h:748
gslpp::vector< gslpp::complex >
BR_Kmumu::mySM
StandardModel & mySM
Definition: BR_Kmumu.h:81