a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
MPllObservables.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 "MPllObservables.h"
9#include "MPll.h"
10#include "StandardModel.h"
11
12/*******************************************************************************
13 * Observables *
14 * ****************************************************************************/
15
16
17BR_MPll::BR_MPll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
18: ThObservable(SM_i)
19{
20 lep = lep_i;
21 meson = meson_i;
22 pseudoscalar = pseudoscalar_i;
23
25}
26
27double BR_MPll::computeBR_MPll(double qmin, double qmax, QCD::lepton lep)
28{
29 double q_min = qmin;
30 double q_max = qmax;
31 QCD::lepton lep_i = lep;
32
33 return (3.*SM.getFlavour().getMPll(meson, pseudoscalar, lep_i).integrateSigma(0,q_min,q_max)- SM.getFlavour().getMPll(meson, pseudoscalar, lep_i).integrateSigma(2,q_min,q_max))/(4. * SM.getFlavour().getMPll(meson, pseudoscalar, lep_i).getwidth())
34 + SM.getFlavour().getMPll(meson, pseudoscalar, lep_i).integrateSigmaTree(q_min, q_max);
35}
36
38{
39 double q_min = getBinMin();
40 double q_max = getBinMax();
41
42 return computeBR_MPll(q_min, q_max, lep);
43}
44
45dBR_MPll::dBR_MPll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
46: BR_MPll(SM_i, meson_i, pseudoscalar_i, lep_i)
47{
48 lep = lep_i;
49 meson = meson_i;
50 pseudoscalar = pseudoscalar_i;
51
53}
54
56{
57 double q_min = getBinMin();
58 double q_max = getBinMax();
59
60 return computeBR_MPll(q_min, q_max, lep) / ( q_max - q_min );
61}
62
63R_MPll::R_MPll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2)
64: BR_MPll(SM_i, meson_i, pseudoscalar_i, lep_1)
65{
66 lep1 = lep_1;
67 lep2 = lep_2;
68 meson = meson_i;
69 pseudoscalar = pseudoscalar_i;
70
73}
74
76{
77 double q_min = getBinMin();
78 double q_max = getBinMax();
79
80 return computeBR_MPll(q_min, q_max, lep1)/computeBR_MPll(q_min, q_max, lep2);
81}
82
83ACP_MPll::ACP_MPll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
84: BR_MPll(SM_i, meson_i, pseudoscalar_i, lep_i)
85{
86 lep = lep_i;
87 meson = meson_i;
88 pseudoscalar = pseudoscalar_i;
89
91}
92
94{
95 double q_min = getBinMin();
96 double q_max = getBinMax();
97
99}
100
101DC9_hlambda::DC9_hlambda(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
102: ThObservable(SM_i)
103{
104 lep = lep_i;
105 meson = meson_i;
106 pseudoscalar = pseudoscalar_i;
107
109}
110
112{
113 double q2 = getBinMin();
114 double sixteenM_PI2 = 16.*M_PI*M_PI;
115 gslpp::complex hlambda = SM.getFlavour().getMPll(meson, pseudoscalar, lep).h_lambda(q2);
116 double MM = SM.getMesons(meson).getMass();
117 gslpp::complex VL = SM.getFlavour().getMPll(meson, pseudoscalar, lep).V_L(q2);
118 gslpp::complex result = - sixteenM_PI2 * hlambda * MM * MM / q2 / VL;
119 return result.abs();
120}
QCD::meson pseudoscalar
double computeThValue()
The binned observable in .
QCD::meson meson
ACP_MPll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
A class for the binned integrated observable in .
QCD::meson pseudoscalar
QCD::meson meson
QCD::lepton lep
double computeThValue()
The binned observable in .
BR_MPll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
double computeBR_MPll(double qmin, double qmax, QCD::lepton lep_i)
A method to compute the binned observable in in a generic bin.
QCD::meson meson
QCD::meson pseudoscalar
DC9_hlambda(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The binned observable in .
QCD::lepton lep
MPll & getMPll(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:282
std::vector< std::string > initializeMPllParameters()
A method for initializing the parameters necessary for MPll.
Definition: MPll.cpp:80
gslpp::complex h_lambda(double q2)
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition: MPll.cpp:1281
double integrateSigma(int i, double q_min, double q_max)
The integral of from to .
Definition: MPll.cpp:1374
gslpp::complex V_L(double q2)
The helicity form factor .
Definition: MPll.cpp:914
double integrateSigmaTree(double q_min, double q_max)
The integral of from to (arxiv/2301.06990)
Definition: MPll.cpp:1469
double getwidth()
The width of the meson M.
Definition: MPll.h:294
double integrateDelta(int i, double q_min, double q_max)
The integral of from to .
Definition: MPll.cpp:1432
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
R_MPll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
QCD::meson meson
QCD::meson pseudoscalar
double computeThValue()
The binned observable ratio in .
QCD::lepton lep2
QCD::lepton lep1
A model class for the Standard Model.
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
dBR_MPll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i)
Constructor.
QCD::meson pseudoscalar
double computeThValue()
The binned observable ratio in .
QCD::lepton lep
QCD::meson meson