18const double C10 = p.at(0);
19const double Cp10 = p.at(1);
21const double f_d = eta.at(0);
22const double f_s = eta.at(1);
23const double ys = eta.at(2);
24const double Vts = eta.at(3);
25const double Vtd = eta.at(4);
29const double HBAR = 6.58211889e-25;
30const double G_F = 1.1663787e-5;
31const double alpha_em = 1.0/1.27930e+02;
32const double m_mu = 0.1056583755;
33const double m_Bd = 5.27972;
34const double m_Bs = 5.36693;
35const double tau_Bd = 1.517e-12;
36const double tau_Bs = 1.527e-12;
37const double abs_Vtb = 0.999118;
40const double k = (G_F*G_F)*(alpha_em*alpha_em)/(16.0*M_PI*M_PI*M_PI);
41const double ps_s = std::sqrt(1.0 - 4.0*m_mu*m_mu/(m_Bs*m_Bs));
42const double ps_d = std::sqrt(1.0 - 4.0*m_mu*m_mu/(m_Bd*m_Bd));
45const double BR_s_untag = (1.0 + ys)/(1.0 - ys*ys) * k * f_s*f_s * tau_Bs * m_Bs * m_mu*m_mu * Vts*Vts * abs_Vtb*abs_Vtb * ps_s * (
C10 - Cp10)*(
C10 - Cp10) /
HBAR;
46const double BR_d = k * f_d*f_d * tau_Bd * m_Bd * m_mu*m_mu * Vtd*Vtd * abs_Vtb*abs_Vtb * ps_d *
C10*
C10 /
HBAR;
47return Vec{BR_s_untag, BR_d};
50std::map<ObservableId, double>
predict(
const std::map<ParamId, double>& p,
const std::map<ParamId, double>& eta) {
82return std::map<ObservableId, double>{};
Abstract model interface used by the statistical layer.
std::unordered_set< ParamId > get_obs_deps(ObservableId id) override
Returns the model parameters required by an observable.
std::map< ObservableId, double > predict(const std::map< ParamId, double > &p, const std::map< ParamId, double > &eta)
void add_observables(std::map< ObservableId, QCDOrder > obs_ids)
Vec predict(const Vec &p, const Vec &eta)
std::size_t n_observables() const override
Returns the number of currently active binned observables.
Interface for a model capable of producing observable predictions.
std::vector< double > Vec