Rewrite of steering scripts
This is a rework of steering scripts, mostly what used to be prepareAllJobs.py
. Here is a summary of changes:
- Script
prepareAllJobs.py
is split in two:prepare_jobs.py
creates jobs to run the analysis, whileharvest.py
merges the output files. Both scripts are moved tobin/
and hence available in$PATH
. -
prepareAllJobs.py
is largely rewritten to improve clarity. In particular,global
s have been eliminated. - Transform
systList.txt
to YAML. Find what datasets are affected by a given systematic variation based on the names of the datasets instead of names of files with their definitions. - The task directory for
launchAnalysis.sh
can now be placed outside of the source tree. - A bug in adaptive job splitting (reported here) is fixed.
I checked steps 0 to 2 in launchAnalysis.sh
with the following dummy setup:
- Only two datasets:
DoubleMuon
data andZZTo2L2Nu
simulation. - Just a handful of files kept for each dataset.
- Only one systematic uncertainty,
jec
, is enabled. Run with--syst all
. - Run only the main analysis.
Everything runs successfully. Also tested
./launchAnalysis.sh HZZanalysis 1 --mela --syst all
in the full setup up to but not including the submission of jobs.
Edited by Andrey Popov