From 1cd63845104cc2192d9e86b5a8e3211e1a412216 Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Mon, 25 Jan 2021 14:12:44 +0100
Subject: [PATCH] Move beamtime related parameter classes into detector core
 libraries

First step to include code currently stored for historical reasons in the
fles directory, in the core or reco libraries of the respective detectors.
Adapt build system accordingly.
---
 MQ/unpacker/CMakeLists.txt                    |  7 +-
 core/detectors/much/CMakeLists.txt            | 15 ++--
 .../detectors/much}/CbmMcbm2018MuchPar.cxx    |  0
 .../detectors/much}/CbmMcbm2018MuchPar.h      |  0
 core/detectors/much/CbmMuchBaseLinkDef.h      |  1 +
 core/detectors/much/CbmMuchContFact.cxx       | 17 +++--
 core/detectors/psd/CMakeLists.txt             |  6 +-
 .../detectors/psd}/CbmMcbm2018PsdPar.cxx      |  0
 .../detectors/psd}/CbmMcbm2018PsdPar.h        |  0
 core/detectors/psd/CbmPsdBaseLinkDef.h        |  2 +
 core/detectors/psd/CbmPsdContFact.cxx         | 58 ++++++++++++++++
 core/detectors/psd/CbmPsdContFact.h           | 34 +++++++++
 core/detectors/rich/CMakeLists.txt            |  2 +
 .../detectors/rich}/CbmMcbm2018RichPar.cxx    |  0
 .../detectors/rich}/CbmMcbm2018RichPar.h      |  0
 core/detectors/rich/CbmRichBaseLinkDef.h      |  2 +
 core/detectors/rich/CbmRichContFact.cxx       | 58 ++++++++++++++++
 core/detectors/rich/CbmRichContFact.h         | 34 +++++++++
 core/detectors/sts/CMakeLists.txt             |  1 +
 .../detectors/sts}/CbmMcbm2018StsPar.cxx      |  0
 .../detectors/sts}/CbmMcbm2018StsPar.h        |  2 +-
 core/detectors/sts/CbmStsBaseLinkDef.h        |  1 +
 core/detectors/sts/CbmStsContFact.cxx         | 15 +++-
 core/detectors/tof/CMakeLists.txt             | 10 +--
 .../detectors/tof}/CbmMcbm2018TofPar.cxx      |  0
 .../detectors/tof}/CbmMcbm2018TofPar.h        |  0
 core/detectors/tof/CbmTofBaseLinkDef.h        |  1 +
 core/detectors/tof/CbmTofContFact.cxx         | 17 +++--
 core/detectors/tof/CbmTofContFact.h           |  9 +--
 core/detectors/trd/CMakeLists.txt             | 55 +++++++--------
 .../trd}/CbmMcbm2020TrdTshiftPar.cxx          |  2 +-
 .../detectors/trd}/CbmMcbm2020TrdTshiftPar.h  |  0
 core/detectors/trd/CbmTrdBaseLinkDef.h        |  1 +
 core/detectors/trd/CbmTrdContFact.cxx         | 23 +++++--
 fles/mcbm2018/CMakeLists.txt                  | 16 ++---
 fles/mcbm2018/CbmFlibMcbm2018LinkDef.h        |  6 --
 .../parameter/CbmMcbm2018ContFact.cxx         | 69 -------------------
 37 files changed, 319 insertions(+), 145 deletions(-)
 rename {fles/mcbm2018/parameter => core/detectors/much}/CbmMcbm2018MuchPar.cxx (100%)
 rename {fles/mcbm2018/parameter => core/detectors/much}/CbmMcbm2018MuchPar.h (100%)
 rename {fles/mcbm2018/parameter => core/detectors/psd}/CbmMcbm2018PsdPar.cxx (100%)
 rename {fles/mcbm2018/parameter => core/detectors/psd}/CbmMcbm2018PsdPar.h (100%)
 create mode 100644 core/detectors/psd/CbmPsdContFact.cxx
 create mode 100644 core/detectors/psd/CbmPsdContFact.h
 rename {fles/mcbm2018/parameter => core/detectors/rich}/CbmMcbm2018RichPar.cxx (100%)
 rename {fles/mcbm2018/parameter => core/detectors/rich}/CbmMcbm2018RichPar.h (100%)
 create mode 100644 core/detectors/rich/CbmRichContFact.cxx
 create mode 100644 core/detectors/rich/CbmRichContFact.h
 rename {fles/mcbm2018/parameter => core/detectors/sts}/CbmMcbm2018StsPar.cxx (100%)
 rename {fles/mcbm2018/parameter => core/detectors/sts}/CbmMcbm2018StsPar.h (99%)
 rename {fles/mcbm2018/parameter => core/detectors/tof}/CbmMcbm2018TofPar.cxx (100%)
 rename {fles/mcbm2018/parameter => core/detectors/tof}/CbmMcbm2018TofPar.h (100%)
 rename {fles/mcbm2018/parameter => core/detectors/trd}/CbmMcbm2020TrdTshiftPar.cxx (99%)
 rename {fles/mcbm2018/parameter => core/detectors/trd}/CbmMcbm2020TrdTshiftPar.h (100%)

diff --git a/MQ/unpacker/CMakeLists.txt b/MQ/unpacker/CMakeLists.txt
index 4d2da7356a..7091e5936f 100644
--- a/MQ/unpacker/CMakeLists.txt
+++ b/MQ/unpacker/CMakeLists.txt
@@ -3,14 +3,18 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerUnpackerParserver.sh.in
 set(INCLUDE_DIRECTORIES
     ${CMAKE_CURRENT_SOURCE_DIR}
     ${CBMROOT_SOURCE_DIR}/MQ/base
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter
+#    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter
     ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat
     ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker
     ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ
+
     ${CBMDATA_DIR}
     ${CBMDATA_DIR}/raw
     ${CBMDATA_DIR}/tof
+
     ${CBMBASE_DIR}
+
+    ${CBMDETECTORBASE_DIR}/tof
 )
 
 Set(SYSTEM_INCLUDE_DIRECTORIES
@@ -70,6 +74,7 @@ set(DEPENDENCIES
   ${BOOST_LIBS}
   fles_ipc
   CbmFlibMcbm2018
+  CbmTofBase
   CbmBase
 #  CbmBeamtimeBase
   CbmData
diff --git a/core/detectors/much/CMakeLists.txt b/core/detectors/much/CMakeLists.txt
index 6fbbc1613d..05c2d1a797 100644
--- a/core/detectors/much/CMakeLists.txt
+++ b/core/detectors/much/CMakeLists.txt
@@ -6,14 +6,14 @@
 Set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
 
-  ${CBMDATA_DIR} 
-  ${CBMDATA_DIR}/much 
+  ${CBMDATA_DIR}
+  ${CBMDATA_DIR}/much
 )
 
 Include_Directories( ${INCLUDE_DIRECTORIES})
 
 Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES} 
