diff --git a/reco/detectors/much/CbmMuchFindHitsGem.cxx b/reco/detectors/much/CbmMuchFindHitsGem.cxx
index 11f037d33cb437e4b077938eecfa045785f262dc..05233b153fc79b44b9d4307b63b155316cde6f1e 100644
--- a/reco/detectors/much/CbmMuchFindHitsGem.cxx
+++ b/reco/detectors/much/CbmMuchFindHitsGem.cxx
@@ -275,7 +275,7 @@ void CbmMuchFindHitsGem::ProcessData(CbmEvent* event)
         break;
       }
       default: {
-        Fatal("CbmMuchFindHitsGem::Exec:", "The algorithm index does not exist.");
+        LOG(fatal) << GetName() << "::Exec: The algorithm index does not exist.";
         break;
       }
     }
diff --git a/reco/detectors/much/CbmMuchFindTracks.cxx b/reco/detectors/much/CbmMuchFindTracks.cxx
index fa293acadf81da70f1fb36a1ce71d7b5b2736b86..0dd35555afc41deef84468b1a0af71a462dfbb1f 100644
--- a/reco/detectors/much/CbmMuchFindTracks.cxx
+++ b/reco/detectors/much/CbmMuchFindTracks.cxx
@@ -36,11 +36,11 @@ CbmMuchFindTracks::~CbmMuchFindTracks() { fTrackArray->Delete(); }
 InitStatus CbmMuchFindTracks::Init()
 {
   // Check for Track finder
-  if (fFinder == NULL) Fatal("CbmMuchFindTracks::Init", "No track finder selected!");
+  if (fFinder == NULL) LOG(fatal) << GetName() << "::Init: No track finder selected!";
 
   // Get and check FairRootManager
   FairRootManager* ioman = FairRootManager::Instance();
-  if (ioman == NULL) Fatal("CbmMuchFindTracks::Init", "RootManager not instantised!");
+  if (ioman == NULL) LOG(fatal) << GetName() << "::Init: RootManager not instantised!";
 
   // Create and register MuchTrack array
   fTrackArray = new TClonesArray("CbmMuchTrack", 100);
diff --git a/reco/detectors/much/CbmMuchMatchTracks.cxx b/reco/detectors/much/CbmMuchMatchTracks.cxx
index cdfe2c47a231710e80b513b93247889c9b652801..cce530ea136614a9d7d1f753a90a6bbe7071c706 100644
--- a/reco/detectors/much/CbmMuchMatchTracks.cxx
+++ b/reco/detectors/much/CbmMuchMatchTracks.cxx
@@ -38,19 +38,19 @@ CbmMuchMatchTracks::~CbmMuchMatchTracks() {}
 InitStatus CbmMuchMatchTracks::Init()
 {
   FairRootManager* ioman = FairRootManager::Instance();
-  if (ioman == NULL) Fatal("CbmMuchMatchTracks::Init", "RootManager not instantised!");
+  if (ioman == NULL) LOG(fatal) << GetName() << "::Init: RootManager not instantised!";
 
   fPixelHits = (TClonesArray*) ioman->GetObject("MuchPixelHit");
-  if (fPixelHits == NULL) Fatal("CbmMuchMatchTracks::Init", "No MuchPixelHit array!");
+  if (fPixelHits == NULL) LOG(fatal) << GetName() << "::Init: No MuchPixelHit array!";
 
   fTracks = (TClonesArray*) ioman->GetObject("MuchTrack");
-  if (fTracks == NULL) Fatal("CbmMuchMatchTracks::Init", "No MuchTrack array!");
+  if (fTracks == NULL) LOG(fatal) << GetName() << "::Init: No MuchTrack array!";
 
   fPoints = (TClonesArray*) ioman->GetObject("MuchPoint");
-  if (fPoints == NULL) Fatal("CbmMuchMatchTracks::Init", "No MuchPoint array!");
+  if (fPoints == NULL) LOG(fatal) << GetName() << "::Init: No MuchPoint array!";
 
   fPixelDigiMatches = (TClonesArray*) ioman->GetObject("MuchDigiMatch");
-  if (fPixelDigiMatches == NULL) Fatal("CbmMuchMatchTracks::Init", "No MuchDigiMatch array!");
+  if (fPixelDigiMatches == NULL) LOG(fatal) << GetName() << "::Init: No MuchDigiMatch array!";
 
   fClusters = (TClonesArray*) ioman->GetObject("MuchCluster");
   if (fClusters == NULL)
@@ -82,7 +82,7 @@ void CbmMuchMatchTracks::Exec(Option_t*)
         ExecPixel(matchMap, pTrack->GetHitIndex(iHit));
       }
       else {
-        TObject::Fatal("CbmMuchMatchTracks::Exec", "Hit type not supported!");
+        LOG(fatal) << GetName() << ": Hit type not supported!";
       }
     }  // Loop over hits
 
