diff --git a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx b/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
index f95f3c6698ab56e5032637f4c01ee1a46f3262e1..daa3fbc6e5221969f7d916818732377218caa396 100644
--- a/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
+++ b/reco/L1/ParticleFinder/CbmL1PFFitter.cxx
@@ -444,8 +444,8 @@ void CbmL1PFFitter::Fit(vector<CbmStsTrack>& Tracks, const vector<int>& pidHypo)
 {
 
   FairRootManager* fManger  = FairRootManager::Instance();
-  TClonesArray* mvdHitArray = (TClonesArray*) fManger->GetObject("MvdHit");
-  TClonesArray* stsHitArray = (TClonesArray*) fManger->GetObject("StsHit");
+  TClonesArray* mvdHitArray = static_cast<TClonesArray*>(fManger->GetObject("MvdHit"));
+  TClonesArray* stsHitArray = static_cast<TClonesArray*>(fManger->GetObject("StsHit"));
 
   std::vector<CbmMvdHit> vMvdHits;
   std::vector<CbmStsHit> vStsHits;
@@ -489,9 +489,9 @@ void CbmL1PFFitter::GetChiToVertex(vector<CbmStsTrack>& Tracks, vector<PFFieldRe
   L1FieldValue fB[3], fB_temp _fvecalignment;
   fvec zField[3];
   FairRootManager* fManger  = FairRootManager::Instance();
-  TClonesArray* listStsHits = (TClonesArray*) fManger->GetObject("StsHit");
+  TClonesArray* listStsHits = static_cast<TClonesArray*>(fManger->GetObject("StsHit"));
   TClonesArray* listMvdHits = 0;
-  if (NMvdStations > 0.) listMvdHits = (TClonesArray*) fManger->GetObject("MvdHit");
+  if (NMvdStations > 0.) listMvdHits = static_cast<TClonesArray*>(fManger->GetObject("MvdHit"));
 
   unsigned short N_vTracks = Tracks.size();
   int ista;
@@ -638,10 +638,10 @@ void CbmL1PFFitter::CalculateFieldRegion(vector<CbmStsTrack>& Tracks, vector<PFF
   L1FieldRegion fld _fvecalignment;
 
   FairRootManager* fManger  = FairRootManager::Instance();
-  TClonesArray* listStsHits = (TClonesArray*) fManger->GetObject("StsHit");
+  TClonesArray* listStsHits = static_cast<TClonesArray*>(fManger->GetObject("StsHit"));
   TClonesArray* listMvdHits = 0;
   int NMvdStations          = CbmL1::Instance()->fpAlgo->GetNstationsBeforePipe();
-  if (NMvdStations > 0.) listMvdHits = (TClonesArray*) fManger->GetObject("MvdHit");
+  if (NMvdStations > 0.) listMvdHits = static_cast<TClonesArray*>(fManger->GetObject("MvdHit"));
 
   int nTracks_SIMD = fvec::size();
   L1TrackPar T;  // fitting parametr coresponding to current track
@@ -712,10 +712,10 @@ void CbmL1PFFitter::CalculateFieldRegionAtLastPoint(vector<CbmStsTrack>& Tracks,
   L1FieldRegion fld _fvecalignment;
 
   FairRootManager* fManger  = FairRootManager::Instance();
-  TClonesArray* listStsHits = (TClonesArray*) fManger->GetObject("StsHit");
+  TClonesArray* listStsHits = static_cast<TClonesArray*>(fManger->GetObject("StsHit"));
   TClonesArray* listMvdHits = 0;
   int NMvdStations          = CbmL1::Instance()->fpAlgo->GetNstationsBeforePipe();
-  if (NMvdStations > 0.) listMvdHits = (TClonesArray*) fManger->GetObject("MvdHit");
+  if (NMvdStations > 0.) listMvdHits = static_cast<TClonesArray*>(fManger->GetObject("MvdHit"));
 
   int nTracks_SIMD = fvec::size();
   L1TrackPar T;  // fitting parametr coresponding to current track
diff --git a/reco/alignment/CbmBbaAlignmentTask.cxx b/reco/alignment/CbmBbaAlignmentTask.cxx
index 9354603a7f128d3361a29913d2ae2b2be17b50f5..c8d17c92621abe2089f6c310db0bb6233984f9f9 100644
--- a/reco/alignment/CbmBbaAlignmentTask.cxx
+++ b/reco/alignment/CbmBbaAlignmentTask.cxx
@@ -76,25 +76,25 @@ InitStatus CbmBbaAlignmentTask::Init()
 
   // Get hits
 
-  fInputMvdHits = (TClonesArray*) ioman->GetObject("MvdHit");
-  fInputStsHits = (TClonesArray*) ioman->GetObject("StsHit");
+  fInputMvdHits = static_cast<TClonesArray*>(ioman->GetObject("MvdHit"));
+  fInputStsHits = static_cast<TClonesArray*>(ioman->GetObject("StsHit"));
 
   // Get sts tracks
-  fInputStsTracks = (TClonesArray*) ioman->GetObject("StsTrack");
+  fInputStsTracks = static_cast<TClonesArray*>(ioman->GetObject("StsTrack"));
   if (!fInputStsTracks) {
     LOG(error) << "CbmBbaAlignmentTask::Init: Sts track-array not found!";
     return kERROR;
   }
 
   // MC track match
-  fInputMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
+  fInputMcTracks = static_cast<TClonesArray*>(ioman->GetObject("MCTrack"));
   if (!fInputMcTracks) {
     Warning("CbmBbaAlignmentTask::Init", "mc track array not found!");
     return kERROR;
   }
 
   // Track match
-  fInputStsTrackMatches = (TClonesArray*) ioman->GetObject("StsTrackMatch");
+  fInputStsTrackMatches = static_cast<TClonesArray*>(ioman->GetObject("StsTrackMatch"));
   if (fInputStsTrackMatches == 0) {
     LOG(error) << "CbmBbaAlignmentTask::Init: track match array not found!";
     return kERROR;
@@ -110,19 +110,19 @@ InitStatus CbmBbaAlignmentTask::Init()
 void CbmBbaAlignmentTask::Exec(Option_t* /*opt*/)
 {
 
-  std::cout << "BBA: exec event N " << fNEvents << std::endl;
+  LOG(info) << "BBA: exec event N " << fNEvents;
 
   fNEvents++;
 
-  if ((int) fTracks.size() >= fMaxNtracks) { return; }
+  if (static_cast<int>(fTracks.size()) >= fMaxNtracks) { return; }
 
   // select STS tracks for alignment and store them
 
   for (int iTr = 0; iTr < fInputStsTracks->GetEntriesFast(); iTr++) {
 
-    if ((int) fTracks.size() >= fMaxNtracks) { break; }
+    if (static_cast<int>(fTracks.size()) >= fMaxNtracks) { break; }
 
-    CbmStsTrack* stsTrack = ((CbmStsTrack*) fInputStsTracks->At(iTr));
+    CbmStsTrack* stsTrack = static_cast<CbmStsTrack*>(fInputStsTracks->At(iTr));
 
     if (stsTrack->GetNofStsHits() < 8) continue;
     const auto* par = stsTrack->GetParamFirst();
@@ -211,10 +211,10 @@ double CbmBbaAlignmentTask::CostFunction(const std::vector<double>& par)
   }
 
   double cost = chi2Total / ndfTotal;
-  std::cout << "BBA: cost function:  n tracks " << nGoodTracks << ", cost " << cost
-            << ", diff to ideal cost: " << cost - fCostIdeal << std::endl;
+  LOG(info) << "BBA: cost function:  n tracks " << nGoodTracks << ", cost " << cost
+            << ", diff to ideal cost: " << cost - fCostIdeal;
   return cost;
-  if (nGoodTracks == (int) fTracks.size()) { return cost; }
+  if (nGoodTracks == static_cast<int>(fTracks.size())) { return cost; }
   return 1.e30;
 }
 
@@ -224,7 +224,7 @@ void CbmBbaAlignmentTask::Finish()
   // perform the alignment
   //
 
-  std::cout << "BBA: start the alignment procedure with " << fTracks.size() << " tracks ..." << std::endl;
+  LOG(info) << "BBA: start the alignment procedure with " << fTracks.size() << " tracks ...";
 
   // init auxiliary arrays
 
@@ -349,30 +349,28 @@ void CbmBbaAlignmentTask::Finish()
       ndfTotal += newTracks[iTr].GetNDF();
     }
 
-    std::cout << "Initial nTracks " << nGoodTracks << " chi2/ndf " << chi2Total / ndfTotal << std::endl;
+    LOG(info) << "Initial nTracks " << nGoodTracks << " chi2/ndf " << chi2Total / ndfTotal;
   }
 
   fCostIdeal = CostFunction(parAligned);
 
-  std::cout << " cost function for the true parameters: " << fCostIdeal << std::endl;
+  LOG(info) << " cost function for the true parameters: " << fCostIdeal;
 
   alignment.align();
 
-  std::cout << " cost function for the true parameters: " << fCostIdeal << std::endl;
+  LOG(info) << " cost function for the true parameters: " << fCostIdeal;
 
-  std::cout << " Misaligned parameters: " << std::endl;
+  LOG(info) << " Misaligned parameters: ";
   for (int is = 0; is < nStsStations; is++) {
     const std::vector<double>& r = parMisaligned;
-    std::cout << "Sts station " << is << ": x " << r[3 * is + 0] << " y " << r[3 * is + 1] << " z " << r[3 * is + 2]
-              << std::endl;
+    LOG(info) << "Sts station " << is << ": x " << r[3 * is + 0] << " y " << r[3 * is + 1] << " z " << r[3 * is + 2];
   }
 
-  std::cout << " Alignment results: " << std::endl;
+  LOG(info) << " Alignment results: ";
 
   for (int is = 0; is < nStsStations; is++) {
     const std::vector<double>& r = alignment.getResult();
-    std::cout << "Sts station " << is << ": x " << r[3 * is + 0] << " y " << r[3 * is + 1] << " z " << r[3 * is + 2]
-              << std::endl;
+    LOG(info) << "Sts station " << is << ": x " << r[3 * is + 0] << " y " << r[3 * is + 1] << " z " << r[3 * is + 2];
   }
 
   // store the histograms
diff --git a/reco/alignment/CbmBbaAlignmentTask.h b/reco/alignment/CbmBbaAlignmentTask.h
index fb24957a6bb9fdd537dc438310e3986c31a08d3e..fee87f52dac7da2e4569b341c08803bea9b0217d 100644
--- a/reco/alignment/CbmBbaAlignmentTask.h
+++ b/reco/alignment/CbmBbaAlignmentTask.h
@@ -18,6 +18,12 @@
 
 #include "FairTask.h"
 
+#include <TString.h>
+
+#include <vector>
+
+class TObject;
+class TH1F;
 class TClonesArray;
 class TFile;
 class TDirectory;