diff --git a/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx b/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx index 8e60ee537119192c05dc63a6c570f765ede8f5e3..d00a4506e8c9c9d73b79f2246e31caf7a564898c 100644 --- a/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx @@ -266,6 +266,11 @@ void CbmFsdHitsConverter::ProcessData(CbmEvent* event) if ((bestMatchedIndex >= 0) && (bestChi2 > fsdgtrack_minChi2_) && (bestChi2 < fsdgtrack_maxChi2_)) { const auto trackIndex = event ? event->GetIndex(ECbmDataType::kGlobalTrack, bestMatchedIndex) : bestMatchedIndex; + if (trackIndex > cbm_global_tracks_->GetEntriesFast()) { + LOG(error) << "Trying to access element " << trackIndex << " which is out ot the global track array of size" + << cbm_global_tracks_->GetEntriesFast(); + continue; + } const auto* globalTrack = static_cast<const CbmGlobalTrack*>(cbm_global_tracks_->At(trackIndex)); FairTrackParam param_last = *(globalTrack->GetParamLast()); FairTrackParam param_fsd = ExtrapolateGtrack(hitZ, param_last); diff --git a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx index 7af3a55011449aa02420e6dcf473469cc18353f9..eeadfa3dee97416b342f6a885062692505082d1c 100644 --- a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx @@ -248,7 +248,7 @@ void CbmStsTracksConverter::MapTracks(CbmEvent* event) CbmTrackMatchNew* match {nullptr}; int file_id {0}, event_id {0}; - if (event && event->GetMatch()->GetNofLinks() > 0) { + if (event && event->GetMatch() && event->GetMatch()->GetNofLinks() > 0) { file_id = event->GetMatch()->GetMatchedLink().GetFile(); event_id = event->GetMatch()->GetMatchedLink().GetEntry(); }