Reproducibility
The supported reference is a small, explicit release contract rather than "whatever is current".
Pinned contract
| Component | Pin |
|---|---|
| Combine | exact Git tag v11.0.0 |
| CMSSW | CMSSW_16_0_0 |
| SCRAM architecture | el9_amd64_gcc13 |
| Combine source | https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit.git |
| Kernel name | combine-v11 |
The executable contract lives in config/defaults.sh. Installation rejects a Combine checkout without the exact tag, and validation checks the tag again at runtime.
The release choice follows the official Combine v11 recommended CMSSW recipe.
Repository-local generated state
By default, all generated CMSSW and Combine build state is kept under:
That directory is ignored by Git. This prevents a build from modifying neighboring CMSSW or Combine development checkouts and makes the scaffold's source history independent of generated binaries.
Other ignored runtime artifacts include ROOT files, notebook checkpoints, Python caches, Combine logger files, EOS .sys.* lock/version paths, the MkDocs output directory, and local editor/tool configuration files.
Idempotence
Running ./install.sh again reuses a valid existing build. It does not silently retag or replace a mismatched Combine checkout. --rebuild requests a clean SCRAM rebuild while retaining the pinned source contract.
Shell setup resolves paths from each script's own location, so commands do not depend on the caller's working directory. Sourced scripts preserve the working directory.
Controlled overrides
COMBINE_SWAN_AREA, COMBINE_SWAN_SOURCE, and COMBINE_SWAN_BUILD_JOBS make local development and offline source testing possible. A run using non-default source or area settings should record those values alongside its analysis outputs.
An override is not equivalent to the reference environment merely because the smoke test starts. For production results, record at least:
- repository commit;
- Combine exact tag or commit;
- CMSSW version and SCRAM architecture;
- ROOT version;
- input datacard/workspace provenance;
- executed command and analysis-specific options.
Validation boundary
The reference notebook demonstrates that the pinned software stack works on SWAN. It is intentionally a small counting experiment, not a physics benchmark. Reproducibility of a real analysis additionally requires its inputs, model-building code, nuisance definitions, random seeds where applicable, and output provenance.
Source review
The source audit records why the dedicated Combine kernel is separate from JMEDAS/Coffea notebooks and why the exact recommended release is installed instead of reusing a neighboring development checkout.