Интеграция с TRExFitter
NextStat умеет импортировать конфиги TRExFitter (.config) и запускать полный конвейер: от ROOT ntuple или заранее построенных гистограмм до фитов и отчетов, без зависимости от TRExFitter и ROOT C++.
Импорт конфига TRExFitter
# Конвертация конфига TRExFitter в pyhf JSON workspace
nextstat import trex-config --config myanalysis.config --out workspace.json
# Базовая директория для относительных путей File:
nextstat import trex-config --config myanalysis.config --base-dir /data/ntuples/Построение гистограмм (режим NTUP)
# Запустить ntuple-конвейер и получить workspace.json
nextstat build-hists --config myanalysis.config --out-dir results/
# Читает ROOT ntuple, применяет отборы/веса,
# заполняет гистограммы и собирает HistFactory workspace.Режим HIST
Для конфигов с ReadFrom: HISTNextStat читает заранее построенные ROOT-гистограммы напрямую, без обработки ntuple. Поддерживаются режимы NTUP, HIST и смешанный NTUP+HIST.
Спецификация анализа (v0)
Analysis Spec это декларативный YAML-формат, который оркестрирует полный процесс: import → fit → scan → report. Для автодополнения в IDE предоставляется JSON Schema.
# Запустить полный анализ из spec-файла
nextstat run analysis.yaml
# Пробный прогон (валидация без выполнения)
nextstat run analysis.yaml --dry-runПример spec:
# analysis.yaml
inputs:
mode: trex_config_yaml
config: myanalysis.config
base_dir: /data/ntuples/
steps:
- action: import
- action: fit
- action: scan
poi: mu_sig
range: [0.0, 3.0]
points: 30
- action: report
blind: trueПоддерживаемое подмножество конфига TRExFitter
Поддерживаются следующие блоки конфига TRExFitter:
- Job: ReadFrom (NTUP/HIST), POI, Lumi, регионы, MCweight
- Region: Variable, Selection, Binning, Type (SIGNAL/CONTROL/VALIDATION)
- Sample: NtupleFiles, HistoFiles, MCweight, Selection, модификаторы
- Systematic: NormSys, HistoSys, WeightSys, TreeSys, OverallSys
- NormFactor: свободные нормировочные параметры
Паритет визуализации (18 / 18 типов графиков)
NextStat покрывает каждый тип выходного графика TRExFitter через крейт ns-viz. Все артефакты — JSON-сериализуемые Rust-структуры с Python matplotlib-рендерерами.
| График | TRExFitter | NextStat CLI |
|---|---|---|
| Prefit / postfit распределения | d | viz distributions |
| NP pulls | p | viz pulls |
| Корреляционная матрица | p | viz corr |
| Ранжирование NP | r | viz ranking |
| Brazil band (CLs) | l | viz cls |
| Профильное правдоподобие | l | viz profile |
| Таблицы выходов | d | report |
| Разбивка неопределённостей | b | viz uncertainty |
| Гаммы (стат. NP) | p | viz gammas |
| Summary (μ мульти-фит) | m | viz summary |
| Разделение (S vs B) | d | viz separation |
| Круговая диаграмма | d | viz pie |
| Скан значимости | s | viz significance |
| 2D контуры | GetContour | viz contour |
| Развёртка | x | viz unfolding |
| Валидация морфинга | — | viz morphing |
| Signal injection | — | viz injection |
| Отчётный бандл | — | report --render |
Подробнее на странице Визуализация — примеры кода и Rust-артефакты.
