Source review
JMEDAS
The inspected cms-jet/JMEDAS checkout is on master. Its README says:
- the current exercises use Jupyter notebooks, NanoAOD, and Coffea;
- maintained notebooks live in
notebooks/master/; - the CMSSW code in
interface/,plugins/,scripts/, andsrc/is legacy documentation and is no longer used by the exercises.
The four maintained notebooks use the ordinary python3 kernelspec and record
Python 3.9.12. They import analysis packages such as Coffea, Awkward Array,
Uproot, Hist, correctionlib, NumPy, Matplotlib, and mplhep. They do not install
or initialize CMSSW or Combine.
That makes JMEDAS a useful notebook-layout reference, but not a Combine setup recipe. The Combine kernel in this repository is intentionally separate from the SWAN/default Coffea kernel. Use the default SWAN Python kernel for the JMEDAS exercises and the dedicated Combine kernel for statistical notebooks.
HiggsAnalysis/CombinedLimit
The inspected checkout was on main at v11.0.0-7-gffd99e47, not the exact
recommended release. Its v11 documentation pins:
- Combine
v11.0.0; CMSSW_16_0_0;el9_amd64_gcc13on CERN's current EL9 platform.
This repository therefore creates its own exact-tag checkout inside an ignored CMSSW area instead of linking to or changing the neighboring development checkout.
SWAN design consequence
SWAN supports an environment script, but sourcing all of CMSSW into the parent
Jupyter server risks replacing the server's Python and shared libraries. This
project instead registers a dedicated kernelspec. Its launcher activates
CMSSW, preloads PyROOT in batch mode before IPython can activate JupyROOT's
capture layer, then starts the ipykernel shipped by CMSSW_16_0_0. The
optional swan_env.sh only exposes helper commands and does not alter the
server's Python runtime.