diff --git a/reco/detectors/much/CbmMuchTrackFinderIdeal.cxx b/reco/detectors/much/CbmMuchTrackFinderIdeal.cxx
index 21d66d8cf8a163e0b565f6e3457c24274b46d6cd..71f91b0c92a88fe0d4ef14a72208c88a663d523a 100644
--- a/reco/detectors/much/CbmMuchTrackFinderIdeal.cxx
+++ b/reco/detectors/much/CbmMuchTrackFinderIdeal.cxx
@@ -41,19 +41,19 @@ CbmMuchTrackFinderIdeal::~CbmMuchTrackFinderIdeal() {}
 void CbmMuchTrackFinderIdeal::Init()
 {
   FairRootManager* ioman = FairRootManager::Instance();
-  if (ioman == NULL) Fatal("CbmMuchTrackFinderIdeal::Init", "No FairRootManager!");
+  if (ioman == NULL) LOG(fatal) << GetName() << "::Init: No FairRootManager!";
 
   fMCTracks = (TClonesArray*) ioman->GetObject("MCTrack");
-  if (fMCTracks == NULL) Fatal("CbmMuchTrackFinderIdeal::Init", "No MCTrack array!");
+  if (fMCTracks == NULL) LOG(fatal) << GetName() << "::Init: No MCTrack array!";
 
   fMCPoints = (TClonesArray*) ioman->GetObject("MuchPoint");
-  if (fMCPoints == NULL) Fatal("CbmMuchTrackFinderIdeal::Init", "No MuchPoint array!");
+  if (fMCPoints == NULL) LOG(fatal) << GetName() << "::Init: No MuchPoint array!";
 
   fPixelHits = (TClonesArray*) ioman->GetObject("MuchPixelHit");
-  if (fPixelHits == NULL) Fatal("CbmMuchTrackFinderIdeal::Init", "No MuchPixelHit array!");
+  if (fPixelHits == NULL) LOG(fatal) << GetName() << "::Init: No MuchPixelHit array!";
 
   fPixelDigiMatches = (TClonesArray*) ioman->GetObject("MuchDigiMatch");
-  if (fPixelDigiMatches == NULL) Fatal("CbmMuchTrackFinderIdeal::Init", "No MuchDigiMatch array!");
+  if (fPixelDigiMatches == NULL) LOG(fatal) << GetName() << "::Init: No MuchDigiMatch array!";
 
   fClusters = (TClonesArray*) ioman->GetObject("MuchCluster");
   if (fClusters == NULL)
diff --git a/reco/detectors/mvd/CbmMvdHitfinder.cxx b/reco/detectors/mvd/CbmMvdHitfinder.cxx
index 272450191ddfad1580f5cc3788c67914ab74784a..53debed01188ad1307a4a6fa6e62483c31b90c26 100644
--- a/reco/detectors/mvd/CbmMvdHitfinder.cxx
+++ b/reco/detectors/mvd/CbmMvdHitfinder.cxx
@@ -110,8 +110,7 @@ void CbmMvdHitfinder::Exec(Option_t* /*opt*/)
   if (fDigiMan->IsPresent(ECbmModuleId::kMvd) || fInputCluster) {  //checks if data sources are available
     if (fVerbose) LOG(debug) << "//----------------------------------------//";
     if (!fUseClusterfinder) {
-      Fatal("CbmMvdHitFinder - Mode without cluster finder is currently not supported ",
-            "CbmMvdHitFinder - Mode without cluster finder is currently not supported ");
+      LOG(fatal) << GetName() << "- Mode without cluster finder is currently not supported ";
     }
   }
 
@@ -214,8 +213,7 @@ InitStatus CbmMvdHitfinder::Init()
 
   // **********  Get input arrays
   if (!fUseClusterfinder) {
-    Fatal("CbmMvdHitFinder - Mode without cluster finder is currently not supported ",
-          "CbmMvdHitFinder - Mode without cluster finder is currently not supported ");
+    LOG(fatal) << GetName() << " - Mode without cluster finder is currently not supported ";
     fDigiMan = CbmDigiManager::Instance();
     fDigiMan->Init();
     if (!fDigiMan->IsPresent(ECbmModuleId::kMvd)) {
diff --git a/reco/detectors/psd/CbmPsdMCbmHitProducer.cxx b/reco/detectors/psd/CbmPsdMCbmHitProducer.cxx
index 951b087beb886745526f65d153e38894e17cf528..08fd861b38ce9f7ab6dca75fd0ec94878399a113 100644
--- a/reco/detectors/psd/CbmPsdMCbmHitProducer.cxx
+++ b/reco/detectors/psd/CbmPsdMCbmHitProducer.cxx
@@ -48,7 +48,7 @@ InitStatus CbmPsdMCbmHitProducer::Init()
 
   fDigiMan = CbmDigiManager::Instance();
   fDigiMan->Init();
-  if (!fDigiMan->IsPresent(ECbmModuleId::kPsd)) Fatal("CbmPsdMCbmHitProducer::Init", "No PsdDigi array!");
+  if (!fDigiMan->IsPresent(ECbmModuleId::kPsd)) LOG(fatal) << GetName() << "::Init: No PsdDigi array!";
 
   fPsdHits = new TClonesArray("CbmPsdMCbmHit");  //TODO
   manager->Register("PsdHit", "PSD", fPsdHits, IsOutputBranchPersistent("PsdHit"));
diff --git a/reco/detectors/rich/CbmRichMatchRings.cxx b/reco/detectors/rich/CbmRichMatchRings.cxx
index 34659079623628a87346c4eb9ae42b0cb3ebea8f..d5b8d543d69553d270e470224a46ff80a8248a5d 100644
--- a/reco/detectors/rich/CbmRichMatchRings.cxx
+++ b/reco/detectors/rich/CbmRichMatchRings.cxx
@@ -47,27 +47,27 @@ InitStatus CbmRichMatchRings::Init()
 {
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("CbmRichMatchRings::Init", "RootManager not instantiated!");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantiated!";
   }
 
   fHits = (TClonesArray*) ioman->GetObject("RichHit");
   if (NULL == fHits) {
-    Fatal("CbmRichMatchRings::Init", "No RichHit array!");
+    LOG(fatal) << GetName() << "::Init: No RichHit array!";
   }
 
   fRings = (TClonesArray*) ioman->GetObject("RichRing");
   if (NULL == fRings) {
-    Fatal("CbmRichMatchRings::Init", "No RichRing array!");
+    LOG(fatal) << GetName() << "::Init: No RichRing array!";
   }
 
   fPoints = (TClonesArray*) ioman->GetObject("RichPoint");
   if (NULL == fPoints) {
-    Fatal("CbmRichMatchRings::Init", "No RichPoint array!");
+    LOG(fatal) << GetName() << "::Init: No RichPoint array!";
   }
 
   fTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fTracks) {
-    Fatal("CbmRichMatchRings::Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array!";
   }
 
   // Create and register RichRingMatch array
diff --git a/reco/detectors/rich/CbmRichTrainAnnElectrons.cxx b/reco/detectors/rich/CbmRichTrainAnnElectrons.cxx
index 8a6ebfdc966bbb4a4071f88779702ba2084a8370..75351e5b9433243faf6a668c37585040f5faf9c6 100644
--- a/reco/detectors/rich/CbmRichTrainAnnElectrons.cxx
+++ b/reco/detectors/rich/CbmRichTrainAnnElectrons.cxx
@@ -134,7 +134,7 @@ CbmRichTrainAnnElectrons::CbmRichTrainAnnElectrons()
                                 -2., 2., 50, 0., 6.3);
     fHists.push_back(fhPhiVsRadAng[i]);
     // ANN outputs
-    fhAnnOutput[i] = new TH1D(string("fhAnnOutput" + ss).c_str(), "ANN output;ANN output;Counter", 100, -1.2, 1.2);
+    fhAnnOutput[i] = new TH1D(string("fhAnnOutput" + ss).c_str(), "ANN output;ANN output;Counte©r", 100, -1.2, 1.2);
     fHists.push_back(fhAnnOutput[i]);
     fhCumProb[i] =
       new TH1D(string("fhCumProb" + ss).c_str(), "ANN output;ANN output;Cumulative probability", 100, -1.2, 1.2);
@@ -150,46 +150,46 @@ InitStatus CbmRichTrainAnnElectrons::Init()
 
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "RootManager not instantised!");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantised!";
   }
 
   //fRichHits = (TClonesArray*) ioman->GetObject("RichHit");