+  ${BASE_INCLUDE_DIRECTORIES}
 )
 
 Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
@@ -23,12 +23,13 @@ ${ROOT_LIBRARY_DIR}
 ${FAIRROOT_LIBRARY_DIR}
 ${Boost_LIBRARY_DIRS}
 )
- 
+
 link_directories( ${LINK_DIRECTORIES})
 
 set(SRCS
-CbmGeoMuchPar.cxx 
-CbmMuchContFact.cxx  
+CbmGeoMuchPar.cxx
+CbmMcbm2018MuchPar.cxx
+CbmMuchContFact.cxx
 CbmMuchGeoScheme.cxx
 CbmMuchLayer.cxx
 CbmMuchLayerSide.cxx
@@ -53,7 +54,7 @@ CbmMuchSegmentSector.cxx
 set(LINKDEF CbmMuchBaseLinkDef.h)
 Set(LIBRARY_NAME CbmMuchBase)
 Set(DEPENDENCIES
-  CbmData Base 
+  CbmData Base
 )
 
 GENERATE_LIBRARY()
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018MuchPar.cxx b/core/detectors/much/CbmMcbm2018MuchPar.cxx
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018MuchPar.cxx
rename to core/detectors/much/CbmMcbm2018MuchPar.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018MuchPar.h b/core/detectors/much/CbmMcbm2018MuchPar.h
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018MuchPar.h
rename to core/detectors/much/CbmMcbm2018MuchPar.h
diff --git a/core/detectors/much/CbmMuchBaseLinkDef.h b/core/detectors/much/CbmMuchBaseLinkDef.h
index e69348fc73..9c85a16463 100644
--- a/core/detectors/much/CbmMuchBaseLinkDef.h
+++ b/core/detectors/much/CbmMuchBaseLinkDef.h
@@ -6,6 +6,7 @@
 
 
 #pragma link C++ class CbmGeoMuchPar;
+#pragma link C++ class CbmMcbm2018MuchPar + ;
 #pragma link C++ class CbmMuchContFact;
 #pragma link C++ class CbmMuchGeoScheme + ;
 #pragma link C++ class CbmMuchLayer + ;
diff --git a/core/detectors/much/CbmMuchContFact.cxx b/core/detectors/much/CbmMuchContFact.cxx
index 9535960ffd..22c2c2e072 100644
--- a/core/detectors/much/CbmMuchContFact.cxx
+++ b/core/detectors/much/CbmMuchContFact.cxx
@@ -3,13 +3,14 @@
  * @author  M. Ryzhinskiy <m.ryzhinskiy@gsi.de>
  * @version 0.0
  * @since   15.03.07
- * 
+ *
  * Factory for the parameter containers for MUon CHambers detector
  *
  */
 #include "CbmMuchContFact.h"
 
-#include "CbmGeoMuchPar.h"  // for CbmGeoMuchPar
+#include "CbmGeoMuchPar.h"       // for CbmGeoMuchPar
+#include "CbmMcbm2018MuchPar.h"  // for CbmMcbm2018MuchPar
 
 #include <FairContFact.h>   // for FairContainer
 #include <FairLogger.h>     // for LOG
@@ -39,13 +40,17 @@ void CbmMuchContFact::setAllContainers() {
   // 				     "Much Digitization Parameters",
   // 				     "TestDefaultContext");
   //   p1->addContext("TestNonDefaultContext");
+  //  containers->Add(p1);
 
   FairContainer* p2 = new FairContainer(
     "CbmGeoMuchPar", "Much Geometry Parameters", "TestDefaultContext");
   p2->addContext("TestNonDefaultContext");
-
-  //  containers->Add(p1);
   containers->Add(p2);
+
+  FairContainer* beamPars = new FairContainer(
+    "CbmMcbm2018MuchPar", "Much at MCBM 2018 Unpack Parameters", "Default");
+  beamPars->addContext("Default");
+  containers->Add(beamPars);
 }
 
 FairParSet* CbmMuchContFact::createContainer(FairContainer* c) {
@@ -58,7 +63,11 @@ FairParSet* CbmMuchContFact::createContainer(FairContainer* c) {
   if (strcmp(name, "CbmGeoMuchPar") == 0) {
     p = new CbmGeoMuchPar(
       c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  } else if (strcmp(name, "CbmMcbm2018MuchPar") == 0) {
+    p = new CbmMcbm2018MuchPar(
+      c->getConcatName().Data(), c->GetTitle(), c->getContext());
   }
+
   return p;
 }
 
diff --git a/core/detectors/psd/CMakeLists.txt b/core/detectors/psd/CMakeLists.txt
index eab3e6de95..4f13df901c 100644
--- a/core/detectors/psd/CMakeLists.txt
+++ b/core/detectors/psd/CMakeLists.txt
@@ -5,7 +5,7 @@ set(INCLUDE_DIRECTORIES
 include_directories(${INCLUDE_DIRECTORIES})
 
 set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES} 
+  ${BASE_INCLUDE_DIRECTORIES}
 )
 
 include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
@@ -20,10 +20,12 @@ link_directories(${LINK_DIRECTORIES})
 
 set(SRCS
   PronyFitter.cxx
+  CbmPsdContFact.cxx
+  CbmMcbm2018PsdPar.cxx
 )
 
 set(LINKDEF CbmPsdBaseLinkDef.h)
 Set(LIBRARY_NAME CbmPsdBase)
-Set(DEPENDENCIES)
+Set(DEPENDENCIES Base)
 
 GENERATE_LIBRARY()
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018PsdPar.cxx b/core/detectors/psd/CbmMcbm2018PsdPar.cxx
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018PsdPar.cxx
rename to core/detectors/psd/CbmMcbm2018PsdPar.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018PsdPar.h b/core/detectors/psd/CbmMcbm2018PsdPar.h
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018PsdPar.h
rename to core/detectors/psd/CbmMcbm2018PsdPar.h
diff --git a/core/detectors/psd/CbmPsdBaseLinkDef.h b/core/detectors/psd/CbmPsdBaseLinkDef.h
index c8c79f85ae..f422f17148 100644
--- a/core/detectors/psd/CbmPsdBaseLinkDef.h
+++ b/core/detectors/psd/CbmPsdBaseLinkDef.h
@@ -7,5 +7,7 @@
 #pragma link off all functions;
 
 #pragma link C++ class PsdSignalFitting::PronyFitter;
+#pragma link C++ class CbmPsdContFact + ;
+#pragma link C++ class CbmMcbm2018PsdPar + ;
 
 #endif
diff --git a/core/detectors/psd/CbmPsdContFact.cxx b/core/detectors/psd/CbmPsdContFact.cxx
new file mode 100644
index 0000000000..aba06d4e90
--- /dev/null
+++ b/core/detectors/psd/CbmPsdContFact.cxx
@@ -0,0 +1,58 @@
+/** CbmPsdContFact.h
+ *
+ * @author  F. Uhlig <f.uhlig@gsi.de>
+ * @version 1.0
+ * @since   25.01.21
+ *
+ *  Factory for the parameter containers of the RICH detector
+ *
+ */
+#include "CbmPsdContFact.h"
+
+#include "CbmMcbm2018PsdPar.h"  // for CbmMcbm2018PsdPar
+
+#include <FairContFact.h>   // for FairContainer
+#include <FairLogger.h>     // for LOG
+#include <FairRuntimeDb.h>  // for FairRuntimeDb
+
+#include <TList.h>    // for TList
+#include <TString.h>  // for TString
+
+#include <string.h>  // for strcmp
+
+ClassImp(CbmPsdContFact)
+
+  static CbmPsdContFact gCbmPsdContFact;
+
+CbmPsdContFact::CbmPsdContFact() {
+  // Constructor (called when the library is loaded)
+  fName  = "CbmPsdContFact";
+  fTitle = "Factory for parameter containers in libPsdBase";
+  setAllContainers();
+  FairRuntimeDb::instance()->addContFactory(this);
+}
+
+void CbmPsdContFact::setAllContainers() {
+  /** Creates the Container objects with all accepted contexts and adds them to
+   *  the list of containers for the PsdBase library.*/
+
+  FairContainer* beamPars = new FairContainer(
+    "CbmMcbm2018PsdPar", "Psd at MCBM 2018 Unpack Parameters", "Default");
+  beamPars->addContext("Default");
+  containers->Add(beamPars);
+}
+
+FairParSet* CbmPsdContFact::createContainer(FairContainer* c) {
+  /** Calls the constructor of the corresponding parameter container.
+   * For an actual context, which is not an empty string and not the default context
+   * of this container, the name is concatinated with the context. */
+  const char* name = c->GetName();
+  LOG(info) << " -I container name " << name;
+  FairParSet* p = 0;
+  if (strcmp(name, "CbmMcbm2018PsdPar") == 0) {
+    p = new CbmMcbm2018PsdPar(
+      c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  }
+
+  return p;
+}
diff --git a/core/detectors/psd/CbmPsdContFact.h b/core/detectors/psd/CbmPsdContFact.h
new file mode 100644
index 0000000000..b37622e0f0
--- /dev/null
+++ b/core/detectors/psd/CbmPsdContFact.h
@@ -0,0 +1,34 @@
+/** CbmPsdContFact.h
+ *
+ * @author  F. Uhlig <f.uhlig@gsi.de>
+ * @version 1.0
+ * @since   25.01.21
+ *
+ *  Factory for the parameter containers of the PSD detector
+ *
+ */
+
+#ifndef CBMPSDCONTFACT_H
+#define CBMPSDCONTFACT_H
+
+#include <Rtypes.h>  // for THashConsistencyHolder, ClassDef
+
+#include <FairContFact.h>  // for FairContFact
+
+class FairParIo;
+class FairParSet;
+class FairContainer;
+
+class CbmPsdContFact : public FairContFact {
+public:
+  CbmPsdContFact();
+  ~CbmPsdContFact() {}
+  FairParSet* createContainer(FairContainer*);
+
+private:
+  void setAllContainers();
+
+  ClassDef(CbmPsdContFact, 0)  // Factory for all Psd parameter containers
+};
+
+#endif /* !CBMPSDCONTFACT_H */
diff --git a/core/detectors/rich/CMakeLists.txt b/core/detectors/rich/CMakeLists.txt
index b4de7be51a..124f1fe996 100644
--- a/core/detectors/rich/CMakeLists.txt
+++ b/core/detectors/rich/CMakeLists.txt
@@ -28,6 +28,8 @@ link_directories(${LINK_DIRECTORIES})
 set(SRCS
   CbmRichPmt.cxx
   CbmRichEventDisplay.cxx
+  CbmRichContFact.cxx
+  CbmMcbm2018RichPar.cxx
 )
 
 set(NO_DICT_SRCS
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018RichPar.cxx b/core/detectors/rich/CbmMcbm2018RichPar.cxx
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018RichPar.cxx
rename to core/detectors/rich/CbmMcbm2018RichPar.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018RichPar.h b/core/detectors/rich/CbmMcbm2018RichPar.h
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018RichPar.h
rename to core/detectors/rich/CbmMcbm2018RichPar.h
diff --git a/core/detectors/rich/CbmRichBaseLinkDef.h b/core/detectors/rich/CbmRichBaseLinkDef.h
index 06efc46cf0..93a371a3e1 100644
--- a/core/detectors/rich/CbmRichBaseLinkDef.h
+++ b/core/detectors/rich/CbmRichBaseLinkDef.h
@@ -6,5 +6,7 @@
 
 #pragma link C++ class CbmRichPmt + ;
 #pragma link C++ class CbmRichEventDisplay;
+#pragma link C++ class CbmRichContFact + ;
+#pragma link C++ class CbmMcbm2018RichPar + ;
 
 #endif
diff --git a/core/detectors/rich/CbmRichContFact.cxx b/core/detectors/rich/CbmRichContFact.cxx
new file mode 100644
index 0000000000..6c48c0291d
--- /dev/null
+++ b/core/detectors/rich/CbmRichContFact.cxx
@@ -0,0 +1,58 @@
+/** CbmRichContFact.h
+ *
+ * @author  F. Uhlig <f.uhlig@gsi.de>
+ * @version 1.0
+ * @since   25.01.21
+ *
+ *  Factory for the parameter containers of the RICH detector
+ *
+ */
+#include "CbmRichContFact.h"
+
+#include "CbmMcbm2018RichPar.h"  // for CbmMcbm2018RichPar
+
+#include <FairContFact.h>   // for FairContainer
+#include <FairLogger.h>     // for LOG
+#include <FairRuntimeDb.h>  // for FairRuntimeDb
+
+#include <TList.h>    // for TList
+#include <TString.h>  // for TString
+
+#include <string.h>  // for strcmp
+
+ClassImp(CbmRichContFact)
+
+  static CbmRichContFact gCbmRichContFact;
+
+CbmRichContFact::CbmRichContFact() {
+  // Constructor (called when the library is loaded)
+  fName  = "CbmRichContFact";
+  fTitle = "Factory for parameter containers in libRichBase";
+  setAllContainers();
+  FairRuntimeDb::instance()->addContFactory(this);
+}
+
+void CbmRichContFact::setAllContainers() {
+  /** Creates the Container objects with all accepted contexts and adds them to
+   *  the list of containers for the RichBase library.*/
+
+  FairContainer* beamPars = new FairContainer(
+    "CbmMcbm2018RichPar", "Rich at MCBM 2018 Unpack Parameters", "Default");
+  beamPars->addContext("Default");
+  containers->Add(beamPars);
+}
+
+FairParSet* CbmRichContFact::createContainer(FairContainer* c) {
+  /** Calls the constructor of the corresponding parameter container.
+   * For an actual context, which is not an empty string and not the default context
+   * of this container, the name is concatinated with the context. */
+  const char* name = c->GetName();
+  LOG(info) << " -I container name " << name;
+  FairParSet* p = 0;
+  if (strcmp(name, "CbmMcbm2018RichPar") == 0) {
+    p = new CbmMcbm2018RichPar(
+      c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  }
+
+  return p;
+}
diff --git a/core/detectors/rich/CbmRichContFact.h b/core/detectors/rich/CbmRichContFact.h
new file mode 100644
index 0000000000..bdcdc2d32a
--- /dev/null
+++ b/core/detectors/rich/CbmRichContFact.h
@@ -0,0 +1,34 @@
+/** CbmRichContFact.h
+ *
+ * @author  F. Uhlig <f.uhlig@gsi.de>
+ * @version 1.0
+ * @since   25.01.21
+ *
+ *  Factory for the parameter containers of the RICH detector
+ *
+ */
+
+#ifndef CBMRICHCONTFACT_H
+#define CBMRICHCONTFACT_H
+
+#include <Rtypes.h>  // for THashConsistencyHolder, ClassDef
+
+#include <FairContFact.h>  // for FairContFact
+
+class FairParIo;
+class FairParSet;
+class FairContainer;
+
+class CbmRichContFact : public FairContFact {
+
+public:
+  CbmRichContFact();
+  ~CbmRichContFact() {}
+  FairParSet* createContainer(FairContainer*);
+
+private:
+  void setAllContainers();
+  ClassDef(CbmRichContFact, 0)  // Factory for all Rich parameter containers
+};
+
+#endif /* !CBMRICHCONTFACT_H */
diff --git a/core/detectors/sts/CMakeLists.txt b/core/detectors/sts/CMakeLists.txt
index acdea23319..9e70d4615d 100644
--- a/core/detectors/sts/CMakeLists.txt
+++ b/core/detectors/sts/CMakeLists.txt
@@ -20,6 +20,7 @@ CbmStsParSetModule.cxx
 CbmStsParSetSensor.cxx
 CbmStsParSetSensorCond.cxx
 CbmStsParSim.cxx
+CbmMcbm2018StsPar.cxx
 CbmStsPhysics.cxx
 CbmStsSensor.cxx
 CbmStsSetup.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.cxx b/core/detectors/sts/CbmMcbm2018StsPar.cxx
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018StsPar.cxx
rename to core/detectors/sts/CbmMcbm2018StsPar.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.h b/core/detectors/sts/CbmMcbm2018StsPar.h
similarity index 99%
rename from fles/mcbm2018/parameter/CbmMcbm2018StsPar.h
rename to core/detectors/sts/CbmMcbm2018StsPar.h
index 2378ec2eb9..e60cb7f783 100644
--- a/fles/mcbm2018/parameter/CbmMcbm2018StsPar.h
+++ b/core/detectors/sts/CbmMcbm2018StsPar.h
@@ -116,7 +116,7 @@ private:
     0x0014, 0x0009, 0x000D, 0x000F, 0x0008, 0x000A, 0x0002, 0x0004, 0x0006,
     0x000B, 0x0005, 0x0000, 0x0003, 0x0007, 0x0001,
   };  //! Map from eLink index to ASIC index within CROB ( 0 to kuNbFebsPerCrob * kuNbAsicPerFeb )
-      //   static constexpr UInt_t  kuCrobMapElinkFebB[ kuNbElinksPerCrob ] = {
+  //   static constexpr UInt_t  kuCrobMapElinkFebB[ kuNbElinksPerCrob ] = {
   const UInt_t
     kuCrobMapElinkFebB
       [kuNbElinksPerCrob] =
diff --git a/core/detectors/sts/CbmStsBaseLinkDef.h b/core/detectors/sts/CbmStsBaseLinkDef.h
index be239d25b6..5fd4a03d16 100644
--- a/core/detectors/sts/CbmStsBaseLinkDef.h
+++ b/core/detectors/sts/CbmStsBaseLinkDef.h
@@ -14,6 +14,7 @@
 #pragma link C++ class CbmStsParSetModule + ;
 #pragma link C++ class CbmStsParSetSensor + ;
 #pragma link C++ class CbmStsParSetSensorCond + ;
+#pragma link C++ class CbmMcbm2018StsPar + ;
 #pragma link C++ class CbmStsParSim + ;
 #pragma link C++ class CbmStsPhysics + ;
 #pragma link C++ class CbmStsSensor + ;
diff --git a/core/detectors/sts/CbmStsContFact.cxx b/core/detectors/sts/CbmStsContFact.cxx
index 18e57053b8..2ebd5688e2 100644
--- a/core/detectors/sts/CbmStsContFact.cxx
+++ b/core/detectors/sts/CbmStsContFact.cxx
@@ -4,6 +4,7 @@
  **/
 #include "CbmStsContFact.h"
 
+#include "CbmMcbm2018StsPar.h"       // for CbmMcbm2018StsPar
 #include "CbmStsParSetModule.h"      // for CbmStsParSetModule
 #include "CbmStsParSetSensor.h"      // for CbmStsParSetSensor
 #include "CbmStsParSetSensorCond.h"  // for CbmStsParSetSensorCond
@@ -63,7 +64,6 @@ FairParSet* CbmStsContFact::createContainer(FairContainer* container) {
     LOG(info) << "Done";
   }
 
-
   // --- Sensor conditions
   else if (strcmp(contName, "CbmStsParSetSensorCond") == 0) {
     parSet = new CbmStsParSetSensorCond(container->getConcatName().Data(),
@@ -71,6 +71,13 @@ FairParSet* CbmStsContFact::createContainer(FairContainer* container) {
                                         container->getContext());
   }
 
+  // --- Beamtime parameters
+  else if (strcmp(contName, "CbmMcbm2018StsPar") == 0) {
+    parSet = new CbmMcbm2018StsPar(container->getConcatName().Data(),
+                                   container->GetTitle(),
+                                   container->getContext());
+  }
+
   LOG(info) << GetName() << ": Create container " << contName
             << " with parameter set " << parSet->GetName();
   return parSet;
@@ -104,5 +111,11 @@ void CbmStsContFact::setAllContainers() {
     "CbmStsParSetSensorCond", "STS sensor conditions", "Default");
   sensorCond->addContext("Default");
   containers->Add(sensorCond);
+
+  // Beamtime parameters
+  FairContainer* beamPars = new FairContainer(
+    "CbmMcbm2018StsPar", "STS at MCBM 2018 Unpack Parameters", "Default");
+  beamPars->addContext("Default");
+  containers->Add(beamPars);
 }
 // --------------------------------------------------------------------------
diff --git a/core/detectors/tof/CMakeLists.txt b/core/detectors/tof/CMakeLists.txt
index 5cc2617cf5..913ecf876c 100644
--- a/core/detectors/tof/CMakeLists.txt
+++ b/core/detectors/tof/CMakeLists.txt
@@ -3,12 +3,13 @@ set(INCLUDE_DIRECTORIES
 
   ${CBMDATA_DIR}
   ${CBMDATA_DIR}/tof
+  ${CBMDATA_DIR}/raw
 )
 
 include_directories(${INCLUDE_DIRECTORIES})
 
 set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES} 
+  ${BASE_INCLUDE_DIRECTORIES}
 )
 
 include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
@@ -23,10 +24,11 @@ link_directories(${LINK_DIRECTORIES})
 
 set(SRCS
   CbmTofCell.cxx
-  CbmTofContFact.cxx 
+  CbmTofContFact.cxx
   CbmTofCreateDigiPar.cxx
-  CbmTofDigiBdfPar.cxx 
-  CbmTofDigiPar.cxx 
+  CbmTofDigiBdfPar.cxx
+  CbmTofDigiPar.cxx
+  CbmMcbm2018TofPar.cxx
   CbmTofGeoHandler.cxx
   TTrbHeader.cxx
 )
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018TofPar.cxx b/core/detectors/tof/CbmMcbm2018TofPar.cxx
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018TofPar.cxx
rename to core/detectors/tof/CbmMcbm2018TofPar.cxx
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018TofPar.h b/core/detectors/tof/CbmMcbm2018TofPar.h
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2018TofPar.h
rename to core/detectors/tof/CbmMcbm2018TofPar.h
diff --git a/core/detectors/tof/CbmTofBaseLinkDef.h b/core/detectors/tof/CbmTofBaseLinkDef.h
index 920054d41d..79ce336bd2 100644
--- a/core/detectors/tof/CbmTofBaseLinkDef.h
+++ b/core/detectors/tof/CbmTofBaseLinkDef.h
@@ -11,6 +11,7 @@
 #pragma link C++ class CbmTofCreateDigiPar + ;
 #pragma link C++ class CbmTofDigiBdfPar + ;
 #pragma link C++ class CbmTofDigiPar + ;
+#pragma link C++ class CbmMcbm2018TofPar + ;
 #pragma link C++ class CbmTofGeoHandler + ;
 
 #pragma link C++ class TTrbHeader + ;
diff --git a/core/detectors/tof/CbmTofContFact.cxx b/core/detectors/tof/CbmTofContFact.cxx
index 896e762f69..2dd7b1a1af 100644
--- a/core/detectors/tof/CbmTofContFact.cxx
+++ b/core/detectors/tof/CbmTofContFact.cxx
@@ -10,8 +10,9 @@
 /////////////////////////////////////////////////////////////
 #include "CbmTofContFact.h"
 
-#include "CbmTofDigiBdfPar.h"  // for CbmTofDigiBdfPar
-#include "CbmTofDigiPar.h"     // for CbmTofDigiPar
+#include "CbmMcbm2018TofPar.h"  // for CbmMcbm2018TofPar
+#include "CbmTofDigiBdfPar.h"   // for CbmTofDigiBdfPar
+#include "CbmTofDigiPar.h"      // for CbmTofDigiPar
 
 #include <FairContFact.h>   // for FairContainer
 #include <FairLogger.h>     // for LOG
@@ -50,6 +51,11 @@ void CbmTofContFact::setAllContainers() {
   p2->addContext("TestNonDefaultContext");
 
   containers->Add(p2);
+
+  FairContainer* beamPars = new FairContainer(
+    "CbmMcbm2018TofPar", "TOF at MCBM 2018 Unpack Parameters", "Default");
+  beamPars->addContext("Default");
+  containers->Add(beamPars);
 }
 
 FairParSet* CbmTofContFact::createContainer(FairContainer* c) {
@@ -62,10 +68,13 @@ FairParSet* CbmTofContFact::createContainer(FairContainer* c) {
   if (strcmp(name, "CbmTofDigiPar") == 0) {
     p = new CbmTofDigiPar(
       c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
-  if (strcmp(name, "CbmTofDigiBdfPar") == 0) {
+  } else if (strcmp(name, "CbmTofDigiBdfPar") == 0) {
     p = new CbmTofDigiBdfPar(
       c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  } else if (strcmp(name, "CbmMcbm2018TofPar") == 0) {
+    p = new CbmMcbm2018TofPar(
+      c->getConcatName().Data(), c->GetTitle(), c->getContext());
   }
+
   return p;
 }
diff --git a/core/detectors/tof/CbmTofContFact.h b/core/detectors/tof/CbmTofContFact.h
index 8cc35a77f9..1d8d08fdbe 100644
--- a/core/detectors/tof/CbmTofContFact.h
+++ b/core/detectors/tof/CbmTofContFact.h
@@ -9,15 +9,16 @@ class FairParSet;
 class FairContainer;
 
 class CbmTofContFact : public FairContFact {
-private:
-  void setAllContainers();
-  CbmTofContFact(const CbmTofContFact&);
-  CbmTofContFact& operator=(const CbmTofContFact&);
 
 public:
   CbmTofContFact();
   ~CbmTofContFact() {}
   FairParSet* createContainer(FairContainer*);
+
+private:
+  void setAllContainers();
+  CbmTofContFact(const CbmTofContFact&);
+  CbmTofContFact& operator=(const CbmTofContFact&);
   ClassDef(CbmTofContFact, 0)  // Factory for all TOF parameter containers
 };
 
diff --git a/core/detectors/trd/CMakeLists.txt b/core/detectors/trd/CMakeLists.txt
index 5c6a7ffe4b..871ab6f0b2 100644
--- a/core/detectors/trd/CMakeLists.txt
+++ b/core/detectors/trd/CMakeLists.txt
@@ -5,14 +5,14 @@
 Set(INCLUDE_DIRECTORIES
 ${CMAKE_CURRENT_SOURCE_DIR}
 ${CBMBASE_DIR}
-${CBMDATA_DIR} 
-${CBMDATA_DIR}/trd 
+${CBMDATA_DIR}
+${CBMDATA_DIR}/trd
 )
 
 Include_Directories( ${INCLUDE_DIRECTORIES})
 
 Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES} 
+  ${BASE_INCLUDE_DIRECTORIES}
   ${Boost_INCLUDE_DIR}
 )
 
@@ -23,46 +23,47 @@ ${ROOT_LIBRARY_DIR}
 ${FAIRROOT_LIBRARY_DIR}
 ${Boost_LIBRARY_DIRS}
 ${Vc_LIB_DIR}
-) 
+)
 
 link_directories( ${LINK_DIRECTORIES})
 
 set(SRCS
-CbmTrdGas.cxx 
-CbmTrdContFact.cxx 
-CbmTrdParManager.cxx 
-CbmTrdModuleAbstract.cxx 
-CbmTrdParSet.cxx 
-CbmTrdParSetAsic.cxx 
-CbmTrdParSetGas.cxx 
-CbmTrdParSetGain.cxx 
-CbmTrdParSetGeo.cxx 
-CbmTrdParSetDigi.cxx 
-CbmTrdParMod.cxx 
-CbmTrdParAsic.cxx 
-CbmTrdParSpadic.cxx 
-CbmTrdSPADIC.cxx 
-CbmTrdFASP.cxx 
-CbmTrdParFasp.cxx 
-CbmTrdParModDigi.cxx 
-CbmTrdParModGas.cxx 
-CbmTrdParModGain.cxx 
-CbmTrdParModGeo.cxx 
+CbmTrdGas.cxx
+CbmTrdContFact.cxx
+CbmTrdParManager.cxx
+CbmTrdModuleAbstract.cxx
+CbmMcbm2020TrdTshiftPar.cxx
+CbmTrdParSet.cxx
+CbmTrdParSetAsic.cxx
+CbmTrdParSetGas.cxx
+CbmTrdParSetGain.cxx
+CbmTrdParSetGeo.cxx
+CbmTrdParSetDigi.cxx
+CbmTrdParMod.cxx
+CbmTrdParAsic.cxx
+CbmTrdParSpadic.cxx
+CbmTrdSPADIC.cxx
+CbmTrdFASP.cxx
+CbmTrdParFasp.cxx
+CbmTrdParModDigi.cxx
+CbmTrdParModGas.cxx
+CbmTrdParModGain.cxx
+CbmTrdParModGeo.cxx
 #tools
 CbmTrdGeoHandler.cxx
 CbmTrdUtils.cxx
 CbmTrdHardwareSetupR.cxx
-CbmTrdRadiator.cxx 
+CbmTrdRadiator.cxx
 )
 
 IF (SSE_FOUND)
   ADD_DEFINITIONS(-DHAVE_SSE)
-  SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS 
+  SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
   "-msse -O3")
   Message(STATUS "TRD BASE will be compiled with SSE support")
 ELSE (SSE_FOUND)
   Message(STATUS "TRD BASE will be compiled without SSE support")
-  SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS 
+  SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS
   "-O3")
 ENDIF (SSE_FOUND)
 
