|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
HyperIso stores numerical inputs in typed blocks identified by a block name and one or more integer indices. The convention follows LHA/SLHA/FLHA whenever a standard identifier exists and uses project-defined IDs for additional data.
The runtime input system is layered from least to most specific:
A parameter is addressed through a ParamId, which combines a parameter type, block name and integer indices. This identifier is used consistently by the core, observable dependencies and statistical layer.
Python example:
C++ example:
The parameter provider/setter examples show how to inspect and update values through the public API without reaching into the internal cache.
Before initialization, HyperisoMaster can:
Path values are validated before they are accepted. Default input paths must point to JSON files, user override paths must point to YAML files, and directory entries must exist or be creatable where documented.
Use the input format that matches the workflow:
A spectrum already produced by an external program can be archived and reused. This is preferable for release regression tests because it removes dependence on the external generator version.
The initialized database can be exported for inspection or archival. In Python:
The output suffix selects JSON, YAML, LHA, SLHA or FLHA. Full and filtered examples are available in:
Hyperiso/Hyperiso/examples_python/Core/database_writer_example.py;Hyperiso/Hyperiso/examples_cpp/Core/database_writer_example.cpp.For each scientific result, retain:
The frozen release suite described in Reproducibility and release references follows this model.
HyperIso extends the FLHA observable-type field for observables that are not covered by the original convention. Version 1.0.2 uses the following canonical identifiers:
92ij for polarization, where i=1 denotes a fermion (lepton), i=2 a longitudinally polarized vector, i=3 a transversely polarized vector, and j is the one-based position of the particle of interest in the ordered daughter list;932 for the transverse fraction F_T;933 for the angular coefficient alpha_K.For example, the tau in B -> D(*) tau nu is the second daughter and therefore uses 9212; the longitudinal D* is the first daughter and therefore uses 9221. Output always uses these canonical identifiers. Input produced by versions 1.0.0–1.0.1 with the unambiguous legacy polarization identifiers 92015 or 921423 is translated automatically. The old alpha_K value 932 cannot be distinguished from a legitimate F_T record and must be changed explicitly to 933. See docs/flha_observable_ids.md in the source tree for the migration table.