23 std::map<WCoef, complex_t>
C;
55 double s_p(
double q2);
56 double s_m(
double q2);
66 double K1ss(
double q2,
bool bar);
67 double K1cc(
double q2,
bool bar);
68 double K1c(
double q2,
bool bar);
69 double K2ss(
double q2,
bool bar);
70 double K2cc(
double q2,
bool bar);
71 double K2c(
double q2,
bool bar);
Base class for observable/decay computation modules.
Default observable-layer implementation of IObsQCDProxy.
std::complex< double > complex_t
Convenience alias for std::complex<double>.
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>.
Decay parent for the Lambda_b > Lambda l+ l- decays.
complex_t A_perp_0(double q2, double sign, bool bar)
std::vector< ObservableValue > A_FB_l(Observables oid)
complex_t A_par_0(double q2, double sign, bool bar)
LbLllDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
std::vector< ObservableValue > A_FB_lh(Observables oid)
complex_t A_perp_1(double q2, double sign, bool bar)
double K2ss(double q2, bool bar)
complex_t A_par_1(double q2, double sign, bool bar)
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
void load_params() override
Load and cache parameters needed by this decay.
complex_t N(double q2, bool bar)
double dG_dq2_avg_bin(size_t bin)
double K2c(double q2, bool bar)
void set_cfg_flags(LbLllConfig::Lepton gen)
void set_n_threads(size_t n_threads) override
Set the number of worker threads used by decays that support parallel cache filling.
void load_cfg_dep_params()
double K1c(double q2, bool bar)
bool supports_thread_config() const override
Whether this decay supports runtime thread configuration.
std::vector< ObservableValue > A_FB_h(Observables oid)
double K1cc(double q2, bool bar)
size_t get_n_threads() const override
Return the currently configured worker-thread count.
void set_config_spe(LbLllConfig config) override
Strongly-typed configuration setter to implement in derived classes.
std::vector< ObservableValue > F_L(Observables oid)
void compute_binned_K_i()
std::any get_config() const override
Return the current decay configuration when the decay has one.
double K2cc(double q2, bool bar)
double K1ss(double q2, bool bar)
std::vector< ObservableValue > dBR_dq2_binned(Observables oid, bool br)
std::map< WCoef, complex_t > C
LbLFFCalculator ff_calculator
std::vector< double > bin_widths
std::array< std::vector< double >, 6 > K_i_binned
LbLllDecayCache(std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > iobspp_sm)
std::array< std::vector< double >, 6 > K_i_bar_binned
Dependency container (“ports”) for observable computations.
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.