From af9ffb650bfe70b1bbf599d35628c9897dd15261 Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Wed, 15 Jun 2022 20:50:47 +0200
Subject: [PATCH] reconstruction macros global updates (bugfix): CbmL1 and
 CbmKF (as a FairRoot task) now need the interfaces to the tracking detectors.
 The interfaces are initialized in an additional task -
 CbmTrackingDetectorInterfaceInit, which should be added before. Please, refer
 to '$VMCWORKDIR/macro/run/run_reco.C' as an example

---
 macro/L1/rec.C                             | 2 +-
 macro/analysis/flow/anaFlow.C              | 4 ++--
 macro/analysis/flow/eventPlane.C           | 2 +-
 macro/analysis/opencharm/PairSelection.C   | 2 +-
 macro/analysis/opencharm/PairSelectionSE.C | 2 +-
 macro/analysis/opencharm/TrackSelection.C  | 2 +-
 macro/tof/beamtime/feb15/ana_hits.C        | 1 -
 macro/tof/beamtime/feb15/dis_hits.C        | 1 -
 macro/tof/beamtime/lab16/ana_hits_nh.C     | 1 -
 macro/tof/beamtime/lab16/dis_digi.C        | 1 -
 macro/tof/beamtime/lab16/dis_hits.C        | 1 -
 macro/tof/beamtime/nov15/ana_hits.C        | 1 -
 macro/tof/beamtime/nov15/ana_trks.C        | 1 -
 macro/tof/beamtime/nov15/dis_digi.C        | 1 -
 macro/tof/beamtime/nov15/dis_hits.C        | 1 -
 macro/tof/tof_ana_Testbeam.C               | 1 -
 16 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/macro/L1/rec.C b/macro/L1/rec.C
index 5db0398442..d0e3c1e7f4 100644
--- a/macro/L1/rec.C
+++ b/macro/L1/rec.C
@@ -68,7 +68,7 @@ void rec()
 
   // Kalman Filter
 
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
+  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
 
   CbmKF* KF = new CbmKF();
   fRun->AddTask(KF);
