Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • DaVinci DaVinci
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 19
    • Issues 19
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Jira
    • Jira
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • LHCb
  • DaVinciDaVinci
  • Merge requests
  • !51

Merged
Created Feb 21, 2017 by Alex Pearce@apearce🌈Maintainer

Fix PersistReco propagation and Turbo truth-matching

  • Overview 51
  • Commits 16
  • Changes 304

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)

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: apearce-propagate-persistreco-banks