diff --git a/reco/detectors/trd/CbmTrdClusterFinder.cxx b/reco/detectors/trd/CbmTrdClusterFinder.cxx index 6324b16fd6c6f8d2406301ab58d253066e0966b8..ecb64c6cd9beaf5c51702ef376bc45edeff675b6 100644 --- a/reco/detectors/trd/CbmTrdClusterFinder.cxx +++ b/reco/detectors/trd/CbmTrdClusterFinder.cxx @@ -69,6 +69,7 @@ Bool_t CbmTrdClusterFinder::AddCluster(CbmTrdCluster* c) UInt_t CbmTrdClusterFinder::addDigisToModules() { UInt_t ndigis = static_cast<UInt_t>(std::abs(CbmDigiManager::Instance()->GetNofDigis(ECbmModuleId::kTrd))); + if (ndigis == 0) return 0; for (size_t idigi = 0; idigi < ndigis; idigi++) { addDigiToModule(idigi); } @@ -79,6 +80,7 @@ UInt_t CbmTrdClusterFinder::addDigisToModules() UInt_t CbmTrdClusterFinder::addDigisToModules(CbmEvent* event) { UInt_t ndigis = static_cast<UInt_t>(std::abs(event->GetNofData(ECbmDataType::kTrdDigi))); + if (ndigis == 0) return 0; for (size_t idigi = 0; idigi < ndigis; idigi++) { auto digiindex = event->GetIndex(ECbmDataType::kTrdDigi, idigi); addDigiToModule(digiindex); @@ -93,7 +95,7 @@ void CbmTrdClusterFinder::addDigiToModule(UInt_t digiIdx) CbmTrdModuleRec* mod = nullptr; const CbmTrdDigi* digi = CbmDigiManager::Instance()->Get<CbmTrdDigi>(digiIdx); - + if (!digi) return; Int_t moduleAddress = digi->GetAddressModule(); std::map<Int_t, CbmTrdModuleRec*>::iterator imod = fModules.find(moduleAddress);