a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Kmunu_o_Pmunu Class Reference

A class for \( (K\to \lepton \nu) / (\pi \to \lepton \nu) \). More...

#include <Kmunu_o_Pmunu.h>

+ Inheritance diagram for Kmunu_o_Pmunu:

Detailed Description

A class for \( (K\to \lepton \nu) / (\pi \to \lepton \nu) \).

Author
HEPfit Collaboration

This class is used to compute the theoretical value of branching ratio of \( (K\to \lepton \nu) / (\pi \to \lepton \nu) \).

Definition at line 30 of file Kmunu_o_Pmunu.h.

Public Member Functions

double computeThValue ()
 arXiv:1206.2634v2 More...
 
 Kmunu_o_Pmunu (const StandardModel &SM_i)
 Constructor. More...
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin. More...
 
double getBinMin ()
 A get method to get the minimum value of the bin. More...
 
const StandardModelgetModel ()
 A get method to get the model. More...
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable. More...
 
void setBinMax (double max)
 A set method to set the maximum value of the bin. More...
 
void setBinMin (double min)
 A set method to set the minimum value of the bin. More...
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable. More...
 
 ThObservable (const StandardModel &SM_i)
 Constructor. More...
 
 ThObservable (const ThObservable &orig)
 The copy constructor. More...
 
virtual ~ThObservable ()
 The default destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum. More...
 
double min
 The bin minimum. More...
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable More...
 
const StandardModelSM
 A reference to an object of StandardMode class. More...
 

Constructor & Destructor Documentation

◆ Kmunu_o_Pmunu()

Kmunu_o_Pmunu::Kmunu_o_Pmunu ( const StandardModel SM_i)

Constructor.

Parameters
[in]SM_ia reference to an object of type StandardModel

Definition at line 16 of file Kmunu_o_Pmunu.cpp.

17: ThObservable(SM_i)
18{
19
20
21 setParametersForObservable(make_vector<std::string>() << "fKofP" << "delKl2Pl2em");
24
25};
@ K_P
Definition: QCD.h:340
@ P_P
Definition: QCD.h:338
void initializeMeson(QCD::meson meson_i) const
A method to initialize a meson.
Definition: QCD.cpp:280
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121

Member Function Documentation

◆ computeThValue()

double Kmunu_o_Pmunu::computeThValue ( )
virtual

arXiv:1206.2634v2

Returns
theoretical value of | \( BR(D \rightarrow \lepton \nu) \)|

Implements ThObservable.

Definition at line 28 of file Kmunu_o_Pmunu.cpp.

29{
30 //The WC are written in the LEFT basis of arxiv:1709.04486 the expressions can be found in arxiv:1706.00410 and arxiv:1605.07114
31 gslpp::vector<gslpp::complex> ** allcoeff_K_mu_nu = SM.getFlavour().ComputeCoeffdiujlknu(1,0,1,SM.getQuarks(QCD::UP).getMass_scale());
32 gslpp::vector<gslpp::complex> ** allcoeff_P_mu_nu = SM.getFlavour().ComputeCoeffdiujlknu(0,0,1,SM.getQuarks(QCD::UP).getMass_scale());
33
34
35 double mK = SM.getMesons(QCD::K_P).getMass();
36 double mP = SM.getMesons(QCD::P_P).getMass();
37
38
39 double mu = SM.getQuarks(QCD::UP).getMass();
40 double md = SM.getQuarks(QCD::DOWN).getMass();
41 double ms = SM.getQuarks(QCD::STRANGE).getMass();
42 double mmu = SM.getLeptons(StandardModel::MU).getMass();
43
44
45
46
47 //double delKl2Pl2em = -0.0070;
48 //double fKofP = 1.1932;
49
50
51 double fKofP = SM.getOptionalParameter("fKofP"); // this is the ratio of charged meson decay constants in the SU(2)-symmetric limit
52 double delKl2Pl2em = SM.getOptionalParameter("delKl2Pl2em"); //this is the non-perturbative EM + strong isospin violation correction to the ratio of decay rates
53
54
55 double num = ((*(allcoeff_K_mu_nu[LO]))(0) -(*(allcoeff_K_mu_nu[LO]))(1) + mK * mK / (ms+mu) / mmu * ((*(allcoeff_K_mu_nu[LO]))(2) - (*(allcoeff_K_mu_nu[LO]))(3))).abs2();
56 double den = ((*(allcoeff_P_mu_nu[LO]))(0) -(*(allcoeff_P_mu_nu[LO]))(1) + mP * mP / (md+mu) / mmu * ((*(allcoeff_P_mu_nu[LO]))(2) - (*(allcoeff_P_mu_nu[LO]))(3))).abs2();
57
58 //double WCnum = 1.0;
59 //double WCden = 1.0;
60
61 //return 1.;
62 return mK/mP * (1-mmu*mmu/mK/mK) * (1-mmu*mmu/mK/mK)/(1-mmu*mmu/mP/mP)/(1-mmu*mmu/mP/mP)*fKofP*fKofP*(1+delKl2Pl2em)*num/den;
63
64}
@ LO
Definition: OrderScheme.h:34
gslpp::vector< gslpp::complex > ** ComputeCoeffdiujlknu(int i, int j, int k, double mu) const
Computes the Wilson coefficient for the Hamiltonian transitions in the JMS basis ordered as CnueduVL...
Definition: Flavour.cpp:152
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
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
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
@ UP
Definition: QCD.h:324
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
@ MU
Definition: QCD.h:314
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 Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const Flavour & getFlavour() const

The documentation for this class was generated from the following files: