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
12Gammaw_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)*1.e+15; // in units of 10^-15 GeV
42}
43
44RD_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
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
144FF0_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
166af0_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}
QCD::meson meson
FF0_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep1
QCD::meson pseudoscalarM
double computeThValue()
The binned observable in .
QCD::meson meson
QCD::lepton lep1
QCD::meson pseudoscalarM
FFplus_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The binned observable in .
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:266
QCD::meson meson
QCD::lepton lep2
QCD::lepton lep1
QCD::meson pseudoscalarM
Gammaw_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
double computeThValue()
The binned observable in .
double getDeltaGammaDeltaw(double w_min, double w_max)
The integral of from to .
Definition: MPlnu.cpp:753
std::vector< std::string > initializeMPlnuParameters()
Definition: MPlnu.cpp:119
double get_fplus(double q2)
return fplus form factor at
Definition: MPlnu.cpp:804
double getaf0_0()
The BGL parameter .
Definition: MPlnu.h:98
double get_unitarity_1min_BGL()
Weak Unitarity constraint for BGL parameters related to 1- resonances.
Definition: MPlnu.cpp:769
double get_strong_unitarity_BGL()
Strong Unitarity constraint for BGL parameters using HQET.
Definition: MPlnu.cpp:791
double get_unitarity_0plus_BGL()
Weak Unitarity constraint for BGL parameters related to 0+ resonances.
Definition: MPlnu.cpp:780
double get_f0(double q2)
return f0 form factor at
Definition: MPlnu.cpp:811
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
meson
An enum type for mesons.
Definition: QCD.h:336
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
lepton
An enum type for leptons.
Definition: QCD.h:310
QCD::meson meson
QCD::lepton lep3
QCD::meson pseudoscalarM
QCD::lepton lep1
QCD::lepton lep2
double computeThValue()
The binned observable in .
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.
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
double getBinMin()
A get method to get the minimum value of the bin.
Definition: ThObservable.h:82
double getBinMax()
A get method to get the maximum value of the bin.
Definition: ThObservable.h:91
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
Unitarity_Strong_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
Strong unitarity constraint for .
UnitarityA_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
QCD::meson pseudoscalarM
double computeThValue()
Axial unitarity constraint for .
QCD::meson pseudoscalarM
UnitarityV_MPlnu(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
Vectorial unitarity constraint for .
QCD::lepton lep1
QCD::meson pseudoscalarM
double computeThValue()
The BGL parameter in .
QCD::meson meson
af0_0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.