NextStatNextStat

Интеграция с 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-рендерерами.

ГрафикTRExFitterNextStat CLI
Prefit / postfit распределенияdviz distributions
NP pullspviz pulls
Корреляционная матрицаpviz corr
Ранжирование NPrviz ranking
Brazil band (CLs)lviz cls
Профильное правдоподобиеlviz profile
Таблицы выходовdreport
Разбивка неопределённостейbviz uncertainty
Гаммы (стат. NP)pviz gammas
Summary (μ мульти-фит)mviz summary
Разделение (S vs B)dviz separation
Круговая диаграммаdviz pie
Скан значимостиsviz significance
2D контурыGetContourviz contour
Развёрткаxviz unfolding
Валидация морфингаviz morphing
Signal injectionviz injection
Отчётный бандлreport --render

Подробнее на странице Визуализация — примеры кода и Rust-артефакты.