Copy Turbo line outputs to Tesla-like locations & unify the treatment of Turbo output cloning
With !264 (merged), the output of Turbo lines can be copied to /Event/Turbo
. The resulting TES locations are then packed and serialised to the DstData
bank, and are then deserialised and unpacked to the same location (by default) in Tesla and DaVinci. This isn't ideal because the Turbo line output is created by the second-to-last algorithm in the HLT2 line sequence (the one before the HltCopyParticleSelection
instance), and this algorithm can have a weird name that's hard for DaVinci analysts to discover, e.g. Hlt2/Hlt2CharmHadD02HH_D0ToKmPipCombiner/Particles
.
This MR configures the second-to-last-algorithm such that the output is placed in /Event/Hlt2<line name>/Particles
, matching the 2015 and 2016 behaviour of Tesla.
/cc @raaij
2017/05/12 update
Now that !284 (merged) has been merged, I've rebased this and decided to unify how we treat the various types of Turbo line outputs. There are a couple of notable changes in the general logic:
- Turbo line candidates are always copied (not just the output of extra algorithms);
- A line requesting PersistReco is treated as if the line included the reconstruction locations in the list of locations it would like persisted (e.g. as if they were outputs of some extra algorithms).
These two changes allowed for some simplification in the cloner logic in the Afterburner. Specifically, nearly everything is now handled by a single cloner algorithm, CopyLinePersistenceLocations
, with the exception of PVs in PersistReco events (because we need the associated VELO tracks) and P2PV relations tables. PersistReco PVs are cloned first, if a PR line fired, then CopyLinePersistenceLocations
runs, then CopyParticle2PVRelationsFromLinePersistenceLocations
takes care of the relations.
@rmatev)
2017/05/27 update (- With Phys!125 (merged) the exception for PVs and Turbo++ lines is handled in the cloner algorithm
CopyLinePersistenceLocations
. I have added the necessary configuration to theHltLinePersistenceSvc
. - The track cloner does not clone ancestors anymore.
@apearce)
2017-05-29 (back to- Use two instances of
HltLinePersistenceSvc
: one to configure the cloners in HLT2, and another to be used in Tesla for streaming. - Use
FilterDesktop
to copy Turbo line outputs to the location we want them, rather than fiddling withShared
.