Skip to content

Migrate LArPileUpTool to use SG::ReadHandleKeys

This merge request follows on from the changes in !24009 (merged) and !24289 (merged) and makes the same set of changes for LArPileUpTool.
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.

Merge request reports