Base class for observable/decay computation modules.
std::complex< double > complex_t
Convenience alias for std::complex<double>.
Decay parent for the Bq > ll decays. Currently implements both CP-averaged and untagged Bs > mu+ mu- ...
double BR_untag_Bs_ll(int gen)
void load_params() override
Load and cache parameters needed by this decay.
double BR_avg_Bq_ll(int q, int gen)
BllDecay(QCDOrder order, double matching_scale, double hadronic_scale, ObservablePortsConfig &ports)
std::vector< ObservableValue > compute_observable(Observables obs) override
Compute an observable given a public observable enum.
Mapper for decay names, dynamic ids and observable membership.
Typed configuration adapter for DecayParent using std::any.
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>.
Dependency container (“ports”) for observable computations.
std::unordered_set< WGroupId > groups
Set of Wilson operator group identifiers to be included in the build.