From 1e9a6e4be62859419948078eaa00547d8547e910 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Mon, 25 Apr 2022 11:07:46 +0000
Subject: [PATCH] L1: bugfix in MVD detection, read setup from CbmSetup

---
 reco/L1/CMakeLists.txt |  2 +-
 reco/L1/CbmL1.cxx      | 18 +++++++++++-------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt
index 10f7756def..7dffdb0df8 100644
--- a/reco/L1/CMakeLists.txt
+++ b/reco/L1/CMakeLists.txt
@@ -236,7 +236,7 @@ Set(DEPENDENCIES
     Base
     CbmBase
     CbmData
-#    CbmSimSteer
+    CbmSimSteer
 #    CbmGeoSetup
     CbmMuchBase
     CbmTrdBase
diff --git a/reco/L1/CbmL1.cxx b/reco/L1/CbmL1.cxx
index 4f7590f203..1cc5edfcd1 100644
--- a/reco/L1/CbmL1.cxx
+++ b/reco/L1/CbmL1.cxx
@@ -29,6 +29,7 @@
 #include "CbmMuchStation.h"
 #include "CbmMvdDetector.h"
 #include "CbmMvdStationPar.h"
+#include "CbmSetup.h"
 // TODO: include of CbmSetup.h creates problems on Mac
 // #include "CbmSetup.h"
 #include "CbmMCDataObject.h"
@@ -111,11 +112,13 @@ CbmL1::~CbmL1()
 
 void CbmL1::CheckDetectorPresence()
 {
-  Bool_t IsMuch       = 0;
-  Bool_t IsTrd        = 0;
-  Bool_t IsTof        = 0;
-  Bool_t IsSts        = 0;
-  Bool_t IsMvd        = 0;
+  Bool_t IsMuch = CbmSetup::Instance()->IsActive(ECbmModuleId::kMuch);
+  Bool_t IsTrd  = CbmSetup::Instance()->IsActive(ECbmModuleId::kTrd);
+  Bool_t IsTof  = CbmSetup::Instance()->IsActive(ECbmModuleId::kTof);
+  //Bool_t IsSts        = CbmSetup::Instance()->IsActive(ECbmModuleId::kSts);
+  Bool_t IsMvd = CbmSetup::Instance()->IsActive(ECbmModuleId::kMvd);
+
+  /*
   TObjArray* topNodes = gGeoManager->GetTopNode()->GetNodes();
 
   for (Int_t iTopNode = 0; iTopNode < topNodes->GetEntriesFast(); iTopNode++) {
@@ -124,9 +127,10 @@ void CbmL1::CheckDetectorPresence()
     if (TString(topNode->GetName()).Contains("much")) IsMuch = 1;
     if (TString(topNode->GetName()).Contains("trd")) IsTrd = 1;
     if (TString(topNode->GetName()).Contains("tof")) IsTof = 1;
-    if (TString(topNode->GetName()).Contains("sts")) IsSts = 1;
+    //if (TString(topNode->GetName()).Contains("sts")) IsSts = 1;
     if (TString(topNode->GetName()).Contains("mvd")) IsMvd = 1;
   }
+  */
 
   fUseMUCH = (fUseMUCH && IsMuch);
   fUseTRD  = fUseTRD && IsTrd;
@@ -460,7 +464,7 @@ InitStatus CbmL1::Init()
           if (NULL == fChannelInfo) break;
           float z = fChannelInfo->GetZ();
           float x = fChannelInfo->GetX();
-          float y = fChannelInfo->GetY();
+          //float y = fChannelInfo->GetY();
 
           if (station < 0) continue;
 
-- 
GitLab