diff --git a/macro/analysis/flow/anaFlow.C b/macro/analysis/flow/anaFlow.C
index e5052dfec4..95c6cd3297 100644
--- a/macro/analysis/flow/anaFlow.C
+++ b/macro/analysis/flow/anaFlow.C
@@ -129,7 +129,7 @@ void anaFlow(Int_t mode = 7, Double_t En = 10., Int_t nEvents = 200, Int_t fileN
     anaFlow->setFileName_gen(infilename_gen);
 
     //=== important for reco info -> STS mult
-    run->AddTask(new CbmTrackingDetectorInterfaceInit());
+    fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
     CbmKF* KF = new CbmKF();
     fRun->AddTask(KF);
 
@@ -169,7 +169,7 @@ void anaFlow(Int_t mode = 7, Double_t En = 10., Int_t nEvents = 200, Int_t fileN
     fRun->SetOutputFile(outfilename);
 
     //=== important for extrapolation to PV -> B-field
-    run->AddTask(new CbmTrackingDetectorInterfaceInit());
+    fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
     CbmKF* KF = new CbmKF();
     fRun->AddTask(KF);
 
diff --git a/macro/analysis/flow/eventPlane.C b/macro/analysis/flow/eventPlane.C
index cd3ce0e7c5..b471c4b031 100644
--- a/macro/analysis/flow/eventPlane.C
+++ b/macro/analysis/flow/eventPlane.C
@@ -89,7 +89,7 @@ void eventPlane(Double_t En = 10, Int_t nEvents = 2, Int_t fQcorr = 0, Int_t fBa
   fRun->SetOutputFile(outfilename);
 
   //=== important for extrapolation to PV in B-field
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
+  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* KF = new CbmKF();
   fRun->AddTask(KF);
 
diff --git a/macro/analysis/opencharm/PairSelection.C b/macro/analysis/opencharm/PairSelection.C
index 19a423fc7a..7e710ce4b0 100644
--- a/macro/analysis/opencharm/PairSelection.C
+++ b/macro/analysis/opencharm/PairSelection.C
@@ -155,7 +155,7 @@ void PairSelection(Int_t nEvents = 10, Int_t ProcID = 1, bool PileUp = false, In
   fRun->SetOutputFile(outFile);
   // -------------------------------------------------------------------------
 
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
+  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
   
   CbmKF* KF = new CbmKF();
   fRun->AddTask(KF);
diff --git a/macro/analysis/opencharm/PairSelectionSE.C b/macro/analysis/opencharm/PairSelectionSE.C
index d84503c7e8..0a5cf9e15a 100644
--- a/macro/analysis/opencharm/PairSelectionSE.C
+++ b/macro/analysis/opencharm/PairSelectionSE.C
@@ -153,7 +153,7 @@ void PairSelectionSE(Int_t nEvents = 10, Int_t ProcID = 1, bool PileUp = false,
   fRun->SetOutputFile(outFile);
   // -------------------------------------------------------------------------
 
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
+  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* KF = new CbmKF();
   fRun->AddTask(KF);
 
diff --git a/macro/analysis/opencharm/TrackSelection.C b/macro/analysis/opencharm/TrackSelection.C
index 45b8b877c1..e96ec41296 100644
--- a/macro/analysis/opencharm/TrackSelection.C
+++ b/macro/analysis/opencharm/TrackSelection.C
@@ -121,7 +121,7 @@ void TrackSelection(Int_t nEvents = 10, Int_t ProcID = 1, bool PileUp = false, I
   fRun->AddFriend(rcFile);
   fRun->SetOutputFile(outFile);
   // ========================================================================
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
+  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
 
   CbmKF* KF = new CbmKF();
   fRun->AddTask(KF);
diff --git a/macro/tof/beamtime/feb15/ana_hits.C b/macro/tof/beamtime/feb15/ana_hits.C
index e0e3be16a5..81d22e8eea 100644
--- a/macro/tof/beamtime/feb15/ana_hits.C
+++ b/macro/tof/beamtime/feb15/ana_hits.C
@@ -88,7 +88,6 @@ void ana_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/feb15/dis_hits.C b/macro/tof/beamtime/feb15/dis_hits.C
index 007f0169a3..3b5c306da1 100644
--- a/macro/tof/beamtime/feb15/dis_hits.C
+++ b/macro/tof/beamtime/feb15/dis_hits.C
@@ -85,7 +85,6 @@ void dis_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/lab16/ana_hits_nh.C b/macro/tof/beamtime/lab16/ana_hits_nh.C
index 6b7b895be0..4e9ef51ec7 100644
--- a/macro/tof/beamtime/lab16/ana_hits_nh.C
+++ b/macro/tof/beamtime/lab16/ana_hits_nh.C
@@ -98,7 +98,6 @@ void ana_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // =========================================================================
   /*
    CbmStsDigitize* stsDigitize = new CbmStsDigitize(); //necessary for kalman !!
-   run->AddTask(new CbmTrackingDetectorInterfaceInit());
    CbmKF* kalman = new CbmKF();
 
    CbmTofTrackFinder* tofTrackFinder= new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/lab16/dis_digi.C b/macro/tof/beamtime/lab16/dis_digi.C
index 509ccfc40d..911fa36498 100644
--- a/macro/tof/beamtime/lab16/dis_digi.C
+++ b/macro/tof/beamtime/lab16/dis_digi.C
@@ -230,7 +230,6 @@ void dis_digi(Int_t nEvents = 100000, Int_t calMode = 0, Int_t calSel = -1, Int_
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/lab16/dis_hits.C b/macro/tof/beamtime/lab16/dis_hits.C
index b8851ca211..3faccbb0d5 100644
--- a/macro/tof/beamtime/lab16/dis_hits.C
+++ b/macro/tof/beamtime/lab16/dis_hits.C
@@ -84,7 +84,6 @@ void dis_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/nov15/ana_hits.C b/macro/tof/beamtime/nov15/ana_hits.C
index 2eda248438..d9e0cdd177 100644
--- a/macro/tof/beamtime/nov15/ana_hits.C
+++ b/macro/tof/beamtime/nov15/ana_hits.C
@@ -92,7 +92,6 @@ void ana_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, TString cFi
   // =========================================================================
   /*
    CbmStsDigitize* stsDigitize = new CbmStsDigitize(); //necessary for kalman !!
-   run->AddTask(new CbmTrackingDetectorInterfaceInit());
    CbmKF* kalman = new CbmKF();
 
    CbmTofTrackFinder* tofTrackFinder= new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/nov15/ana_trks.C b/macro/tof/beamtime/nov15/ana_trks.C
index a35ded74d9..fecef6fa33 100644
--- a/macro/tof/beamtime/nov15/ana_trks.C
+++ b/macro/tof/beamtime/nov15/ana_trks.C
@@ -91,7 +91,6 @@ void ana_trks(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/nov15/dis_digi.C b/macro/tof/beamtime/nov15/dis_digi.C
index c94687847d..6e1926302b 100644
--- a/macro/tof/beamtime/nov15/dis_digi.C
+++ b/macro/tof/beamtime/nov15/dis_digi.C
@@ -230,7 +230,6 @@ void dis_digi(Int_t nEvents = 100000, Int_t calMode = 0, Int_t calSel = -1, Int_
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/beamtime/nov15/dis_hits.C b/macro/tof/beamtime/nov15/dis_hits.C
index 00dffdfd80..b8e548f95e 100644
--- a/macro/tof/beamtime/nov15/dis_hits.C
+++ b/macro/tof/beamtime/nov15/dis_hits.C
@@ -84,7 +84,6 @@ void dis_hits(Int_t nEvents = 10, Int_t iSel = 1, Int_t iGenCor = 1, char* cFile
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  run->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
diff --git a/macro/tof/tof_ana_Testbeam.C b/macro/tof/tof_ana_Testbeam.C
index d072525056..c4e0af6414 100644
--- a/macro/tof/tof_ana_Testbeam.C
+++ b/macro/tof/tof_ana_Testbeam.C
@@ -51,7 +51,6 @@ void tof_ana_Testbeam(Int_t nEvents = 1000, Int_t iSel = 1, Int_t iGenCor = 1, I
   // ===                       Tracking                                    ===
   // =========================================================================
   CbmStsDigitize* stsDigitize = new CbmStsDigitize();  //necessary for kalman !!
-  fRun->AddTask(new CbmTrackingDetectorInterfaceInit());
   CbmKF* kalman               = new CbmKF();
 
   CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
-- 
GitLab