10#include "std_make_vector.h"
14up(3, 0.), j5p1(3, 0.), j4p1(3, 0.), j5p2(3, 0.), j4p2(1, 0.),
15ub(2, 0.), j5b1(2, 0.), j4b1(2, 0.), j5b2(2, 0.), j4b2(2, 0.),
16up4(3, 0.), up5(3, 0.), ub4(2, 0.), ub5(2, 0.),
18p0(3, 0.), p1(3, 0.), p2(3, 0.), b0(2, 0.), b1(2, 0.), b2(2, 0.),
19r1(3, 0.), r2(3, 0.), CPM0(3, 0.), CPM1(3, 0.), CPM2(3, 0.),
20CBM0(3, 0.), CBM1(3, 0.), CBM2(3, 0.)
23 j5p1(0, 0) = 5165. / 3174.;
24 j5p1(1, 1) = -2267. / 1587.;
25 j5p1(2, 2) = -14924. / 1587.;
26 j5p1(2, 0) = -15857. / 1587.;
27 j5p1(2, 1) = 15305. / 3174.;
29 j5p2(0, 0) = -7.35665;
30 j5p2(1, 1) = -54.9107;
35 j4p1(0, 0) = 6719. / 3750.;
36 j4p1(1, 1) = -3569. / 1875.;
37 j4p1(2, 2) = -15212. / 1875.;
38 j4p1(2, 0) = -15931. / 1875.;
39 j4p1(2, 1) = 5427. / 1250.;
41 j4p2(0, 0) = -10.2451;
42 j4p2(1, 1) = -50.3422;
47 j5b1(1, 0) = 2402. / 1587.;
48 j5b1(1, 1) = -14924. / 1587.;
50 j5b2(1, 0) = 1296371522. / 39457581. - 34624. / 1081. * gsl_sf_zeta(3);
51 j5b2(1, 1) = -177621017. / 7555707. + 800. / 23. * gsl_sf_zeta(3);
53 j5b1(1, 0) = 581. / 1875.;
54 j5b1(1, 1) = -15212. / 1875.;
56 j5b2(1, 0) = 684990354. / 19140625. - 6976. / 245. * gsl_sf_zeta(3);
57 j5b2(1, 1) = -272751559. / 10546875. + 128. / 5. * gsl_sf_zeta(3);
77 p(0) = 4. * 0.5 * 2. / 3. * (11. + 6. * l);
78 p(1) = -4. * 0.5 * 4. / 3. * (11. + 6. * l);
83 p(0) = 4. * (-(135677. - 124095.) / 3600. + 58. / 18. * M_PI * M_PI - 0.5 * (2. / 3.)*
84 (112. / 9. + 34. * x + (20. / 3. + 16. * x) * log(x) - (8. + 16. * x) *
85 sqrt(4. * x - 1.) * gsl_sf_clausen(2. * asin(1. / (2. * sqrt(x))))))
86 + (5. / 36. * 238. * l) + 58. / 6. * l*l;
87 p(1) = -4. * ((135677. + 124095.) / 3600. - 44. / 18. * M_PI * M_PI + 0.5 * (4. / 3.)*
88 (112. / 9. + 34. * x + (20. / 3. + 16. * x) * log(x) - (8. + 16. * x) *
89 sqrt(4. * x - 1.) * gsl_sf_clausen(2. * asin(1. / (2. * sqrt(x))))))
90 + (-5. / 36. * 260. * l) - 44. / 6. * l*l;
91 p(2) = 4. *
model.
getCF()*(33. + 4. * M_PI * M_PI + 34. * l + 12. * l * l);
95 std::stringstream out;
97 throw std::runtime_error(
"CPenguinBox::WMatchB() order" + out.str() +
" not implemented");
108 up(0, 0) = pow(
eta, 6. / 23.);
109 up(1, 1) = pow(
eta, -12. / 23.);
110 up(2, 2) = pow(
eta, 1. / 23.);
111 up(2, 0) = 12. / 5. * (pow(
eta, 6. / 23.) - pow(
eta, 1. / 23.));
112 up(2, 1) = 6. / 13. * (pow(
eta, -12. / 23.) - pow(
eta, 1. / 23.));
118 up(0, 0) = pow(
eta, 6. / 25.);
119 up(1, 1) = pow(
eta, -12. / 25.);
120 up(2, 2) = pow(
eta, -1. / 25.);
121 up(2, 0) = 12. / 7. * (pow(
eta, 6. / 25.) - pow(
eta, -1. / 25.));
122 up(2, 1) = 6. / 11. * (pow(
eta, -12. / 25.) - pow(
eta, -1. / 25.));
126 std::stringstream out;
128 throw std::runtime_error(
"CPenguinBox::RgevolP() " + out.str() +
" wrong number of falvours");
142 return ((-2. / 3.) * log(mub * mub / Mb / Mb)
143 *((284704. / 2645. + 694522. / 20631. *
eta) * pow(
eta, 1. / 23.) - (1033492. / 7935.
144 + 8264. / 529. *
eta) * pow(
eta, 6. / 23.) + (3058. / 1587.
147 + 24. / 13. * (pow(
eta, -12. / 23.) - pow(
eta, 1. / 23.)) *
WMatchP(
NLO)(1))));
153 std::stringstream out;
155 throw std::runtime_error(
"CPenguinBox::BmatchB() order " + out.str() +
" not implemented");
170 b(0) = -4. * (9. + 4. * l);
175 b(0) = -8. *
model.
getCF()*(20. + 2. * M_PI * M_PI + 25. * l + 6. * l * l);
180 std::stringstream out;
182 throw std::runtime_error(
"CPenguinBox::WMatchB() order" + out.str() +
" not implemented");
194 ub(1, 1) = pow(
eta, 1. / 23.);
195 ub(1, 0) = 12. * (1. - pow(
eta, 1. / 23.));
202 ub(1, 1) = pow(
eta, -1. / 25.);
203 ub(1, 0) = -12. * (1. - pow(
eta, -1. / 25.));
207 std::stringstream out;
209 throw std::runtime_error(
"CPenguinBox::RgevolP() " + out.str() +
" wrong number of flavours");
223 return ( -2. / 3. * log(mub * mub / Mb / Mb)*(
224 (238784. / 529. - 9608. / 1587. *
eta) * pow(
eta, 1. / 23.) - 1336. / 3.
231 std::stringstream out;
233 throw std::runtime_error(
"CPenguinBox::BmatchB() order " + out.str() +
" not implemented");
252 double l = log(Muc * Muc / mc / mc);
258 double xtau = pow(1.7769 / Muw, 2.);
261 r1(0) = 4. * (1. - l);
262 r1(1) = -2. * (1. - l);
264 r2(0) = 11. + 20. * l - 12. * l*l;
265 r2(0) = -7. - 12. * l + 12. * l*l;
267 r1tau = 5. + 4. * xtau / (1 - xtau) * log(xtau) + 4. * l;
268 r2tau = -2. *
model.
getCF()*((9. + 7. * xtau) / (1. - xtau) + (3. * xtau + 13. * xtau * xtau) / (1. - xtau) / (1. - xtau)
269 - 12. * xtau * gsl_sf_dilog(1. - xtau) / (1. - xtau)
270 -((1. - 13. * xtau) / (1. - xtau) - 12. * xtau * xtau / (1. - xtau) / (1. - xtau) * log(xtau)) * l - 6. * l * l);
360 cpm = pow(mc / Muw, 2.) / 32. * 4. * M_PI / A * (
365 A / 4. / M_PI * A / 4. / M_PI * (
CPM2(2) + 4. *
CPM0(0) *
r2(0) + 4. *
CPM1(0) *
r1(0)
369 cbmt = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A * (
377 cbme = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A * (
438 cpm = pow(mc / Muw, 2.) / 32. * 4. * M_PI / A * (
444 cbmt = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A * (
449 cbme = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A * (
480 cpm = pow(mc / Muw, 2.) / 32. * 4. * M_PI / A *
CPM0(2);
482 cbmt = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A *
CBM0(1);
484 cbme = pow(mc / Muw, 2.) / 16. * 4. * M_PI / A *
CBM0(1);
487 std::stringstream out;
489 throw std::runtime_error(
"CPenguinBox::Cmatch() order " + out.str() +
" not implemented");
492 return (3. *
cpm + 2. / 3. *
cbme + 1. / 3. *
cbmt);
515 std::stringstream out;
517 throw std::runtime_error(
"CPenguinBox::CT_tot() order_qed " + out.str() +
" not implemented");
531 std::stringstream out;
533 throw std::runtime_error(
"CPenguinBox::CT_tot() order_qed " + out.str() +
" not implemented");
547 std::stringstream out;
549 throw std::runtime_error(
"CPenguinBox::CT_tot() order_qed " + out.str() +
" not implemented");
552 std::stringstream out;
554 throw std::runtime_error(
"CPenguinBox::CT_tot() order " + out.str() +
" not implemented");
const gslpp::complex computelamc() const
The product of the CKM elements .
const gslpp::complex computelamt() const
The product of the CKM elements .
const double getLambda() const
A member for returning the value of the Wolfenstein parameter .
gslpp::vector< double > CBM1
gslpp::vector< double > p0
const StandardModel & model
gslpp::vector< double > b
gslpp::matrix< double > j4p2
gslpp::vector< double > p1
gslpp::matrix< double > up5
gslpp::matrix< double > RGevolP(int nf)
CPenguinBox(const StandardModel &model_i)
constructor
gslpp::matrix< double > RGevolB(int nf)
double BmatchB(orders order)
double BmatchP(orders order)
gslpp::vector< double > WMatchB(orders order)
gslpp::vector< double > CBM2
gslpp::matrix< double > j4b2
gslpp::matrix< double > j5b1
gslpp::vector< double > p
gslpp::vector< double > b0
gslpp::vector< double > r2
gslpp::matrix< double > up4
gslpp::matrix< double > up
gslpp::vector< double > p2
gslpp::vector< double > r1
double CT_tot(orders order, orders_qed order_qed)
NNLO QCD correction from hep-ph/0603079, two loop EW corrections from hep-ph/1009....
double Cmatch(orders order)
gslpp::matrix< double > j5p1
gslpp::matrix< double > ub5
gslpp::matrix< double > j5b2
gslpp::vector< double > CPM0
gslpp::matrix< double > ub4
gslpp::matrix< double > j4p1
gslpp::matrix< double > j5p2
gslpp::vector< double > b2
gslpp::vector< double > CBM0
gslpp::vector< double > b1
gslpp::vector< double > CPM1
gslpp::vector< double > CPM2
gslpp::matrix< double > ub
gslpp::vector< double > WMatchP(orders order)
gslpp::matrix< double > j4b1
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
const double & getMass() const
A get method to access the particle mass.
const double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
const double getCF() const
A get method to access the Casimir factor of QCD.
const double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
const double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
A model class for the Standard Model.
const double getMuw() const
A get method to retrieve the matching scale around the weak scale.
const CKM & getCKM() const
A get method to retrieve the member object of type CKM.
virtual StandardModelMatching & getMatching() const
A get method to access the member reference of type StandardModelMatching.
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.
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 .
orders
An enum type for orders in QCD.
orders_qed
An enum type for orders in electroweak.