|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
HyperIso uses a modular, ports-and-adapters style architecture. Physics logic, input loading, numerical utilities and user interfaces are separated so that they can be validated independently while sharing one runtime state.
| Module | Responsibility |
|---|---|
Common | Shared identifiers, enums, mappers, logging and low-level types. |
DataBase | Typed blocks, JSON/YAML/LHA readers, correlations and database export. |
Core | Runtime configuration, parameter memory, initialization and QCD/flavour inputs. |
PhysicalModel | Model-dependent Wilson matching and renormalization-group running. |
BusinessLogic | Decay calculators, observable projections and numerical integrations. |
Statistic | Nuisance distributions, uncertainty propagation, likelihoods, fits and contours. |
Math | Special functions, interpolation, integration and numerical helpers. |
ExternalIntegration | Optional MARTY, 2HDMC and SOFTSUSY adapters. |
UserInterface | The hyperiso-ui command-line application. |
The C++, Python, CLI and Dash layers all initialize the same core through HyperisoMaster. Consequently, the following rules do not depend on the selected frontend:
This shared path is important for scientific comparison: a command reproduced through the CLI should exercise the same core calculations as the equivalent Python or C++ program.
A typical initialization performs the following operations:
HyperisoMaster also exposes pre-initialization hooks for additional block prototypes, writable caches, custom database paths and external installations. These hooks must be configured before init() whenever they need to affect the first load.
The PhysicalModel layer produces coefficient groups at the matching scale and runs them to the scale requested by an observable. The BusinessLogic layer then combines these coefficients with the shared flavour and QCD inputs to calculate decay amplitudes and user-facing observables.
The origin of the Wilson coefficients is deliberately hidden from the observable layer. A coefficient can come from a native SM/THDM/SUSY implementation or from an optional MARTY-generated implementation; the observable receives the same internal coefficient representation.
MARTY is used for generic-model Wilson matching at the perturbative order implemented by that workflow. It is disabled by default. A runtime installation can be registered before initialization:
The equivalent Python method is available on HyperisoMaster. HyperIso validates the include directory and libmarty before entering MARTY mode.
2HDMC and SOFTSUSY support spectrum-oriented workflows. Release-level reproducibility examples consume archived spectrum files where possible, so the external generator does not need to be rerun to check the frozen numerical outputs.
See Extending HyperIso for a practical contribution map.