Report System
nextstat report generates publication-ready numeric artifacts from a HistFactory workspace. All outputs are versioned JSON schemas; optional Python rendering produces multi-page PDF and per-plot SVGs.
Quick Start
# Generate all artifacts from a workspace
nextstat report --workspace workspace.json --out-dir results/
# Include rendering (requires matplotlib)
nextstat report --workspace workspace.json --out-dir results/ --render
# Blinded mode (masks observed data)
nextstat report --workspace workspace.json --out-dir results/ --blindArtifacts
| File | Description |
|---|---|
| distributions.json | Prefit/postfit expected yields per sample per region, bin edges, data, Garwood errors, ratio |
| pulls.json | Nuisance parameter pulls and constraints (postfit sigma / prefit sigma) |
| corr.json | Correlation matrix from inverse Hessian (optional raw covariance via --include-covariance) |
| yields.json / .csv / .tex | Per-region per-sample prefit/postfit yield tables |
| uncertainty.json | Ranking-based uncertainty breakdown (skippable via --skip-uncertainty) |
Visualization Subcommands
nextstat viz distributions --artifact results/distributions.json
nextstat viz pulls --artifact results/pulls.json
nextstat viz corr --artifact results/corr.json
nextstat viz ranking --artifact results/uncertainty.jsonPython Rendering
# Render all artifacts to PDF + SVG
python -m nextstat.report render --input-dir results/ --output-dir plots/
# Requires pip install "nextstat[viz]" (matplotlib)Flags
--blind— mask observed data in distributions and yields (prefit-only mode)--deterministic— stable JSON key ordering for reproducible diffs--uncertainty-grouping prefix_1— group systematics by name prefix in ranking--render— invoke Python rendering automatically after artifact generation