-  //if ( NULL == fRichHits) { Fatal("CbmRichTrainAnnElectrons::Init","No RichHit array!");}
+  //if ( NULL == fRichHits) {  LOG(fatal) << GetName() << "::Init: No RichHit array!";}
 
   fRichRings = (TClonesArray*) ioman->GetObject("RichRing");
   if (NULL == fRichRings) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No RichRing array!");
+    LOG(fatal) << GetName() << "::Init: No RichRing array!";
   }
 
   //fRichPoints = (TClonesArray*) ioman->GetObject("RichPoint");
-  //if ( NULL == fRichPoints) { Fatal("CbmRichTrainAnnElectrons::Init","No RichPoint array!");}
+  //if ( NULL == fRichPoints) {  LOG(fatal) << GetName() << "::Init: No RichPoint array!";}
 
   fMCTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fMCTracks) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array!";
   }
 
   fRichRingMatches = (TClonesArray*) ioman->GetObject("RichRingMatch");
   if (NULL == fRichRingMatches) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No RichRingMatch array!");
+    LOG(fatal) << GetName() << "::Init: No RichRingMatch array!";
   }
 
   // fRichProj = (TClonesArray*) ioman->GetObject("RichProjection");
-  // if ( NULL == fRichProj) { Fatal("CbmRichTrainAnnElectrons::Init","No RichProjection array!");}
+  // if ( NULL == fRichProj) {  LOG(fatal) << GetName() << "::Init: No RichProjection array!";}
 
   fStsTrackMatches = (TClonesArray*) ioman->GetObject("StsTrackMatch");
   if (NULL == fStsTrackMatches) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No track match array!");
+    LOG(fatal) << GetName() << "::Init: No track match array!";
   }
 
   fGlobalTracks = (TClonesArray*) ioman->GetObject("GlobalTrack");
   if (NULL == fGlobalTracks) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No global track array!");
+    LOG(fatal) << GetName() << "::Init: No global track array!";
   }
 
   fStsTracks = (TClonesArray*) ioman->GetObject("StsTrack");
   if (NULL == fStsTracks) {
-    Fatal("CbmRichTrainAnnElectrons::Init", "No  STSTrack array!");
+    LOG(fatal) << GetName() << "::Init: No  STSTrack array!";
   }
 
   return kSUCCESS;
