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 36 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...
 
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
 
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 22 of file Flavour.cpp.

23: mySM(SM_i)
24{
25 dispersion = false;
26 zExpansion = false;
27 CLNflag = false;
28 BGLflag = false;
29 DMflag = false;
30 FixedWCbtosflag = false;
31 MPll_FNALMILC_flag = false;
32 BXsnunu_LFUNP_flag = false;
33 MPll_GRvDV_flag = false;
34 NeutrinoTree_flag = false;
35};
bool BGLflag
Definition: Flavour.h:399
bool CLNflag
Definition: Flavour.h:398
bool NeutrinoTree_flag
Definition: Flavour.h:406
bool FixedWCbtosflag
Definition: Flavour.h:401
bool BXsnunu_LFUNP_flag
Definition: Flavour.h:407
bool MPll_FNALMILC_flag
Definition: Flavour.h:402
bool dispersion
Definition: Flavour.h:396
const StandardModel & mySM
Definition: Flavour.h:383
bool MPll_GRvDV_flag
Definition: Flavour.h:403
bool zExpansion
Definition: Flavour.h:397
bool DMflag
Definition: Flavour.h:400

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 101 of file Flavour.cpp.

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

◆ 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 194 of file Flavour.cpp.

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

◆ 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 199 of file Flavour.cpp.

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

◆ 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 106 of file Flavour.cpp.

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

◆ ComputeCoeffdd()

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

Definition at line 111 of file Flavour.cpp.

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

◆ 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 152 of file Flavour.cpp.

153{
154 return getPtr<HeffDF1_diujlknu>(HDF1_diujlknu)->ComputeCoeffdiujleptonknu(i, j, k, mu);
155}
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:385

◆ 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 164 of file Flavour.cpp.

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

◆ ComputeCoeffdnunu()

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

Definition at line 174 of file Flavour.cpp.

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

◆ ComputeCoeffDS1mumu()

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

Definition at line 146 of file Flavour.cpp.

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

◆ ComputeCoeffDS1pnunu()

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

Definition at line 136 of file Flavour.cpp.

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

◆ ComputeCoeffDS1pnunuC()

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

Definition at line 141 of file Flavour.cpp.

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

◆ ComputeCoeffDS1PPv()

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

Definition at line 126 of file Flavour.cpp.

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

◆ ComputeCoeffDS1PPz()

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

Definition at line 131 of file Flavour.cpp.

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

◆ ComputeCoeffK()

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

Definition at line 116 of file Flavour.cpp.

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

◆ ComputeCoeffmK()

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

Definition at line 121 of file Flavour.cpp.

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

◆ 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 204 of file Flavour.cpp.

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

◆ 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 189 of file Flavour.cpp.

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

◆ 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 179 of file Flavour.cpp.

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

◆ 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 184 of file Flavour.cpp.

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

◆ 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 159 of file Flavour.cpp.

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

◆ ComputeCoeffsnunu()

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

Definition at line 169 of file Flavour.cpp.

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

◆ 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 228 of file Flavour.cpp.

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

◆ getFlagBGL()

bool Flavour::getFlagBGL ( ) const
inline

Definition at line 344 of file Flavour.h.

344 {
345 return BGLflag;
346 }

◆ getFlagBXsnunu_LFUNP()

bool Flavour::getFlagBXsnunu_LFUNP ( ) const
inline

Definition at line 376 of file Flavour.h.

376 {
377 return BXsnunu_LFUNP_flag;
378 }

◆ getFlagCLN()

bool Flavour::getFlagCLN ( ) const
inline

Definition at line 340 of file Flavour.h.

340 {
341 return CLNflag;
342 }

◆ getFlagDM()

bool Flavour::getFlagDM ( ) const
inline

Definition at line 348 of file Flavour.h.

348 {
349 return DMflag;
350 }

◆ getFlagFixedWCbtos()

bool Flavour::getFlagFixedWCbtos ( ) const
inline

Definition at line 352 of file Flavour.h.

352 {
353 return FixedWCbtosflag;
354 }

◆ getFlagMPll_DM()

bool Flavour::getFlagMPll_DM ( ) const
inline

Definition at line 364 of file Flavour.h.

364 {
365 return MPll_DM_flag;
366 }
bool MPll_DM_flag
Definition: Flavour.h:404

◆ getFlagMPll_FNALMILC()

bool Flavour::getFlagMPll_FNALMILC ( ) const
inline

Definition at line 356 of file Flavour.h.

356 {
357 return MPll_FNALMILC_flag;
358 }

◆ getFlagMPll_GRvDV()

bool Flavour::getFlagMPll_GRvDV ( ) const
inline

Definition at line 360 of file Flavour.h.

360 {
361 return MPll_GRvDV_flag;
362 }

◆ getFlagMVll_DM()

bool Flavour::getFlagMVll_DM ( ) const
inline

Definition at line 368 of file Flavour.h.

368 {
369 return MVll_DM_flag;
370 }
bool MVll_DM_flag
Definition: Flavour.h:405

