21 #ifndef _HNL_BRFUNCTIONS_H_
22 #define _HNL_BRFUNCTIONS_H_
104 double DWidth_PiZeroAndNu(
const double M,
const double Ue42,
const double Umu42,
const double Ut42 )
const;
107 double DWidth_PiAndLepton(
const double M,
const double Ua42,
const double ma )
const;
110 double DWidth_Invisible(
const double M,
const double Ue42,
const double Umu42,
const double Ut42 )
const;
113 double DWidth_SameLepton(
const double M,
const double Ue42,
const double Umu42,
const double Ut42,
const double mb,
bool bIsMu )
const;
117 double DWidth_DiffLepton(
const double M,
const double Ua42,
const double Ub42,
const int IsMajorana )
const;
121 const double Ue42,
const double Umu42,
const double Ut42,
122 const bool isElectron =
false )
const;
126 const double Ue42,
const double Umu42,
const double Ut42 )
const;
165 #endif // #ifndef _HNL_BRFUNCTIONS_H_
enum genie::hnl::t_HNLProd HNLProd_t
double DWidth_PseudoscalarToPiLepton(const double mP, const double M, const double Ua42, const double ma) const
double DWidth_PseudoscalarToLepton(const double mP, const double M, const double Ua42, const double ma) const
double DWidth_Pi0Pi0Nu(const double M, const double Ue42, const double Umu42, const double Ut42) const
Manages HNL BR (prod and decay)
double DWidth_PiZeroAndNu(const double M, const double Ue42, const double Umu42, const double Ut42) const
std::map< double, double > kscale_K3e
double DWidth_PiPi0Ell(const double M, const double ml, const double Ue42, const double Umu42, const double Ut42, const bool isElectron=false) const
double KScale_Global(genie::hnl::HNLProd_t hnldm, const double M) const
double DWidth_PiAndLepton(const double M, const double Ua42, const double ma) const
double KinematicScaling(genie::hnl::HNLProd_t hnlprod) const
double KScale_PseudoscalarToPiLepton(const double mP, const double M, const double ma) const
static constexpr double mb
enum genie::hnl::EHNLDecayMode HNLDecayMode_t
double DWidth_Global(genie::hnl::HNLDecayMode_t hnldm, const double M) const
double DWidth_Invisible(const double M, const double Ue42, const double Umu42, const double Ut42) const
double DWidth_SameLepton(const double M, const double Ue42, const double Umu42, const double Ut42, const double mb, bool bIsMu) const
double KScale_MuonToNuAndElectron(const double M) const
static double PiPi0EllForm(double *x, double *par)
double DecayWidth(genie::hnl::HNLDecayMode_t hnldm) const
double DWidth_DiffLepton(const double M, const double Ua42, const double Ub42, const int IsMajorana) const
A registry. Provides the container for algorithm configuration parameters.
std::map< double, double > kscale_K3mu
std::map< double, double > kscale_mu3e
double GetFormfactorF2(double x) const
Pure abstract base class. Defines the ChannelCalculatorI interface to be implemented by BRCalculator ...
void Configure(const Registry &config)
std::vector< double > fCouplings
double GetFormfactorF1(double x) const
double DWidth_MuonToNuAndElectron(const double M, const double Ue42, const double Umu42, const double Ut42) const
double KScale_PseudoscalarToLepton(const double mP, const double M, const double ma) const
static double Pi0Pi0NuForm(double *x, double *par)
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...