From df625a929847a066df249985ae6d92d6ed28e4f3 Mon Sep 17 00:00:00 2001
From: Adrian Meyer-Ahrens <a_meye37@uni-muenster.de>
Date: Fri, 24 Jun 2022 15:15:40 +0200
Subject: [PATCH] Get path of likelihood reference from parameter file instead
 of CbmTrdGas class

---
 .../trd/pid/CbmTrdSetTracksPidLike.cxx        | 22 ++++++++++++-------
 .../trd/pid/CbmTrdSetTracksPidLike.h          |  3 +++
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.cxx b/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.cxx
index 201d5ba6c1..46613cee56 100644
--- a/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.cxx
+++ b/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.cxx
@@ -15,6 +15,9 @@
 #include "CbmTrdTrack.h"
 
 #include "FairRootManager.h"
+#include "FairRunAna.h"
+#include "FairRuntimeDb.h"
+#include "FairParamList.h"
 
 #include "TClonesArray.h"
 #include "TH1.h"
@@ -43,11 +46,13 @@ CbmTrdSetTracksPidLike::~CbmTrdSetTracksPidLike() {}
 // -------------------------------------------------------------------------
 
 // -----  SetParContainers -------------------------------------------------
-void CbmTrdSetTracksPidLike::SetParContainers() {}
+void CbmTrdSetTracksPidLike::SetParContainers() {
+  fGasPar = static_cast<CbmTrdParSetGas*>(FairRunAna::Instance()->GetRuntimeDb()->getContainer("CbmTrdParSetGas"));
+}
 // -------------------------------------------------------------------------
 
 
-// -----  RaedData -------------------------------------------------
+// -----  ReadData -------------------------------------------------
 Bool_t CbmTrdSetTracksPidLike::ReadData()
 {
   //
@@ -60,14 +65,15 @@ Bool_t CbmTrdSetTracksPidLike::ReadData()
   // and can construct the required file name
 
   if (fFileName.IsNull()) {
-    CbmTrdGas* fTrdGas = CbmTrdGas::Instance();
-    if (fTrdGas == 0) {
-      fTrdGas = new CbmTrdGas();
-      fTrdGas->Init();
-    }
-    fFileName = fTrdGas->GetFileName("Like");
+
+    FairParamList* parlist = new FairParamList();
+    fGasPar->putParams(parlist);
+    FairParamObj* filenamepar = parlist->find("RepoPid");
+    fFileName.Form("%s/%s", getenv("VMCWORKDIR"), filenamepar->getParamValue());
+    
   }
 
+
   /// Save old global file and folder pointer to avoid messing with FairRoot
   TFile* oldFile     = gFile;
   TDirectory* oldDir = gDirectory;
diff --git a/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.h b/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.h
index f89e1f7034..b5417a2f86 100644
--- a/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.h
+++ b/reco/detectors/trd/pid/CbmTrdSetTracksPidLike.h
@@ -28,6 +28,7 @@
 #define CBMTRDSETTRACKSPIDLIKE_H 1
 
 #include "FairTask.h"
+#include "CbmTrdParSetGas.h"
 
 class TClonesArray;
 
@@ -87,6 +88,8 @@ private:
   TObjArray* fHistdEdx = NULL;  // Prob. of dEdx for 5 particle species
   Int_t fNofTracks     = 0;     // Number of tracks successfully fitted
 
+  CbmTrdParSetGas* fGasPar; // Gas parameters, path to input reference spectra located here
+
   static const Int_t fgkNParts = 5;  // numer of different particle species
   enum EParticleType
   {
-- 
GitLab