Acts TrackFinding: fix index out of bounds with useCache
-
TrackFindingMeasurements::addMeasurements
now uses a simple index counter instead ofmeasurement->index()
when creatingMeasurementRangeList
.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 whenflags.Acts.useCache=True
:
- Restore the
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
measurementOffset
s (used byTrackStatePrinter
) if there were more than 2 input collections. - Respect
EnableITkPixel
andEnableITkStrip
also for measurements in the Acts Main and Conversion passes. If either had been setFalse
, there would have been a mismatch inHandleKeyArray
sizes.