diff --git a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx
similarity index 99%
rename from fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx
rename to core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx
index 9b0823cb4b..a21212e173 100644
--- a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.cxx
+++ b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx
@@ -7,7 +7,7 @@
  * Modified By: Pascal Raisig
  * -----
  * Purpose: This container is only to be used for Trd mCbm2020 data. It contains the
- * corrections for the observed timeshifts within the 2020 data. 
+ * corrections for the observed timeshifts within the 2020 data.
  * -----
  */
 
diff --git a/fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.h b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.h
similarity index 100%
rename from fles/mcbm2018/parameter/CbmMcbm2020TrdTshiftPar.h
rename to core/detectors/trd/CbmMcbm2020TrdTshiftPar.h
diff --git a/core/detectors/trd/CbmTrdBaseLinkDef.h b/core/detectors/trd/CbmTrdBaseLinkDef.h
index 31e51c77aa..6e8fa9a452 100644
--- a/core/detectors/trd/CbmTrdBaseLinkDef.h
+++ b/core/detectors/trd/CbmTrdBaseLinkDef.h
@@ -8,6 +8,7 @@
 
 #pragma link C++ class CbmTrdGas + ;
 #pragma link C++ class CbmTrdContFact + ;
+#pragma link C++ class CbmMcbm2020TrdTshiftPar +;
 #pragma link C++ class CbmTrdModuleAbstract + ;
 
 #pragma link C++ class CbmTrdParManager + ;
