a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
MPlnuObservables.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "MPlnuObservables.h"
9 #include "MPlnu.h"
10 #include "StandardModel.h"
11 
12 Gammaw_MPlnu::Gammaw_MPlnu(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2)
13 : ThObservable(SM_i)
14 {
15  lep1 = lep_1;
16  lep2 = lep_2;
17  meson = meson_i;
18  pseudoscalarM = pseudoscalar_i;
19 
22 }
23 
25 {
26  double w_min = getBinMin();
27  double w_max = getBinMax();
28  double MM = SM.getMesons(meson).getMass();
29  double MP = SM.getMesons(pseudoscalarM).getMass();
30  double q2_min_lep1 = SM.getLeptons(lep1).getMass()*SM.getLeptons(lep1).getMass();
31  double w_max_lep1 = (MM*MM+MP*MP)/(2.*MM*MP)-q2_min_lep1/(2.*MM*MP);
32  double deltaGammadeltaw_lep2_extra = 0.;
33 
34  w_max_lep1 = std::min(w_max_lep1, w_max);
35 
36  if (w_max > w_max_lep1) deltaGammadeltaw_lep2_extra = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep2).getDeltaGammaDeltaw(w_max_lep1, w_max);
37 
38  double deltaGammadeltaw_lep1 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep1).getDeltaGammaDeltaw(w_min,w_max_lep1);
39  double deltaGammadeltaw_lep2 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep2).getDeltaGammaDeltaw(w_min,w_max_lep1);
40 
41  return (deltaGammadeltaw_lep2_extra+0.5*(deltaGammadeltaw_lep1+deltaGammadeltaw_lep2))/(w_max-w_min);
42 }
43 
44 RD_MPlnu::RD_MPlnu(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2, QCD::lepton lep_3)
45 : ThObservable(SM_i)
46 {
47  lep1 = lep_1;
48  lep2 = lep_2;
49  lep3 = lep_3;
50  meson = meson_i;
51  pseudoscalarM = pseudoscalar_i;
52 
56 }
57 
59 {
60  double MM = SM.getMesons(meson).getMass();
61  double MP = SM.getMesons(pseudoscalarM).getMass();
62  double q2_min_lep1 = SM.getLeptons(lep1).getMass()*SM.getLeptons(lep1).getMass();
63  double q2_min_lep2 = SM.getLeptons(lep2).getMass()*SM.getLeptons(lep2).getMass();
64  double q2_min_lep3 = SM.getLeptons(lep3).getMass()*SM.getLeptons(lep3).getMass();
65  double w_max_lep1 = (MM*MM+MP*MP)/(2.*MM*MP)-q2_min_lep1/(2.*MM*MP);
66  double w_max_lep2 = (MM*MM+MP*MP)/(2.*MM*MP)-q2_min_lep2/(2.*MM*MP);
67  double w_max_lep3 = (MM*MM+MP*MP)/(2.*MM*MP)-q2_min_lep3/(2.*MM*MP);
68  double q2_max = (MM-MP)*(MM-MP);
69  double w_min = (MM*MM+MP*MP)/(2.*MM*MP)-q2_max/(2.*MM*MP);
70  double deltaGammadeltaw_lep1 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep1).getDeltaGammaDeltaw(w_min,w_max_lep1);
71  double deltaGammadeltaw_lep2 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep2).getDeltaGammaDeltaw(w_min,w_max_lep2);
72  double deltaGammadeltaw_lep3 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep3).getDeltaGammaDeltaw(w_min,w_max_lep3);
73 
74  return deltaGammadeltaw_lep1/((deltaGammadeltaw_lep2+deltaGammadeltaw_lep3)/2.);
75 }
76 
78 : ThObservable(SM_i)
79 {
80  lep = lep_i;
81  meson = meson_i;
82  pseudoscalarM = pseudoscalar_i;
83 
85 }
86 
88 {
90 }
91 
93 : ThObservable(SM_i)
94 {
95  lep = lep_i;
96  meson = meson_i;
97  pseudoscalarM = pseudoscalar_i;
98 
100 }
101 
103 {
105 }
106 
108 : ThObservable(SM_i)
109 {
110  lep = lep_i;
111  meson = meson_i;
112  pseudoscalarM = pseudoscalar_i;
113 
115 }
116 
118 {
120 }
121 
122 FFplus_MPlnu::FFplus_MPlnu(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
123 : ThObservable(SM_i)
124 {
125  lep1 = lep_i;
126  meson = meson_i;
127  pseudoscalarM = pseudoscalar_i;
128 
130 }
131 
133 {
134  double MM = SM.getMesons(meson).getMass();
135  double MP = SM.getMesons(pseudoscalarM).getMass();
136  double w0 = (MM*MM+MP*MP)/2./MM/MP;
137  double w_val = getBinMax();
138  double q2_val = 2.*MM*MP*(w0-w_val);
139  double res_fplus = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep1).get_fplus(q2_val);
140 
141  return res_fplus;
142 }
143 
144 FF0_MPlnu::FF0_MPlnu(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
145 : ThObservable(SM_i)
146 {
147  lep1 = lep_i;
148  meson = meson_i;
149  pseudoscalarM = pseudoscalar_i;
150 
152 }
153 
155 {
156  double MM = SM.getMesons(meson).getMass();
157  double MP = SM.getMesons(pseudoscalarM).getMass();
158  double w0 = (MM*MM+MP*MP)/2./MM/MP;
159  double w_val = getBinMax();
160  double q2_val = 2.*MM*MP*(w0-w_val);
161  double res_f0 = SM.getFlavour().getMPlnu(meson, pseudoscalarM, lep1).get_f0(q2_val);
162 
163  return res_f0;
164 }
165 
166 af0_0::af0_0(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
167 : ThObservable(SM_i)
168 {
169  lep1 = lep_i;
170  meson = meson_i;
171  pseudoscalarM = pseudoscalar_i;
172 
174 }
175 
177 {
179 }
MPlnu::initializeMPlnuParameters
std::vector< std::string > initializeMPlnuParameters()
Definition: MPlnu.cpp:72
FF0_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:191
Gammaw_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:36
UnitarityA_MPlnu::UnitarityA_MPlnu
UnitarityA_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:92
Gammaw_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:37
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
FF0_MPlnu::FF0_MPlnu
FF0_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:144
FF0_MPlnu::lep1
QCD::lepton lep1
Definition: MPlnuObservables.h:189
FF0_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:190
ThObservable::getBinMax
double getBinMax()
A get method to get the maximum value of the bin.
Definition: ThObservable.h:91
RD_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:65
UnitarityV_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:90
UnitarityV_MPlnu::computeThValue
double computeThValue()
Vectorial unitarity constraint for .
Definition: MPlnuObservables.cpp:87
FFplus_MPlnu::lep1
QCD::lepton lep1
Definition: MPlnuObservables.h:164
af0_0::meson
QCD::meson meson
Definition: MPlnuObservables.h:215
UnitarityV_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:91
Gammaw_MPlnu::lep1
QCD::lepton lep1
Definition: MPlnuObservables.h:34
Unitarity_Strong_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:140
RD_MPlnu::lep2
QCD::lepton lep2
Definition: MPlnuObservables.h:63
Gammaw_MPlnu::lep2
QCD::lepton lep2
Definition: MPlnuObservables.h:35
MPlnu::get_f0
double get_f0(double q2)
return f0 form factor at
Definition: MPlnu.cpp:629
StandardModel.h
MPlnu::get_unitarity_0plus_BGL
double get_unitarity_0plus_BGL()
Weak Unitarity constraint for BGL parameters related to 0+ resonances.
Definition: MPlnu.cpp:598
RD_MPlnu::lep1
QCD::lepton lep1
Definition: MPlnuObservables.h:62
Unitarity_Strong_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:141
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
UnitarityV_MPlnu::UnitarityV_MPlnu
UnitarityV_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:77
FFplus_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:166
FFplus_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:165
FFplus_MPlnu::computeThValue
double computeThValue()
The binned observable in .
Definition: MPlnuObservables.cpp:132
FFplus_MPlnu::FFplus_MPlnu
FFplus_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:122
af0_0::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:216
MPlnu::get_strong_unitarity_BGL
double get_strong_unitarity_BGL()
Strong Unitarity constraint for BGL parameters using HQET.
Definition: MPlnu.cpp:609
Flavour::getMPlnu
MPlnu & getMPlnu(QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i) const
Returns the initial and final state dependent object for .
Definition: Flavour.cpp:175
Particle::getMass
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
MPlnu::get_fplus
double get_fplus(double q2)
return fplus form factor at
Definition: MPlnu.cpp:622
UnitarityA_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:116
MPlnu::get_unitarity_1min_BGL
double get_unitarity_1min_BGL()
Weak Unitarity constraint for BGL parameters related to 1- resonances.
Definition: MPlnu.cpp:587
QCD::meson
meson
An enum type for mesons.
Definition: QCD.h:336
af0_0::lep1
QCD::lepton lep1
Definition: MPlnuObservables.h:214
RD_MPlnu::RD_MPlnu
RD_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2, QCD::lepton lep_3)
Constructor.
Definition: MPlnuObservables.cpp:44
QCD::getMesons
Meson getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:524
MPlnu.h
RD_MPlnu::computeThValue
double computeThValue()
The binned observable in .
Definition: MPlnuObservables.cpp:58
MPlnu::getDeltaGammaDeltaw
double getDeltaGammaDeltaw(double w_min, double w_max)
The integral of from to .
Definition: MPlnu.cpp:571
FF0_MPlnu::computeThValue
double computeThValue()
The binned observable in .
Definition: MPlnuObservables.cpp:154
ThObservable::SM
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
UnitarityA_MPlnu::meson
QCD::meson meson
Definition: MPlnuObservables.h:115
UnitarityV_MPlnu::lep
QCD::lepton lep
Definition: MPlnuObservables.h:89
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1006
Unitarity_Strong_MPlnu::lep
QCD::lepton lep
Definition: MPlnuObservables.h:139
UnitarityA_MPlnu::computeThValue
double computeThValue()
Axial unitarity constraint for .
Definition: MPlnuObservables.cpp:102
MPlnuObservables.h
af0_0::computeThValue
double computeThValue()
The BGL parameter in .
Definition: MPlnuObservables.cpp:176
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
Gammaw_MPlnu::Gammaw_MPlnu
Gammaw_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
Definition: MPlnuObservables.cpp:12
af0_0::af0_0
af0_0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:166
RD_MPlnu::pseudoscalarM
QCD::meson pseudoscalarM
Definition: MPlnuObservables.h:66
ThObservable::getBinMin
double getBinMin()
A get method to get the minimum value of the bin.
Definition: ThObservable.h:82
Gammaw_MPlnu::computeThValue
double computeThValue()
The binned observable in .
Definition: MPlnuObservables.cpp:24
Unitarity_Strong_MPlnu::Unitarity_Strong_MPlnu
Unitarity_Strong_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
Definition: MPlnuObservables.cpp:107
MPlnu::getaf0_0
double getaf0_0()
The BGL parameter .
Definition: MPlnu.h:96
RD_MPlnu::lep3
QCD::lepton lep3
Definition: MPlnuObservables.h:64
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
UnitarityA_MPlnu::lep
QCD::lepton lep
Definition: MPlnuObservables.h:114
Unitarity_Strong_MPlnu::computeThValue
double computeThValue()
Strong unitarity constraint for .
Definition: MPlnuObservables.cpp:117
StandardModel::getLeptons
Particle getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
Definition: StandardModel.h:709