diff --git a/reco/detectors/rich/CbmRichTrainAnnSelect.cxx b/reco/detectors/rich/CbmRichTrainAnnSelect.cxx
index 2500ea437ad02f99637fb798af3a3610f476de29..8b61c0bf7364c7b6738da3253a5d0e1a947fd3e8 100644
--- a/reco/detectors/rich/CbmRichTrainAnnSelect.cxx
+++ b/reco/detectors/rich/CbmRichTrainAnnSelect.cxx
@@ -118,22 +118,22 @@ InitStatus CbmRichTrainAnnSelect::Init()
   cout << "InitStatus CbmRichTrainAnnSelect::Init()" << endl;
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("CbmRichRingQa::Init", "CbmRootManager is not instantiated");
+    LOG(fatal) << GetName() << "::Init: CbmRootManager is not instantiated";
   }
 
   fRichRings = (TClonesArray*) ioman->GetObject("RichRing");
   if (NULL == fRichRings) {
-    Fatal("CbmRichTrainAnnSelect::Init", "No RichRing array!");
+    LOG(fatal) << GetName() << "::Init: No RichRing array!";
   }
 
   fMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fMcTracks) {
-    Fatal("CbmRichTrainAnnSelect::Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array!";
   }
 
   fRichRingMatches = (TClonesArray*) ioman->GetObject("RichRingMatch");
   if (NULL == fRichRingMatches) {
-    Fatal("CbmRichTrainAnnSelect::Init", "No RichRingMatch array!");
+    LOG(fatal) << GetName() << "::Init: No RichRingMatch array!";
   }
 
   fFitCOP     = new CbmRichRingFitterCOP();
diff --git a/reco/detectors/rich/qa/CbmRichGeoOpt.cxx b/reco/detectors/rich/qa/CbmRichGeoOpt.cxx
index c9350e0392a2954d13f5a840324c6f7709c219b3..ad896b76ab904636ab8c3dde956059a331454fe8 100644
--- a/reco/detectors/rich/qa/CbmRichGeoOpt.cxx
+++ b/reco/detectors/rich/qa/CbmRichGeoOpt.cxx
@@ -177,38 +177,38 @@ InitStatus CbmRichGeoOpt::Init()
   cout << "CbmRichGeoOpt::Init" << endl;
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("CbmRichGeoOpt::Init", "RootManager not instantised!");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantised!";
   }
 
   fRichPoints = (TClonesArray*) ioman->GetObject("RichPoint");
   if (NULL == fRichPoints) {
-    Fatal("CbmRichGeoOpt::Init", "No RichPoint array!");
+    LOG(fatal) << GetName() << "::Init: No RichPoint array!";
   }
 
   fRefPoints = (TClonesArray*) ioman->GetObject("RefPlanePoint");
   if (NULL == fRefPoints) {
-    Fatal("CbmRichGeoOpt::Init", "No fRefPoints array!");
+    LOG(fatal) << GetName() << "::Init: No RefPlanePoint array!";
   }
 
   fMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fMcTracks) {
-    Fatal("CbmRichGeoOpt::Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array!";
   }
 
   fRichHits = (TClonesArray*) ioman->GetObject("RichHit");
   if (NULL == fRichHits) {
-    Fatal("CbmRichGeoTest::Init", "No RichHit array!");
+    LOG(fatal) << GetName() << "::Init: No RichHit array!";
   }
 
   ///////////////////////////////////////////
   fRichRings = (TClonesArray*) ioman->GetObject("RichRing");
   if (NULL == fRichRings) {
-    Fatal("CbmRichGeoTest::Init", "No RichRing array!");
+    LOG(fatal) << GetName() << "::Init: No RichRing array!";
   }
 
   fRichRingMatches = (TClonesArray*) ioman->GetObject("RichRingMatch");
   if (NULL == fRichRingMatches) {
-    Fatal("CbmRichGeoTest::Init", "No RichRingMatch array!");
+    LOG(fatal) << GetName() << "::Init: No RichRingMatch array!";
   }
 
   /////////////// need three points on the PMT plane to determine its equation
diff --git a/reco/detectors/rich/qa/CbmRichRecoTbQa.cxx b/reco/detectors/rich/qa/CbmRichRecoTbQa.cxx
index 2de1eb03d0d0a98bd6601cef4c49358b7347892b..3adbfc3b67b85d123a3683612074a61faaefbea9 100644
--- a/reco/detectors/rich/qa/CbmRichRecoTbQa.cxx
+++ b/reco/detectors/rich/qa/CbmRichRecoTbQa.cxx
@@ -73,11 +73,13 @@ InitStatus CbmRichRecoTbQa::Init()
   cout << "CbmRichRecoTbQa::Init" << endl;
   FairRootManager* ioman = FairRootManager::Instance();
   if (nullptr == ioman) {
-    Fatal("CbmRichRecoTbQa::Init", "RootManager not instantised!");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantised!";
   }
 
   CbmMCDataManager* mcManager = (CbmMCDataManager*) ioman->GetObject("MCDataManager");
-  if (mcManager == nullptr) LOG(fatal) << "CbmRichRecoTbQa::ReadAndCreateDataBranches() NULL MCDataManager.";
+  if (mcManager == nullptr) {
+    LOG(fatal) << GetName() << "::Init: No MCDataManager!";
+  }
 
   fMCTracks   = mcManager->InitBranch("MCTrack");
   fRichPoints = mcManager->InitBranch("RichPoint");
@@ -88,22 +90,22 @@ InitStatus CbmRichRecoTbQa::Init()
 
   fRichHits = (TClonesArray*) ioman->GetObject("RichHit");
   if (nullptr == fRichHits) {
-    Fatal("CbmRichRecoTbQa::Init", "No Rich hits!");
+    LOG(fatal) << GetName() << "::Init: No Rich hits!";
   }
 
   fRichRings = (TClonesArray*) ioman->GetObject("RichRing");
   if (nullptr == fRichRings) {
-    Fatal("CbmRichRecoTbQa::Init", "No Rich rings!");
+    LOG(fatal) << GetName() << "::Init: No Rich rings!";
   }
 
   fRichRingMatches = (TClonesArray*) ioman->GetObject("RichRingMatch");
   if (nullptr == fRichRingMatches) {
-    Fatal("CbmRichRecoTbQa::Init", "No RichRingMatch!");
+    LOG(fatal) << GetName() << "::Init: No RichRingMatch!";
   }
 
   fEventList = (CbmMCEventList*) ioman->GetObject("MCEventList.");
   if (nullptr == fEventList) {
-    Fatal("CbmRichRecoTbQa::Init", "No MCEventList!");
+    LOG(fatal) << GetName() << "::Init: No MCEventList!";
   }
 
   InitHistograms();
diff --git a/reco/detectors/rich/tracks/CbmRichRingTrackAssignClosestD.cxx b/reco/detectors/rich/tracks/CbmRichRingTrackAssignClosestD.cxx
index b778fe7f8a491b82a0ed20f8b2af47491284503d..cb202f98af23f59cb978b9f678d90ea26f3de82c 100644
--- a/reco/detectors/rich/tracks/CbmRichRingTrackAssignClosestD.cxx
+++ b/reco/detectors/rich/tracks/CbmRichRingTrackAssignClosestD.cxx
@@ -43,7 +43,7 @@ void CbmRichRingTrackAssignClosestD::Init()
   if (fGlobalTracks == nullptr) LOG(fatal) << "CbmRichRingTrackAssignClosestD::Init(): No GlobalTrack.";
 
   fTrdTracks = (TClonesArray*) manager->GetObject("TrdTrack");
-  //if (NULL == fTrdTracks) {Fatal("CbmRichRingTrackAssignClosestD::Init", "No TrdTrack array!");}
+  //if (NULL == fTrdTracks) { LOG(fatal) << GetName() << "::Init: No TrdTrack array"; }
 }
 
 void CbmRichRingTrackAssignClosestD::DoAssign(CbmEvent* event, TClonesArray* rings, TClonesArray* richProj)
diff --git a/reco/detectors/sts/CbmStsFindTracks.cxx b/reco/detectors/sts/CbmStsFindTracks.cxx
index a96ed4557c82d7b4d1adbcf930756c44577029d9..ada6ae65d234a3acb23445387d6f343d99eb20f3 100644
--- a/reco/detectors/sts/CbmStsFindTracks.cxx
+++ b/reco/detectors/sts/CbmStsFindTracks.cxx
@@ -26,8 +26,7 @@
 #include <iomanip>
 #include <iostream>
 
