Skip to content

Copy Turbo line outputs to Tesla-like locations & unify the treatment of Turbo output cloning

Alex Pearce requested to merge apearce-turbo-output-locations into turbo

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:

  1. Turbo line candidates are always copied (not just the output of extra algorithms);
  2. 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.

2017/05/27 update (@rmatev)

  • 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 the HltLinePersistenceSvc.
  • The track cloner does not clone ancestors anymore.

2017-05-29 (back to @apearce)

  • 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 with Shared.

Merge request reports