From 8d85a74714a66d775a44fcb6ac960750a2702766 Mon Sep 17 00:00:00 2001
From: Volker Friese <v.friese@gsi.de>
Date: Fri, 11 Nov 2022 09:46:24 +0100
Subject: [PATCH] Include TzdDigi in CbmBuildEventsIdeal

---
 core/base/CbmDigiManager.cxx                    | 2 ++
 core/data/global/CbmTzdDigi.h                   | 6 ++++++
 reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx | 1 +
 sim/detectors/tzd/CbmTzdDigitize.cxx            | 5 ++++-
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/core/base/CbmDigiManager.cxx b/core/base/CbmDigiManager.cxx
index 6871158f3c..886338c5fe 100644
--- a/core/base/CbmDigiManager.cxx
+++ b/core/base/CbmDigiManager.cxx
@@ -18,6 +18,7 @@
 #include "CbmStsDigi.h"           // for CbmStsDigi
 #include "CbmTofDigi.h"           // for CbmTofDigi
 #include "CbmTrdDigi.h"           // for CbmTrdDigi
+#include "CbmTzdDigi.h"           // for CbmTzdDigi
 
 #include <FairTask.h>  // for kSUCCESS, InitStatus
 
@@ -90,6 +91,7 @@ InitStatus CbmDigiManager::Init()
   SetBranch<CbmTrdDigi>();
   SetBranch<CbmTofDigi>();
   SetBranch<CbmPsdDigi>();
+  SetBranch<CbmTzdDigi>();
   LOG(info) << "Present branches:";
   for (auto const& branch : fBranches) {
     LOG(info) << "   " << branch.second->ToString();
diff --git a/core/data/global/CbmTzdDigi.h b/core/data/global/CbmTzdDigi.h
index d43ea4c63d..45acc223df 100644
--- a/core/data/global/CbmTzdDigi.h
+++ b/core/data/global/CbmTzdDigi.h
@@ -48,6 +48,12 @@ public:
   double GetCharge() const { return fCharge; }
 
 
+  /** System ID (static)
+  ** @return System identifier (EcbmModuleId)
+  **/
+  static ECbmModuleId GetSystem() { return ECbmModuleId::kT0; }
+
+
   /** @brief Time
    ** @return Time of measurement [ns]
    **/
diff --git a/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx b/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx
index 83a95c3957..a6a3dad68d 100644
--- a/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx
+++ b/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx
@@ -96,6 +96,7 @@ void CbmBuildEventsIdeal::Exec(Option_t*)
       case ECbmModuleId::kTrd: digiType = ECbmDataType::kTrdDigi; break;
       case ECbmModuleId::kTof: digiType = ECbmDataType::kTofDigi; break;
       case ECbmModuleId::kPsd: digiType = ECbmDataType::kPsdDigi; break;
+      case ECbmModuleId::kT0: digiType = ECbmDataType::kT0Digi; break;
       default: break;
     }  //? detector
 
diff --git a/sim/detectors/tzd/CbmTzdDigitize.cxx b/sim/detectors/tzd/CbmTzdDigitize.cxx
index 8ac5c8b765..bcddaf1794 100644
--- a/sim/detectors/tzd/CbmTzdDigitize.cxx
+++ b/sim/detectors/tzd/CbmTzdDigitize.cxx
@@ -9,6 +9,8 @@
 
 #include "CbmTzdDigitize.h"
 
+#include "CbmMatch.h"
+
 #include <Logger.h>
 
 #include <TRandom.h>
@@ -40,7 +42,7 @@ void CbmTzdDigitize::Exec(Option_t*)
   TStopwatch timer;
   timer.Start();
 
-  // --- Get event time
+  // --- Get MC event information
   GetEventInfo();
 
   // --- Create digi and send it to DAQ
@@ -49,6 +51,7 @@ void CbmTzdDigitize::Exec(Option_t*)
   CbmTzdDigi* digi = new CbmTzdDigi(digiTime, charge);
   if (fCreateMatches) {
     CbmMatch* digiMatch = new CbmMatch();
+    digiMatch->AddLink(1., -1, fCurrentMCEntry, fCurrentInput);
     SendData(digiTime, digi, digiMatch);
   }
   else
-- 
GitLab