Skip to content

Fix PersistReco propagation and Turbo truth-matching

Alex Pearce requested to merge apearce-propagate-persistreco-banks into DV4Strip26

See LHCBGAUSS1006 for a complete overview. An executive ‘summary’ follows.

PersistReco

When running Brunel before Tesla, the PersistReco raw bank, DstData, is moved from Trigger/RawEvent to Unstripped/RawEvent. Tesla is not configured to look in the second location, so PersistReco truth matching can't happen, plus the second location is removed by the Stripping (micro)DST writer, so PersistReco candidates aren't available.

The fix is two-fold:

  1. Move DstData into PersistReco/RawEvent instead, requiring a new raw event output format to be used by Brunel (see r 209297 and r 209298 in AppConfig).
  2. Have the PersistReco decoder look in the new location, PersistReco/RawEvent, for the raw banks.

For Step 2, I've added PersistReco/RawEvent to the list of default locations the HltPackedDataDecoder looks in, and modified the behaviour of the decoder base class to remove some caching that assumed all raw banks required by a decoder would live in one raw event location (which isn't the case here).

Truth matching

Truth matching in performed in Tesla, which builds the various relations tables, but the tables weren't being persisted. This meant truth information wasn't available for ‘Pure’ Turbo nor for PersistReco.

This happened because the packing was being run before the tables were created. This has been fixed by moving the packing to after the relations building.

Propagation in the Stripping

To allow the usage of the PersistReco objects after the Stripping step, I've added PersistReco/RawEvent to the list of locations that are always saved by both the DST and µDST writer.


Sorry for all the junk included in the MR 😞 This is because I had to pull in the extra packages within which the fixes are made. It's probably easier to go through the patch commits one-by-one (everything except “added … from LHCb (LHCb/v41r0)”).

/cc @sstahl @raaij @rmatev @sbenson @cattanem @jonrob (as I've touched things I know you've been involved in)

Merge request reports