Skip to content

CPAlgorithms: add option to filter blocks by DSID

Baptiste Ravina requested to merge ravinab/athena:specify_dsdis into main

All config blocks are given a configurable option onlyForDSIDs that is a list of DSIDs or regexp of DSIDs, that are evaluated against config.dsid() (i.e. the DSID of the sample being run). This allows more flexibility within a single YAML config (e.g. running truth reconstruction only on DSIDs of the signal process, fake estimates or process-based overlap-removal on specific samples, etc.)

Since a skipped block might have otherwise set up an output container, we also need to make sure the Output: block is aware of this DSID-filtering. Therefore I add an option containersOnlyForDSIDs which is a dictionary of key = container shortname (e.g. el_, mu_ etc.) and value = list of DSIDs or regexp of DSIDs (just like onlyForDSIDs). Any container that is specified in this way and does not receive a positive DSID match is removed from the output logic. Examples would be the containers that hold truth particles, multiple high-level reconstructed objects, etc.

Edited by Baptiste Ravina

Merge request reports