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.