a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
CPenguinBoxMu.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 "CPenguinBoxMu.h"
9 #include "StandardModel.h"
10 
12 : model(model_i), modelmatching(model_i.getMatching())
13 {}
14 
16 {}
17 
19 {
20  double muc = model.getMuc();
21  double Mw = model.getMuw();
22  double mc = model.Mrun(muc, model.getQuarks(QCD::CHARM).getMass_scale(),
24 
25  double K = model.Als(Mw) / model.Als(muc);
26  double Kc = model.Als(muc) / model.Als(mc);
27  double Kp = pow(K, 6. / 25.);
28  double Km = pow(K, -12. / 25.);
29  double K3 = pow(K, -1. / 25.);
30 
31  return ( (mc * mc / Mw / Mw) / 32. * pow(Kc, 24. / 25.)*
32  ((48. / 7. * Kp + 24. / 11. * Km - 696. / 77. * K3)*(4. * M_PI / model.Als(muc) + 15212. / 1875. * (1. - 1. / Kc))
33  + (1. - log(muc * muc / mc / mc))*(16. * Kp - 8. * Km) - 1176244. / 13125. * Kp - 2302. / 6875. * Km
34  + 3529184. / 48125. * K3 + K * (56248. / 4375. * Kp - 81448. / 6875. * Km +
35  4563698. / 144375 * K3)));
36 }
37 
39 {
40  double muc = model.getMuc();
41  double Mw = model.getMuw();
42  double mc = model.Mrun(muc, model.getQuarks(QCD::CHARM).getMass_scale(),
44 
45  double K = model.Als(Mw) / model.Als(muc);
46  double Kc = model.Als(muc) / model.Als(mc);
47  double K3 = pow(K, -1. / 25.);
48 
49  return ( (mc * mc / Mw / Mw)*.25 * pow(Kc, 24. / 25.)*
50  (3. * (1. - K3)*(4. * M_PI / model.Als(muc) + 15212. / 1875. * (1. - 1. / Kc))
51  - -log(muc * muc / mc / mc) - 329. / 12. + 15212. / 625. * K3 + 30581. / 7500. * K * K3));
52 }
53 
55 {
56 
59  double a = model.getCKM().computelamc().real() / model.getCKM().getLambda()*(C_NL() - B_NL());
60  double b = model.getCKM().computelamt().real() / model.getCKM().getLambda()*
61  (modelmatching.Y0(x) + model.Als(model.getMuw()) / 4. / M_PI * modelmatching.Y1(x, model.getMuw()));
62 
63  return ( a * a + 2. * a * b);
64 }
CPenguinBoxMu::X_ch
double X_ch()
Definition: CPenguinBoxMu.cpp:54
CPenguinBoxMu::CPenguinBoxMu
CPenguinBoxMu(const StandardModel &model_i)
constructor
Definition: CPenguinBoxMu.cpp:11
StandardModel.h
QCD::CHARM
Definition: QCD.h:326
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
CPenguinBoxMu::model
const StandardModel & model
Definition: CPenguinBoxMu.h:54
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
CPenguinBoxMu::B_NL
double B_NL()
hep-ph/9512380v2, page 99.
Definition: CPenguinBoxMu.cpp:38
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
CKM::getLambda
double getLambda() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:78
CPenguinBoxMu::modelmatching
const StandardModelMatching & modelmatching
Definition: CPenguinBoxMu.h:55
Particle::getMass
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
QCD::TOP
Definition: QCD.h:328
CPenguinBoxMu.h
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
QCD::getMuc
double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
Definition: QCD.h:579
StandardModel::Als
double Als(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
The running QCD coupling in the scheme including QED corrections.
Definition: StandardModel.cpp:602
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
StandardModel::Mw_tree
virtual double Mw_tree() const
The tree-level mass of the boson, .
Definition: StandardModel.cpp:951
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
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
CPenguinBoxMu::C_NL
double C_NL()
hep-ph/9512380v1, page 92.
Definition: CPenguinBoxMu.cpp:18
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
CPenguinBoxMu::~CPenguinBoxMu
~CPenguinBoxMu()
destructor
Definition: CPenguinBoxMu.cpp:15
CKM::computelamt
gslpp::complex computelamt() const
The product of the CKM elements .
Definition: CKM.cpp:104
CKM::computelamc
gslpp::complex computelamc() const
The product of the CKM elements .
Definition: CKM.cpp:109
FULLNNLO
Definition: OrderScheme.h:38
StandardModel::getCKM
CKM getCKM() const
A get method to retrieve the member object of type CKM.
Definition: StandardModel.h:879
StandardModel::getMuw
double getMuw() const
A get method to retrieve the matching scale around the weak scale.
Definition: StandardModel.h:938