Wilson coefficients
Native SM, THDM and SUSY workflows, together with a MARTY-based route for user-defined BSM models at leading order.
A modular C++20 and Python framework for Standard Model and Beyond the StandardModel flavour studies. HyperIso combines model input, Wilson-coefficient evaluation, observable prediction, uncertainty propagation and statistical analysis in a common backend.
Stable release · C++20 · Python · Linux · GNU GPL v3 or later
The same runtime resolves inputs, computes Wilson coefficients and observables, propagates uncertainties and supports statistical inference through four public interfaces.
Native SM, THDM and SUSY workflows, together with a MARTY-based route for user-defined BSM models at leading order.
Radiative, leptonic and semileptonic observables in the B, D and kaon sectors, including angular observables where available.
Monte-Carlo propagation, covariance construction, maximum-likelihood estimation and two-dimensional confidence contours.
Compiled applications, notebooks, scripts, stable command-line workflows and interactive Dash studies all use the same backend.
Versioned defaults, explicit user overrides and LHA, SLHA or FLHA model inputs are combined through a documented precedence chain.
Release-level inputs, commands, expected outputs, numerical tolerances and binary provenance accompany the tagged source.
Choose the distribution that matches your workflow. Each path below ends with a concrete verification step, followed by ready-to-adapt CLI, Python and C++ examples.
Use the packaged release for analysis, an editable installation for development, or a local CMake installation for the C++ API and command-line interface.
Creates an isolated environment and installs the tagged Python package with its compiled backend.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "pyhyperiso==1.0.3"
python -c "import pyhyperiso; print(pyhyperiso.__version__)"
Clone the tagged source and use an editable installation while working on wrappers, examples or tests.
git clone https://github.com/HyperIso/HyperIso.git
cd HyperIso
git checkout v1.0.3
python -m pip install ./Hyperiso/Hyperiso
# Editable install with tests:
python -m pip install -e "./Hyperiso/Hyperiso[test]"
Build the C++20 libraries and hyperiso-ui, then install the exported CMake package under a user-owned prefix.
cmake -S Hyperiso/Hyperiso/core -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_WITH_CLI=ON
cmake --build build -j
cmake --install build --prefix "$HOME/.local"
export PATH="$HOME/.local/bin:$PATH"
These commands cover version reporting, Wilson coefficients, observable predictions and seeded uncertainty propagation.
hyperiso-ui --version
hyperiso-ui --help
hyperiso-ui observable summary \
--observables BR_Bs__mu_mu,BR_B__Xs_gamma \
--order NNLO
hyperiso-ui wilson summary \
--groups BCoefficients \
--coeffs C7,C9,C10 \
--order NNLO
hyperiso-ui statistic summary \
--observables BR_Bs__mu_mu,BR_B__Xs_gamma \
--uncertainties --draws 200 --seed 123456
Both examples initialize the SM runtime from the FLHA input and evaluate the branching ratio for Bs → μ+μ− at NNLO.
example.pyfrom pyhyperiso.Common import Model, Observables, QCDOrder
from pyhyperiso.Core import HyperisoConfig, HyperisoMaster
from pyhyperiso.Observable import ObservableInterface
master = HyperisoMaster()
master.init(
lha_file="lha/si_input.flha",
config=HyperisoConfig(model=Model.SM),
)
interface = ObservableInterface()
interface.add_observable(
Observables.BR_BS_MUMU,
QCDOrder.NNLO,
)
print(interface.compute_observable(Observables.BR_BS_MUMU))
main.cpp#include <iostream>
#include "HyperisoMaster.h"
#include "Include.h"
#include "ObservableInterface.h"
int main() {
HyperisoConfig config;
config.model = Model::SM;
HyperisoMaster master;
master.init("lha/si_input.flha", config);
ObservableInterface interface;
interface.add_observable(
Observables::BR_BS_MUMU,
QCDOrder::NNLO
);
for (const auto& value : interface.compute_observable(
Observables::BR_BS_MUMU)) {
std::cout << value.id.str() << " = " << value.value << '\n';
}
}
The installed package exports namespaced CMake targets. Point CMake to the installation prefix and link the observable backend.
Hyperiso::BusinessLogicLib
Provides the runtime, Wilson-coefficient and observable layers used by the example above.
cmake -S . -B build -G Ninja \
-DCMAKE_PREFIX_PATH="$HOME/.local"
cmake --build build -j
./build/hyperiso_example
CMakeLists.txtcmake_minimum_required(VERSION 3.20)
project(hyperiso_example LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(GSL REQUIRED)
find_package(Hyperiso REQUIRED)
add_executable(hyperiso_example main.cpp)
target_link_libraries(hyperiso_example PRIVATE
Hyperiso::BusinessLogicLib
)
HyperIso supports precision observable calculations with propagated theory uncertainties as well as statistical interpretations in Wilson-coefficient parameter spaces.


The release archive contains frozen inputs, CLI commands, expected outputs, tolerances and provenance metadata for compact release-to-release comparisons.
| ID | Workflow | Reference check |
|---|---|---|
| R1 | B-sector Wilson coefficients | BCoefficients; C7, C8, C9, C10 at matching and low scales. |
| R2 | Scalar Wilson coefficients | BScalarCoefficients; CQ1μ and CQ2μ in the scalar sector. |
| R3 | Inclusive and leptonic observables | BR_Bs__mu_mu and BR_B__Xs_gamma. |
| R4 | Binned angular observable | F_L_B0__K*0_mu_mu in the fixed q² bin [1.1, 6.0] GeV². |
| R5 | Seeded MC uncertainty propagation | statistic summary --uncertainties --draws 200 --seed 123456, including the frozen accepted-sample CSV. |
| R6 | THDM archived-spectrum benchmark | NNLO B-sector coefficients using the archived THDM spectrum with --spectrum true. |
| R7 | SUSY archived-spectrum benchmark | NNLO B-sector coefficients using the archived SUSY spectrum with --spectrum true. |
HyperIso separates the reference database, parameter overrides, model input, coefficient generation, observable calculations and statistical interpretation.
Version-controlled JSON assets define the default numerical setup used by a clean installation.
YAML files record explicit changes to values, uncertainties and phenomenological conventions.
LHA, SLHA and FLHA files supply the model-dependent numerical layer at runtime.
Wilson coefficients, observables and fit routines consume the same resolved parameter cache.
The tagged source, Python package, versioned software DOI and generated documentation are aligned with release 1.0.3.
Code, issues, workflows and contribution history.
ReleaseRelease notes, generated archives and distribution artifacts.
ArchivePermanent software DOI and citation export for v1.0.3.
PythonPython distribution and source package for pyhyperiso.
ReferenceGenerated API pages, examples and usage guides.
CitationMachine-readable software citation metadata.
EcosystemSymbolic BSM calculations and generic-model coefficient generation.
BibTeXSoftware, proceeding and related methodological references.
Please cite the versioned Zenodo software release. The proceeding and related methodological publications provide additional scientific context.
Versioned software release and formal archival citation.
T. Reymermier, N. Fardeau and F. Mahmoudi · PoS EPS-HEP2025 (2026) 351
G. Uhlrich, F. Mahmoudi and A. Arbey · Computer Physics Communications 264 (2021) 107928
F. Mahmoudi et al. · Computer Physics Communications 183 (2012) 285–298
F. Mahmoudi · Computer Physics Communications 180 (2009) 1579–1613
The project combines software engineering, observable implementation, validation and scientific supervision.
Software architecture, Wilson coefficients, Python and CLI interfaces, GUI, validation and reproducibility workflows.
Mathematical routines, statistical framework, LHA parsing, observable calculations and validation studies.
Methodology, validation guidance, flavour-physics expertise and scientific oversight.
You may run, study, modify and redistribute HyperIso under the GPL terms. Redistribution of the software or modified versions must preserve the licence notices and provide the corresponding source code as required by the GPL.
The software is provided without warranty. Third-party components remain subject to their own licences and notices.