diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx index 22b3f682d0cefc44c14173ec5331c258953f2695..22cab5bf42a29c0600b999804de0bcd268fdd3b3 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.cxx +++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx @@ -31,6 +31,7 @@ #include "CbmTofGeoHandler.h" // in tof/TofTools #include "CbmTofHit.h" // in cbmdata/tof #include "CbmTofPoint.h" // in cbmdata/tof +#include "CbmTzdDigi.h" // in cbmdata/global #include "CbmVertex.h" #include "TTrbHeader.h" @@ -392,13 +393,13 @@ void CbmTofEventClusterizer::Exec(Option_t* option) for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); - CbmTofDigi tDigi = fT0DigiVec->at(iDigiIndex); + CbmTofDigi tDigi(fDigiMan->Get<CbmTzdDigi>(iDigiIndex)); if (tDigi.GetType() != 5) LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); if (tDigi.GetSide() == 1) { // HACK for May22 setup tDigi.SetAddress(tDigi.GetSm(), tDigi.GetRpc(), tDigi.GetChannel() + 6, 0, tDigi.GetType()); } - fTofDigiVec.push_back(CbmTofDigi(tDigi)); + fTofDigiVec.push_back(tDigi); } for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kTofDigi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kTofDigi, iDigi)); @@ -582,10 +583,9 @@ Bool_t CbmTofEventClusterizer::RegisterInputs() LOG(error) << GetName() << ": No Tof digi input!"; return kFALSE; } - if (fDigiMan->IsPresent(ECbmModuleId::kT0)) { LOG(info) << GetName() << ": separate T0 digi input!"; } + if (fDigiMan->IsPresent(ECbmModuleId::kT0)) { LOG(info) << GetName() << ": found separate T0 digi input!"; } else { - fT0DigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { LOG(info) << "No T0 digi input vector found."; } + LOG(info) << "No separate T0 digi input found."; } // if( ! fT0DigiVec ) fTrbHeader = (TTrbHeader*) fManager->GetObject("TofTrbHeader."); diff --git a/reco/detectors/tof/CbmTofEventClusterizer.h b/reco/detectors/tof/CbmTofEventClusterizer.h index fb32c43542ef0186e3cfef91825f58a3734637c3..85e01933ab06a071d375feb547df5ae501a6403c 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.h +++ b/reco/detectors/tof/CbmTofEventClusterizer.h @@ -253,7 +253,6 @@ private: const std::vector<CbmMatch>* fTofDigiPointMatches = nullptr; // TOF MC point matches //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) diff --git a/reco/detectors/tof/CbmTofHitMaker.cxx b/reco/detectors/tof/CbmTofHitMaker.cxx index d37137748293e48d89d5a19a453ca752a12af7c4..57c79293881800df2fe7d972018daba615a25e16 100644 --- a/reco/detectors/tof/CbmTofHitMaker.cxx +++ b/reco/detectors/tof/CbmTofHitMaker.cxx @@ -31,6 +31,7 @@ #include "CbmTofGeoHandler.h" // in tof/TofTools #include "CbmTofHit.h" // in cbmdata/tof #include "CbmTofPoint.h" // in cbmdata/tof +#include "CbmTzdDigi.h" // in cbmdata/global #include "CbmVertex.h" #include "TTrbHeader.h" @@ -336,10 +337,10 @@ void CbmTofHitMaker::Exec(Option_t* option) for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); - const CbmTofDigi tDigi = fT0DigiVec->at(iDigiIndex); + CbmTofDigi tDigi(fDigiMan->Get<CbmTzdDigi>(iDigiIndex)); if (tDigi.GetType() != 5) LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); - fTofDigiVec.push_back(CbmTofDigi(tDigi)); + fTofDigiVec.push_back(tDigi); } for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kTofDigi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kTofDigi, iDigi)); @@ -476,10 +477,9 @@ Bool_t CbmTofHitMaker::RegisterInputs() LOG(error) << GetName() << ": No Tof digi input!"; return kFALSE; } - if (fDigiMan->IsPresent(ECbmModuleId::kT0)) { LOG(info) << GetName() << ": separate T0 digi input!"; } + if (fDigiMan->IsPresent(ECbmModuleId::kT0)) { LOG(info) << GetName() << ": found separate T0 digi input!"; } else { - fT0DigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { LOG(info) << "No T0 digi input vector found."; } + LOG(info) << "No separate T0 digi input found."; } // if( ! fT0DigiVec ) fTrbHeader = (TTrbHeader*) fManager->GetObject("TofTrbHeader."); diff --git a/reco/detectors/tof/CbmTofHitMaker.h b/reco/detectors/tof/CbmTofHitMaker.h index f3c76a4cefcd3c0b1151fad43884fc61a16cb905..fb2fd0c84e2b0e1fe51dff4210dc250c40634bac 100644 --- a/reco/detectors/tof/CbmTofHitMaker.h +++ b/reco/detectors/tof/CbmTofHitMaker.h @@ -245,7 +245,6 @@ 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)