Support RelatedInfo cloning in Turbo
RelatedInfo algorithms take a Particle
container location as input and deduce their output location from that. Given a Particle
container at SomeAlgorithm/Particles
, a dependent RelatedInfo algorithm called Foo
will create a RelatedInfo map at SomeAlgorithm/Foo
.
For persisting Particle
objects in the Turbo stream, we copy them to /Event/Turbo/Hlt2LineName/Particles
from where ever they are initially created. The set of these locations is given to the HltLinePersistenceSvc
, and this set is used by various cloners to copy Particle
dependencies (such as P2PV relations). This manual setting of an output location is against the general philosophy of bindMembers
, so we have to do a bit of manual fiddling to accomplish it.
For similar reasons, this MR adds a dirty hack that forces each RelatedInfo algorithm belonging to a line to take the /Event/Turbo
location as input, such that the output is created under /Event/Turbo/Hlt2LineName/<RelatedInfoName>
. This allows us to use the CopyParticle2RelatedInfoFromLinePersistenceLocations
algorithm, introduced in Phys!302 (merged), to copy the RelatedInfo maps.
Towards fixing LBHLT-421.