From 0bb6396bd013d894478a4f3b00db1a65b3791a84 Mon Sep 17 00:00:00 2001
From: Pascal Raisig <praisig@ikf.uni-frankfurt.de>
Date: Thu, 21 Jan 2021 17:21:04 +0100
Subject: [PATCH] Add Trd to the common mcbm reco macros

Trd clusterfinder and hit reconstruction tasks added to the common macros
No additional eventbuilding cuts based on the Trd where introduced
---
 macro/beamtime/mcbm2020/mcbm_build_and_reco.C     | 15 +++++++++++++--
 .../mcbm2020/mcbm_build_and_reco_kronos.C         | 13 ++++++++++++-
 macro/beamtime/mcbm2020/mcbm_event_reco.C         | 13 +++++++++++++
 macro/beamtime/mcbm2020/mcbm_event_reco_kronos.C  | 11 +++++++++++
 macro/beamtime/mcbm2020/mcbm_reco.C               | 11 +++++++++++
 macro/beamtime/mcbm2020/mcbm_reco_kronos.C        | 15 +++++++++++++--
 6 files changed, 73 insertions(+), 5 deletions(-)

diff --git a/macro/beamtime/mcbm2020/mcbm_build_and_reco.C b/macro/beamtime/mcbm2020/mcbm_build_and_reco.C
index f9850fa97d..114865dfd9 100644
--- a/macro/beamtime/mcbm2020/mcbm_build_and_reco.C
+++ b/macro/beamtime/mcbm2020/mcbm_build_and_reco.C
@@ -89,7 +89,7 @@ void mcbm_build_and_reco(UInt_t uRunId     = 28,
   /// Change the selection window limits for T0 as ref
   eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100);
   eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50);
-  eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -250, 100);
+  eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 250);
   eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -150, 10);
   eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50);
   eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50);
