diff --git a/macro/beamtime/mcbm2020/MonitorTrd.C b/macro/beamtime/mcbm2020/MonitorTrd.C index 19682fc5c56371ad04d916429379dfb1795cd2ab..c6ee21ff9cd46bfa0ab10fe3f34bb55e5613e5cb 100644 --- a/macro/beamtime/mcbm2020/MonitorTrd.C +++ b/macro/beamtime/mcbm2020/MonitorTrd.C @@ -3,7 +3,7 @@ * Created Date: Wednesday March 25th 2020 * Author: Pascal Raisig -- praisig@ikf.uni-frankfurt.de * ----- - * Last Modified: Wednesday March 25th 2020 15:00:38 + * Last Modified: Thursday September 17th 2020 17:20:43 * Modified By: Pascal Raisig * ----- * Purpose: macro to test and run mCbm2020 trd unpacking @@ -18,15 +18,25 @@ #include <TList.h> #include <TObjString.h> #include <TString.h> +#include <TSystem.h> +// Includes needed for IDE +#if !defined(__CLING__) + +#include "FairEventHeader.h" #include "FairLogger.h" +#include "FairParAsciiFileIo.h" #include "FairRootFileSink.h" #include "FairRunOnline.h" #include "FairRuntimeDb.h" -// #include "CbmMcbm2018Source.h" -// #include "CbmMcbm2018UnpackerTaskTrdR.h" -// #include "CbmTbEvent.h" +#include "CbmDefs.h" +#include "CbmMcbm2018Source.h" +#include "CbmMcbm2018UnpackerTaskTrdR.h" +#include "CbmMcbmUnpack.h" +#include "CbmSetup.h" + +#endif FairRunOnline* run = nullptr; @@ -36,18 +46,17 @@ void MonitorTrd(TString inFile = "", Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0, - TString outDir = "data", - TString inDir = "") { + std::string geoSetupTag = "mcbm_beam_2020_03") { + + std::string myName = "MonitorTrd"; + // --- Specify number of events to be produced. // --- -1 means run until the end of the input file. Int_t nEvents = -1; - // inFile = "/home/praisig/CBM/software/testEnv/data/desy2019/r0070_20190831_0159_0000.tsa"; // FIXME: This is just for testing smarter solution needed! One can probably iterate over files via SetInputDir and the code behind it. - // inFile = "/home/dspicker/desy2019/r0004_20200220_1951_0000.tsa"; + if ("" == inFile && "" == sHostname) inFile = "/local/dschmidt/tsa/pulser07.tsa"; // long pulser file - // outDir = "/home/praisig/CBM/software/testEnv/data/desy2019/data/"; - //outDir = "output"; TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -65,24 +74,29 @@ void MonitorTrd(TString inFile = "", gLogger->SetLogVerbosityLevel("medium"); //gLogger->SetLogVerbosityLevel("low"); + // ----- Load the geometry setup ------------------------------------- + std::cout << std::endl; + std::cout << "-I- " << myName.data() << ": Loading setup " << geoSetupTag + << std::endl; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + // geoSetup->Print(); + // --- Define parameter files + // ---- Trd ---- TList* parFileList = new TList(); - - // adjust to required parameter files - // TString paramDirTrd = srcDir + "/parameters/trd/trd_ikfLabOneSpadic"; - TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; - - parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); - // parFileList->Add(new TObjString(Form("%s.digi.par", paramDirTrd.Data()))); - // parFileList->Add(new TObjString(Form("%s.gas.par", paramDirTrd.Data()))); - // parFileList->Add(new TObjString(Form("%s.gain.par", paramDirTrd.Data()))); - - for (auto parFileVecIt : *parFileList) { - LOG(debug) << Form("TrdParams - %s - added to parameter file list\n", - parFileVecIt->GetName()); + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } } - // --- Set debug level gDebug = 0; @@ -102,25 +116,6 @@ void MonitorTrd(TString inFile = "", // unpacker_trdR ->SetIgnoreOverlapMs(); /// Default is kTRUE unpacker_trdR->SetWriteOutput(kFALSE); - /* - unpacker_trdR->SetDebugWriteOutput(); // write rawMessage vector to file -*/ - // // TODO: check trdR task for further needed settings - - // // Use this switch to pass run specific settings to the unpacker task - // switch( uRunId ) - // { - // /* - // case 159: - // { - - // break; - // } // 159 - // */ - - // default: - // break; - // } // switch( uRunId ) // // --- Source task CbmMcbm2018Source* source = new CbmMcbm2018Source(); @@ -133,12 +128,8 @@ void MonitorTrd(TString inFile = "", source->SetSubscriberHwm(10); } // else of if( "" != inFile ) - // source->SetInputDir(inDir); - source->AddUnpacker( - unpacker_trdR, - 0x40, - ECbmModuleId:: - kTrd); // Trd flibId (0x40) as at desy2019. kTrd defined in CbmDefs.h + source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); + // Trd flibId (0x40) as at desy2019. kTrd defined in CbmDefs.h source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C b/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C index 873408a66c176283b468970f3fb4bbbc4900e321..2ac45c1c9d60cd02aea4ae05e8a1b4c7313448f6 100644 --- a/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C +++ b/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C @@ -61,6 +61,12 @@ void unpack_check_time_mcbm_kronos(UInt_t uRunIdx = 99999, TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // ---- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -69,18 +75,19 @@ void unpack_check_time_mcbm_kronos(UInt_t uRunIdx = 99999, TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString geoTagTrd = "v18q_mcbm"; - // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); - // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here - // { - TString paramFilesTrd( - Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); - std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; - for (auto parIt : paramFilesTrdVec) { - parFileList->Add( - new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } } - // } TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); diff --git a/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C b/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C index 7c9685e7a43c0b4317f928cf8d33a26b36b397bf..f097c1f7fdd9cdecc683e6b6231acea42f15d775 100644 --- a/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C @@ -37,6 +37,13 @@ void unpack_check_timing_any_mcbm(TString inFile = "", TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // ---- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -45,18 +52,20 @@ void unpack_check_timing_any_mcbm(TString inFile = "", TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString geoTagTrd = "v18q_mcbm"; - // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); - // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here - // { - TString paramFilesTrd( - Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); - std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; - for (auto parIt : paramFilesTrdVec) { - parFileList->Add( - new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } } - // } + TString paramFileTof = paramDir + "mTofPar.par"; if (uRunId >= 708 && uRunId < 754) diff --git a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C index 0eab3e627e74990344177aba85c741f482103b3e..d404d58d4aed20e21c85150b26f9bec9eb8fa433 100644 --- a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C @@ -39,6 +39,12 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TList* parFileList = new TList(); TString paramDir = "./"; + // ---- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar_pulser.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -47,8 +53,18 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; - parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } + } TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); diff --git a/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C b/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C index f5bb61ef5b87dd1956b46cff649add968883a00f..da4a29b89bbab62820ad4e422a3f4585bdf3f105 100644 --- a/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C +++ b/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C @@ -39,6 +39,12 @@ void unpack_pulser_mcbm_stsbinning(UInt_t uRunId = 0, TList* parFileList = new TList(); TString paramDir = "./"; + // ---- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar_pulser.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -47,8 +53,18 @@ void unpack_pulser_mcbm_stsbinning(UInt_t uRunId = 0, TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; - parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } + } TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C index 733d59f84fa21fff0989a99f36f61addf00af6ba..d2ce5a95f148246b13f4d09a56b026483d06e1cf 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C @@ -36,6 +36,12 @@ void unpack_tsa_mcbm(TString inFile = "", TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // --- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -44,18 +50,18 @@ void unpack_tsa_mcbm(TString inFile = "", TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString geoTagTrd = "v18q_mcbm"; - // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); - // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here - // { - TString paramFilesTrd( - Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); - std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; - for (auto parIt : paramFilesTrdVec) { - parFileList->Add( - new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } } - // } TString paramFileTof = paramDir + "mTofPar.par"; if (uRunId >= 708 && uRunId < 754) diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C index 85a6984e96d8bb5f0827b89ae2089c33edec115f..b01fa2db22fc12a9234d807ad80bcac5ac5dfcbf 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C @@ -61,6 +61,12 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunIdx = 99999, TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // --- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -69,18 +75,18 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunIdx = 99999, TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString geoTagTrd = "v18q_mcbm"; - // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); - // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here - // { - TString paramFilesTrd( - Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); - std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; - for (auto parIt : paramFilesTrdVec) { - parFileList->Add( - new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } } - // } TString paramFileTof = paramDir + "mTofPar.par"; if (uRunId >= 708 && uRunId < 754) diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C index 17ef8620f3e5991ea00f6c29ffc30a59880dd3da..6c63ba62983868bf33440d03cea2996a6a183de8 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C @@ -37,6 +37,12 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // --- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -45,8 +51,18 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; - parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } + } TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C index a95ac7af896518ff726720df2962cb95d58d4617..65093cc34f58cb3d8b23688eae4a197a797e67ac 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C @@ -36,6 +36,12 @@ void unpack_tsa_mcbm_stsmuchbinning(TString inFile = "", TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; + // --- Load the geometry setup ---- + // This is currently only required by the TRD + std::string geoSetupTag = "mcbm_beam_2020_03"; + CbmSetup* geoSetup = CbmSetup::Instance(); + geoSetup->LoadSetup(geoSetupTag.data()); + TString paramFileSts = paramDir + "mStsPar.par"; TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); @@ -44,8 +50,18 @@ void unpack_tsa_mcbm_stsmuchbinning(TString inFile = "", TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); - TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; - parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // ---- Trd ---- + TString geoTagTrd = ""; + if (geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTagTrd)) { + TString paramFilesTrd( + Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<std::string> paramFilesVecTrd; + CbmTrdParManager::GetParFileExtensions(¶mFilesVecTrd); + for (auto parIt : paramFilesVecTrd) { + parFileList->Add( + new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.data()))); + } + } TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof);