Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ObservableInterface.h File Reference

High-level, user-facing entry point to compute flavor observables. More...

#include <map>
#include <memory>
#include <vector>
#include <string>
#include <exception>
#include <iostream>
#include <cmath>
#include <utility>
#include "Include.h"
#include "Decays.h"
#include "ObsManager.h"
#include "ObsUseMarty.h"
#include "WilsonFreezer.h"
#include "LambdaDecay.h"
#include "WilsonMatchingPatch.h"
Include dependency graph for ObservableInterface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ObservableInterface
 

Detailed Description

High-level, user-facing entry point to compute flavor observables.

ObservableInterface is the public API intended for end users (scripts, CLI, bindings) to:

  • select which observables to compute,
  • optionally attach parameter dependences (for scans/likelihood workflows),
  • compute theory predictions (possibly binned),
  • access experimental central values / uncertainties stored in FOBS,
  • set / get input parameters in SM/BSM/FLAVOR/etc. parameter spaces.

Internally, this interface wires together:

The design goal is that users only need this class in typical use.

Typical usage
// Add an observable (choose max QCD order for this decay's computation)
oi.add_observable(Observables::BR_B_to_Xs_gamma, QCDOrder::NNLO, add_dependencies=true);
// Compute prediction (returns possibly multiple bins)
auto vals = oi.compute_observable(Observables::BR_B_to_Xs_gamma);
// Experimental numbers stored in FOBS (if available)
double exp = oi.get_exp_value(Observables::BR_B_to_Xs_gamma);
double err = oi.get_exp_uncertainty(Observables::BR_B_to_Xs_gamma, UncertaintyType::COMBINED);
scalar_t get_exp_uncertainty(Observables id, UncertaintyType u_type=UncertaintyType::COMBINED)
Get experimental uncertainty for an observable (enum API).
std::vector< ObservableValue > compute_observable(Observables obs) const
Compute a theory prediction for an observable (enum API).
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).
Notes on Wilson backend (MARTY)
If the selected backend is MARTY, the Wilson side is restricted to LO QCD in this codebase. Higher requested QCD orders for Wilson coefficients are effectively downgraded to LO (see warnings in the Wilson layer).
See also
ObsManager
Observable
DecayParent
ObservablePortsConfig
ObsWilsonBuilder
WilsonFreezer

Definition in file ObservableInterface.h.