Skip to content

Commit f16c6e4

Browse files
authored
Protect RecoContainer TRDtracklets access in absence of the TRD (#15670)
* Protect RecoContainer TRDtracklets access in absence of the TRD * Check for TRD container before accessing it
1 parent 2be94fd commit f16c6e4

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

DataFormats/Detectors/GlobalTracking/src/RecoContainer.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1276,12 +1276,12 @@ const o2::tpc::ClusterNativeAccess& RecoContainer::getTPCClusters() const
12761276

12771277
gsl::span<const o2::trd::Tracklet64> RecoContainer::getTRDTracklets() const
12781278
{
1279-
return inputsTRD->mTracklets;
1279+
return inputsTRD ? inputsTRD->mTracklets : gsl::span<const o2::trd::Tracklet64>();
12801280
}
12811281

12821282
gsl::span<const o2::trd::CalibratedTracklet> RecoContainer::getTRDCalibratedTracklets() const
12831283
{
1284-
return inputsTRD->mSpacePoints;
1284+
return inputsTRD ? inputsTRD->mSpacePoints : gsl::span<const o2::trd::CalibratedTracklet>();
12851285
}
12861286

12871287
gsl::span<const o2::trd::TriggerRecord> RecoContainer::getTRDTriggerRecords() const
@@ -1300,7 +1300,7 @@ gsl::span<const o2::trd::TriggerRecord> RecoContainer::getTRDTriggerRecords() co
13001300

13011301
const o2::dataformats::MCTruthContainer<o2::MCCompLabel>* RecoContainer::getTRDTrackletsMCLabels() const
13021302
{
1303-
return inputsTRD->mTrackletLabels.get();
1303+
return inputsTRD ? inputsTRD->mTrackletLabels.get() : nullptr;
13041304
}
13051305

13061306
const o2::dataformats::ConstMCTruthContainerView<o2::MCCompLabel>* RecoContainer::getTPCClustersMCLabels() const

Detectors/TPC/workflow/src/TPCTimeSeriesSpec.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,8 @@ class TPCTimeSeries : public Task
316316
// D2: build TPC track index → TRD tracklet data map (for unbinned output)
317317
// For each TPC track that has a TRD match, store the TrackTRD tracklet indices
318318
std::unordered_map<unsigned int, TRDTrackletData> tpcToTRDMap;
319-
auto trdTracklets = mTPCOnly ? gsl::span<const o2::trd::Tracklet64>() : recoData.getTRDTracklets();
320-
auto trdCalibTracklets = mTPCOnly ? gsl::span<const o2::trd::CalibratedTracklet>() : recoData.getTRDCalibratedTracklets();
319+
auto trdTracklets = (mTPCOnly || !recoData.inputsTRD) ? gsl::span<const o2::trd::Tracklet64>() : recoData.getTRDTracklets();
320+
auto trdCalibTracklets = (mTPCOnly || !recoData.inputsTRD) ? gsl::span<const o2::trd::CalibratedTracklet>() : recoData.getTRDCalibratedTracklets();
321321
if (mUnbinnedWriter && !mTPCOnly) {
322322
// scan ITS-TPC-TRD tracks
323323
auto itstpctrdTracks = recoData.getITSTPCTRDTracks<o2::trd::TrackTRD>();

0 commit comments

Comments
 (0)