@@ -99,7 +99,7 @@ void mcbm_build_and_reco(UInt_t uRunId     = 28,
   /*
   /// Use TOF as reference
   eventBuilder->SetReferenceDetector( kEventBuilderDetTof );
-  eventBuilder->AddDetector( kEventBuilderDetT0 );
+  eventBuilder->AddDetector(kEventBuilderDetT0);
 
   /// Change the selection window limits for TOF as ref
   /// => Should always be after changes of detector lists!
@@ -198,6 +198,17 @@ void mcbm_build_and_reco(UInt_t uRunId     = 28,
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
diff --git a/macro/beamtime/mcbm2020/mcbm_build_and_reco_kronos.C b/macro/beamtime/mcbm2020/mcbm_build_and_reco_kronos.C
index 3c2f29b2ad..2e34db6e56 100644
--- a/macro/beamtime/mcbm2020/mcbm_build_and_reco_kronos.C
+++ b/macro/beamtime/mcbm2020/mcbm_build_and_reco_kronos.C
@@ -10,7 +10,7 @@
 void mcbm_build_and_reco_kronos(UInt_t uRunIdx    = 28,
                                 Int_t nTimeslices = 300,
                                 TString outDir    = "data/") {
-  UInt_t uRunId    = 0;
+  UInt_t uRunId     = 0;
   TString inFile    = "./data/unp_mcbm_0.root";
   TString parFileIn = "./data/unp_mcbm_params_0.root";
   if (99999 != uRunIdx) {
@@ -233,6 +233,17 @@ void mcbm_build_and_reco_kronos(UInt_t uRunIdx    = 28,
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
diff --git a/macro/beamtime/mcbm2020/mcbm_event_reco.C b/macro/beamtime/mcbm2020/mcbm_event_reco.C
index e27b8f175b..372de87bbd 100644
--- a/macro/beamtime/mcbm2020/mcbm_event_reco.C
+++ b/macro/beamtime/mcbm2020/mcbm_event_reco.C
@@ -63,9 +63,11 @@ void mcbm_event_reco(Int_t runId = 831, Int_t nTimeslices = 300) {
   eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow);
   eventBuilder->SetFixedTimeWindow(200.);
   eventBuilder->SetTriggerMinNumberT0(1);
+  // eventBuilder->SetTriggerMinNumberTrd(1);
   //eventBuilder->SetTriggerMinNumberSts(0);
   eventBuilder->SetTriggerMinNumberMuch(1);
   eventBuilder->SetTriggerMinNumberTof(10);
+  // eventBuilder->SetFillHistos(kTRUE);
   run->AddTask(eventBuilder);
   // ------------------------------------------------------------------------
 
@@ -128,6 +130,17 @@ void mcbm_event_reco(Int_t runId = 831, Int_t nTimeslices = 300) {
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
diff --git a/macro/beamtime/mcbm2020/mcbm_event_reco_kronos.C b/macro/beamtime/mcbm2020/mcbm_event_reco_kronos.C
index fd73801f79..c52aa9730f 100644
--- a/macro/beamtime/mcbm2020/mcbm_event_reco_kronos.C
+++ b/macro/beamtime/mcbm2020/mcbm_event_reco_kronos.C
@@ -134,6 +134,17 @@ void mcbm_event_reco(Int_t runId = 831, Int_t nTimeslices = 300) {
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
diff --git a/macro/beamtime/mcbm2020/mcbm_reco.C b/macro/beamtime/mcbm2020/mcbm_reco.C
index 281deb3d6c..f593d587c1 100644
--- a/macro/beamtime/mcbm2020/mcbm_reco.C
+++ b/macro/beamtime/mcbm2020/mcbm_reco.C
@@ -113,6 +113,17 @@ void mcbm_reco(Int_t runId = 831, Int_t nTimeslices = 0) {
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
diff --git a/macro/beamtime/mcbm2020/mcbm_reco_kronos.C b/macro/beamtime/mcbm2020/mcbm_reco_kronos.C
index 5c9147d045..8eccacdd6d 100644
--- a/macro/beamtime/mcbm2020/mcbm_reco_kronos.C
+++ b/macro/beamtime/mcbm2020/mcbm_reco_kronos.C
@@ -30,7 +30,7 @@ void mcbm_reco_kronos(Int_t runId = 831, Int_t nTimeslices = 0) {
          runId);
   TString geoFile = paramDir + "mcbm2020_reco.geo.root";  // Created in sim. run
   TString parFileOut = Form("./data/reco_mcbm_params_%i.root", runId);
-  TString outFile = Form("./data/reco_mcbm_%i.root", runId);
+  TString outFile    = Form("./data/reco_mcbm_%i.root", runId);
   // ------------------------------------------------------------------------
 
 
@@ -118,6 +118,17 @@ void mcbm_reco_kronos(Int_t runId = 831, Int_t nTimeslices = 0) {
 
 
   // -----   Local reconstruction in TRD   ----------------------------------
+  Double_t triggerThreshold       = 0.5e-6;  // Default
+  CbmTrdClusterFinder* trdCluster = new CbmTrdClusterFinder();
+  trdCluster->SetNeighbourEnable(true, false);
+  trdCluster->SetMinimumChargeTH(triggerThreshold);
+  trdCluster->SetRowMerger(true);
+  run->AddTask(trdCluster);
+  std::cout << "-I- : Added task " << trdCluster->GetName() << std::endl;
+
+  CbmTrdHitProducer* trdHit = new CbmTrdHitProducer();
+  run->AddTask(trdHit);
+  std::cout << "-I- : Added task " << trdHit->GetName() << std::endl;
   // ------------------------------------------------------------------------
 
 
@@ -154,7 +165,7 @@ void mcbm_reco_kronos(Int_t runId = 831, Int_t nTimeslices = 0) {
   FairRuntimeDb* rtdb        = run->GetRuntimeDb();
   FairParRootFileIo* parIo1  = new FairParRootFileIo();
   FairParAsciiFileIo* parIo2 = new FairParAsciiFileIo();
-  FairParRootFileIo* parIo3 = new FairParRootFileIo();
+  FairParRootFileIo* parIo3  = new FairParRootFileIo();
   parIo1->open(parFileIn.Data(), "READ");
   parIo3->open(parFileOut.Data(), "RECREATE");
   rtdb->setFirstInput(parIo1);
-- 
GitLab