a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Flavour Class Reference

The parent class in Flavour for calculating all the Wilson coefficients for various Flavor Violating processes. More...

#include <Flavour.h>

Detailed Description

The parent class in Flavour for calculating all the Wilson coefficients for various Flavor Violating processes.

Author
HEPfit Collaboration

The Flavour class aggregates the Wilson coefficients for each of the processes generated by the model by calling the Hamiltonians.

Definition at line 37 of file Flavour.h.

Public Member Functions

gslpp::vector< gslpp::complex > ** ComputeCoeffBd (double mu, schemes scheme=NDR, bool SM=false) const
 Computes the Wilson coefficient for the process \( B_d \to \mu \mu \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBMll (double mu, QCD::lepton lepton, bool noSM=false, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBMll_Buras (double mu, QCD::lepton lepton, bool noSM=false, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffBs (double mu, schemes scheme=NDR, bool SM=false) const
 Computes the Wilson coefficient for the process \( B_s \to \mu \mu \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffdd (double mu, schemes scheme=NDR) const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffdiujlknu (int i, int j, int k, double mu) const
 Computes the Wilson coefficient for the Hamiltonian \( \bar{d_i} u_j \bar{\ell_k} \nu \) transitions in the JMS basis ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij. More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffdmumu (double mu, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( B_d \to \mu \mu \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffdnunu () const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1mumu () const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1pnunu () const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1pnunuC () const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1PPv (double mu, schemes scheme=NDR) const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffDS1PPz (double muc, schemes scheme=NDR) const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffK (double mu, schemes scheme=NDR) const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffmK (double mu, schemes scheme=NDR) const
 
gslpp::vector< gslpp::complex > ** ComputeCoeffprimeBMll (double mu, QCD::lepton lepton, schemes scheme=NDR) const
 Computes the chirality flipped Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffprimesgamma (double mu, schemes scheme=NDR) const
 Computes the chirality flipped Wilson coefficient for the process \( b \to s \gamma \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffsgamma (double mu, bool noSM=false, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( b \to s \gamma \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffsgamma_Buras (double mu, bool noSM=false, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( b \to s \gamma \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffsmumu (double mu, schemes scheme=NDR) const
 Computes the Wilson coefficient for the process \( B_s \to \mu \mu \). More...
 
gslpp::vector< gslpp::complex > ** ComputeCoeffsnunu (QCD::lepton lepton=QCD::NOLEPTON, bool noSM=false) const
 
 Flavour (const StandardModel &SM_i)
 The constructor. More...
 
BClnugetBClnu (QCD::meson meson_i) const
 Returns the initial and final state dependent object for \( B \to P \ell \nu \). More...
 
AmpDB2getDB2 (int BMeson_i, bool flag_fixmub=false, bool flag_RI=false) const
 Returns a reference to the meson dependent object for \( \Delta B = 2 \) processes. More...
 
bool getFlagBGL () const
 
bool getFlagBXsnunu_LFUNP () const
 
bool getFlagCLN () const
 
bool getFlagDM () const
 
bool getFlagFixedWCbtos () const
 
bool getFlagMPll_DM () const
 
bool getFlagMPll_FNALMILC () const
 
bool getFlagMPll_GRvDV () const
 
bool getFlagMVll_DM () const
 
bool getFlagNeutrinoTree () const
 
bool getFlagUseDispersionRelation () const
 
bool getFlagUsezExpansion () const
 
HeffDB1getHDB1 () const
 The member that returns an object of the class HeffDB1. More...
 
HeffDC1getHDC1 () const
 The member that returns an object of the class HeffDC1. More...
 
HeffDF1_diujlknugetHDF1_diujlknu () const
 The member that returns an object of the class HeffDF1_diujlknu. More...
 
HeffDF2getHDF2 () const
 The member that returns an object of the class HeffDF2. More...
 
HeffDS1getHDS1 () const
 The member that returns an object of the class HeffDS1. More...
 
MPllgetMPll (QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i) const
 Returns the initial and final state dependent object for \( B \to P \ell^+ \ell^- \). More...
 
MPlnugetMPlnu (QCD::meson meson_i, QCD::meson pseudoscalar_i, QCD::lepton lep_i) const
 Returns the initial and final state dependent object for \( B \to P \ell \nu \). More...
 
MVgammagetMVgamma (QCD::meson meson_i, QCD::meson vector_i) const
 Returns the initial and final state dependent object for \( B \to V \gamma \). More...
 
MVllgetMVll (QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i) const
 Returns the initial and final state dependent object for \( B \to V \ell^+ \ell^- \). More...
 
MVlnugetMVlnu (QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i) const
 Returns the initial and final state dependent object for \( B \to V \ell \nu \). More...
 
template<typename T , typename... Args>
std::shared_ptr< T > & getPtr (std::shared_ptr< T > &x, Args ... args) const
 
bool getUpdateFlag (QCD::meson meson_i, QCD::meson meson_j, QCD::lepton lep_i) const
 gets the update flag for the initial and final state dependent object for \( B \to V \ell^+ \ell^- \). More...
 
bool setFlag (const std::string name, const bool value)
 
bool setFlagBGL (bool BGLflag)
 
bool setFlagBXsnunu_LFUNP (bool BXsnunu_LFUNP_flag) const
 
bool setFlagCLN (bool CLNflag)
 
bool setFlagDM (bool DMflag)
 
bool setFlagFixedWCbtos (bool FixedWCbtosflag)
 
bool setFlagMPll_DM (bool MPll_DM_flag)
 
bool setFlagMPll_FNALMILC (bool MPll_FNALMILC_flag)
 
bool setFlagMPll_GRvDV (bool MPll_GRvDV_flag)
 
bool setFlagMVll_DM (bool MVll_DM_flag)
 
bool setFlagNeutrinoTree (bool NeutrinoTree_flag) const
 
bool setFlagUseDispersionRelation (bool dispersion)
 
bool setFlagUsezExpansion (bool zExpansion)
 
void setSMupdated () const
 a member used for the caching for \( B \to V \ell^+ \ell^- \). More...
 
void setUpdateFlag (QCD::meson meson_i, QCD::meson meson_j, QCD::lepton lep_i, bool updated_i) const
 sets the update flag for the initial and final state dependent object for \( B \to V \ell^+ \ell^- \). More...
 

Private Member Functions

template<typename T , typename... Args>
T & getM (std::map< std::vector< int >, std::shared_ptr< T > > &map, Args ... args) const
 
template<typename T , typename... Args>
std::shared_ptr< T > & getPtr (std::shared_ptr< T > &x, Args... args) const
 

Private Attributes

std::map< std::vector< int >, std::shared_ptr< AmpDB2 > > AmpDB2Map
 
std::map< std::vector< int >, std::shared_ptr< BClnu > > BClnuMap
 
bool BGLflag
 
bool BXsnunu_LFUNP_flag
 
bool CLNflag
 
bool dispersion
 
bool DMflag
 
bool FixedWCbtosflag
 
std::map< std::vector< int >, bool > flagUpdateMap
 
std::shared_ptr< HeffDB1HDB1
 An Object for the Hamiltonian of the \( \Delta B = 1 \) processes. More...
 
std::shared_ptr< HeffDF1_diujlknuHDF1_diujlknu
 An Object for the Hamiltonian built with \( \bar{d}_i u_j \bar{\nu} \ell_k \) operators in the JMS basis, ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij. More...
 
std::shared_ptr< HeffDF2HDF2
 An Object for the Hamiltonian of the \( \Delta F = 2 \) processes. More...
 
std::shared_ptr< HeffDS1HDS1
 An Object for the Hamiltonian of the \( \Delta S = 1 \) processes. More...
 
bool MPll_DM_flag
 
bool MPll_FNALMILC_flag
 
bool MPll_GRvDV_flag
 
std::map< std::vector< int >, std::shared_ptr< MPll > > MPllMap
 
std::map< std::vector< int >, std::shared_ptr< MPlnu > > MPlnuMap
 
std::map< std::vector< int >, std::shared_ptr< MVgamma > > MVgammaMap
 
bool MVll_DM_flag
 
std::map< std::vector< int >, std::shared_ptr< MVll > > MVllMap
 
std::map< std::vector< int >, std::shared_ptr< MVlnu > > MVlnuMap
 
const StandardModelmySM
 
bool NeutrinoTree_flag
 
bool zExpansion
 

Constructor & Destructor Documentation

◆ Flavour()

Flavour::Flavour ( const StandardModel SM_i)

The constructor.

Parameters
[in]SM_ia reference to an object of the class StandardModel

Definition at line 23 of file Flavour.cpp.

24: mySM(SM_i)
25{
26 dispersion = false;
27 zExpansion = false;
28 CLNflag = false;
29 BGLflag = false;
30 DMflag = false;
31 FixedWCbtosflag = false;
32 MPll_FNALMILC_flag = false;
33 BXsnunu_LFUNP_flag = false;
34 MPll_GRvDV_flag = false;
35 NeutrinoTree_flag = false;
36};
bool BGLflag
Definition: Flavour.h:411
bool CLNflag
Definition: Flavour.h:410
bool NeutrinoTree_flag
Definition: Flavour.h:418
bool FixedWCbtosflag
Definition: Flavour.h:413
bool BXsnunu_LFUNP_flag
Definition: Flavour.h:419
bool MPll_FNALMILC_flag
Definition: Flavour.h:414
bool dispersion
Definition: Flavour.h:408
const StandardModel & mySM
Definition: Flavour.h:394
bool MPll_GRvDV_flag
Definition: Flavour.h:415
bool zExpansion
Definition: Flavour.h:409
bool DMflag
Definition: Flavour.h:412

Member Function Documentation

◆ ComputeCoeffBd()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffBd ( double  mu,
schemes  scheme = NDR,
bool  SM = false 
) const

Computes the Wilson coefficient for the process \( B_d \to \mu \mu \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( B_d \to \mu \mu \)

Definition at line 102 of file Flavour.cpp.

103{
104 return getPtr<HeffDF2>(HDF2)->ComputeCoeffBd(mu, scheme, SM);
105}
std::shared_ptr< HeffDF2 > HDF2
An Object for the Hamiltonian of the processes.
Definition: Flavour.h:395

◆ ComputeCoeffBMll()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffBMll ( double  mu,
QCD::lepton  lepton,
bool  noSM = false,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( B \to V/P \ell^+ \ell^- \)

Definition at line 195 of file Flavour.cpp.

196{
197 return getPtr<HeffDB1>(HDB1)->ComputeCoeffBMll(mu, lepton, noSM, scheme);
198}
std::shared_ptr< HeffDB1 > HDB1
An Object for the Hamiltonian of the processes.
Definition: Flavour.h:397

◆ ComputeCoeffBMll_Buras()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffBMll_Buras ( double  mu,
QCD::lepton  lepton,
bool  noSM = false,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients in the Buras basis for the process \( B \to V/P \ell^+ \ell^- \)

Definition at line 200 of file Flavour.cpp.

201{
202 return getPtr<HeffDB1>(HDB1)->ComputeCoeffBMll_Buras(mu, lepton, noSM, scheme);
203}

◆ ComputeCoeffBs()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffBs ( double  mu,
schemes  scheme = NDR,
bool  SM = false 
) const

Computes the Wilson coefficient for the process \( B_s \to \mu \mu \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( B_s \to \mu \mu \)

Definition at line 107 of file Flavour.cpp.

108{
109 return getPtr<HeffDF2>(HDF2)->ComputeCoeffBs(mu, scheme, SM);
110}

◆ ComputeCoeffdd()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffdd ( double  mu,
schemes  scheme = NDR 
) const

Definition at line 112 of file Flavour.cpp.

113{
114 return getPtr<HeffDF2>(HDF2)->ComputeCoeffdd(mu, scheme);
115}

◆ ComputeCoeffdiujlknu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffdiujlknu ( int  i,
int  j,
int  k,
double  mu 
) const

Computes the Wilson coefficient for the Hamiltonian \( \bar{d_i} u_j \bar{\ell_k} \nu \) transitions in the JMS basis ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij.

Parameters
ithe flavour of the down-type quark
jthe flavour of the up-type quark
kthe flavour of the charged lepton
muthe scale at which the coefficients should be evaluated
Returns
short distance contribution to \( \bar{d_i} u_j \bar{\ell_k} \nu \) transitions in the JMS basis ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij

Definition at line 153 of file Flavour.cpp.

154{
155 return getPtr<HeffDF1_diujlknu>(HDF1_diujlknu)->ComputeCoeffdiujleptonknu(i, j, k, mu);
156}
std::shared_ptr< HeffDF1_diujlknu > HDF1_diujlknu
An Object for the Hamiltonian built with operators in the JMS basis, ordered as CnueduVLLkkij,...
Definition: Flavour.h:396

◆ ComputeCoeffdmumu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffdmumu ( double  mu,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( B_d \to \mu \mu \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( B_d \to \mu \mu \)

Definition at line 165 of file Flavour.cpp.

166{
167 return getPtr<HeffDB1>(HDB1)->ComputeCoeffdmumu(mu, scheme);
168}

◆ ComputeCoeffdnunu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffdnunu ( ) const

Definition at line 175 of file Flavour.cpp.

176{
177 return getPtr<HeffDB1>(HDB1)->ComputeCoeffdnunu();
178}

◆ ComputeCoeffDS1mumu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffDS1mumu ( ) const

Definition at line 147 of file Flavour.cpp.

148{
149 return getPtr<HeffDS1>(HDS1)->ComputeCoeffDS1mumu();
150}
std::shared_ptr< HeffDS1 > HDS1
An Object for the Hamiltonian of the processes.
Definition: Flavour.h:398

◆ ComputeCoeffDS1pnunu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffDS1pnunu ( ) const

Definition at line 137 of file Flavour.cpp.

138{
139 return getPtr<HeffDS1>(HDS1)->ComputeCoeffDS1pnunu();
140}

◆ ComputeCoeffDS1pnunuC()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffDS1pnunuC ( ) const

Definition at line 142 of file Flavour.cpp.

143{
144 return getPtr<HeffDS1>(HDS1)->ComputeCoeffDS1pnunuC();
145}

◆ ComputeCoeffDS1PPv()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffDS1PPv ( double  mu,
schemes  scheme = NDR 
) const

Definition at line 127 of file Flavour.cpp.

128{
129 return getPtr<HeffDS1>(HDS1)->ComputeCoeffDS1PPv(mu, scheme);
130}

◆ ComputeCoeffDS1PPz()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffDS1PPz ( double  muc,
schemes  scheme = NDR 
) const

Definition at line 132 of file Flavour.cpp.

133{
134 return getPtr<HeffDS1>(HDS1)->ComputeCoeffDS1PPz(muc, scheme);
135}

◆ ComputeCoeffK()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffK ( double  mu,
schemes  scheme = NDR 
) const

Definition at line 117 of file Flavour.cpp.

118{
119 return getPtr<HeffDF2>(HDF2)->ComputeCoeffK(mu, scheme);
120}

◆ ComputeCoeffmK()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffmK ( double  mu,
schemes  scheme = NDR 
) const

Definition at line 122 of file Flavour.cpp.

123{
124 return getPtr<HeffDF2>(HDF2)->ComputeCoeffmK(mu, scheme);
125}

◆ ComputeCoeffprimeBMll()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffprimeBMll ( double  mu,
QCD::lepton  lepton,
schemes  scheme = NDR 
) const

Computes the chirality flipped Wilson coefficient for the process \( B \to V/P \ell^+ \ell^- \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the chirality flipped Wilson coefficients for the process \( B \to V/P \ell^+ \ell^- \)

Definition at line 205 of file Flavour.cpp.

206{
207 return getPtr<HeffDB1>(HDB1)->ComputeCoeffprimeBMll(mu, lepton, scheme);
208}

◆ ComputeCoeffprimesgamma()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffprimesgamma ( double  mu,
schemes  scheme = NDR 
) const

Computes the chirality flipped Wilson coefficient for the process \( b \to s \gamma \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the chirality flipped Wilson coefficients for the process \( b \to s \gamma \)

Definition at line 190 of file Flavour.cpp.

191{
192 return getPtr<HeffDB1>(HDB1)->ComputeCoeffprimesgamma(mu, scheme);
193}

◆ ComputeCoeffsgamma()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffsgamma ( double  mu,
bool  noSM = false,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( b \to s \gamma \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( b \to s \gamma \)

Definition at line 180 of file Flavour.cpp.

181{
182 return getPtr<HeffDB1>(HDB1)->ComputeCoeffsgamma(mu, noSM, scheme);
183}

◆ ComputeCoeffsgamma_Buras()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffsgamma_Buras ( double  mu,
bool  noSM = false,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( b \to s \gamma \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients in the Buras basis for the process \( b \to s \gamma \)

Definition at line 185 of file Flavour.cpp.

186{
187 return getPtr<HeffDB1>(HDB1)->ComputeCoeffsgamma_Buras(mu, noSM, scheme);
188}

◆ ComputeCoeffsmumu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffsmumu ( double  mu,
schemes  scheme = NDR 
) const

Computes the Wilson coefficient for the process \( B_s \to \mu \mu \).

Parameters
[in]muthe lower matching scale for the process
[in]schemethe scheme in which the Wilson Coefficients need to be calculated
Returns
returns the Wilson coefficients for the process \( B_s \to \mu \mu \)

Definition at line 160 of file Flavour.cpp.

161{
162 return getPtr<HeffDB1>(HDB1)->ComputeCoeffsmumu(mu, scheme);
163}

◆ ComputeCoeffsnunu()

gslpp::vector< gslpp::complex > ** Flavour::ComputeCoeffsnunu ( QCD::lepton  lepton = QCD::NOLEPTON,
bool  noSM = false 
) const

Definition at line 170 of file Flavour.cpp.

171{
172 return getPtr<HeffDB1>(HDB1)->ComputeCoeffsnunu(lepton, noSM);
173}

◆ getBClnu()

BClnu & Flavour::getBClnu ( QCD::meson  meson_i) const

Returns the initial and final state dependent object for \( B \to P \ell \nu \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]meson_jspecifies the meson in the final state
[in]lepton_ispecifies the lepton in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to V \ell \nu \)

Definition at line 300 of file Flavour.cpp.

301{
302 return getM<BClnu>(BClnuMap, meson_i);
303}
std::map< std::vector< int >, std::shared_ptr< BClnu > > BClnuMap
Definition: Flavour.h:404

◆ getDB2()

AmpDB2 & Flavour::getDB2 ( int  BMeson_i,
bool  flag_fixmub = false,
bool  flag_RI = false 
) const

Returns a reference to the meson dependent object for \( \Delta B = 2 \) processes.

Parameters
[in]Bmeson_ispecifies the meson (0 for B_d, 1 for B_s)
Returns
returns a pointer to the meson dependent object for \( \Delta B = 2 \) processes.

Definition at line 229 of file Flavour.cpp.

230{
231 return getM<AmpDB2>(AmpDB2Map, Bmeson_i, flag_fixmub, flag_RI);
232}
std::map< std::vector< int >, std::shared_ptr< AmpDB2 > > AmpDB2Map
Definition: Flavour.h:405

◆ getFlagBGL()

bool Flavour::getFlagBGL ( ) const
inline

Definition at line 355 of file Flavour.h.

355 {
356 return BGLflag;
357 }

◆ getFlagBXsnunu_LFUNP()

bool Flavour::getFlagBXsnunu_LFUNP ( ) const
inline

Definition at line 387 of file Flavour.h.

387 {
388 return BXsnunu_LFUNP_flag;
389 }

◆ getFlagCLN()

bool Flavour::getFlagCLN ( ) const
inline

Definition at line 351 of file Flavour.h.

351 {
352 return CLNflag;
353 }

◆ getFlagDM()

bool Flavour::getFlagDM ( ) const
inline

Definition at line 359 of file Flavour.h.

359 {
360 return DMflag;
361 }

◆ getFlagFixedWCbtos()

bool Flavour::getFlagFixedWCbtos ( ) const
inline

Definition at line 363 of file Flavour.h.

363 {
364 return FixedWCbtosflag;
365 }

◆ getFlagMPll_DM()

bool Flavour::getFlagMPll_DM ( ) const
inline

Definition at line 375 of file Flavour.h.

375 {
376 return MPll_DM_flag;
377 }
bool MPll_DM_flag
Definition: Flavour.h:416

◆ getFlagMPll_FNALMILC()

bool Flavour::getFlagMPll_FNALMILC ( ) const
inline

Definition at line 367 of file Flavour.h.

367 {
368 return MPll_FNALMILC_flag;
369 }

◆ getFlagMPll_GRvDV()

bool Flavour::getFlagMPll_GRvDV ( ) const
inline

Definition at line 371 of file Flavour.h.

371 {
372 return MPll_GRvDV_flag;
373 }

◆ getFlagMVll_DM()

bool Flavour::getFlagMVll_DM ( ) const
inline

Definition at line 379 of file Flavour.h.

379 {
380 return MVll_DM_flag;
381 }
bool MVll_DM_flag
Definition: Flavour.h:417

◆ getFlagNeutrinoTree()

bool Flavour::getFlagNeutrinoTree ( ) const
inline

Definition at line 383 of file Flavour.h.

383 {
384 return NeutrinoTree_flag;
385 }

◆ getFlagUseDispersionRelation()

bool Flavour::getFlagUseDispersionRelation ( ) const
inline

Definition at line 343 of file Flavour.h.

343 {
344 return dispersion;
345 }

◆ getFlagUsezExpansion()

bool Flavour::getFlagUsezExpansion ( ) const
inline

Definition at line 347 of file Flavour.h.

347 {
348 return zExpansion;
349 }

◆ getHDB1()

HeffDB1 & Flavour::getHDB1 ( ) const

The member that returns an object of the class HeffDB1.

Returns
returns the Hamiltonian for the \( \Delta B = 1 \) processes.

Definition at line 97 of file Flavour.cpp.

98{
99 return *getPtr<HeffDB1>(HDB1);
100}

◆ getHDC1()

HeffDC1 & Flavour::getHDC1 ( ) const

The member that returns an object of the class HeffDC1.

Returns
returns the Hamiltonian for the \( \Delta C = 1 \) processes.

◆ getHDF1_diujlknu()

HeffDF1_diujlknu & Flavour::getHDF1_diujlknu ( ) const

The member that returns an object of the class HeffDF1_diujlknu.

Returns
returns the Hamiltonian built with \( \bar{d}_i u_j \bar{\nu} \ell_k \) operators in the JMS basis, ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij

Definition at line 87 of file Flavour.cpp.

88{
89 return *getPtr<HeffDF1_diujlknu>(HDF1_diujlknu);
90}

◆ getHDF2()

HeffDF2 & Flavour::getHDF2 ( ) const

The member that returns an object of the class HeffDF2.

Returns
returns the Hamiltonian for the \( \Delta F = 2 \) processes

Definition at line 82 of file Flavour.cpp.

83{
84 return *getPtr<HeffDF2>(HDF2);
85}

◆ getHDS1()

HeffDS1 & Flavour::getHDS1 ( ) const

The member that returns an object of the class HeffDS1.

Returns
returns the Hamiltonian for the \( \Delta S = 1 \) processes.

Definition at line 92 of file Flavour.cpp.

93{
94 return *getPtr<HeffDS1>(HDS1);
95}

◆ getM()

template<typename T , typename... Args>
T & Flavour::getM ( std::map< std::vector< int >, std::shared_ptr< T > > &  map,
Args ...  args 
) const
private

Definition at line 306 of file Flavour.cpp.

307{
308 std::vector<int> key({args...});
309 if(map.find(key)==map.end()) {
310 map.insert(std::make_pair(key,std::make_shared<T>(mySM,args...)));
311 }
312 return *map.at(key);
313}

◆ getMPll()

MPll & Flavour::getMPll ( QCD::meson  meson_i,
QCD::meson  pseudoscalar_i,
QCD::lepton  lep_i 
) const

Returns the initial and final state dependent object for \( B \to P \ell^+ \ell^- \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]pseudoscalar_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to P \ell^+ \ell^- \)

Definition at line 283 of file Flavour.cpp.

284{
285// std::reference_wrapper<std::shared_ptr<MPll> > x(MPll_BpKmu);
286// if (meson_i == QCD::B_P && pseudoscalar_i == QCD::K_P && lep_i == QCD::MU) x = std::ref(MPll_BpKmu);
287// else if (meson_i == QCD::B_P && pseudoscalar_i == QCD::K_P && lep_i == QCD::ELECTRON) x = std::ref(MPll_BpKel);
288// else if (meson_i == QCD::B_D && pseudoscalar_i == QCD::K_0 && lep_i == QCD::MU) x = std::ref(MPll_B0Kmu);
289// else if (meson_i == QCD::B_D && pseudoscalar_i == QCD::K_0 && lep_i == QCD::ELECTRON) x = std::ref(MPll_B0Kel);
290// else throw std::runtime_error("Flavour: Decay channel not implemented.");
291// return *getPtr<MPll>(x.get(), meson_i, pseudoscalar_i, lep_i);
292// std::vector<int> key({meson_i, vector_i, lep_i});
293// if(MPllMap.find(key)==MPllMap.end()) {
294// MPllMap.insert(std::make_pair(key,std::shared_ptr<MPll>(new MPll(mySM,meson_i, vector_i, lep_i))));
295// }
296// return *MPllMap.at(key);
297 return getM<MPll>(MPllMap, meson_i, vector_i, lep_i);
298}
std::map< std::vector< int >, std::shared_ptr< MPll > > MPllMap
Definition: Flavour.h:402

◆ getMPlnu()

MPlnu & Flavour::getMPlnu ( QCD::meson  meson_i,
QCD::meson  pseudoscalar_i,
QCD::lepton  lep_i 
) const

Returns the initial and final state dependent object for \( B \to P \ell \nu \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]pseudoscalar_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to V \ell \nu \)

Definition at line 267 of file Flavour.cpp.

268{
269// std::reference_wrapper<std::shared_ptr<MPlnu> > x(MPlnu_BdbarDtaunu);
270// if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_P && lep_i == StandardModel::TAU) x = std::ref(MPlnu_BdbarDtaunu);
271// else if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_P && lep_i == StandardModel::MU) x = std::ref(MPlnu_BdbarDmunu);
272// else if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_P && lep_i == StandardModel::ELECTRON) x = std::ref(MPlnu_BdbarDelnu);
273// else throw std::runtime_error("Flavour: Decay channel not implemented.");
274// return *getPtr<MPlnu>(x.get(), meson_i, vector_i, lep_i);
275// std::vector<int> key({meson_i, vector_i, lep_i});
276// if(MPlnuMap.find(key)==MPlnuMap.end()) {
277// MPlnuMap.insert(std::make_pair(key,std::shared_ptr<MPlnu>(new MPlnu(mySM,meson_i, vector_i, lep_i))));
278// }
279// return *MPlnuMap.at(key);
280 return getM<MPlnu>(MPlnuMap, meson_i, vector_i, lep_i);
281}
std::map< std::vector< int >, std::shared_ptr< MPlnu > > MPlnuMap
Definition: Flavour.h:403

◆ getMVgamma()

MVgamma & Flavour::getMVgamma ( QCD::meson  meson_i,
QCD::meson  vector_i 
) const

Returns the initial and final state dependent object for \( B \to V \gamma \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]vector_ispecifies the vector in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to V \gamma \)

Definition at line 234 of file Flavour.cpp.

235{
236// std::reference_wrapper<std::shared_ptr<MVgamma> > x(MVgamma_BdKstgamma);
237// if (meson_i == StandardModel::B_D && vector_i == StandardModel::K_star) x = std::ref(MVgamma_BdKstgamma);
238// else if (meson_i == StandardModel::B_P && vector_i == StandardModel::K_star_P) x = std::ref(MVgamma_BpKstgamma);
239// else if (meson_i == StandardModel::B_S && vector_i == StandardModel::PHI) x = std::ref(MVgamma_Bsphigamma);
240// else throw std::runtime_error("Flavour: Decay channel not implemented.");
241// return *getPtr<MVgamma>(x.get(), meson_i, vector_i);
242// std::vector<int> key({meson_i, vector_i});
243// if(MVgammaMap.find(key)==MVgammaMap.end()) {
244// MVgammaMap.insert(std::make_pair(key,std::shared_ptr<MVgamma>(new MVgamma(mySM,meson_i, vector_i))));
245// }
246// return *MVgammaMap.at(key);
247 return getM<MVgamma>(MVgammaMap, meson_i, vector_i);
248}
std::map< std::vector< int >, std::shared_ptr< MVgamma > > MVgammaMap
Definition: Flavour.h:401

◆ getMVll()

MVll & Flavour::getMVll ( QCD::meson  meson_i,
QCD::meson  vector_i,
QCD::lepton  lep_i 
) const

Returns the initial and final state dependent object for \( B \to V \ell^+ \ell^- \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]vector_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to V \ell^+ \ell^- \)

Definition at line 210 of file Flavour.cpp.

211{
212// std::reference_wrapper<std::shared_ptr<MVll> > x(MVll_BdKstarmu);
213// if (meson_i == StandardModel::B_D && vector_i == StandardModel::K_star && lep_i == StandardModel::MU) x = std::ref(MVll_BdKstarmu);
214// else if (meson_i == StandardModel::B_D && vector_i == StandardModel::K_star && lep_i == StandardModel::ELECTRON) x = std::ref(MVll_BdKstarel);
215// else if (meson_i == StandardModel::B_P && vector_i == StandardModel::K_star_P && lep_i == StandardModel::MU) x = std::ref(MVll_BpKstarmu);
216// else if (meson_i == StandardModel::B_P && vector_i == StandardModel::K_star_P && lep_i == StandardModel::ELECTRON) x = std::ref(MVll_BpKstarel);
217// else if (meson_i == StandardModel::B_S && vector_i == StandardModel::PHI && lep_i == StandardModel::MU) x = std::ref(MVll_Bsphimu);
218// else if (meson_i == StandardModel::B_S && vector_i == StandardModel::PHI && lep_i == StandardModel::ELECTRON) x = std::ref(MVll_Bsphiel);
219// else throw std::runtime_error("Flavour: Decay channel not implemented.");
220// return *getPtr<MVll>(x.get(), meson_i, vector_i, lep_i);
221// std::vector<int> key({meson_i, vector_i, lep_i});
222// if(MVllMap.find(key)==MVllMap.end()) {
223// MVllMap.insert(std::make_pair(key,std::shared_ptr<MVll>(new MVll(mySM,meson_i, vector_i, lep_i))));
224// }
225// return *MVllMap.at(key);
226 return getM<MVll>(MVllMap, meson_i, vector_i, lep_i);
227}
std::map< std::vector< int >, std::shared_ptr< MVll > > MVllMap
Definition: Flavour.h:399

◆ getMVlnu()

MVlnu & Flavour::getMVlnu ( QCD::meson  meson_i,
QCD::meson  vector_i,
QCD::lepton  lep_i 
) const

Returns the initial and final state dependent object for \( B \to V \ell \nu \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]vector_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state
Returns
returns a pointer to the initial and final state dependent object for the process \( B \to V \ell^+ \ell^- \)

Definition at line 250 of file Flavour.cpp.

251{
252// std::reference_wrapper<std::shared_ptr<MVlnu> > x(MVlnu_BdbarDstartaunu);
253// if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_star_P && lep_i == StandardModel::TAU) x = std::ref(MVlnu_BdbarDstartaunu);
254// else if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_star_P && lep_i == StandardModel::MU) x = std::ref(MVlnu_BdbarDstarmunu);
255// else if (meson_i == StandardModel::B_D && vector_i == StandardModel::D_star_P && lep_i == StandardModel::ELECTRON) x = std::ref(MVlnu_BdbarDstarelnu);
256// else throw std::runtime_error("Flavour: Decay channel not implemented.");
257// return *getPtr<MVlnu>(x.get(), meson_i, vector_i, lep_i);
258// std::vector<int> key({meson_i, vector_i, lep_i});
259// if(MVlnuMap.find(key)==MVlnuMap.end()) {
260// MVlnuMap.insert(std::make_pair(key,std::shared_ptr<MVlnu>(new MVlnu(mySM,meson_i, vector_i, lep_i))));
261// }
262// return *MVlnuMap.at(key);
263 return getM<MVlnu>(MVlnuMap, meson_i, vector_i, lep_i);
264
265}
std::map< std::vector< int >, std::shared_ptr< MVlnu > > MVlnuMap
Definition: Flavour.h:400

◆ getPtr() [1/2]

template<typename T , typename... Args>
std::shared_ptr< T > & Flavour::getPtr ( std::shared_ptr< T > &  x,
Args ...  args 
) const

Definition at line 371 of file Flavour.cpp.

372{
373 if (x.get() == nullptr){
374 x = std::make_shared<T>(mySM, args...);
375 }
376 return x;
377}

◆ getPtr() [2/2]

template<typename T , typename... Args>
std::shared_ptr< T > & Flavour::getPtr ( std::shared_ptr< T > &  x,
Args...  args 
) const
private

◆ getUpdateFlag()

bool Flavour::getUpdateFlag ( QCD::meson  meson_i,
QCD::meson  meson_j,
QCD::lepton  lep_i 
) const

gets the update flag for the initial and final state dependent object for \( B \to V \ell^+ \ell^- \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]vector_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state

Definition at line 340 of file Flavour.cpp.

341{
342// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::MU) return update_BdKstarmu;
343// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::ELECTRON) return update_BdKstarel;
344// if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::MU) return update_BpKstarmu;
345// if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::ELECTRON) return update_BpKstarel;
346// if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::MU) return update_Bsphimu;
347// if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::ELECTRON) return update_Bsphiel;
348// if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_P && lep_i == StandardModel::MU) return update_BpKmu;
349// if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_P && lep_i == StandardModel::ELECTRON) return update_BpKel;
350// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_0 && lep_i == StandardModel::MU) return update_B0Kmu;
351// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_0 && lep_i == StandardModel::ELECTRON) return update_B0Kel;
352// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::NOLEPTON) return update_BdKstgamma;
353// if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::NOLEPTON) return update_BpKstgamma;
354// if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::NOLEPTON) return update_Bsphigamma;
355// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::TAU) return update_BdDstartaunu;
356// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::MU) return update_BdDstarmunu;
357// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::ELECTRON) return update_BdDstarelnu;
358// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::TAU) return update_BdDtaunu;
359// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::MU) return update_BdDmunu;
360// if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::ELECTRON) return update_BdDelnu;
361// else throw std::runtime_error("Flavour: Wrong update flags requested.");
362//
363 std::vector<int> key({meson_i, meson_j, lep_i});
364 if(flagUpdateMap.find(key)==flagUpdateMap.end()) {
365 // Default value
366 flagUpdateMap[key]=true;
367 }
368 return flagUpdateMap.at(key);
369}
std::map< std::vector< int >, bool > flagUpdateMap
Definition: Flavour.h:406

◆ setFlag()

bool Flavour::setFlag ( const std::string  name,
const bool  value 
)

Definition at line 38 of file Flavour.cpp.

39{
40
41 if (name.compare("UseDispersionRelation") == 0) {
43 return true;
44 } else if (name.compare("UsezExpansion") == 0) {
46 return true;
47 } else if (name.compare("CLNflag") == 0) {
48 setFlagCLN(value);
49 return true;
50 } else if (name.compare("BGLflag") == 0) {
51 setFlagBGL(value);
52 return true;
53 } else if (name.compare("DMflag") == 0) {
54 setFlagDM(value);
55 return true;
56 } else if (name.compare("FixedWCbtos") == 0) {
57 setFlagFixedWCbtos(value);
58 return true;
59 } else if (name.compare("MPll_FNALMILC_flag") == 0) {
61 return true;
62 } else if (name.compare("MPll_GRvDV_flag") == 0) {
63 setFlagMPll_GRvDV(value);
64 return true;
65 } else if (name.compare("MPll_DM_flag") == 0) {
66 setFlagMPll_DM(value);
67 return true;
68 } else if (name.compare("MVll_DM_flag") == 0) {
69 setFlagMVll_DM(value);
70 return true;
71 } else if (name.compare("NeutrinoTree_flag") == 0) {
73 return true;
74 } else if (name.compare("BXsnunu_LFUNP_flag") == 0) {
76 return true;
77 } else
78 return false;
79}
bool setFlagMPll_FNALMILC(bool MPll_FNALMILC_flag)
Definition: Flavour.h:319
bool setFlagBXsnunu_LFUNP(bool BXsnunu_LFUNP_flag) const
Definition: Flavour.h:339
bool setFlagDM(bool DMflag)
Definition: Flavour.h:311
bool setFlagNeutrinoTree(bool NeutrinoTree_flag) const
Definition: Flavour.h:335
bool setFlagBGL(bool BGLflag)
Definition: Flavour.h:307
bool setFlagCLN(bool CLNflag)
Definition: Flavour.h:303
bool setFlagFixedWCbtos(bool FixedWCbtosflag)
Definition: Flavour.h:315
bool setFlagMPll_DM(bool MPll_DM_flag)
Definition: Flavour.h:327
bool setFlagMVll_DM(bool MVll_DM_flag)
Definition: Flavour.h:331
bool setFlagUseDispersionRelation(bool dispersion)
Definition: Flavour.h:295
bool setFlagUsezExpansion(bool zExpansion)
Definition: Flavour.h:299
bool setFlagMPll_GRvDV(bool MPll_GRvDV_flag)
Definition: Flavour.h:323

◆ setFlagBGL()

bool Flavour::setFlagBGL ( bool  BGLflag)
inline

Definition at line 307 of file Flavour.h.

307 {
308 return (this->BGLflag = BGLflag);
309 }

◆ setFlagBXsnunu_LFUNP()

bool Flavour::setFlagBXsnunu_LFUNP ( bool  BXsnunu_LFUNP_flag) const
inline

Definition at line 339 of file Flavour.h.

339 {
340 return (this->BXsnunu_LFUNP_flag = BXsnunu_LFUNP_flag);
341 }

◆ setFlagCLN()

bool Flavour::setFlagCLN ( bool  CLNflag)
inline

Definition at line 303 of file Flavour.h.

303 {
304 return (this->CLNflag = CLNflag);
305 }

◆ setFlagDM()

bool Flavour::setFlagDM ( bool  DMflag)
inline

Definition at line 311 of file Flavour.h.

311 {
312 return (this->DMflag = DMflag);
313 }

◆ setFlagFixedWCbtos()

bool Flavour::setFlagFixedWCbtos ( bool  FixedWCbtosflag)
inline

Definition at line 315 of file Flavour.h.

315 {
316 return (this->FixedWCbtosflag = FixedWCbtosflag);
317 }

◆ setFlagMPll_DM()

bool Flavour::setFlagMPll_DM ( bool  MPll_DM_flag)
inline

Definition at line 327 of file Flavour.h.

327 {
328 return (this->MPll_DM_flag = MPll_DM_flag);
329 }

◆ setFlagMPll_FNALMILC()

bool Flavour::setFlagMPll_FNALMILC ( bool  MPll_FNALMILC_flag)
inline

Definition at line 319 of file Flavour.h.

319 {
320 return (this->MPll_FNALMILC_flag = MPll_FNALMILC_flag);
321 }

◆ setFlagMPll_GRvDV()

bool Flavour::setFlagMPll_GRvDV ( bool  MPll_GRvDV_flag)
inline

Definition at line 323 of file Flavour.h.

323 {
324 return (this->MPll_GRvDV_flag = MPll_GRvDV_flag);
325 }

◆ setFlagMVll_DM()

bool Flavour::setFlagMVll_DM ( bool  MVll_DM_flag)
inline

Definition at line 331 of file Flavour.h.

331 {
332 return (this->MVll_DM_flag = MVll_DM_flag);
333 }

◆ setFlagNeutrinoTree()

bool Flavour::setFlagNeutrinoTree ( bool  NeutrinoTree_flag) const
inline

Definition at line 335 of file Flavour.h.

335 {
336 return (this->NeutrinoTree_flag = NeutrinoTree_flag);
337 }

◆ setFlagUseDispersionRelation()

bool Flavour::setFlagUseDispersionRelation ( bool  dispersion)
inline

Definition at line 295 of file Flavour.h.

295 {
296 return (this->dispersion = dispersion);
297 }

◆ setFlagUsezExpansion()

bool Flavour::setFlagUsezExpansion ( bool  zExpansion)
inline

Definition at line 299 of file Flavour.h.

299 {
300 return (this->zExpansion = zExpansion);
301 }

◆ setSMupdated()

void Flavour::setSMupdated ( ) const

a member used for the caching for \( B \to V \ell^+ \ell^- \).

Definition at line 379 of file Flavour.cpp.

380{
381 for(auto &x : flagUpdateMap) x.second = true;
382}

◆ setUpdateFlag()

void Flavour::setUpdateFlag ( QCD::meson  meson_i,
QCD::meson  meson_j,
QCD::lepton  lep_i,
bool  updated_i 
) const

sets the update flag for the initial and final state dependent object for \( B \to V \ell^+ \ell^- \).

Parameters
[in]meson_ispecifies the meson in the initial state
[in]vector_ispecifies the vector in the final state
[in]lepton_ispecifies the lepton in the final state

Definition at line 315 of file Flavour.cpp.

316{
317// if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::MU) update_BdKstarmu = updated_i;
318// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::ELECTRON) update_BdKstarel = updated_i;
319// else if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::MU) update_BpKstarmu = updated_i;
320// else if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::ELECTRON) update_BpKstarel = updated_i;
321// else if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::MU) update_Bsphimu = updated_i;
322// else if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::ELECTRON) update_Bsphiel = updated_i;
323// else if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_P && lep_i == StandardModel::MU) update_BpKmu = updated_i;
324// else if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_P && lep_i == StandardModel::ELECTRON) update_BpKel = updated_i;
325// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_0 && lep_i == StandardModel::MU) update_B0Kmu = updated_i;
326// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_0 && lep_i == StandardModel::ELECTRON) update_B0Kel = updated_i;
327// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::K_star && lep_i == StandardModel::NOLEPTON) update_BdKstgamma = updated_i;
328// else if (meson_i == StandardModel::B_P && meson_j == StandardModel::K_star_P && lep_i == StandardModel::NOLEPTON) update_BpKstgamma = updated_i;
329// else if (meson_i == StandardModel::B_S && meson_j == StandardModel::PHI && lep_i == StandardModel::NOLEPTON) update_Bsphigamma = updated_i;
330// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::TAU) update_BdDstartaunu = updated_i;
331// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::MU) update_BdDstarmunu = updated_i;
332// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_star_P && lep_i == StandardModel::ELECTRON) update_BdDstarelnu = updated_i;
333// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::TAU) update_BdDtaunu = updated_i;
334// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::MU) update_BdDmunu = updated_i;
335// else if (meson_i == StandardModel::B_D && meson_j == StandardModel::D_P && lep_i == StandardModel::ELECTRON) update_BdDelnu = updated_i;
336// else throw std::runtime_error("Flavour: Wrong update flag requested.");
337 flagUpdateMap[std::vector<int>({meson_i, meson_j, lep_i})] = updated_i;
338}

Member Data Documentation

◆ AmpDB2Map

std::map<std::vector<int>, std::shared_ptr<AmpDB2> > Flavour::AmpDB2Map
mutableprivate

Definition at line 405 of file Flavour.h.

◆ BClnuMap

std::map<std::vector<int>, std::shared_ptr<BClnu> > Flavour::BClnuMap
mutableprivate

Definition at line 404 of file Flavour.h.

◆ BGLflag

bool Flavour::BGLflag
mutableprivate

Definition at line 411 of file Flavour.h.

◆ BXsnunu_LFUNP_flag

bool Flavour::BXsnunu_LFUNP_flag
mutableprivate

Definition at line 419 of file Flavour.h.

◆ CLNflag

bool Flavour::CLNflag
mutableprivate

Definition at line 410 of file Flavour.h.

◆ dispersion

bool Flavour::dispersion
mutableprivate

Definition at line 408 of file Flavour.h.

◆ DMflag

bool Flavour::DMflag
mutableprivate

Definition at line 412 of file Flavour.h.

◆ FixedWCbtosflag

bool Flavour::FixedWCbtosflag
mutableprivate

Definition at line 413 of file Flavour.h.

◆ flagUpdateMap

std::map<std::vector<int>, bool> Flavour::flagUpdateMap
mutableprivate

Definition at line 406 of file Flavour.h.

◆ HDB1

std::shared_ptr<HeffDB1> Flavour::HDB1
mutableprivate

An Object for the Hamiltonian of the \( \Delta B = 1 \) processes.

Definition at line 397 of file Flavour.h.

◆ HDF1_diujlknu

std::shared_ptr<HeffDF1_diujlknu> Flavour::HDF1_diujlknu
mutableprivate

An Object for the Hamiltonian built with \( \bar{d}_i u_j \bar{\nu} \ell_k \) operators in the JMS basis, ordered as CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij, CnueduTRRkkij.

Definition at line 396 of file Flavour.h.

◆ HDF2

std::shared_ptr<HeffDF2> Flavour::HDF2
mutableprivate

An Object for the Hamiltonian of the \( \Delta F = 2 \) processes.

Definition at line 395 of file Flavour.h.

◆ HDS1

std::shared_ptr<HeffDS1> Flavour::HDS1
mutableprivate

An Object for the Hamiltonian of the \( \Delta S = 1 \) processes.

Definition at line 398 of file Flavour.h.

◆ MPll_DM_flag

bool Flavour::MPll_DM_flag
mutableprivate

Definition at line 416 of file Flavour.h.

◆ MPll_FNALMILC_flag

bool Flavour::MPll_FNALMILC_flag
mutableprivate

Definition at line 414 of file Flavour.h.

◆ MPll_GRvDV_flag

bool Flavour::MPll_GRvDV_flag
mutableprivate

Definition at line 415 of file Flavour.h.

◆ MPllMap

std::map<std::vector<int>, std::shared_ptr<MPll> > Flavour::MPllMap
mutableprivate

Definition at line 402 of file Flavour.h.

◆ MPlnuMap

std::map<std::vector<int>, std::shared_ptr<MPlnu> > Flavour::MPlnuMap
mutableprivate

Definition at line 403 of file Flavour.h.

◆ MVgammaMap

std::map<std::vector<int>, std::shared_ptr<MVgamma> > Flavour::MVgammaMap
mutableprivate

Definition at line 401 of file Flavour.h.

◆ MVll_DM_flag

bool Flavour::MVll_DM_flag
mutableprivate

Definition at line 417 of file Flavour.h.

◆ MVllMap

std::map<std::vector<int>, std::shared_ptr<MVll> > Flavour::MVllMap
mutableprivate

Definition at line 399 of file Flavour.h.

◆ MVlnuMap

std::map<std::vector<int>, std::shared_ptr<MVlnu> > Flavour::MVlnuMap
mutableprivate

Definition at line 400 of file Flavour.h.

◆ mySM

const StandardModel& Flavour::mySM
private

Definition at line 394 of file Flavour.h.

◆ NeutrinoTree_flag

bool Flavour::NeutrinoTree_flag
mutableprivate

Definition at line 418 of file Flavour.h.

◆ zExpansion

bool Flavour::zExpansion
mutableprivate

Definition at line 409 of file Flavour.h.


The documentation for this class was generated from the following files: