Prerequisites¶
Before installing anything, make sure you have access to the CERN computing infrastructure that
FLAF relies on. If you have run any CMS analysis on lxplus before, you almost certainly have
all of this already — skip to Installation.
1. A CERN account and lxplus¶
FLAF is developed and run on CERN's interactive login service, lxplus, currently on
AlmaLinux 9 (el9). Connect with:
Other machines
FLAF can run on any machine that provides CVMFS and an el9 (or compatible) environment,
but lxplus is the supported and tested platform. The instructions throughout assume it.
2. CVMFS¶
FLAF gets its compilers, Python and ROOT from the CERN software distribution service
CVMFS. On lxplus it is already mounted. Check that the three
areas FLAF uses are visible:
ls /cvmfs/cms.cern.ch # CMS software (CMSSW, Rucio client)
ls /cvmfs/sft.cern.ch # LCG software stacks (Python, ROOT, ...)
ls /cvmfs/cms-griddata.cern.ch # POG correction files read by Corrections
If those directories are empty or missing, CVMFS is not available and FLAF will not work.
3. A grid certificate and CMS VO membership¶
The pipeline reads CMS data from the grid (WLCG) and writes to grid storage, so you need a grid certificate installed and to be a member of the CMS Virtual Organisation (VO).
- Request a grid certificate and join the CMS VO by following the CMS computing access guide (one-time setup).
- Your certificate (
usercert.pem/userkey.pem) lives in~/.globus/.
You will turn this certificate into a short-lived VOMS proxy every time you work — that step is part of Installation.
VOMS membership is not instant
Joining the CMS VO requires approval and can take a day or two. Do this early.
4. SSH keys for GitHub and CERN GitLab¶
FLAF and the analyses live on GitHub (github.com/cms-flaf/...); the inference submodule
of the two HH analyses lives on CERN GitLab (gitlab.cern.ch, SSH on port 7999). Cloning an HH
analysis with submodules pulls from both, so you need an SSH key registered on each (H→μμ needs
only GitHub):
- GitHub → github.com/settings/keys
- CERN GitLab → gitlab.cern.ch/-/profile/keys
Verify both work:
ssh -T git@github.com # should greet you by username
ssh -T -p 7999 git@gitlab.cern.ch # should welcome you (the port the submodule URL uses)
Why two hosts?
Most of FLAF is on GitHub. Only the combine-based HH statistical-inference submodule is on
CERN GitLab. If a git clone --recursive stalls or fails on the inference submodule, a
missing GitLab key is the usual cause.
5. Somewhere to work and to store output¶
- Code goes in your AFS work area (e.g.
/afs/cern.ch/work/<initial>/<user>/), which has more quota than your home directory. The first environment build needs a few GB under the repository'ssoft/directory (CMSSW + a Python virtual environment). - Outputs (ntuples, histograms) go to grid/EOS storage that you configure in
user_custom.yaml— see the Configuration guide.
Checklist¶
- Can
sshtolxplus(el9) -
/cvmfs/cms.cern.ch,/cvmfs/sft.cern.chand/cvmfs/cms-griddata.cern.chare populated - Grid certificate in
~/.globus/, member of the CMS VO - SSH keys registered on both GitHub and CERN GitLab (GitLab only for the HH analyses)
- A few GB of free quota in your AFS work area
All set? Continue to Installation.