From fa865c697d3ad90c02e9cbb31ec312009ca517be Mon Sep 17 00:00:00 2001 From: Norbert Herrmann <n.herrmann@physi.uni-heidelberg.de> Date: Tue, 17 Nov 2020 22:30:01 +0100 Subject: [PATCH] implement input from separate T0 array --- reco/detectors/tof/CbmTofEventClusterizer.cxx | 18 ++++++++++++------ reco/detectors/tof/CbmTofEventClusterizer.h | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx index 82bc5b3a2e..523599fc39 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.cxx +++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx @@ -372,11 +372,11 @@ void CbmTofEventClusterizer::Exec(Option_t* option) { iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); - const CbmTofDigi* tDigi = fDigiMan->Get<CbmTofDigi>(iDigiIndex); - if (tDigi->GetType() != 5) - LOG(fatal) << "Wrong T0 type " << tDigi->GetType() << ", Addr 0x" - << std::hex << tDigi->GetAddress(); - fTofDigiVec.push_back(CbmTofDigi(*tDigi)); + const CbmTofDigi tDigi = fT0DigiVec->at(iDigiIndex); + if (tDigi.GetType() != 5) + LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" + << std::hex << tDigi.GetAddress(); + fTofDigiVec.push_back(CbmTofDigi(tDigi)); } for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kTofDigi); iDigi++) { @@ -536,7 +536,13 @@ Bool_t CbmTofEventClusterizer::RegisterInputs() { } if (fDigiMan->IsPresent(ECbmModuleId::kT0)) { LOG(info) << GetName() << ": separate T0 digi input!"; - } + } else { + fT0DigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); + if (!fT0DigiVec) { + LOG(info) << "No T0 digi input vector found."; + } + } // if( ! fT0DigiVec ) + fTrbHeader = (TTrbHeader*) fManager->GetObject("TofTrbHeader."); if (NULL == fTrbHeader) { LOG(info) << "CbmTofEventClusterizer::RegisterInputs => Could not get " diff --git a/reco/detectors/tof/CbmTofEventClusterizer.h b/reco/detectors/tof/CbmTofEventClusterizer.h index b8712466e9..33933396cd 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.h +++ b/reco/detectors/tof/CbmTofEventClusterizer.h @@ -258,6 +258,7 @@ private: TClonesArray* fMcTracksColl; // MC tracks //TClonesArray * fTofDigisColl; // TOF Digis std::vector<CbmTofDigi> fTofDigiVec {}; //! TOF Digis + const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! T0 Digis CbmDigiManager* fDigiMan; // TOF Input Digis TClonesArray* fEventsColl; // CBMEvents (time based) -- GitLab