-using std::cout;
-using std::endl;
+
 using std::fixed;
 using std::left;
 using std::right;
@@ -130,10 +129,10 @@ void CbmStsFindTracks::SetParContainers()
 
   // Get run and runtime database
   FairRunAna* run = FairRunAna::Instance();
-  if (!run) Fatal("SetParContainers", "No analysis run");
+  if (!run) LOG(fatal) << GetName() << " SetParContainers: No analysis run";
 
   FairRuntimeDb* db = run->GetRuntimeDb();
-  if (!db) Fatal("SetParContainers", "No runtime database");
+  if (!db) LOG(fatal) << GetName() << " SetParContainers: No runtime database";
 
   // Get STS geometry parameter container
   fGeoPar = (CbmGeoStsPar*) db->getContainer("CbmGeoStsPar");
@@ -148,23 +147,22 @@ void CbmStsFindTracks::SetParContainers()
 InitStatus CbmStsFindTracks::Init()
 {
 
-  cout << endl;
-  cout << "---------------------------------------------" << endl;
-  cout << "-I- Initialising " << GetName() << " ...." << endl;
+  LOG(info) << "---------------------------------------------";
+  LOG(info) << " Initialising " << GetName() << " ....";
 
   // Get input hit arrays
   FairRootManager* ioman = FairRootManager::Instance();
-  if (!ioman) Fatal("Init", "No FairRootManager");
+  if (!ioman) LOG(fatal) << GetName() << " Init: No FairRootManager";
   fStsHits = (TClonesArray*) ioman->GetObject("StsHit");
   if (!fStsHits) {
-    cout << "-E- " << GetName() << "::Init: No StsHit array!" << endl;
+    LOG(error) << GetName() << "::Init: No StsHit array!";
     return kERROR;
   }
   if (fUseMvd) {
     fMvdHits = (TClonesArray*) ioman->GetObject("MvdHit");
     if (!fMvdHits) {
-      cout << "-W- " << GetName() << "::Init: No MVD hits available!" << endl;
-      cout << "     Running track finding without MVD hits" << endl;
+      LOG(warning) << GetName() << " Init: No MVD hits available!";
+      LOG(warning) << GetName() << " Init:     Running track finding without MVD hits";
     }
   }
 
@@ -187,11 +185,10 @@ InitStatus CbmStsFindTracks::Init()
 
   // Check for Track finder
   if (!fFinder) {
-    cout << "-E- " << GetName() << "::Init: No track finder selected!" << endl;
+    LOG(error) << GetName() << "::Init: No track finder selected!";
     return kERROR;
   }
-  cout << "-I- Track finder engine " << fFinder->GetName() << " selected" << endl;
-
+  LOG(info) << GetName() << " Track finder engine " << fFinder->GetName() << " selected";
 
   // Set members of track finder and verbosity and initialise track finder
   //fFinder->SetDigiScheme(fDigiScheme);
@@ -203,8 +200,8 @@ InitStatus CbmStsFindTracks::Init()
   fFinder->Init();
 
   // Screen output
-  cout << "-I- " << GetName() << " intialised " << endl;
-  cout << "---------------------------------------------" << endl;
+  LOG(info) << GetName() << " intialised ";
+  LOG(info) << "---------------------------------------------";
 
   return kSUCCESS;
 }
@@ -217,16 +214,16 @@ void CbmStsFindTracks::Finish()
 
   fFinder->Finish();
 
-  cout << endl;
-  cout << "============================================================" << endl;
-  cout << "=====   " << GetName() << ": Run summary " << endl;
-  cout << "===== " << endl;
-  cout << "===== Good events   : " << setw(6) << fNEvents << endl;
-  cout << "===== Failed events : " << setw(6) << fNEventsFailed << endl;
-  cout << "===== Average time  : " << setprecision(4) << setw(8) << right << fTime / Double_t(fNEvents) << " s" << endl;
-  cout << "===== " << endl;
-  cout << "===== Found tracks per event  : " << fixed << setprecision(0) << fNTracks / Double_t(fNEvents) << endl;
-  cout << "============================================================" << endl;
+  LOG(info);
+  LOG(info) << "============================================================";
+  LOG(info) << "=====   " << GetName() << ": Run summary ";
+  LOG(info) << "===== ";
+  LOG(info) << "===== Good events   : " << setw(6) << fNEvents;
+  LOG(info) << "===== Failed events : " << setw(6) << fNEventsFailed;
+  LOG(info) << "===== Average time  : " << setprecision(4) << setw(8) << right << fTime / Double_t(fNEvents) << " s";
+  LOG(info) << "===== ";
+  LOG(info) << "===== Found tracks per event  : " << fixed << setprecision(0) << fNTracks / Double_t(fNEvents);
+  LOG(info) << "============================================================";
 }
 // -------------------------------------------------------------------------
 
