a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
NPEpsilons_pureNP.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "NPEpsilons_pureNP.h"
9#include <stdexcept>
10
11const std::string NPEpsilons_pureNP::EPSILONpureNPvars[NEPSILONpureNPvars]
12 = {"delEps_1", "delEps_2", "delEps_3", "delEps_b"};
13
15: NPbase()
16{
17 ModelParamMap.insert(std::make_pair("delEps_1", std::cref(deltaEps_1)));
18 ModelParamMap.insert(std::make_pair("delEps_2", std::cref(deltaEps_2)));
19 ModelParamMap.insert(std::make_pair("delEps_3", std::cref(deltaEps_3)));
20 ModelParamMap.insert(std::make_pair("delEps_b", std::cref(deltaEps_b)));
21}
22
23void 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
35}
36
37bool 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;
45 }
46 }
48}
49
51
52const double NPEpsilons_pureNP::epsilon1() const
53{
54 return (trueSM.epsilon1() + deltaEps_1);
55}
56
57const double NPEpsilons_pureNP::epsilon2() const
58{
59 return (trueSM.epsilon2() + deltaEps_2);
60}
61
62const double NPEpsilons_pureNP::epsilon3() const
63{
64 return (trueSM.epsilon3() + deltaEps_3);
65}
66
67const double NPEpsilons_pureNP::epsilonb() const
68{
69 return (trueSM.epsilonb() + deltaEps_b);
70}
71
72
74
75const double NPEpsilons_pureNP::Mw() const
76{
77 double Mw_SM = trueSM.Mw();
78 double sW2_SM = trueSM.sW2();
79 double cW2_SM = trueSM.cW2();
80 return ( Mw_SM * (1.0 - (-c02() * deltaEps_1
81 + (c02() - s02()) * deltaEps_2
82 + 2.0 * s02() * deltaEps_3) / (cW2_SM - sW2_SM) / 2.0));
83}
84
85const double NPEpsilons_pureNP::GammaW() const
86{
87 throw std::runtime_error("NPEpsilons_pureNP::GammaW() is not available.");
88}
89
90
92
93const double NPEpsilons_pureNP::deltaGV_f(const Particle f) const
94{
95 if (f.is("TOP")) return 0.0;
96
97 /* SM values */
98 double gV_SM = trueSM.gV_f(f).real();
99 double gA_SM = trueSM.gA_f(f).real();
100
101 if (f.is("BOTTOM"))
102 return ( gV_SM * deltaEps_1 / 2.0 + gV_SM * deltaEps_b
103 + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
104 / (c02() - s02())
105 - (gV_SM - gA_SM) * deltaEps_b);
106 else
107 return ( gV_SM * deltaEps_1 / 2.0
108 + (gV_SM - gA_SM)*(deltaEps_3 - c02() * deltaEps_1)
109 / (c02() - s02()));
110}
111
112const double NPEpsilons_pureNP::deltaGA_f(const Particle f) const
113{
114 if (f.is("TOP")) return 0.0;
115
116 if (f.is("BOTTOM"))
117 return ( f.getIsospin()*(deltaEps_1 / 2.0 + deltaEps_b));
118
119 return ( f.getIsospin() * deltaEps_1 / 2.0);
120}
121
122
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:280
std::string name
The name of the model.
Definition: Model.h:285
void raiseMissingModelParameterCount()
Definition: Model.h:260
virtual const double deltaGV_f(const Particle f) const
New physics contribution to the neutral-current vector coupling .
double deltaEps_2
The new physics contribution to .
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...
virtual const double deltaGA_f(const Particle f) const
New physics contribution to the neutral-current axial-vector coupling .
const double epsilon3() const
The parameter .
double deltaEps_b
The new physics contribution to .
static const int NEPSILONpureNPvars
The number of the model parameters in NPEpsilons_pureNP.
const double epsilon1() const
The parameter .
NPEpsilons_pureNP()
The default constructor.
virtual const double Mw() const
The mass of the boson, .
const double epsilonb() const
The parameter .
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of the model.
double deltaEps_3
The new physics contribution to .
double deltaEps_1
The new physics contribution to .
static const std::string EPSILONpureNPvars[NEPSILONpureNPvars]
A string array containing the labels of the model parameters in NPEpsilons_pureNP.
virtual const double GammaW() const
The total width of the boson, .
const double epsilon2() const
The parameter .
The auxiliary base model class for other model classes.
Definition: NPbase.h:66
StandardModel trueSM
Definition: NPbase.h:5731
A class for particles.
Definition: Particle.h:26
bool is(std::string name_i) const
Definition: Particle.cpp:23
double getIsospin() const
A get method to access the particle isospin.
Definition: Particle.h:115
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...
virtual const gslpp::complex gA_f(const Particle f) const
The effective leptonic neutral-current axial-vector coupling in the SM.
const double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
virtual const double epsilon2() const
The SM contribution to the epsilon parameter .
virtual const double epsilonb() const
The SM contribution to the epsilon parameter .
virtual const double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
virtual const double epsilon1() const
The SM contribution to the epsilon parameter .
const double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
virtual const 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 const double epsilon3() const
The SM contribution to the epsilon parameter .
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual const double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .
virtual const gslpp::complex gV_f(const Particle f) const
The effective leptonic neutral-current vector coupling in the SM.