◆ getFlagNeutrinoTree()

bool Flavour::getFlagNeutrinoTree ( ) const
inline

Definition at line 372 of file Flavour.h.

372 {
373 return NeutrinoTree_flag;
374 }

◆ getFlagUseDispersionRelation()

bool Flavour::getFlagUseDispersionRelation ( ) const
inline

Definition at line 332 of file Flavour.h.

332 {
333 return dispersion;
334 }

◆ getFlagUsezExpansion()

bool Flavour::getFlagUsezExpansion ( ) const
inline

Definition at line 336 of file Flavour.h.

336 {
337 return zExpansion;
338 }

◆ 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 96 of file Flavour.cpp.

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

◆ 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 86 of file Flavour.cpp.

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

◆ 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 81 of file Flavour.cpp.

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

◆ 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 91 of file Flavour.cpp.

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

◆ 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 300 of file Flavour.cpp.

301{
302 std::vector<int> key({args...});
303 if(map.find(key)==map.end()) {
304 map.insert(std::make_pair(key,std::make_shared<T>(mySM,args...)));
305 }
306 return *map.at(key);
307}

◆ 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 282 of file Flavour.cpp.

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

◆ 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 266 of file Flavour.cpp.

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

◆ 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 233 of file Flavour.cpp.

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

◆ 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 209 of file Flavour.cpp.

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

◆ 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 249 of file Flavour.cpp.

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

◆ 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 365 of file Flavour.cpp.

366{
367 if (x.get() == nullptr){
368 x = std::make_shared<T>(mySM, args...);
369 }
370 return x;
371}

◆ 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 334 of file Flavour.cpp.

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

◆ setFlag()

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

Definition at line 37 of file Flavour.cpp.

38{
39
40 if (name.compare("UseDispersionRelation") == 0) {
42 return true;
43 } else if (name.compare("UsezExpansion") == 0) {
45 return true;
46 } else if (name.compare("CLNflag") == 0) {
47 setFlagCLN(value);
48 return true;
49 } else if (name.compare("BGLflag") == 0) {
50 setFlagBGL(value);
51 return true;
52 } else if (name.compare("DMflag") == 0) {
53 setFlagDM(value);
54 return true;
55 } else if (name.compare("FixedWCbtos") == 0) {
56 setFlagFixedWCbtos(value);
57 return true;
58 } else if (name.compare("MPll_FNALMILC_flag") == 0) {
60 return true;
61 } else if (name.compare("MPll_GRvDV_flag") == 0) {
62 setFlagMPll_GRvDV(value);
63 return true;
64 } else if (name.compare("MPll_DM_flag") == 0) {
65 setFlagMPll_DM(value);
66 return true;
67 } else if (name.compare("MVll_DM_flag") == 0) {
68 setFlagMVll_DM(value);
69 return true;
70 } else if (name.compare("NeutrinoTree_flag") == 0) {
72 return true;
73 } else if (name.compare("BXsnunu_LFUNP_flag") == 0) {
75 return true;
76 } else
77 return false;
78}
bool setFlagMPll_FNALMILC(bool MPll_FNALMILC_flag)
Definition: Flavour.h:308
bool setFlagBXsnunu_LFUNP(bool BXsnunu_LFUNP_flag) const
Definition: Flavour.h:328
bool setFlagDM(bool DMflag)
Definition: Flavour.h:300
bool setFlagNeutrinoTree(bool NeutrinoTree_flag) const
Definition: Flavour.h:324
bool setFlagBGL(bool BGLflag)
Definition: Flavour.h:296
bool setFlagCLN(bool CLNflag)
Definition: Flavour.h:292
bool setFlagFixedWCbtos(bool FixedWCbtosflag)
Definition: Flavour.h:304
bool setFlagMPll_DM(bool MPll_DM_flag)
Definition: Flavour.h:316
bool setFlagMVll_DM(bool MVll_DM_flag)
Definition: Flavour.h:320
bool setFlagUseDispersionRelation(bool dispersion)
Definition: Flavour.h:284
bool setFlagUsezExpansion(bool zExpansion)
Definition: Flavour.h:288
bool setFlagMPll_GRvDV(bool MPll_GRvDV_flag)
Definition: Flavour.h:312

◆ setFlagBGL()

bool Flavour::setFlagBGL ( bool  BGLflag)
inline

Definition at line 296 of file Flavour.h.

296 {
297 return (this->BGLflag = BGLflag);
298 }

◆ setFlagBXsnunu_LFUNP()

bool Flavour::setFlagBXsnunu_LFUNP ( bool  BXsnunu_LFUNP_flag) const
inline

Definition at line 328 of file Flavour.h.

328 {
329 return (this->BXsnunu_LFUNP_flag = BXsnunu_LFUNP_flag);
330 }

◆ setFlagCLN()

bool Flavour::setFlagCLN ( bool  CLNflag)
inline

Definition at line 292 of file Flavour.h.

292 {
293 return (this->CLNflag = CLNflag);
294 }