diff --git a/reco/detectors/trd/CbmTrdTrackFinderIdeal.cxx b/reco/detectors/trd/CbmTrdTrackFinderIdeal.cxx
index 24f52cf27846760c1d3bd017e36ab220b070c956..e377aef2b351985cdbaecd8ab0d9b9232988a388 100644
--- a/reco/detectors/trd/CbmTrdTrackFinderIdeal.cxx
+++ b/reco/detectors/trd/CbmTrdTrackFinderIdeal.cxx
@@ -51,13 +51,13 @@ CbmTrdTrackFinderIdeal::~CbmTrdTrackFinderIdeal() {}
 void CbmTrdTrackFinderIdeal::Init()
 {
   FairRootManager* ioman = FairRootManager::Instance();
-  if (NULL == ioman) Fatal("-E- CbmTrdTrackFinderIdeal::Init", "RootManager not instantised!");
+  if (NULL == ioman) LOG(fatal) << GetName() << " Init:  RootManager not instantised!";
 
   fMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
-  if (NULL == fMcTracks) Fatal("-E- CbmTrdTrackFinderIdeal::Init", "No MCTrack array!");
+  if (NULL == fMcTracks) LOG(fatal) << GetName() << " Init: No MCTrack array!";
 
   fTrdPoints = (TClonesArray*) ioman->GetObject("TrdPoint");
-  if (NULL == fTrdPoints) Fatal("-E- CbmTrdTrackFinderIdeal::Init", "No TrdPoint array!");
+  if (NULL == fTrdPoints) LOG(fatal) << GetName() << " Init: No TrdPoint array!";
 
   TClonesArray* digis = (TClonesArray*) ioman->GetObject("TrdDigi");
   if (NULL == digis) {
@@ -66,7 +66,7 @@ void CbmTrdTrackFinderIdeal::Init()
   else {
     fTrdHitProducerType = "digi";
     fTrdHitMatches      = (TClonesArray*) ioman->GetObject("TrdHitMatch");
-    if (NULL == fTrdHitMatches) Fatal("-E- CbmTrdTrackFinderIdeal::Init", "No TrdHitMatch array!");
+    if (NULL == fTrdHitMatches) LOG(fatal) << GetName() << "Init: No TrdHitMatch array!";
   }
 
   fEventNum = 1;
@@ -76,8 +76,8 @@ Int_t CbmTrdTrackFinderIdeal::DoFind(TClonesArray* trdHits, TClonesArray* trdTra
 {
   cout << "CbmTrdTrackFinderIdeal, event no. " << fEventNum << " " << fTrdHitProducerType << endl;
   fEventNum++;
-  if (NULL == trdHits) Fatal("-E- CbmTrdTrackFinderIdeal::DoFind", "No TrdHitArray!");
-  if (NULL == trdTracks) Fatal("-E- CbmTrdTrackFinderIdeal::DoFind", "No TrdTrackArray!");
+  if (NULL == trdHits) LOG(fatal) << GetName() << " DoFind: No TrdHitArray!";
+  if (NULL == trdTracks) LOG(fatal) << GetName() << " DoFind: No TrdTrackArray!";
 
   Int_t nofTrdHits = trdHits->GetEntriesFast();
 
diff --git a/reco/detectors/trd/pid/CbmTrdElectronsTrainAnn.cxx b/reco/detectors/trd/pid/CbmTrdElectronsTrainAnn.cxx
index 72f7c46a7f93380d16f96a1fb666fc167244e0d8..337cfbf246ddf0759f5c6870cf4a5f2ec3d0d775 100644
--- a/reco/detectors/trd/pid/CbmTrdElectronsTrainAnn.cxx
+++ b/reco/detectors/trd/pid/CbmTrdElectronsTrainAnn.cxx
@@ -133,32 +133,32 @@ InitStatus CbmTrdElectronsTrainAnn::Init()
 {
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "RootManager not instantised!");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantised";
   }
 
   fMCTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fMCTracks) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array";
   }
 
   fTrdPoints = (TClonesArray*) ioman->GetObject("TrdPoint");
   if (NULL == fTrdPoints) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "No TRDPoint array!");
+    LOG(fatal) << GetName() << "::Init: No TRDPoint array";
   }
 
   fTrdTracks = (TClonesArray*) ioman->GetObject("TrdTrack");
   if (NULL == fTrdTracks) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "No TrdTrack array!");
+    LOG(fatal) << GetName() << "::Init: No TrdTrack array";
   }
 
   fTrdTrackMatches = (TClonesArray*) ioman->GetObject("TrdTrackMatch");
   if (NULL == fTrdTrackMatches) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "No TrdTrackMatch array!");
+    LOG(fatal) << GetName() << "::Init: No TrdTrackMatch array";
   }
 
   fTrdHits = (TClonesArray*) ioman->GetObject("TrdHit");
   if (NULL == fTrdHits) {
-    Fatal("-E- CbmTrdElectronsTrainAnn::Init", "No TRDHit array!");
+    LOG(fatal) << GetName() << "::Init: No TrdHit array";
   }
 
   return kSUCCESS;
