Start on SWAN
This is a one-time installation per repository checkout. Later SWAN sessions reuse the built CMSSW area and restage only the lightweight kernelspec.
1. Start a compatible session
Use CERN SWAN with:
- an AlmaLinux 9 platform;
- an LCG 105-or-newer software stack;
- four cores and at least 8 GB of memory as a practical starting point;
- a checkout on CERNBox/EOS so the installation persists across sessions.
The architecture is pinned to el9_amd64_gcc13; an EL7 or EL8 session is not compatible with this release contract.
2. Download the repository
In the SWAN launcher, choose Download Project from git and enter:
Alternatively, clone it in a SWAN terminal:
3. Install the pinned runtime
From the repository root:
The first run:
- creates
CMSSW_16_0_0inside the checkout; - clones the exact Combine
v11.0.0tag into the CMSSW source tree; - performs a clean SCRAM build;
- installs the persistent and current-session kernelspecs;
- runs the full smoke test.
Keep the terminal open until it prints Installation complete. A clean build can take several minutes.
Where the software is installed
The default installation path is <repository checkout>/CMSSW_16_0_0. For example, if the checkout is /eos/user/a/alice/combine_swan_integration, CMSSW is installed at /eos/user/a/alice/combine_swan_integration/CMSSW_16_0_0.
The CMSSW area is generated, can be large, and is ignored by Git.
4. Make the kernel available in future sessions
The installer registers the kernel in the current session. For a new SWAN session, configure the repository's swan_env.sh as the session Environment script.
To obtain its resolved path, run this in the repository:
Append /swan_env.sh to the printed path and paste the result into the SWAN session configuration. Common examples are:
$CERNBOX_HOME/combine_swan_integration/swan_env.sh
$CERNBOX_HOME/SWAN_projects/combine_swan_integration/swan_env.sh
Start or restart the SWAN session after saving the configuration. The environment hook does not activate CMSSW in the notebook server; it only exposes helper commands and stages the dedicated kernel in the session registry.
5. Select and test the kernel
Refresh JupyterLab after installation. Open:
Select:
Run the cells in order. A successful run reports the release pins and finishes with:
The repository keeps a reference execution so you can compare the expected shape of the output.
Updating or rebuilding
Pull scaffold updates without deleting the generated installation:
The installer is idempotent and reuses a valid existing build. To force a clean Combine rebuild:
To repair only kernel registration:
If the repository is moved, rerun the kernel registration because its launcher path is absolute.
Optional installation overrides
These are primarily useful for development and offline checks:
| Variable | Purpose |
|---|---|
COMBINE_SWAN_AREA |
Install or use the CMSSW area at a non-default path. |
COMBINE_SWAN_SOURCE |
Clone Combine from another Git URL or local checkout. |
COMBINE_SWAN_BUILD_JOBS |
Set the positive integer passed to the SCRAM build. |
COMBINE_SWAN_JUPYTER_DATA_DIR |
Set the persistent writable Jupyter data directory. |
Overrides can weaken reproducibility. The default release pins remain the supported reference configuration.