diff --git a/core/detectors/trd/CbmTrdParManager.cxx b/core/detectors/trd/CbmTrdParManager.cxx
index 0bd84c6077cee706f0bd65beda5ec08167ef57c6..1c20462735daabd220d3e869573e8e233ff18563 100644
--- a/core/detectors/trd/CbmTrdParManager.cxx
+++ b/core/detectors/trd/CbmTrdParManager.cxx
@@ -127,16 +127,17 @@ InitStatus CbmTrdParManager::Init()
       }
     }
   }
-
+  Finish();
   return kSUCCESS;
 }
 
 void CbmTrdParManager::Finish()
 {
+  printf("CbmTrdParManager::Finish()\n");
   FairRuntimeDb* rtdb = FairRunAna::Instance()->GetRuntimeDb();
-  //   fDigiPar = (CbmTrdParSetDigi*) (rtdb->getContainer("CbmTrdParSetDigi"));
-  //   fDigiPar->print();
-  fAsicPar = (CbmTrdParSetAsic*) (rtdb->getContainer("CbmTrdParSetAsic"));
+  fDigiPar            = (CbmTrdParSetDigi*) (rtdb->getContainer("CbmTrdParSetDigi"));
+  fAsicPar            = (CbmTrdParSetAsic*) (rtdb->getContainer("CbmTrdParSetAsic"));
+  fDigiPar->Print();
   fAsicPar->Print();
 }
 
@@ -303,8 +304,7 @@ void CbmTrdParManager::CreateModuleParameters(const TString& path)
       asics->SetAsicPar(asic);
     }
   }
-
-
+  asics->SetModuleId(moduleAddress);
   asics->Print();
   fAsicPar->addParam(asics);
 
diff --git a/core/detectors/trd/CbmTrdParSet.cxx b/core/detectors/trd/CbmTrdParSet.cxx
index 0b353d42e5fa13e53b10e82a179b7b871bb8e0c0..910bce569c3a43b611b5b69aff06a210e555b3c5 100644
--- a/core/detectors/trd/CbmTrdParSet.cxx
+++ b/core/detectors/trd/CbmTrdParSet.cxx
@@ -83,4 +83,14 @@ void CbmTrdParSet::addParam(CbmTrdParMod* mod)
   fNrOfModules++;
 }
 
+//_______________________________________________________________________________
+void CbmTrdParSet::Print(Option_t* opt) const
+{
+  printf(" %s Modules[%d]\n", GetName(), fNrOfModules);
+  for (auto imod : fModuleMap) {
+    printf("  %d %s(%s)\n", imod.first, imod.second->GetName(), imod.second->GetTitle());
+    imod.second->Print(opt);
+  }
+}
+
 ClassImp(CbmTrdParSet)
diff --git a/core/detectors/trd/CbmTrdParSet.h b/core/detectors/trd/CbmTrdParSet.h
index e57ac3954acde15a04f916065f1c85a6d78cad7a..095a4e5e4ed920f13d221818310482528552d511 100644
--- a/core/detectors/trd/CbmTrdParSet.h
+++ b/core/detectors/trd/CbmTrdParSet.h
@@ -40,8 +40,9 @@ public:
   virtual void addParam(CbmTrdParMod* mod);
   virtual Bool_t getParams(FairParamList*);
   virtual void putParams(FairParamList*);
+  virtual void Print(Option_t* opt = "") const;
 
-protected:
+ protected:
   Int_t fNrOfModules;  ///< no of modules in the current run
   /** Map of parameters for each TRD Module organized as function of Module unique Id **/
   std::map<Int_t, CbmTrdParMod*> fModuleMap;
diff --git a/core/detectors/trd/CbmTrdParSetAsic.cxx b/core/detectors/trd/CbmTrdParSetAsic.cxx
index fc328b4145adba20221631848469e9e5670967ce..d8afe850273d123eca20421e0ff0c88a3216da44 100644
--- a/core/detectors/trd/CbmTrdParSetAsic.cxx
+++ b/core/detectors/trd/CbmTrdParSetAsic.cxx
@@ -207,15 +207,4 @@ void CbmTrdParSetAsic::putParams(FairParamList* l)
   }
 }
 
-//_______________________________________________________________________________
-void CbmTrdParSetAsic::Print(Option_t* opt) const
-{
-  printf(" %s Modules[%d]\n", GetName(), fNrOfModules);
-  for (auto imod : fModuleMap) {
-
-    printf("  %d %s(%s)\n", imod.first, imod.second->GetName(), imod.second->GetTitle());
-    imod.second->Print(opt);
-  }
-}
-
 ClassImp(CbmTrdParSetAsic)
diff --git a/core/detectors/trd/CbmTrdParSetAsic.h b/core/detectors/trd/CbmTrdParSetAsic.h
index ca6d12e760c50feba3bf111313eeb108e297bc6d..46993c932ec04879dcb4bb8f60e6ca5dfb65daff 100644
--- a/core/detectors/trd/CbmTrdParSetAsic.h
+++ b/core/detectors/trd/CbmTrdParSetAsic.h
@@ -53,9 +53,6 @@ public:
    * \param module ASICs par (FASP or SPADIC)
    */
   void putParams(FairParamList*);
-
-  virtual void Print(Option_t* opt = "") const;
-
 private:
   CbmTrdParSetAsic(const CbmTrdParSetAsic& ref);
   const CbmTrdParSetAsic& operator=(const CbmTrdParSetAsic& ref);