a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
BR_Bsnunu.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_Bsnunu.h"
9#include "StandardModel.h"
10#include "std_make_vector.h"
11#include "HeffDB1.h"
12
14: ThObservable(SM_i), mySM(SM_i)
15{
16 setParametersForObservable(make_vector<std::string>() << "Br_B_Xcenu");
17}
18
20{
21 double theta= asin(sqrt( (M_PI * mySM.getAle() )/( sqrt(2) *
22 mySM.getGF() * mySM.Mw_tree() *
23 mySM.Mw_tree()) ));
24
25 double z = mySM.getQuarks(QCD::CHARM).getMass()/
27
28
29 return(3.*mySM.getAle()*mySM.getAle()/(4.*M_PI*M_PI*pow(sin(theta),4.)) *
30 mySM.getOptionalParameter("Br_B_Xcenu") *
31 BRBsnunu(NLO).real() * (1.+2.*mySM.Als(mySM.getMub())/3./M_PI)*(25./4.-M_PI*M_PI)
32 /(1. - 8.*z*z + 8.*z*z*z*z*z*z - z*z*z*z*z*z*z*z - 24.*z*z*z*z*log(z))
33 /(1. - 2.*mySM.Als(mySM.getMub())/3./M_PI*((M_PI*M_PI-31./4.)*(1.-z*z)+1.5)));
34}
35
36gslpp::complex BR_Bsnunu::BRBsnunu(orders order)
37{
38 if (mySM.getFlavour().getHDB1().getCoeffsnunu().getOrder() < order){
39 std::stringstream out;
40 out << order;
41 throw std::runtime_error("BRBsnunu::computeThValue(): requires cofficient of "
42 "order" + out.str() + "not computed");
43 }
44
45 gslpp::vector<gslpp::complex> ** allcoeff = mySM.getFlavour().ComputeCoeffsnunu();
46
47 switch(order) {
48 case NLO:
49 return((*(allcoeff[LO]) + *(allcoeff[NLO])) *
50 (*(allcoeff[LO]) + *(allcoeff[NLO])));
51 case LO:
52 return((*(allcoeff[LO])) *
53 (*(allcoeff[LO])));
54 default:
55 std::stringstream out;
56 out << order;
57 throw std::runtime_error("BRBsnunu::BRBsnunu(): order " + out.str() + "not implemented");;
58 }
59}
60
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
double computeThValue()
hep-ph/9512380v2
Definition: BR_Bsnunu.cpp:19
gslpp::complex BRBsnunu(orders order)
the short distance contribution to the | |
Definition: BR_Bsnunu.cpp:36
StandardModel & mySM
Definition: BR_Bsnunu.h:72
BR_Bsnunu(StandardModel &SM_i)
Constructor.
Definition: BR_Bsnunu.cpp:13
gslpp::vector< gslpp::complex > ** ComputeCoeffsnunu(QCD::lepton lepton=QCD::NOLEPTON, bool noSM=false) const
Definition: Flavour.cpp:169
HeffDB1 & getHDB1() const
The member that returns an object of the class HeffDB1.
Definition: Flavour.cpp:96
WilsonCoefficient getCoeffsnunu() const
Definition: HeffDB1.h:188
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
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
@ BOTTOM
Definition: QCD.h:329
@ CHARM
Definition: QCD.h:326
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:536
const double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
Definition: QCD.h:582
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 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 .
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