From 0b8354168e5d4ef785ecc54f187c7a8a64fd6837 Mon Sep 17 00:00:00 2001
From: Volker Friese <v.friese@gsi.de>
Date: Thu, 15 Dec 2022 15:42:54 +0100
Subject: [PATCH] Fix event loop in RecoTzero. Refs #2689.

---
 reco/global/CbmRecoTzero.cxx | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/reco/global/CbmRecoTzero.cxx b/reco/global/CbmRecoTzero.cxx
index e9d2e6099a..a3af8389fe 100644
--- a/reco/global/CbmRecoTzero.cxx
+++ b/reco/global/CbmRecoTzero.cxx
@@ -90,7 +90,7 @@ void CbmRecoTzero::Exec(Option_t*)
   for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
     CbmEvent* event = dynamic_cast<CbmEvent*>(fEvents->At(iEvent));
     assert(event);
-    Int_t nDigis = fTzdDigis->size();
+    Int_t nDigis = event->GetNofData(ECbmDataType::kT0Digi);
     double tzero = -999999.;
     switch (nDigis) {
 
@@ -103,7 +103,8 @@ void CbmRecoTzero::Exec(Option_t*)
 
       // If there is exactly one TZD digi, take the event time from there
       case 1: {
-        tzero = fTzdDigis->at(0).GetTime();
+        uint32_t digiIndex = event->GetIndex(ECbmDataType::kT0Digi, 0);
+        tzero              = fTzdDigis->at(digiIndex).GetTime();
         tsMonitor.fNumEvtsTzd1++;
         break;
       }
-- 
GitLab