NPEpsilons_pureNP.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "NPEpsilons_pureNP.h"
9 #include <stdexcept>
10 
11 const std::string NPEpsilons_pureNP::EPSILONpureNPvars[NEPSILONpureNPvars]
12  = {"delEps_1", "delEps_2", "delEps_3", "delEps_b"};
13 
15 : NPbase()
16 {
17  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delEps_1", boost::cref(deltaEps_1)));
18  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delEps_2", boost::cref(deltaEps_2)));
19  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delEps_3", boost::cref(deltaEps_3)));
20  ModelParamMap.insert(std::pair<std::string, boost::reference_wrapper<const double> >("delEps_b", boost::cref(deltaEps_b)));
21 }
22 
23 void NPEpsilons_pureNP::setParameter(const std::string name, const double& value)
24 {
25  if (name.compare("delEps_1") == 0)
26  deltaEps_1 = value;
27  else if (name.compare("delEps_2") == 0)
28  deltaEps_2 = value;
29  else if (name.compare("delEps_3") == 0)
30  deltaEps_3 = value;
31  else if (name.compare("delEps_b") == 0)
32  deltaEps_b = value;
33  else
34  NPbase::setParameter(name, value);
35 }
36 
37 bool NPEpsilons_pureNP::CheckParameters(const std::map<std::string, double>& DPars)
38 {
39  for (int i = 0; i < NEPSILONpureNPvars; i++) {
40  if (DPars.find(EPSILONpureNPvars[i]) == DPars.end()) {
41  std::cout << "ERROR: Missing mandatory NPEpsilons_pureNP parameter "
42  << EPSILONpureNPvars[i] << std::endl;
43  return false;
44  }
45  }
46  return (NPbase::CheckParameters(DPars));
47 }
48 
50 
52 {
53  return (trueSM.epsilon1() + deltaEps_1);
54 }
55 
57 {
58  return (trueSM.epsilon2() + deltaEps_2);
59 }
60 
62 {
63  return (trueSM.epsilon3() + deltaEps_3);
64 }
65 
67 {
68  return (trueSM.epsilonb() + deltaEps_b);
69 }
70 
71 
73 
74 double NPEpsilons_pureNP::Mw() const
75 {
76  double Mw_SM = trueSM.Mw();
77  double sW2_SM = trueSM.sW2();
78  double cW2_SM = trueSM.cW2();
79  return ( Mw_SM * (1.0 - (-c02() * deltaEps_1
80  + (c02() - s02()) * deltaEps_2
81  + 2.0 * s02() * deltaEps_3) / (cW2_SM - sW2_SM) / 2.0));
82 }
83 
85 {
86  throw std::runtime_error("NPEpsilons_pureNP::GammaW() is not available.");
87 }
88 
89 
91 
93 {
94  if (f.is("TOP")) return 0.0;
95 
96  /* SM values */
97  double gV_SM = trueSM.gV_f(f).real();
98  double gA_SM = trueSM.gA_f(f).real();
99 
100  if (f.is("BOTTOM"))
101  return ( gV_SM * deltaEps_1 / 2.0 + gV_SM * deltaEps_b
102  + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
103  / (c02() - s02())
104  - (gV_SM - gA_SM) * deltaEps_b);
105  else
106  return ( gV_SM * deltaEps_1 / 2.0
107  + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
108  / (c02() - s02()));
109 }
110 
112 {
113  if (f.is("TOP")) return 0.0;
114 
115  if (f.is("BOTTOM"))
116  return ( f.getIsospin()*(deltaEps_1 / 2.0 + deltaEps_b));
117 
118  return ( f.getIsospin() * deltaEps_1 / 2.0);
119 }
120 
121 
virtual double epsilon2() const
The SM contribution to the epsilon parameter .
virtual double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
virtual double epsilon1() const
The SM contribution to the epsilon parameter .
virtual double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as ...
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
virtual gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
virtual double GammaW() const
The total width of the boson, .
A class for particles.
Definition: Particle.h:26
virtual double epsilonb() const
The SM contribution to the epsilon parameter .
double epsilon1() const
The parameter .
double epsilonb() const
The parameter .
StandardModel trueSM
Definition: NPbase.h:543
const double & real() const
double epsilon2() const
The parameter .
static const int NEPSILONpureNPvars
The number of the model parameters in NPEpsilons_pureNP.
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
double deltaEps_1
The new physics contribution to .
bool is(std::string name_i) const
Definition: Particle.cpp:23
static const std::string EPSILONpureNPvars[NEPSILONpureNPvars]
A string array containing the labels of the model parameters in NPEpsilons_pureNP.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
virtual double epsilon3() const
The SM contribution to the epsilon parameter .
virtual double Mw() const
The mass of the boson, .
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for StandardModel have been provided in model initi...
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections...
virtual gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.
virtual double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
virtual double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as ...
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for the model have been provided in model initializ...
double deltaEps_b
The new physics contribution to .
double deltaEps_2
The new physics contribution to .
std::map< std::string, boost::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:200
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
double epsilon3() const
The parameter .
NPEpsilons_pureNP()
The default constructor.
double deltaEps_3
The new physics contribution to .