a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
tauKnu_o_tauPnu.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2023 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8
9#include "tauKnu_o_tauPnu.h"
10#include "StandardModel.h"
11#include "std_make_vector.h"
12
13
14
15
17: ThObservable(SM_i)
18{
19
20
21 setParametersForObservable(make_vector<std::string>() << "fKofP" << "deltauK2tauP2em");
24
25};
26
27
29{
30 double mtau = SM.getLeptons(StandardModel::TAU).getMass();
31
32 //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 in a similar basis
33 gslpp::vector<gslpp::complex> ** allcoeff_tau_K_nu = SM.getFlavour().ComputeCoeffdiujlknu(1,0,2,mtau);
34 gslpp::vector<gslpp::complex> ** allcoeff_tau_P_nu = SM.getFlavour().ComputeCoeffdiujlknu(0,0,2,mtau);
35
36
37 double mK = SM.getMesons(QCD::K_P).getMass();
38 double mP = SM.getMesons(QCD::P_P).getMass();
39
40
41 double mu = SM.getQuarks(QCD::UP).getMass();
42 double md = SM.getQuarks(QCD::DOWN).getMass();
43 double ms = SM.getQuarks(QCD::STRANGE).getMass();
44
45 //double deltauK2tauP2em= 0.0004;
46 //double fKofP = 1.1932;
47
48
49 double fKofP = SM.getOptionalParameter("fKofP");
50 double deltauK2tauP2em = SM.getOptionalParameter("deltauK2tauP2em");
51
52
53 double num = ((*(allcoeff_tau_K_nu[LO]))(0) -(*(allcoeff_tau_K_nu[LO]))(1) + mK * mK / (ms+mu) / mtau * ((*(allcoeff_tau_K_nu[LO]))(2) - (*(allcoeff_tau_K_nu[LO]))(3))).abs2();
54 double den = ((*(allcoeff_tau_P_nu[LO]))(0) -(*(allcoeff_tau_P_nu[LO]))(1) + mP * mP / (md+mu) / mtau * ((*(allcoeff_tau_P_nu[LO]))(2) - (*(allcoeff_tau_P_nu[LO]))(3))).abs2();
55
56 //double WCnum = 1.0;
57 //double WCden = 1.0;
58
59 //return 1.;
60 return (1-mK*mK/mtau/mtau) * (1-mK*mK/mtau/mtau)/(1-mP*mP/mtau/mtau)/(1-mP*mP/mtau/mtau)*fKofP*fKofP*(1+deltauK2tauP2em)*num/den;
61
62}
@ 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
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
@ K_P
Definition: QCD.h:340
@ P_P
Definition: QCD.h:338
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
@ TAU
Definition: QCD.h:316
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
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 Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const Flavour & getFlavour() const
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
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
tauKnu_o_tauPnu(const StandardModel &SM_i)
Constructor.
double computeThValue()
arXiv:1206.2634v2