Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • athena athena
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Jira
    • Jira
  • Merge requests 147
    • Merge requests 147
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Repository
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • atlasatlas
  • athenaathena
  • Merge requests
  • !39428

Add NSW Pad Trigger RDO

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Yuval Zach requested to merge yzach/athena:feature/pad-trigger-rdo into 21.3 Dec 30, 2020
  • Overview 17
  • Commits 14
  • Pipelines 2
  • Changes 18

This MR adds class definitions for data coming from the pad trigger, following the data -> DataVector -> IdentifiableContainer hierarchy. Said data consists of:

  • Metadata (BCID, L1ID, sector, etc.)
  • Pad trigger input (i.e., a list of pFEB locations at which a hit was detected)
  • Pad trigger decision (band IDs, phi IDs, coincidence counts)

In addition to the data class definition, this MR also defines transient <-> persistent converters for pad trigger data containers, along with persistent representation structs, in MuonEventTPCnv. Additionally, it implements an AthenaPool converter under MuonEventAthenaPool, and registers it as a converter for NSW_PadTriggerRawDataContainer.

Outstanding questions:

  1. Are the data classes appropriate? Is anything missing / extraneous / problematic?
  2. Where should errors in conversion be handled? Should the AthenaPool converters be deemed noexcept, or can they throw (and terminate execution?)?
  3. When attempting to read the persistent array of pFEB hit lists with ROOT's TBrowser, ROOT segfaults. Is this an issue on ROOT's side, or does AthenaPool not support arrays of vectors?
  4. How should the collection's IdentifierHash, and the container's hashMax, be decided?

cc @ztarem @rozeny @gavner @rosati @lorne @nkoehler

Edited Jan 26, 2021 by Yuval Zach
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature/pad-trigger-rdo