MPllObservables.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "MPllObservables.h"
9 #include "Flavour.h"
10 
11 /*******************************************************************************
12  * Observables *
13  * ****************************************************************************/
14 
15 
17 : ThObservable(SM_i)
18 {
19  if (SM.ModelName().compare("StandardModel") != 0) std::cout << "\nWARNING: B to P l+ l-: BR_MPll not implemented in: " + SM.ModelName() + " model, returning Standard Model value.\n" << std::endl;
20  lep = lep_i;
21  meson = meson_i;
22  pseudoscalar = pseudoscalar_i;
23 }
24 
25 double BR_MPll::computeBR_MPll(double qmin, double qmax, StandardModel::lepton lep)
26 {
27  double q_min = qmin;
28  double q_max = qmax;
29  StandardModel::lepton lep_i = lep;
30 
31  return (3.*SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep_i)->integrateSigma(0,q_min,q_max) - SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep_i)->integrateSigma(2,q_min,q_max))/(4. * SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep_i)->width);
32 }
33 
35 {
36  double q_min = getBinMin();
37  double q_max = getBinMax();
38 
39  return computeBR_MPll(q_min, q_max, lep) / ( q_max - q_min );
40 }
41 
43 : BR_MPll(SM_i, meson_i, pseudoscalar_i, lep_1)
44 {
45  if (SM.ModelName().compare("StandardModel") != 0) std::cout << "\nWARNING: B to P l+ l-: R_MPll not implemented in: " + SM.ModelName() + " model, returning Standard Model value.\n" << std::endl;
46  lep1 = lep_1;
47  lep2 = lep_2;
48  meson = meson_i;
49  pseudoscalar = pseudoscalar_i;
50 }
51 
53 {
54  double q_min = getBinMin();
55  double q_max = getBinMax();
56 
57  return computeBR_MPll(q_min, q_max, lep1)/computeBR_MPll(q_min, q_max, lep2);
58 }
59 
61 : BR_MPll(SM_i, meson_i, pseudoscalar_i, lep_i)
62 {
63  if (SM.ModelName().compare("StandardModel") != 0) std::cout << "\nWARNING: B to P l+ l-: ACP not implemented in: " + SM.ModelName() + " model, returning Standard Model value.\n" << std::endl;
64  lep = lep_i;
65  meson = meson_i;
66  pseudoscalar = pseudoscalar_i;
67 }
68 
70 {
71  double q_min = getBinMin();
72  double q_max = getBinMax();
73 
74  return (3.*SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep)->integrateDelta(0, q_min, q_max) - SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep)->integrateDelta(2, q_min, q_max))/(4.*computeBR_MPll(q_min, q_max, lep)* SM.getMyFlavour()->getMPll(meson, pseudoscalar, lep)->width);
75 }
76 
StandardModel::meson pseudoscalar
StandardModel::meson pseudoscalar
double integrateDelta(int i, double q_min, double q_max)
The integral of from to .
Definition: MPll.cpp:612
MPll * getMPll(StandardModel::meson meson_i, StandardModel::meson pseudoscalar_i, StandardModel::lepton lep_i)
Returns the initial and final state dependent object for .
Definition: Flavour.h:215
meson
An enum type for mesons.
Definition: QCD.h:713
A class for a model prediction of an observable.
Definition: ThObservable.h:22
A model class for the Standard Model.
StandardModel::meson meson
A class for the binned observable in .
StandardModel::lepton lep
double width
Definition: MPll.h:76
BR_MPll(const StandardModel &SM_i, StandardModel::meson meson_i, StandardModel::meson pseudoscalar_i, StandardModel::lepton lep_i)
Constructor.
double getBinMin()
A get method to get the minimum value of the bin.
Definition: ThObservable.h:79
StandardModel::meson pseudoscalar
StandardModel::lepton lep
R_MPll(const StandardModel &SM_i, StandardModel::meson meson_i, StandardModel::meson pseudoscalar_i, StandardModel::lepton lep_1, StandardModel::lepton lep_2)
Constructor.
StandardModel::meson meson
double getBinMax()
A get method to get the maximum value of the bin.
Definition: ThObservable.h:88
Flavour * getMyFlavour() const
double computeThValue()
The binned observable in .
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
double integrateSigma(int i, double q_min, double q_max)
The integral of from to .
Definition: MPll.cpp:575
double computeBR_MPll(double qmin, double qmax, StandardModel::lepton lep_i)
A method to compute the binned observable in in a generic bin.
double computeThValue()
The binned observable ratio in .
StandardModel::lepton lep1
std::string ModelName() const
A method to fetch the name of the model.
Definition: Model.h:56
ACP_MPll(const StandardModel &SM_i, StandardModel::meson meson_i, StandardModel::meson pseudoscalar_i, StandardModel::lepton lep_i)
Constructor.
StandardModel::lepton lep2
lepton
An enum type for leptons.
double computeThValue()
The binned observable in .
StandardModel::meson meson