Skip to content

Commit bbb5e65

Browse files
shahor02alcaliva
authored andcommitted
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 90bda7e commit bbb5e65

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
@@ -311,8 +311,8 @@ class TPCTimeSeries : public Task
311311
// D2: build TPC track index → TRD tracklet data map (for unbinned output)
312312
// For each TPC track that has a TRD match, store the TrackTRD tracklet indices
313313
std::unordered_map<unsigned int, TRDTrackletData> tpcToTRDMap;
314-
auto trdTracklets = mTPCOnly ? gsl::span<const o2::trd::Tracklet64>() : recoData.getTRDTracklets();
315-
auto trdCalibTracklets = mTPCOnly ? gsl::span<const o2::trd::CalibratedTracklet>() : recoData.getTRDCalibratedTracklets();
314+
auto trdTracklets = (mTPCOnly || !recoData.inputsTRD) ? gsl::span<const o2::trd::Tracklet64>() : recoData.getTRDTracklets();
315+
auto trdCalibTracklets = (mTPCOnly || !recoData.inputsTRD) ? gsl::span<const o2::trd::CalibratedTracklet>() : recoData.getTRDCalibratedTracklets();
316316
if (mUnbinnedWriter && !mTPCOnly) {
317317
// scan ITS-TPC-TRD tracks
318318
auto itstpctrdTracks = recoData.getITSTPCTRDTracks<o2::trd::TrackTRD>();

0 commit comments

Comments
 (0)