This repository has submodules, so you should clone it with
git clone --recursive https://github.com/CMS-HGCAL/hgcalsim.gitIf you want to write files into the common hgcalsim output directory on EOS at /eos/cms/store/cmst3/group/hgcal/CMG_studies/hgcalsim (given that you have the necessary permissions), export
export HGC_STORE_EOS="/eos/cms/store/cmst3/group/hgcal/CMG_studies/hgcalsim"or put the above line in your bashrc.
After cloning, run
source setup.shThis will install CMSSW and a few python packages once. You should source the setup script everytime you start with a new session.
Task statuses and dependency trees can be visualized live using a central luigi scheduler. This is optional and no strict requirement to run tasks.
In order to let the tasks communicate with a central luigi scheduler, you should set
export HGC_SCHEDULER_HOST="<user>:<pass>@<host>"most probably in your bashrc file. Otherwise, you should add --local-scheduler to all law run commands.
You can also setup a personal scheduler on OpenStack, or use the common hgcalsim scheduler (host is hgcalsim-common-scheduler1, please ask for user and password).
All tasks can write their output targets to EOS. To enable that, add --eos to the law run commands. By default, the base store path is /eos/cms/store/cmst3/group/hgcal/CMG_studies/$HGC_GRID_USER/hgcalsim (make sure you have access to the hgcal group space) but can be configured by setting the HGC_STORE_EOS environment variable to a path of your choice.
Re-compile CMSSW with 2 cores after making some updates to the code:
law run sw.CompileCMSSW --n-cores 2Run GSD, RECO, and NTUP steps in one go:
law run sim.NtupTask --n-events 2 --branch 0 --version devRun the above steps for 10 tasks on HTCondor:
law run sim.NtupTask --n-events 2 --n-tasks 10 --version dev --pilot --workflow htcondor