diff --git a/core/detectors/trd/CbmTrdContFact.cxx b/core/detectors/trd/CbmTrdContFact.cxx
index b11a076cc3..cd381d269b 100644
--- a/core/detectors/trd/CbmTrdContFact.cxx
+++ b/core/detectors/trd/CbmTrdContFact.cxx
@@ -10,11 +10,12 @@
 /////////////////////////////////////////////////////////////
 #include "CbmTrdContFact.h"
 
-#include "CbmTrdParSetAsic.h"  // for CbmTrdParSetAsic
-#include "CbmTrdParSetDigi.h"  // for CbmTrdParSetDigi
-#include "CbmTrdParSetGain.h"  // for CbmTrdParSetGain
-#include "CbmTrdParSetGas.h"   // for CbmTrdParSetGas
-#include "CbmTrdParSetGeo.h"   // for CbmTrdParSetGeo
+#include "CbmMcbm2020TrdTshiftPar.h"  // for CbmMcbm2020TrdTshiftPar
+#include "CbmTrdParSetAsic.h"         // for CbmTrdParSetAsic
+#include "CbmTrdParSetDigi.h"         // for CbmTrdParSetDigi
+#include "CbmTrdParSetGain.h"         // for CbmTrdParSetGain
+#include "CbmTrdParSetGas.h"          // for CbmTrdParSetGas
+#include "CbmTrdParSetGeo.h"          // for CbmTrdParSetGeo
 
 #include <FairContFact.h>   // for FairContainer
 #include <FairLogger.h>     // for Logger, LOG
