Skip to content

Rewrite of steering scripts

Andrey Popov requested to merge steer-stripts into master

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, while harvest.py merges the output files. Both scripts are moved to bin/ and hence available in $PATH.
  • prepareAllJobs.py is largely rewritten to improve clarity. In particular, globals 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 and ZZTo2L2Nu 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

Merge request reports