@@ -219,7 +219,7 @@ void CbmTrdElectronsTrainAnn::RunBeamData()
 void CbmTrdElectronsTrainAnn::FillElossVectorReal()
 {
   if (fBeamDataFile == "" || fBeamDataPiHist == "" || fBeamDataElHist == "") {
-    Fatal("-E- CbmTrdElectronsTrainAnn::FillElossVectorReal()", "Set input file for beam data and histogram names!");
+    LOG(fatal) << GetName() << "::FillElossVectorReal: Set input file for beam data and histogram names!";
   }
 
   /// Save old global file and folder pointer to avoid messing with FairRoot
diff --git a/reco/detectors/trd/pid/CbmTrdSetTracksPidANN.cxx b/reco/detectors/trd/pid/CbmTrdSetTracksPidANN.cxx
index b704a37a571b1cc8440bd11b941b6c9df9e4cbde..a0e10a0046b16af4c53dd08d8534c9b8db4fb2cc 100644
--- a/reco/detectors/trd/pid/CbmTrdSetTracksPidANN.cxx
+++ b/reco/detectors/trd/pid/CbmTrdSetTracksPidANN.cxx
@@ -117,22 +117,22 @@ Bool_t CbmTrdSetTracksPidANN::ReadData()
 InitStatus CbmTrdSetTracksPidANN::Init()
 {
   if (!ReadData()) {
-    Fatal("CbmTrdSetTracksPidANN::Init", "ReadData");
+    LOG(fatal) << GetName() << "::Init: ReadData failed";
   }
 
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("CbmTrdSetTracksPidANN::Init", "RootManager not instantised");
+    LOG(fatal) << GetName() << "::Init: RootManager not instantised";
   }
 
   fTrackArray = (TClonesArray*) ioman->GetObject("TrdTrack");
   if (NULL == fTrackArray) {
-    Fatal("CbmTrdSetTracksPidANN::Init", "No TrdTrack array");
+    LOG(fatal) << GetName() << "::Init: No TrdTrack array";
   }
 
   fTrdHitArray = (TClonesArray*) ioman->GetObject("TrdHit");
   if (NULL == fTrdHitArray) {
-    Fatal("CbmTrdSetTracksPidANN::Init", "No TrdHit array");
+    LOG(fatal) << GetName() << "::Init: No TrdHit array";
   }
 
   return kSUCCESS;
diff --git a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksIdeal.cxx b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksIdeal.cxx
index dac084c03136a6d875872f516f041df30a8b4474..3b95f86455f4741444593a087b2f70a907feb73c 100644
--- a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksIdeal.cxx
+++ b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksIdeal.cxx
@@ -76,7 +76,7 @@ InitStatus CbmBuildEventsFromTracksIdeal::Init()
 
   fEventList = (CbmMCEventList*) ioman->GetObject("MCEventList.");
   if (fEventList == 0) {
-    Error("CbmBuildEventsFromTracksIdeal::Init", "MC Event List not found!");
+    LOG(error) << GetName() << "MC Event List not found!";
     return kERROR;
   }
 
@@ -86,7 +86,7 @@ InitStatus CbmBuildEventsFromTracksIdeal::Init()
 
   fStsTrackMatchArray = (TClonesArray*) ioman->GetObject("StsTrackMatch");
   if (fStsTrackMatchArray == 0) {
-    Error("CbmBuildEventsFromTracksIdeal::Init", "track match array not found!");
+    LOG(error) << GetName() << "track match array not found!";
     return kERROR;
   }
 
diff --git a/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx b/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx
index 359c07ee86fcb289bb6cfa2ab413f34edc50ad76..ca2a69cb9b205d7fe9016b1a35fd8d86ca20e038 100644
--- a/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx
+++ b/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx
@@ -202,7 +202,7 @@ InitStatus CbmEventBuilderQa::Init()
 
   fEventList = (CbmMCEventList*) ioman->GetObject("MCEventList.");
   if (fEventList == 0) {
-    Error("CbmEventBuilderQa::Init", "MC Event List not found!");
+    LOG(error) << GetName() << "MC Event List not found!";
     return kERROR;
   }
 
@@ -212,7 +212,7 @@ InitStatus CbmEventBuilderQa::Init()
 
   fStsTrackMatchArray = (TClonesArray*) ioman->GetObject("StsTrackMatch");
   if (fStsTrackMatchArray == 0) {
-    Error("CbmEventBuilderQa::Init", "track match array not found!");
+    LOG(error) << GetName() << "track match array not found!";
     return kERROR;
   }
 
@@ -232,7 +232,7 @@ InitStatus CbmEventBuilderQa::Init()
   // --- Get input array (CbmEvent)
   fEvents = dynamic_cast<TClonesArray*>(ioman->GetObject("CbmEvent"));
   if (nullptr == fEvents) {
-    Fatal("CbmEventBuilderQa::Init", "No CbmEvent TClonesArray found!");
+    LOG(fatal) << GetName() << "Init: No CbmEvent TClonesArray found!";
   }
 
   return kSUCCESS;
diff --git a/reco/littrack/cbm/generators/CbmLitPolarizedGenerator.cxx b/reco/littrack/cbm/generators/CbmLitPolarizedGenerator.cxx
index 8ac53ad0b4ca9580201f7bbdc58a22c27295cfe3..4de6d7f5b29779cbcb3114526d6490e0e071b801 100644
--- a/reco/littrack/cbm/generators/CbmLitPolarizedGenerator.cxx
+++ b/reco/littrack/cbm/generators/CbmLitPolarizedGenerator.cxx
@@ -9,6 +9,7 @@
 
 #include "CbmLitPolarizedGenerator.h"
 
+#include "FairLogger.h"
 #include "FairPrimaryGenerator.h"
 #include "TDatabasePDG.h"
 #include "TF1.h"
@@ -60,7 +61,7 @@ Bool_t CbmLitPolarizedGenerator::Init()
   // Check for particle type
   TDatabasePDG* pdgBase  = TDatabasePDG::Instance();
   TParticlePDG* particle = pdgBase->GetParticle(fPDGType);
-  if (!particle) Fatal("CbmLitPolarizedGenerator", "PDG code %d not defined.", fPDGType);
+  if (!particle) LOG(fatal) << GetName() << ": PDG code " << fPDGType << " not defined.";
   fPDGMass = particle->Mass();
   if (fPtDistMass < 0) fPtDistMass = fPDGMass;
   //gRandom->SetSeed(0);
@@ -114,7 +115,7 @@ Bool_t CbmLitPolarizedGenerator::GenerateDaughters(TVector3 pMother, FairPrimary
   else if (fDecayMode == kDiElectron)
     part = TDatabasePDG::Instance()->GetParticle("e+");
   else
-    Fatal("GenerateDaughters", "Polarized dilepton decay only implemented\n");
+    LOG(fatal) << GetName() << "::GenerateDaughters: Polarized dilepton decay only implemented";
 
   // energies and momenta in dilepton rest frame
   Double_t m = part->Mass();
diff --git a/reco/littrack/cbm/qa/CbmLitCreateStandaloneData.cxx b/reco/littrack/cbm/qa/CbmLitCreateStandaloneData.cxx
index 81f5d55de9a5d99e2b3e99e2e28ccf2a4cff9d61..13c201bcd6e223bb1a7e173d48d48e28e2c889fc 100644
--- a/reco/littrack/cbm/qa/CbmLitCreateStandaloneData.cxx
+++ b/reco/littrack/cbm/qa/CbmLitCreateStandaloneData.cxx
@@ -51,17 +51,17 @@ InitStatus CbmLitCreateStandaloneData::Init()
   //
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("Init", "CbmRootManager is not instantiated");
+    LOG(fatal) << GetName() << "::Init: CbmRootManager is not instantiated";
   }
 
   fStsTracks = (TClonesArray*) ioman->GetObject("StsTrack");
   if (NULL == fStsTracks) {
-    Fatal("Init", ": No StsTrack array!");
+    LOG(fatal) << GetName() << "::Init: No StsTrack array!";
   }
 
   fMuchPixelHits = (TClonesArray*) ioman->GetObject("MuchPixelHit");
   if (NULL == fMuchPixelHits) {
-    Fatal("Init", "No MuchPixelHit array!");
+    LOG(fatal) << GetName() << "::Init: No MuchPixelHit array!";
   }
 
   fHitsFile.open("sa_hits.txt");
diff --git a/reco/littrack/cbm/reco/CbmLitFindGlobalTracks.cxx b/reco/littrack/cbm/reco/CbmLitFindGlobalTracks.cxx
index 85106b9b854aed7aea901965e881f54aa0e64896..f879a70bd1e63117e1c29bf5583b787b63b47077 100644
--- a/reco/littrack/cbm/reco/CbmLitFindGlobalTracks.cxx
+++ b/reco/littrack/cbm/reco/CbmLitFindGlobalTracks.cxx
@@ -336,7 +336,7 @@ void CbmLitFindGlobalTracks::InitTrackReconstruction()
       fFinder = CbmLitToolFactory::CreateTrackFinder(st);
     }
     else {
-      TObject::Fatal("CbmLitFindGlobalTracks", "Tracking type not found");
+      LOG(fatal) << GetName() << "::InitTrackReconstruction: Tracking type not found";
     }
   }
   else {
@@ -346,7 +346,7 @@ void CbmLitFindGlobalTracks::InitTrackReconstruction()
       fFinder = CbmLitToolFactory::CreateTrackFinder(st);
     }
     else {
-      TObject::Fatal("CbmLitFindGlobalTracks", "Tracking type not found");
+      LOG(fatal) << GetName() << "::InitTrackReconstruction: Tracking type not found";
     }
   }
 
