Skip to content
Snippets Groups Projects

Acts TrackFinding: fix index out of bounds with useCache

Merged Tim Adye requested to merge adye/athena:adye-ckf43 into main
  • TrackFindingMeasurements::addMeasurements now uses a simple index counter instead of measurement->index() when creating MeasurementRangeList. index() gives the index into the owning collection, whereas we want the index into the input collection. These will be different if the input collection is a view.
    • Restore the ITkConversionStripClusters_InView input collection, which previously crashed with an index out of bounds in the Acts Conversion pass when flags.Acts.useCache=True:
      ActsConversionTrackFindingAlg FATAL  Standard std::exception is caught
      ActsConversionTrackFindingAlg ERROR SG::ExcBadForwardLink: ForwardIndexingPolicy: internal link state of 'DataVector<xAOD::UncalibratedMeasurement_v1>' is invalid: m_index = 142136 is >= data container size = 4910
  • Fix the measurementOffsets (used by TrackStatePrinter) if there were more than 2 input collections.
  • Respect EnableITkPixel and EnableITkStrip also for measurements in the Acts Main and Conversion passes. If either had been set False, there would have been a mismatch in HandleKeyArray sizes.

CC: @cvarni, @goetz

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading