From 0615f34fc945b88e4d2ad18930e56007848c42e5 Mon Sep 17 00:00:00 2001
From: Volker Friese <v.friese@gsi.de>
Date: Sat, 12 Mar 2022 09:15:54 +0100
Subject: [PATCH] Allow to set persistency for output branches.

---
 macro/reco/reco_ts.C         | 2 ++
 reco/tasks/CbmTaskUnpack.cxx | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/macro/reco/reco_ts.C b/macro/reco/reco_ts.C
index df96f89e59..8b901d0f74 100644
--- a/macro/reco/reco_ts.C
+++ b/macro/reco/reco_ts.C
@@ -93,6 +93,7 @@ void reco_ts(TString tsaFile = "", TString outFile = "")
 
   // -----   Unpacking   ----------------------------------------------------
   auto unpack = std::make_unique<CbmTaskUnpack>();
+  unpack->SetOutputBranchPersistent("DigiTimeslice.", kFALSE);
   LOG(info) << myName << ": Added task " << unpack->GetName();
   run->AddTask(unpack.release());
   // ------------------------------------------------------------------------
@@ -105,6 +106,7 @@ void reco_ts(TString tsaFile = "", TString outFile = "")
   double deadTime      = 50.;  // Minimum time between two triggers
   trigger->SetAlgoParams(triggerWindow, minNumDigis, deadTime);
   trigger->AddSystem(ECbmModuleId::kSts);
+  trigger->SetOutputBranchPersistent("Trigger", kFALSE);
   LOG(info) << myName << ": Added task " << trigger->GetName();
   run->AddTask(trigger.release());
   // ------------------------------------------------------------------------
diff --git a/reco/tasks/CbmTaskUnpack.cxx b/reco/tasks/CbmTaskUnpack.cxx
index 3250f4d286..f0eacf8fa7 100644
--- a/reco/tasks/CbmTaskUnpack.cxx
+++ b/reco/tasks/CbmTaskUnpack.cxx
@@ -195,7 +195,7 @@ InitStatus CbmTaskUnpack::Init()
     return kFATAL;
   }
   fTimeslice = new CbmDigiTimeslice();
-  ioman->RegisterAny("DigiTimeslice.", fTimeslice, kTRUE);
+  ioman->RegisterAny("DigiTimeslice.", fTimeslice, IsOutputBranchPersistent("DigiTimeslice."));
   LOG(info) << "--- Registered branch DigiTimeslice.";
 
   // --- Common parameters for all components
-- 
GitLab