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

A class for the branching ratio of \(K^+\to\pi^+\nu\bar{\nu}\). More...

#include <BR_Kppnunu.h>

+ Inheritance diagram for BR_Kppnunu:

Detailed Description

A class for the branching ratio of \(K^+\to\pi^+\nu\bar{\nu}\).

Author
HEPfit Collaboration

This class is used to compute the theoretical value of the branching ratio of \(K^+\to\pi^+\nu\bar{\nu}\).

Model parameters

The model parameters of BR_Kppnunu are summarized below:

Label LaTeX symbol Description
Br_Kp_P0enu \(\mathrm{BR}(K^+\to\pi^0e^+\nu)\) The experimental value for the branching ratio of \(K^+\to\pi^0e^+\nu\).
DeltaP_cu \(\) The long-distance correction to the charm contribution of \(K^+\to\pi^+\nu\bar{\nu}\).
IB_Kp \(\) The isospin breaking corrections between \(K^+\to\pi^+ \nu\bar{\nu}\) and \(K^+\to\pi^0 e^+\nu\).

Definition at line 57 of file BR_Kppnunu.h.

Public Member Functions

 BR_Kppnunu (StandardModel &SM_i)
 
double computeThValue ()
 
- 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...
 

Protected Member Functions

gslpp::complex BRKppnunu (orders order, orders_qed order_qed)
 
gslpp::complex P_C (orders order)
 

Private Attributes

Charm_Kpnunu CKpnunu
 
StandardModelmySM
 

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

◆ BR_Kppnunu()

BR_Kppnunu::BR_Kppnunu ( StandardModel SM_i)

constructor

Parameters
Flavour

Definition at line 13 of file BR_Kppnunu.cpp.

14 : ThObservable(SM_i), mySM(SM_i), CKpnunu(SM)
15 {
16  setParametersForObservable(make_vector<std::string>() << "Br_Kp_P0enu" << "DeltaP_cu" << "IB_Kp");
17 }

Member Function Documentation

◆ BRKppnunu()

gslpp::complex BR_Kppnunu::BRKppnunu ( orders  order,
orders_qed  order_qed 
)
protected
Parameters
order
order_qed
Returns
the short distance contribution to the | \( BR(K^{+} \rightarrow \pi^{+} \nu \bar{\nu}) \)|, for example see hep-ph/0603079 section 2.3

Definition at line 28 of file BR_Kppnunu.cpp.

29 {
30  if (mySM.getFlavour().getHDS1().getCoeffDS1pnunu().getOrder() < order){
31  std::stringstream out;
32  out << order;
33  throw std::runtime_error("BRKppnunu::computeThValue(): requires cofficient of "
34  "order" + out.str() + "not computed");
35  }
36 
38 
39  switch(order_qed) {
40  case NLO_QED11:
41  return((*(allcoeff[LO]) + *(allcoeff[NLO]) + *(allcoeff[NLO_QED11])) *
42  (*(allcoeff[LO]) + *(allcoeff[NLO]) + *(allcoeff[NLO_QED11])) +
44  case LO_QED:
45  switch(order) {
46  case NLO:
47  return((*(allcoeff[LO]) + *(allcoeff[NLO])) *
48  (*(allcoeff[LO]) + *(allcoeff[NLO])) +
50  case LO:
51  return((*(allcoeff[LO])) * (*(allcoeff[LO]) ) +
53  default:
54  std::stringstream out;
55  out << order;
56  throw std::runtime_error("BRKppnunu::BRKppnunu(): order " + out.str() + "not implemented");
57  }
58  default:
59  std::stringstream out;
60  out << order_qed;
61  throw std::runtime_error("BRKppnunu::BRKppnunu(): order_qed " + out.str() + "not implemented");
62  }
63 }

◆ computeThValue()

double BR_Kppnunu::computeThValue ( )
virtual
Returns
theoretical value of | \( BR(K^{+} \rightarrow \pi^+ \nu \bar{\nu}) \)|, for example see hep-ph/0603079 section 2.3

Implements ThObservable.

Definition at line 19 of file BR_Kppnunu.cpp.

20 {
21  double theta= asin(sqrt( (M_PI * SM.getAle() )/( sqrt(2) * SM.getGF() *
22  SM.Mw_tree() * SM.Mw_tree()) ));
23 
24  return( SM.getOptionalParameter("IB_Kp") * 3.*SM.getAle()*SM.getAle()/(2.*M_PI*M_PI*pow(sin(theta),4.))
25  * SM.getOptionalParameter("Br_Kp_P0enu") * BRKppnunu(NLO, NLO_QED11).real());
26 }

◆ P_C()

gslpp::complex BR_Kppnunu::P_C ( orders  order)
protected
Parameters
order
Returns
\( P_{C} \) defined for exmple in hep-ph/0603079

Member Data Documentation

◆ CKpnunu

Charm_Kpnunu BR_Kppnunu::CKpnunu
private

Definition at line 95 of file BR_Kppnunu.h.

◆ mySM

StandardModel& BR_Kppnunu::mySM
private

Definition at line 94 of file BR_Kppnunu.h.


The documentation for this class was generated from the following files:
Flavour::ComputeCoeffDS1pnunu
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1pnunu() const
Definition: Flavour.cpp:89
ThObservable::setParametersForObservable
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
NLO_QED11
Definition: OrderScheme.h:51
BR_Kppnunu::BRKppnunu
gslpp::complex BRKppnunu(orders order, orders_qed order_qed)
Definition: BR_Kppnunu.cpp:28
gslpp::sin
complex sin(const complex &z)
Definition: gslpp_complex.cpp:420
make_vector
Definition: std_make_vector.h:15
LO
Definition: OrderScheme.h:33
ThObservable::ThObservable
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
BR_Kppnunu::CKpnunu
Charm_Kpnunu CKpnunu
Definition: BR_Kppnunu.h:95
Charm_Kpnunu::C_TOT
double C_TOT(orders order, orders_qed order_qed)
Definition: Charm_Kpnunu.cpp:580
BR_Kppnunu::mySM
StandardModel & mySM
Definition: BR_Kppnunu.h:94
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
StandardModel::getGF
double getGF() const
A get method to retrieve the Fermi constant .
Definition: StandardModel.h:739
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
LO_QED
Definition: OrderScheme.h:50
NNLO
Definition: OrderScheme.h:35
ThObservable::SM
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1020
Flavour::getHDS1
HeffDS1 & getHDS1() const
The member that returns an object of the class HeffDS1.
Definition: Flavour.cpp:49
StandardModel::Mw_tree
virtual double Mw_tree() const
The tree-level mass of the boson, .
Definition: StandardModel.cpp:951
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
QCD::getOptionalParameter
double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
Definition: QCD.h:448
NLO
Definition: OrderScheme.h:34
StandardModel::getAle
double getAle() const
A get method to retrieve the fine-structure constant .
Definition: StandardModel.h:748
HeffDS1::getCoeffDS1pnunu
WilsonCoefficient getCoeffDS1pnunu() const
Definition: HeffDS1.h:55
gslpp::vector< gslpp::complex >