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
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
31gslpp::complex BR_Kmumu::BRKmumu(orders order)
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
40 gslpp::vector<gslpp::complex> ** allcoeff = mySM.getFlavour().ComputeCoeffDS1mumu();
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}
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
gslpp::complex BRKmumu(orders order)
Definition: BR_Kmumu.cpp:31
StandardModel & mySM
Definition: BR_Kmumu.h:81
CPenguinBoxMu CPB
Definition: BR_Kmumu.h:82
BR_Kmumu(StandardModel &SM_i)
Definition: BR_Kmumu.cpp:13
double computeThValue()
Definition: BR_Kmumu.cpp:21
HeffDS1 & getHDS1() const
The member that returns an object of the class HeffDS1.
Definition: Flavour.cpp:91
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1mumu() const
Definition: Flavour.cpp:146
WilsonCoefficient getCoeffDS1mumu() const
Definition: HeffDS1.h:62
double getLifetime() const
A get method for the lifetime of the meson.
Definition: Meson.h:351
@ K_P
Definition: QCD.h:340
@ K_0
Definition: QCD.h:339
const double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
Definition: QCD.h:450
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
void initializeMeson(QCD::meson meson_i) const
A method to initialize a meson.
Definition: QCD.cpp:280
A model class for the Standard Model.
const Flavour & getFlavour() const
const double getGF() const
A get method to retrieve the Fermi constant .
const double Mw_tree() const
The tree-level mass of the boson, .
const double getAle() const
A get method to retrieve the fine-structure constant .
A class for a model prediction of an observable.
Definition: ThObservable.h:25
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
orders getOrder() const
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:33