@@ -355,7 +355,7 @@ void CbmLitFindGlobalTracks::InitTrackReconstruction()
       fMerger = CbmLitToolFactory::CreateHitToTrackMerger("tof_" + fMergerType);
     }
     else {
-      TObject::Fatal("CbmLitFindGlobalTracks", "Merger type not found");
+      LOG(fatal) << GetName() << "::InitTrackReconstruction: Merger type not found";
     }
   }
 
@@ -363,7 +363,7 @@ void CbmLitFindGlobalTracks::InitTrackReconstruction()
     fFitter = CbmLitToolFactory::CreateTrackFitter("lit_kalman");
   }
   else {
-    TObject::Fatal("CbmLitFindGlobalTracks", "Fitter type not found");
+    LOG(fatal) << GetName() << "::InitTrackReconstruction: Fitter type not found";
   }
 
   fPropagator = CbmLitToolFactory::CreateTrackPropagator("lit");
diff --git a/reco/littrack/cbm/reco/CbmLitFindGlobalTracksIdeal.cxx b/reco/littrack/cbm/reco/CbmLitFindGlobalTracksIdeal.cxx
index f7c6e702ed7ef1db0572f17698476dd8a189de11..2263dc0f00f01eda5bc15f28b3682d6a4c5b55d4 100644
--- a/reco/littrack/cbm/reco/CbmLitFindGlobalTracksIdeal.cxx
+++ b/reco/littrack/cbm/reco/CbmLitFindGlobalTracksIdeal.cxx
@@ -82,19 +82,19 @@ void CbmLitFindGlobalTracksIdeal::ReadDataBranches()
 {
   FairRootManager* ioman = FairRootManager::Instance();
   if (NULL == ioman) {
-    Fatal("Init", "CbmRootManager is not instantiated");
+    LOG(fatal) << GetName() << "::Init: CbmRootManager is not instantiated";
   }
 
   fMCTracks = (TClonesArray*) ioman->GetObject("MCTrack");
   if (NULL == fMCTracks) {
-    Fatal("Init", "No MCTrack array!");
+    LOG(fatal) << GetName() << "::Init: No MCTrack array!";
   }
 
   //STS data
   if (fDet.GetDet(ECbmModuleId::kSts)) {
     fStsMatches = (TClonesArray*) ioman->GetObject("StsTrackMatch");
     if (NULL == fStsMatches) {
-      Fatal("Init", "No StsTrackMatch array!");
+      LOG(fatal) << GetName() << "::Init: No StsTrackMatch array!";
     }
   }
 
@@ -102,7 +102,7 @@ void CbmLitFindGlobalTracksIdeal::ReadDataBranches()
   if (fDet.GetDet(ECbmModuleId::kMuch)) {
     fMuchMatches = (TClonesArray*) ioman->GetObject("MuchTrackMatch");
     if (NULL == fMuchMatches) {
-      Fatal("Init", "No MuchTrackMatch array!");
+      LOG(fatal) << GetName() << "::Init: No MuchTrackMatch array!";
     }
   }
 
@@ -110,7 +110,7 @@ void CbmLitFindGlobalTracksIdeal::ReadDataBranches()
   if (fDet.GetDet(ECbmModuleId::kTrd)) {
     fTrdMatches = (TClonesArray*) ioman->GetObject("TrdTrackMatch");
     if (NULL == fTrdMatches) {
-      Fatal("Init", "No TrdTrackMatch array!");
+      LOG(fatal) << GetName() << "::Init: No TrdTrackMatch array!";
     }
   }
 
@@ -118,15 +118,15 @@ void CbmLitFindGlobalTracksIdeal::ReadDataBranches()
   if (fDet.GetDet(ECbmModuleId::kTof)) {
     fTofMCPoints = (TClonesArray*) ioman->GetObject("TofPoint");
     if (NULL == fTofMCPoints) {
-      Fatal("Init", "No TofPoint array!");
+      LOG(fatal) << GetName() << "::Init: No TofPoint array!";
     }
     fTofHits = (TClonesArray*) ioman->GetObject("TofHit");
     if (NULL == fTofHits) {
-      Fatal("Init", "No TofHit array!");
+      LOG(fatal) << GetName() << "::Init: No TofHit array!";
     }
     fTofHitsMatches = (TClonesArray*) ioman->GetObject("TofHitMatch");
     if (NULL == fTofHitsMatches) {
-      Fatal("Init", "No TofHitMatch array!");
+      LOG(fatal) << GetName() << "::Init: No TofHitMatch array!";
     }
   }