1#ifndef __BXSLLDECAY_H__
2#define __BXSLLDECAY_H__
28 std::map<WCoef, complex_t>
C;
29 std::map<WCoef, complex_t>
C_LO;
60 double g_rho(
double z);
62 double kappa(
double z);
85 double sigma(
double s);
87 double sigma_7(
double s,
double L_mu);
94 double omega_22(
double s,
double L_l);
98 double omega_77(
double s,
double L_l);
99 double omega_79(
double s,
double L_l);
101 double omega_99(
double s,
double L_l);
106 double breit_wigner(
double s,
double m_V,
double br,
double gamma_tot,
double gamma_had);
107 double PV_breit_wigner(
double s,
double m_V,
double br,
double gamma_tot,
double gamma_had);
109 double R_cc(
double s);
124 double W_7(
double s);
125 double W_9(
double s);
126 double W_10(
double s);
130 double W_79(
double s);
131 double W_710(
double s);
132 double W_910(
double s);
134 double dB0_ds(
double s,
double ml_hat);
141 double delta_em(
double s,
double L_l);
142 double dB_ds(
double s,
double ml_hat,
double L_l);
144 double A_FB_0(
double s,
double ml_hat);
149 double A_FB(
double s,
double ml_hat,
double L_l);
Base class for observable/decay computation modules.
Default observable-layer implementation of IObsQCDProxy.
std::complex< double > complex_t
Convenience alias for std::complex<double>.
Decay parent for the inclusive B > X_s l+ l- decays. Implements the integrated branching ratio in bot...
complex_t omega_27(double s, double L_l)
double omega_79(double s, double L_l)
double g_lambda(double z)
complex_t C7_new(double s, bool prime)
complex_t g_ld(double z, double s)
double delta_bremB(double s)
double delta_mc2(double s)
double omega_910(double s, double L_l)
double delta_em(double s, double L_l)
void load_cfg_dep_params()
complex_t omega_29(double s, double L_l)
double delta_bremA(double s)
double dB0_ds(double s, double ml_hat)
double breit_wigner(double s, double m_V, double br, double gamma_tot, double gamma_had)
double delta_mb2(double s)
double delta_A_em(double s, double L_l)
complex_t omega_210(double s, double L_l, double z)
complex_t C9_eff(double s, QCDOrder order, bool prime)
double sigma_7(double s, double L_mu)
complex_t tau_29(double s, double w, complex_t Delta_23, complex_t Delta_27)
complex_t Sigma_3(double s)
double PV_R_cc_cont(double s)
complex_t Delta_i_27(double s, double z, double w)
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
complex_t W_210(double s)
double A_FB_0(double s, double ml_hat)
void set_cfg_flags(BXsllConfig::Lepton gen)
double delta_A_mb2(double s)
BXsllDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
double R_cc_cont(double s)
complex_t tau_210(double s, double z)
double dB_ds(double s, double ml_hat, double L_l)
complex_t Sigma_7(double s, double z)
void load_params() override
Load and cache parameters needed by this decay.
double omega_1010(double s, double L_l)
double tau_22(double s, double w, complex_t Delta_23, complex_t Delta_27)
complex_t C10_new(double s, bool prime)
std::vector< ObservableValue > BR_B_Xsll(Observables oid)
void set_config_spe(BXsllConfig config) override
Strongly-typed configuration setter to implement in derived classes.
double omega_99(double s, double L_l)
double delta_A_mc2(double s)
double delta_mb3(double s)
std::vector< ObservableValue > A_FB_B_Xsll(Observables oid)
complex_t Sigma_1(double s)
complex_t tau_27(double s, double w, complex_t Delta_23, complex_t Delta_27)
double omega_77(double s, double L_l)
double omega_710(double s, double L_l)
double omega_22(double s, double L_l)
complex_t C9_new(double s, bool prime)
double PV_breit_wigner(double s, double m_V, double br, double gamma_tot, double gamma_had)
complex_t Delta_i_23(double s, double z, double w)
double delta_A_brem(double s)
double A_FB(double s, double ml_hat, double L_l)
double delta_bremB_base(double s)
complex_t tau_28(double s, double w, complex_t Delta_23, complex_t Delta_27)
Mapper for decay names, dynamic ids and observable membership.
Typed configuration adapter for DecayParent using std::any.
bool binned
Whether this decay requires q² bins before its observables can be computed.
WilsonBuildConfig w_config
Wilson build configuration used when enabling this decay (scales, order, groups).
ObservablePortsConfig & ports
Reference to the ports/configuration wiring this decay to the framework.
QCDOrder max_order
Maximum QCD order supported by this decay module (default: LO).
static IdOf< WGroupTag > to_id(WGroup e)
Converts an enum value to an IdOf<Tag>.
std::array< complex_t, 100 > F_29_lookup
std::array< double, 100 > delta_brems_lookup
std::array< double, 3 > rand_err
std::array< double, 6 > cc_res_width_had
std::array< complex_t, 100 > F_27_lookup
std::array< double, 6 > cc_res_width_tot
std::array< double, 6 > cc_res_mass
std::array< complex_t, 100 > F_17_lookup
std::array< double, 6 > cc_res_br
std::map< WCoef, complex_t > C_LO
std::array< complex_t, 100 > F_19_lookup
std::map< WCoef, complex_t > C
Dependency container (“ports”) for observable computations.
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.