Skip to content

Using ReadHandleKeys in PileUpTools

Up until this point PileUpTools have generally used a StringProperty to specify the name of any input object. This is because in general for pile-up digitization a PileUpTool needs to read the containers with the same name from 1000s of StoreGateSvc instances, so ReadHandleKeys won't work for this, as they are tied to one StoreGateSvc instance. In master the multiple storegate access is hidden inside the PileUpMergeSvc, with just the name of the container being passed. The idea here is to use a ReadHandleKey, but in the cases where the same container needs to be read from multiple StoreGateSvc instances the ReadHandleKey is not used directly, but is used as the source of the container name. (The name has to be extracted during the initialize stage.) Currently the ReadHandleKey is only used directly for MT-style MC+MC Overlay configurations. It may be possible to expand this to digitization jobs without pile-up, but I will need to do some more tests to check that.
Leaving the LAr and Tile PileUpTools for later merge requests as the code structure is significantly different.

Edited by John Derek Chapman

Merge request reports