◆ setFlagDM()

bool Flavour::setFlagDM ( bool  DMflag)
inline

Definition at line 300 of file Flavour.h.

300 {
301 return (this->DMflag = DMflag);
302 }

◆ setFlagFixedWCbtos()

bool Flavour::setFlagFixedWCbtos ( bool  FixedWCbtosflag)
inline

Definition at line 304 of file Flavour.h.

304 {
305 return (this->FixedWCbtosflag = FixedWCbtosflag);
306 }

◆ setFlagMPll_DM()

bool Flavour::setFlagMPll_DM ( bool  MPll_DM_flag)
inline

Definition at line 316 of file Flavour.h.

316 {
317 return (this->MPll_DM_flag = MPll_DM_flag);
318 }

◆ setFlagMPll_FNALMILC()

bool Flavour::setFlagMPll_FNALMILC ( bool  MPll_FNALMILC_flag)
inline

Definition at line 308 of file Flavour.h.

308 {
309 return (this->MPll_FNALMILC_flag = MPll_FNALMILC_flag);
310 }

◆ setFlagMPll_GRvDV()

bool Flavour::setFlagMPll_GRvDV ( bool  MPll_GRvDV_flag)
inline

Definition at line 312 of file Flavour.h.

312 {
313 return (this->MPll_GRvDV_flag = MPll_GRvDV_flag);
314 }

◆ setFlagMVll_DM()

bool Flavour::setFlagMVll_DM ( bool  MVll_DM_flag)
inline

Definition at line 320 of file Flavour.h.

320 {
321 return (this->MVll_DM_flag = MVll_DM_flag);
322 }

◆ setFlagNeutrinoTree()

bool Flavour::setFlagNeutrinoTree ( bool  NeutrinoTree_flag) const
inline

Definition at line 324 of file Flavour.h.

324 {
325 return (this->NeutrinoTree_flag = NeutrinoTree_flag);
326 }

◆ setFlagUseDispersionRelation()

bool Flavour::setFlagUseDispersionRelation ( bool  dispersion)
inline

Definition at line 284 of file Flavour.h.

284 {
285 return (this->dispersion = dispersion);
286 }

◆ setFlagUsezExpansion()

bool Flavour::setFlagUsezExpansion ( bool  zExpansion)
inline

Definition at line 288 of file Flavour.h.

288 {
289 return (this->zExpansion = zExpansion);
290 }

◆ setSMupdated()

void Flavour::setSMupdated ( ) const

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

Definition at line 373 of file Flavour.cpp.

374{
375 for(auto &x : flagUpdateMap) x.second = true;
376}

◆ 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 309 of file Flavour.cpp.

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

Member Data Documentation

◆ AmpDB2Map

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

Definition at line 393 of file Flavour.h.

◆ BGLflag

bool Flavour::BGLflag
mutableprivate

Definition at line 399 of file Flavour.h.

◆ BXsnunu_LFUNP_flag

bool Flavour::BXsnunu_LFUNP_flag
mutableprivate

Definition at line 407 of file Flavour.h.

◆ CLNflag

bool Flavour::CLNflag
mutableprivate

Definition at line 398 of file Flavour.h.

◆ dispersion

bool Flavour::dispersion
mutableprivate

Definition at line 396 of file Flavour.h.

◆ DMflag

bool Flavour::DMflag
mutableprivate

Definition at line 400 of file Flavour.h.

◆ FixedWCbtosflag

bool Flavour::FixedWCbtosflag
mutableprivate

Definition at line 401 of file Flavour.h.

◆ flagUpdateMap

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

Definition at line 394 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 386 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 385 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 384 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 387 of file Flavour.h.

◆ MPll_DM_flag

bool Flavour::MPll_DM_flag
mutableprivate

Definition at line 404 of file Flavour.h.

◆ MPll_FNALMILC_flag

bool Flavour::MPll_FNALMILC_flag
mutableprivate

Definition at line 402 of file Flavour.h.

◆ MPll_GRvDV_flag

bool Flavour::MPll_GRvDV_flag
mutableprivate

Definition at line 403 of file Flavour.h.

◆ MPllMap

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

Definition at line 391 of file Flavour.h.

◆ MPlnuMap

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

Definition at line 392 of file Flavour.h.

◆ MVgammaMap

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

Definition at line 390 of file Flavour.h.

◆ MVll_DM_flag

bool Flavour::MVll_DM_flag
mutableprivate

Definition at line 405 of file Flavour.h.

◆ MVllMap

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

Definition at line 388 of file Flavour.h.

◆ MVlnuMap

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

Definition at line 389 of file Flavour.h.

◆ mySM

const StandardModel& Flavour::mySM
private

Definition at line 383 of file Flavour.h.

◆ NeutrinoTree_flag

bool Flavour::NeutrinoTree_flag
mutableprivate

Definition at line 406 of file Flavour.h.

◆ zExpansion

bool Flavour::zExpansion
mutableprivate

Definition at line 397 of file Flavour.h.


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