9template<
typename T,
typename U>
10void assert_equal(
const T& result,
const U& expected,
const std::string& test_name) {
11 if (result == expected) {
12 std::cout <<
"[PASS] " << test_name <<
"\n";
14 std::cerr <<
"[FAIL] " << test_name <<
": got " << result <<
", expected " << expected <<
"\n";
47 for (
auto elem : val) {
48 std::cout <<
"compute_observable: " << elem.value <<
"\n";
86 std::cout <<
"get_exp_value: " << exp_val <<
", stat: " << stat <<
", syst: " << syst <<
"\n";
90 std::cout <<
"compute_all size: " << estimates.size() <<
"\n";
103 hyperiso.
init(
"default/lha/testInput.flha", config);
104 LOG_INFO(
"HyperisoMaster initialized");
void test_interface(ObservableInterface &interface)
void assert_equal(const T &result, const U &expected, const std::string &test_name)
High-level helpers for initializing and monitoring the Hyperiso framework.
#define LOG_INFO(...)
Macro for logging informational messages.
High-level, user-facing entry point to compute flavor observables.
static std::vector< Observables > get_observables(Decays d)
Legacy static lookup of builtin observables for a builtin decay.
High-level interface to initialize and monitor the main framework configuration.
void init(const std::string &lhaFile, HyperisoConfig config)
Initializes Hyperiso using a LHA file and a full Config object.
void setLevel(LogLevel level)
Sets the logging level.
static Logger * getInstance()
Retrieves the singleton instance of the Logger.
void add_observables(std::map< Observables, QCDOrder > obss, bool add_dependencies=false)
Add multiple observables at once (enum map).
scalar_t get_exp_uncertainty(Observables id, UncertaintyType u_type=UncertaintyType::COMBINED)
Get experimental uncertainty for an observable (enum API).
void remove_observable(Observables id)
Remove an observable from the manager (enum API).
std::vector< ObservableValue > compute_observable(Observables obs) const
Compute a theory prediction for an observable (enum API).
std::map< ObservableId, std::vector< ObservableValue > > compute_all()
Compute all currently registered observables.
ObservableInterface & add_observable(Observables obs, QCDOrder order, bool add_dependencies=false)
Add an observable to the manager (enum API).
scalar_t get_exp_value(Observables id)
Get experimental central value for an observable (enum API).
void remove_observables(std::unordered_set< Observables > ids)
Remove several observables (enum set).
double T(double x)
Wilson coefficient T(x).
Configuration object controlling model, input flags and optional MARTY resources.
Model model
Current model.