a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
WilsonCoefficientObservables.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
9 #include "StandardModel.h"
10 
11 /*******************************************************************************
12  * Wilson Coefficients *
13  * ****************************************************************************/
14 
15 
16 WC_C7g::WC_C7g(const StandardModel& SM_i, unsigned int part_i)
17 : ThObservable(SM_i), mySM(SM_i)
18 {
19  part = part_i;
20  mu = mySM.getMub();
21 }
22 
24 {
25  mu = getBinMin();
26  allcoeff = mySM.getFlavour().ComputeCoeffBMll(mu, QCD::MU); /*QCD::MU does not matter here but necessary.*/
27 
28  if (part == 0) return ((*(allcoeff[LO]))(6) + (*(allcoeff[NLO]))(6)).real();
29  if (part == 1) return ((*(allcoeff[LO]))(6) + (*(allcoeff[NLO]))(6)).imag();
30  if (part == 2) return ((*(allcoeff[LO]))(6) + (*(allcoeff[NLO]))(6)).abs();
31  if (part == 3) return ((*(allcoeff[LO]))(6) + (*(allcoeff[NLO]))(6)).arg();
32  else throw std::runtime_error("WC_C7g: part specification can only be 0, 1 or 2");
33 }
34 
35 WC_C9::WC_C9(const StandardModel& SM_i, unsigned int part_i, QCD::lepton lep_i)
36 : ThObservable(SM_i), mySM(SM_i)
37 {
38  part = part_i;
39  lepton = lep_i;
40  mu = mySM.getMub();
41 }
42 
43 double WC_C9::computeThValue()
44 {
45  mu = getBinMin();
47 
48  if (part == 0) return ((*(allcoeff[LO]))(8) + (*(allcoeff[NLO]))(8)).real();
49  if (part == 1) return ((*(allcoeff[LO]))(8) + (*(allcoeff[NLO]))(8)).imag();
50  if (part == 2) return ((*(allcoeff[LO]))(8) + (*(allcoeff[NLO]))(8)).abs();
51  if (part == 3) return ((*(allcoeff[LO]))(8) + (*(allcoeff[NLO]))(8)).arg();
52  else throw std::runtime_error("WC_C7g: part specification can only be 0, 1 or 2");
53 }
54 
55 WC_C10::WC_C10(const StandardModel& SM_i, unsigned int part_i, QCD::lepton lep_i)
56 : ThObservable(SM_i), mySM(SM_i)
57 {
58  part = part_i;
59  lepton = lep_i;
60  mu = mySM.getMub();
61 }
62 
64 {
65  mu = getBinMin();
67 
68  if (part == 0) return ((*(allcoeff[LO]))(9) + (*(allcoeff[NLO]))(9)).real();
69  if (part == 1) return ((*(allcoeff[LO]))(9) + (*(allcoeff[NLO]))(9)).imag();
70  if (part == 2) return ((*(allcoeff[LO]))(9) + (*(allcoeff[NLO]))(9)).abs();
71  if (part == 3) return ((*(allcoeff[LO]))(9) + (*(allcoeff[NLO]))(9)).arg();
72  else throw std::runtime_error("WC_C7g: part specification can only be 0, 1 or 2");
73 }
WC_C9::mu
double mu
Definition: WilsonCoefficientObservables.h:76
WC_C7g::mySM
const StandardModel & mySM
Definition: WilsonCoefficientObservables.h:41
WC_C7g::part
unsigned int part
Definition: WilsonCoefficientObservables.h:44
WC_C9::allcoeff
gslpp::vector< gslpp::complex > ** allcoeff
Definition: WilsonCoefficientObservables.h:77
WC_C7g::computeThValue
double computeThValue()
The Wilson coefficient .
Definition: WilsonCoefficientObservables.cpp:22
WC_C10::mu
double mu
Definition: WilsonCoefficientObservables.h:110
WilsonCoefficientObservables.h
LO
Definition: OrderScheme.h:33
StandardModel.h
WC_C7g::allcoeff
gslpp::vector< gslpp::complex > ** allcoeff
Definition: WilsonCoefficientObservables.h:43
WC_C10::lepton
QCD::lepton lepton
Definition: WilsonCoefficientObservables.h:108
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
WC_C9::computeThValue
double computeThValue()
The Wilson coefficient .
Definition: WilsonCoefficientObservables.cpp:42
WC_C9::WC_C9
WC_C9(const StandardModel &SM_i, unsigned int part_i, QCD::lepton lep_i)
Constructor.
Definition: WilsonCoefficientObservables.cpp:34
WC_C7g::WC_C7g
WC_C7g(const StandardModel &SM_i, unsigned int part_i)
Constructor.
Definition: WilsonCoefficientObservables.cpp:15
WC_C9::part
unsigned int part
Definition: WilsonCoefficientObservables.h:78
WC_C10::WC_C10
WC_C10(const StandardModel &SM_i, unsigned int part_i, QCD::lepton lep_i)
Constructor.
Definition: WilsonCoefficientObservables.cpp:54
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1006
WC_C9::lepton
QCD::lepton lepton
Definition: WilsonCoefficientObservables.h:74
WC_C10::allcoeff
gslpp::vector< gslpp::complex > ** allcoeff
Definition: WilsonCoefficientObservables.h:111
WC_C7g::mu
double mu
Definition: WilsonCoefficientObservables.h:42
Flavour::ComputeCoeffBMll
gslpp::vector< gslpp::complex > ** ComputeCoeffBMll(double mu, QCD::lepton lepton, bool noSM=false, schemes scheme=NDR) const
Computes the Wilson coefficient for the process .
Definition: Flavour.cpp:113
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
QCD::getMub
double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
Definition: QCD.h:570
WC_C10::computeThValue
double computeThValue()
The Wilson coefficient .
Definition: WilsonCoefficientObservables.cpp:62
ThObservable::getBinMin
double getBinMin()
A get method to get the minimum value of the bin.
Definition: ThObservable.h:82
NLO
Definition: OrderScheme.h:34
WC_C10::mySM
const StandardModel & mySM
Definition: WilsonCoefficientObservables.h:109
WC_C9::mySM
const StandardModel & mySM
Definition: WilsonCoefficientObservables.h:75
QCD::MU
Definition: QCD.h:314
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
WC_C10::part
unsigned int part
Definition: WilsonCoefficientObservables.h:112