@@ -68,6 +69,13 @@ void CbmTrdContFact::setAllContainers() {
     "CbmTrdParSetGeo", "Trd Geometry Parameters", "TestDefaultContext");
   par->addContext("TestNonDefaultContext");
   containers->Add(par);
+
+  FairContainer* pTrd =
+    new FairContainer("CbmMcbm2020TrdTshiftPar",
+                      "TRD timeshift unpacker parameters mCbm 2020",
+                      "Default");
+  pTrd->addContext("Default");
+  containers->Add(pTrd);
 }
 
 FairParSet* CbmTrdContFact::createContainer(FairContainer* c) {
@@ -93,5 +101,10 @@ FairParSet* CbmTrdContFact::createContainer(FairContainer* c) {
   else if (strcmp(name, "CbmTrdParSetGeo") == 0)
     p = new CbmTrdParSetGeo(
       c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  else if (strcmp(name, "CbmMcbm2020TrdTshiftPar") == 0) {
+    p = new CbmMcbm2020TrdTshiftPar(
+      c->getConcatName().Data(), c->GetTitle(), c->getContext());
+  }
+
   return p;
 }
diff --git a/fles/mcbm2018/CMakeLists.txt b/fles/mcbm2018/CMakeLists.txt
index 5a975a8e91..ae03e644e3 100644
--- a/fles/mcbm2018/CMakeLists.txt
+++ b/fles/mcbm2018/CMakeLists.txt
@@ -28,6 +28,10 @@ Set(INCLUDE_DIRECTORIES
 
   ${CBMDETECTORBASE_DIR}/trd # required for parameter handling of the trd
   ${CBMDETECTORBASE_DIR}/psd
+  ${CBMDETECTORBASE_DIR}/sts
+  ${CBMDETECTORBASE_DIR}/tof
+  ${CBMDETECTORBASE_DIR}/much
+  ${CBMDETECTORBASE_DIR}/rich
 )
 
 Set(SYSTEM_INCLUDE_DIRECTORIES
@@ -36,8 +40,6 @@ Set(SYSTEM_INCLUDE_DIRECTORIES
   ${ROOT_INCLUDE_DIR}
   ${IPC_INCLUDE_DIRECTORY}
   ${CBMROOT_SOURCE_DIR}/external/flib_dpb/flib_dpb
-  ${CBMDATA_DIR}
-  ${CBMDATA_DIR}/tof
   ${CMAKE_SOURCE_DIR}/external/cppzmq
 )
 
@@ -61,14 +63,8 @@ Set(SRCS
    CbmMcbm2018Source.cxx
    CbmMcbm2018MsCrcCheck.cxx
 
-   parameter/CbmMcbm2018StsPar.cxx
-   parameter/CbmMcbm2018MuchPar.cxx
-   parameter/CbmMcbm2018TofPar.cxx
-   parameter/CbmMcbm2018RichPar.cxx
    parameter/CbmMcbm2018HodoPar.cxx
    parameter/CbmMcbm2018ContFact.cxx
-   parameter/CbmMcbm2018PsdPar.cxx
-   parameter/CbmMcbm2020TrdTshiftPar.cxx
 
    unpacker/CbmMcbm2018RawConverterSdpb.cxx
    unpacker/CbmMcbm2018RawConverterGdpb.cxx
@@ -143,7 +139,9 @@ EndIf()
 Set(LINKDEF CbmFlibMcbm2018LinkDef.h )
 Set(LIBRARY_NAME CbmFlibMcbm2018)
 Set(DEPENDENCIES
-    CbmFlibFlesTools CbmData CbmBase fles_ipc Eve Base CbmTrdBase CbmPsdBase
+    CbmFlibFlesTools CbmStsBase CbmTofBase
+    CbmRichBase CbmMuchBase CbmTrdBase CbmPsdBase
+    CbmData CbmBase fles_ipc Eve Base
 )
 
 GENERATE_LIBRARY()
diff --git a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h
index f4570ee2e4..2c9a2771bf 100644
--- a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h
+++ b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h
@@ -8,14 +8,8 @@
 #pragma link C++ class CbmMcbm2018Source;
 #pragma link C++ class CbmMcbm2018MsCrcCheck;
 
-#pragma link C++ class CbmMcbm2018StsPar;
-#pragma link C++ class CbmMcbm2018MuchPar;
-#pragma link C++ class CbmMcbm2018TofPar;
-#pragma link C++ class CbmMcbm2018RichPar;
 #pragma link C++ class CbmMcbm2018HodoPar;
 #pragma link C++ class CbmMcbm2018ContFact;
-#pragma link C++ class CbmMcbm2018PsdPar;
-#pragma link C++ class CbmMcbm2020TrdTshiftPar + ;
 
 #pragma link C++ class CbmMcbm2018RawConverterSdpb;
 #pragma link C++ class CbmMcbm2018RawConverterGdpb;
diff --git a/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx b/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx
index 0748affe15..88964fb14a 100644
--- a/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx
+++ b/fles/mcbm2018/parameter/CbmMcbm2018ContFact.cxx
@@ -9,12 +9,6 @@
 #include "CbmMcbm2018ContFact.h"
 
 #include "CbmMcbm2018HodoPar.h"
-#include "CbmMcbm2018MuchPar.h"
-#include "CbmMcbm2018PsdPar.h"
-#include "CbmMcbm2018RichPar.h"
-#include "CbmMcbm2018StsPar.h"
-#include "CbmMcbm2018TofPar.h"
-#include "CbmMcbm2020TrdTshiftPar.h"
 
 #include "FairRuntimeDb.h"
 
@@ -34,33 +28,6 @@ void CbmMcbm2018ContFact::setAllContainers() {
   /** Creates the Container objects with all accepted contexts and adds them to
    *  the list of containers for the fles test library.*/
 
-  FairContainer* pSts = new FairContainer("CbmMcbm2018StsPar",
-                                          "STS at MCBM 2018 Unpack Parameters",
-                                          "TestDefaultContext");
-  pSts->addContext("TestNonDefaultContext");
-  containers->Add(pSts);
-
-  FairContainer* pMuch =
-    new FairContainer("CbmMcbm2018MuchPar",
-                      "MUCH at MCBM 2018 Unpack Parameters",
-                      "TestDefaultContext");
-  pMuch->addContext("TestNonDefaultContext");
-  containers->Add(pMuch);
-
-
-  FairContainer* pTof = new FairContainer("CbmMcbm2018TofPar",
-                                          "TOF at MCBM 2018 Unpack Parameters",
-                                          "TestDefaultContext");
-  pTof->addContext("TestNonDefaultContext");
-  containers->Add(pTof);
-
-  FairContainer* pRich =
-    new FairContainer("CbmMcbm2018RichPar",
-                      "RICH at MCBM 2018 Unpack Parameters",
-                      "TestDefaultContext");
-  pRich->addContext("TestNonDefaultContext");
-  containers->Add(pRich);
-
   FairContainer* pHodo =
     new FairContainer("CbmMcbm2018HodoPar",
                       "HODO at MCBM 2018 Unpack Parameters",
@@ -68,18 +35,6 @@ void CbmMcbm2018ContFact::setAllContainers() {
   pHodo->addContext("TestNonDefaultContext");
   containers->Add(pHodo);
 
-  FairContainer* pPsd = new FairContainer("CbmMcbm2018PsdPar",
-                                          "PSD at MCBM 2018 Unpack Parameters",
-                                          "TestDefaultContext");
-  pPsd->addContext("TestNonDefaultContext");
-  containers->Add(pPsd);
-
-  FairContainer* pTrd =
-    new FairContainer("CbmMcbm2020TrdTshiftPar",
-                      "TRD timeshift unpacker parameters mCbm 2020",
-                      "Trd mCbm 2020 timeshift correction");
-  pTrd->addContext("TestDefaultContext");
-  containers->Add(pTrd);
 }
 
 FairParSet* CbmMcbm2018ContFact::createContainer(FairContainer* c) {
@@ -89,34 +44,10 @@ FairParSet* CbmMcbm2018ContFact::createContainer(FairContainer* c) {
   const char* name = c->GetName();
   FairParSet* p    = 0;
 
-  if (strcmp(name, "CbmMcbm2018StsPar") == 0) {
-    p = new CbmMcbm2018StsPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
-  if (strcmp(name, "CbmMcbm2018MuchPar") == 0) {
-    p = new CbmMcbm2018MuchPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
-  if (strcmp(name, "CbmMcbm2018TofPar") == 0) {
-    p = new CbmMcbm2018TofPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
-  if (strcmp(name, "CbmMcbm2018RichPar") == 0) {
-    p = new CbmMcbm2018RichPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
   if (strcmp(name, "CbmMcbm2018HodoPar") == 0) {
     p = new CbmMcbm2018HodoPar(
       c->getConcatName().Data(), c->GetTitle(), c->getContext());
   }
-  if (strcmp(name, "CbmMcbm2018PsdPar") == 0) {
-    p = new CbmMcbm2018PsdPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
-  if (strcmp(name, "CbmMcbm2020TrdTshiftPar") == 0) {
-    p = new CbmMcbm2020TrdTshiftPar(
-      c->getConcatName().Data(), c->GetTitle(), c->getContext());
-  }
 
   return p;
 }
-- 
GitLab