diff --git a/reco/detectors/sts/CbmRecoSts.cxx b/reco/detectors/sts/CbmRecoSts.cxx
index 19e8fb05be0d38e4fcd3471b41018ae671223cf9..15929c29615eb690813a8fb2d6762a21516f8b0d 100644
--- a/reco/detectors/sts/CbmRecoSts.cxx
+++ b/reco/detectors/sts/CbmRecoSts.cxx
@@ -5,11 +5,6 @@
 
 #include "CbmRecoSts.h"
 
-#include <TClonesArray.h>
-#include <TGeoBBox.h>
-#include <TGeoPhysicalNode.h>
-#include <iomanip>
-
 #include "CbmAddress.h"
 #include "CbmDigiManager.h"
 #include "CbmEvent.h"
@@ -22,10 +17,17 @@
 #include "CbmStsRecoModule.h"
 #include "CbmStsRecoModuleOrtho.h"
 #include "CbmStsSetup.h"
+
 #include <FairField.h>
 #include <FairRun.h>
 #include <FairRuntimeDb.h>
 
+#include <TClonesArray.h>
+#include <TGeoBBox.h>
+#include <TGeoPhysicalNode.h>
+
+#include <iomanip>
+
 using std::fixed;
 using std::left;
 using std::right;
@@ -38,13 +40,13 @@ ClassImp(CbmRecoSts)
 
 
   // -----   Constructor   ---------------------------------------------------
-  CbmRecoSts::CbmRecoSts(ECbmRecoMode mode,
-                         Bool_t writeClusters,
-                         Bool_t runParallel)
+  CbmRecoSts::CbmRecoSts(ECbmRecoMode mode, Bool_t writeClusters, Bool_t runParallel)
   : FairTask("RecoSts", 1)
   , fMode(mode)
   , fWriteClusters(writeClusters)
-  , fRunParallel(runParallel) {}
+  , fRunParallel(runParallel)
+{
+}
 // -------------------------------------------------------------------------
 
 
@@ -54,7 +56,8 @@ CbmRecoSts::~CbmRecoSts() {}
 
 
 // -----   Initialise the cluster finding modules   ------------------------
-UInt_t CbmRecoSts::CreateModules() {
+UInt_t CbmRecoSts::CreateModules()
+{
 
   assert(fSetup);
   for (Int_t iModule = 0; iModule < fSetup->GetNofModules(); iModule++) {
@@ -69,24 +72,19 @@ UInt_t CbmRecoSts::CreateModules() {
     Int_t sensorAddress = Int_t(setupSensor->GetAddress());
 
     // --- Parameter sets from database or user-defined
-    CbmStsParSetModule* modulePars = (fUserParSetModule ? fUserParSetModule : fParSetModule);
-    CbmStsParSetSensor* sensorPars = (fUserParSetSensor ? fUserParSetSensor : fParSetSensor);
+    CbmStsParSetModule* modulePars      = (fUserParSetModule ? fUserParSetModule : fParSetModule);
+    CbmStsParSetSensor* sensorPars      = (fUserParSetSensor ? fUserParSetSensor : fParSetSensor);
     CbmStsParSetSensorCond* sensorConds = (fUserParSetCond ? fUserParSetCond : fParSetCond);
 
     // --- Module parameters
-    const CbmStsParModule& modPar =
-      (fUserParModule ? *fUserParModule
-                      : modulePars->GetParModule(moduleAddress));
+    const CbmStsParModule& modPar = (fUserParModule ? *fUserParModule : modulePars->GetParModule(moduleAddress));
 
     // --- Sensor parameters
-    const CbmStsParSensor& sensPar =
-      (fUserParSensor ? *fUserParSensor
-                      : sensorPars->GetParSensor(sensorAddress));
+    const CbmStsParSensor& sensPar = (fUserParSensor ? *fUserParSensor : sensorPars->GetParSensor(sensorAddress));
 
     // --- Sensor conditions
     const CbmStsParSensorCond& sensCond =
-      (fUserParSensorCond ? *fUserParSensorCond
-                          : sensorConds->GetParSensor(sensorAddress));
+      (fUserParSensorCond ? *fUserParSensorCond : sensorConds->GetParSensor(sensorAddress));
 
     // --- Calculate and set average Lorentz shift
     // --- This will be used in hit finding for correcting the position.
@@ -94,8 +92,7 @@ UInt_t CbmRecoSts::CreateModules() {
     Double_t lorentzB = 0.;
     if (fParSim->LorentzShift()) {
 
-      TGeoBBox* shape =
-        dynamic_cast<TGeoBBox*>(setupSensor->GetPnode()->GetShape());
+      TGeoBBox* shape = dynamic_cast<TGeoBBox*>(setupSensor->GetPnode()->GetShape());
       assert(shape);
       Double_t dZ = 2. * shape->GetDZ();  // Sensor thickness
 
@@ -118,8 +115,7 @@ UInt_t CbmRecoSts::CreateModules() {
     }  //? Lorentz-shift correction
 
     // --- Create reco module
-    CbmStsRecoModule* recoModule = new CbmStsRecoModule(setupModule, modPar, sensPar,
-                                                        lorentzF, lorentzB);
+    CbmStsRecoModule* recoModule = new CbmStsRecoModule(setupModule, modPar, sensPar, lorentzF, lorentzB);
     assert(recoModule);
     auto result = fModules.insert({moduleAddress, recoModule});
     assert(result.second);
@@ -132,7 +128,8 @@ UInt_t CbmRecoSts::CreateModules() {
 
 
 // -----   Task execution   ------------------------------------------------
-void CbmRecoSts::Exec(Option_t*) {
+void CbmRecoSts::Exec(Option_t*)
+{
 
   // --- Clear output array
   fHits->Delete();
@@ -147,8 +144,7 @@ void CbmRecoSts::Exec(Option_t*) {
   else {
     assert(fEvents);
     Int_t nEvents = fEvents->GetEntriesFast();
-    LOG(info) << setw(20) << left << GetName() << ": Processing time slice "
-              << fNofTimeslices << " with " << nEvents
+    LOG(info) << setw(20) << left << GetName() << ": Processing time slice " << fNofTimeslices << " with " << nEvents
               << (nEvents == 1 ? " event" : " events");
     for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
       CbmEvent* event = dynamic_cast<CbmEvent*>(fEvents->At(iEvent));
@@ -163,7 +159,8 @@ void CbmRecoSts::Exec(Option_t*) {
 
 
 // -----   End-of-run action   ---------------------------------------------
-void CbmRecoSts::Finish() {
+void CbmRecoSts::Finish()
+{
 
   std::cout << std::endl;
   LOG(info) << "=====================================";
@@ -172,20 +169,14 @@ void CbmRecoSts::Finish() {
 
   // --- Time-slice mode
   if (fMode == kCbmRecoTimeslice) {
-    LOG(info) << "Digis / TSlice         : "
-              << fNofDigis / Double_t(fNofTimeslices);
-    LOG(info) << "Digis used / TSlice    : "
-              << fNofDigisUsed / Double_t(fNofTimeslices);
-    LOG(info) << "Digis ignored / TSlice : "
-              << fNofDigisIgnored / Double_t(fNofTimeslices);
-    LOG(info) << "Clusters / TSlice      : "
-              << fNofClusters / Double_t(fNofTimeslices);
-    LOG(info) << "Hits / TSlice          : "
-              << fNofHits / Double_t(fNofTimeslices);
+    LOG(info) << "Digis / TSlice         : " << fNofDigis / Double_t(fNofTimeslices);
+    LOG(info) << "Digis used / TSlice    : " << fNofDigisUsed / Double_t(fNofTimeslices);
+    LOG(info) << "Digis ignored / TSlice : " << fNofDigisIgnored / Double_t(fNofTimeslices);
+    LOG(info) << "Clusters / TSlice      : " << fNofClusters / Double_t(fNofTimeslices);
+    LOG(info) << "Hits / TSlice          : " << fNofHits / Double_t(fNofTimeslices);
     LOG(info) << "Digis per cluster      : " << fNofDigisUsed / fNofClusters;
     LOG(info) << "Clusters per hit       : " << fNofClusters / fNofHits;
-    LOG(info) << "Time per TSlice        : "
-              << fTimeTot / Double_t(fNofTimeslices) << " s ";
+    LOG(info) << "Time per TSlice        : " << fTimeTot / Double_t(fNofTimeslices) << " s ";
 
   }  //? time-slice mode
 
@@ -193,15 +184,11 @@ void CbmRecoSts::Finish() {
   else {
     LOG(info) << "Events                : " << fNofEvents;
     LOG(info) << "Digis / event         : " << fNofDigis / Double_t(fNofEvents);
-    LOG(info) << "Digis used / event    : "
-              << fNofDigisUsed / Double_t(fNofEvents);
-    LOG(info) << "Digis ignored / event : "
-              << fNofDigisIgnored / Double_t(fNofEvents);
-    LOG(info) << "Clusters / event      : "
-              << fNofClusters / Double_t(fNofEvents);
+    LOG(info) << "Digis used / event    : " << fNofDigisUsed / Double_t(fNofEvents);
+    LOG(info) << "Digis ignored / event : " << fNofDigisIgnored / Double_t(fNofEvents);
+    LOG(info) << "Clusters / event      : " << fNofClusters / Double_t(fNofEvents);
     LOG(info) << "Digis per cluster     : " << fNofDigisUsed / fNofClusters;
-    LOG(info) << "Time per event        : " << fTimeTot / Double_t(fNofEvents)
-              << " s ";
+    LOG(info) << "Time per event        : " << fTimeTot / Double_t(fNofEvents) << " s ";
   }  //? event mode
 
   fTimeTot /= Double_t(fNofEvents);
@@ -209,25 +196,22 @@ void CbmRecoSts::Finish() {
   fTime2 /= Double_t(fNofEvents);
   fTime3 /= Double_t(fNofEvents);
   fTime4 /= Double_t(fNofEvents);
-  LOG(info) << "Time Reset       : " << fixed << setprecision(1) << setw(6)
-            << 1000. * fTime1 << " ms (" << setprecision(1) << setw(4)
-            << 100. * fTime1 / fTimeTot << " %)";
-  LOG(info) << "Time Distribute  : " << fixed << setprecision(1) << setw(6)
-            << 1000. * fTime2 << " ms (" << setprecision(1)
-            << 100. * fTime2 / fTimeTot << " %)";
-  LOG(info) << "Time Reconstruct : " << fixed << setprecision(1) << setw(6)
-            << 1000. * fTime3 << " ms (" << setprecision(1) << setw(4)
-            << 100. * fTime3 / fTimeTot << " %)";
-  LOG(info) << "Time Output      : " << fixed << setprecision(1) << setw(6)
-            << 1000. * fTime4 << " ms (" << setprecision(1) << setw(4)
-            << 100. * fTime4 / fTimeTot << " %)";
+  LOG(info) << "Time Reset       : " << fixed << setprecision(1) << setw(6) << 1000. * fTime1 << " ms ("
+            << setprecision(1) << setw(4) << 100. * fTime1 / fTimeTot << " %)";
+  LOG(info) << "Time Distribute  : " << fixed << setprecision(1) << setw(6) << 1000. * fTime2 << " ms ("
+            << setprecision(1) << 100. * fTime2 / fTimeTot << " %)";
+  LOG(info) << "Time Reconstruct : " << fixed << setprecision(1) << setw(6) << 1000. * fTime3 << " ms ("
+            << setprecision(1) << setw(4) << 100. * fTime3 / fTimeTot << " %)";
+  LOG(info) << "Time Output      : " << fixed << setprecision(1) << setw(6) << 1000. * fTime4 << " ms ("
+            << setprecision(1) << setw(4) << 100. * fTime4 / fTimeTot << " %)";
   LOG(info) << "=====================================";
 }
 // -------------------------------------------------------------------------
 
 
 // -----   Initialisation   ------------------------------------------------
-InitStatus CbmRecoSts::Init() {
+InitStatus CbmRecoSts::Init()
+{
 
   // --- Something for the screen
   std::cout << std::endl;
@@ -247,8 +231,7 @@ InitStatus CbmRecoSts::Init() {
     LOG(info) << GetName() << ": Using event-by-event mode";
     fEvents = dynamic_cast<TClonesArray*>(ioman->GetObject("CbmEvent"));
     if (nullptr == fEvents) {
-      LOG(warn) << GetName()
-                << ": Event mode selected but no event array found!";
+      LOG(warn) << GetName() << ": Event mode selected but no event array found!";
       return kFATAL;
     }  //? Event branch not present
   }    //? Event mode
@@ -256,20 +239,15 @@ InitStatus CbmRecoSts::Init() {
     LOG(info) << GetName() << ": Using time-based mode";
 
   // --- Check input array (StsDigis)
-  if (!fDigiManager->IsPresent(ECbmModuleId::kSts))
-    LOG(fatal) << GetName() << ": No StsDigi branch in input!";
+  if (!fDigiManager->IsPresent(ECbmModuleId::kSts)) LOG(fatal) << GetName() << ": No StsDigi branch in input!";
 
   // --- Register output array
   fClusters = new TClonesArray("CbmStsCluster", 1);
-  ioman->Register("StsCluster",
-                  "Clusters in STS",
-                  fClusters,
-                  IsOutputBranchPersistent("StsCluster"));
+  ioman->Register("StsCluster", "Clusters in STS", fClusters, IsOutputBranchPersistent("StsCluster"));
 
   // --- Register output array
   fHits = new TClonesArray("CbmStsHit", 1);
-  ioman->Register(
-    "StsHit", "Hits in STS", fHits, IsOutputBranchPersistent("StsHit"));
+  ioman->Register("StsHit", "Hits in STS", fHits, IsOutputBranchPersistent("StsHit"));
 
   // --- Simulation settings
   assert(fParSim);
@@ -306,10 +284,8 @@ InitStatus CbmRecoSts::Init() {
 
 
 // -----   Calculate the mean Lorentz shift in a sensor   ------------------
-std::pair<Double_t, Double_t>
-CbmRecoSts::LorentzShift(const CbmStsParSensorCond& conditions,
-                         Double_t dZ,
-                         Double_t bY) {
+std::pair<Double_t, Double_t> CbmRecoSts::LorentzShift(const CbmStsParSensorCond& conditions, Double_t dZ, Double_t bY)
+{
 
   Double_t vBias  = conditions.GetVbias();  // Bias voltage
   Double_t vFd    = conditions.GetVfd();    // Full-depletion voltage
@@ -340,7 +316,8 @@ CbmRecoSts::LorentzShift(const CbmStsParSensorCond& conditions,
 
 
 // -----   Process one time slice or event   -------------------------------
-void CbmRecoSts::ProcessData(CbmEvent* event) {
+void CbmRecoSts::ProcessData(CbmEvent* event)
+{
 
   // --- Reset all modules
   fTimer.Start();
@@ -358,16 +335,14 @@ void CbmRecoSts::ProcessData(CbmEvent* event) {
 
   // --- Number of input digis
   fTimer.Start();
-  Int_t nDigis = (event ? event->GetNofData(ECbmDataType::kStsDigi)
-                        : fDigiManager->GetNofDigis(ECbmModuleId::kSts));
+  Int_t nDigis = (event ? event->GetNofData(ECbmDataType::kStsDigi) : fDigiManager->GetNofDigis(ECbmModuleId::kSts));
 
 
   // --- Distribute digis to modules
   Int_t digiIndex = -1;
   //#pragma omp parallel for schedule(static) if(fParallelism_enabled)
   for (Int_t iDigi = 0; iDigi < nDigis; iDigi++) {
-    digiIndex =
-      (event ? event->GetIndex(ECbmDataType::kStsDigi, iDigi) : iDigi);
+    digiIndex              = (event ? event->GetIndex(ECbmDataType::kStsDigi, iDigi) : iDigi);
     const CbmStsDigi* digi = fDigiManager->Get<const CbmStsDigi>(digiIndex);
     assert(digi);
 
@@ -379,12 +354,10 @@ void CbmRecoSts::ProcessData(CbmEvent* event) {
     }
 
     // Get proper reco module
-    Int_t moduleAddress =
-      CbmStsAddress::GetMotherAddress(digi->GetAddress(), kStsModule);
-    auto it = fModules.find(moduleAddress);
+    Int_t moduleAddress = CbmStsAddress::GetMotherAddress(digi->GetAddress(), kStsModule);
+    auto it             = fModules.find(moduleAddress);
     if (it == fModules.end()) {
-      LOG(warn) << "Unknown module address: "
-                << CbmStsAddress::ToString(moduleAddress);
+      LOG(warn) << "Unknown module address: " << CbmStsAddress::ToString(moduleAddress);
       ;
     }
     assert(it != fModules.end());
@@ -418,9 +391,8 @@ void CbmRecoSts::ProcessData(CbmEvent* event) {
   ULong64_t offsetClustersB = 0;
   for (UInt_t it = 0; it < fModuleIndex.size(); it++) {
 
-    const vector<CbmStsCluster>& moduleClustersF =
-      fModuleIndex[it]->GetClustersF();
-    offsetClustersF = fClusters->GetEntriesFast();
+    const vector<CbmStsCluster>& moduleClustersF = fModuleIndex[it]->GetClustersF();
+    offsetClustersF                              = fClusters->GetEntriesFast();
     for (auto& cluster : moduleClustersF) {
       UInt_t index = fClusters->GetEntriesFast();
       new ((*fClusters)[index]) CbmStsCluster(cluster);
@@ -428,9 +400,8 @@ void CbmRecoSts::ProcessData(CbmEvent* event) {
       nClusters++;
     }  //# front-side clusters in module
 
-    const vector<CbmStsCluster>& moduleClustersB =
-      fModuleIndex[it]->GetClustersB();
-    offsetClustersB = fClusters->GetEntriesFast();
+    const vector<CbmStsCluster>& moduleClustersB = fModuleIndex[it]->GetClustersB();
+    offsetClustersB                              = fClusters->GetEntriesFast();
     for (auto& cluster : moduleClustersB) {
       UInt_t index = fClusters->GetEntriesFast();
       new ((*fClusters)[index]) CbmStsCluster(cluster);
@@ -467,32 +438,26 @@ void CbmRecoSts::ProcessData(CbmEvent* event) {
 
   // --- Screen log
   if (event) {
-    LOG(info) << setw(20) << left << GetName() << "[" << fixed
-              << setprecision(4) << realTime << " s] : Event " << right
-              << setw(6) << event->GetNumber() << ", digis: " << nDigis
-              << ", ignored: " << nDigisIgnored << ", clusters: " << nClusters
-              << ", hits " << nHits;
+    LOG(info) << setw(20) << left << GetName() << "[" << fixed << setprecision(4) << realTime << " s] : Event " << right
+              << setw(6) << event->GetNumber() << ", digis: " << nDigis << ", ignored: " << nDigisIgnored
+              << ", clusters: " << nClusters << ", hits " << nHits;
   }  //? event mode
   else {
-    LOG(info) << setw(20) << left << GetName() << "[" << fixed
-              << setprecision(4) << realTime << " s] : TSlice " << right
-              << setw(6) << fNofTimeslices << ", digis: " << nDigis
-              << ", ignored: " << nDigisIgnored << ", clusters: " << nClusters
-              << ", hits " << nHits;
+    LOG(info) << setw(20) << left << GetName() << "[" << fixed << setprecision(4) << realTime << " s] : TSlice "
+              << right << setw(6) << fNofTimeslices << ", digis: " << nDigis << ", ignored: " << nDigisIgnored
+              << ", clusters: " << nClusters << ", hits " << nHits;
   }
 }
 // -------------------------------------------------------------------------
 
 
 // -----   Connect parameter container   -----------------------------------
-void CbmRecoSts::SetParContainers() {
+void CbmRecoSts::SetParContainers()
+{
   FairRuntimeDb* db = FairRun::Instance()->GetRuntimeDb();
-  fParSim = dynamic_cast<CbmStsParSim*>(db->getContainer("CbmStsParSim"));
-  fParSetModule =
-    dynamic_cast<CbmStsParSetModule*>(db->getContainer("CbmStsParSetModule"));
-  fParSetSensor =
-    dynamic_cast<CbmStsParSetSensor*>(db->getContainer("CbmStsParSetSensor"));
-  fParSetCond = dynamic_cast<CbmStsParSetSensorCond*>(
-    db->getContainer("CbmStsParSetSensorCond"));
+  fParSim           = dynamic_cast<CbmStsParSim*>(db->getContainer("CbmStsParSim"));
+  fParSetModule     = dynamic_cast<CbmStsParSetModule*>(db->getContainer("CbmStsParSetModule"));
+  fParSetSensor     = dynamic_cast<CbmStsParSetSensor*>(db->getContainer("CbmStsParSetSensor"));
+  fParSetCond       = dynamic_cast<CbmStsParSetSensorCond*>(db->getContainer("CbmStsParSetSensorCond"));
 }
 // -------------------------------------------------------------------------
diff --git a/reco/detectors/sts/CbmRecoSts.h b/reco/detectors/sts/CbmRecoSts.h
index 318d3ac3044bf655f29e74a180225a69c825cf1c..2eff777971943df57e72b7bc52bd8c0542ef1630 100644
--- a/reco/detectors/sts/CbmRecoSts.h
+++ b/reco/detectors/sts/CbmRecoSts.h
@@ -9,6 +9,7 @@
 
 
 #include <FairTask.h>
+
 #include <TStopwatch.h>
 
 
@@ -31,7 +32,11 @@ class CbmStsSetup;
 /** @enum ECbmMode
  ** @brief Time-slice or event-by-event mode
  **/
-enum ECbmRecoMode { kCbmRecoTimeslice, kCbmRecoEvent };
+enum ECbmRecoMode
+{
+  kCbmRecoTimeslice,
+  kCbmRecoEvent
+};
 
 
 /** @class CbmRecoSts
@@ -55,9 +60,7 @@ class CbmRecoSts : public FairTask {
 
 public:
   /** @brief Constructor **/
-  CbmRecoSts(ECbmRecoMode mode    = kCbmRecoTimeslice,
-             Bool_t writeClusters = kFALSE,
-             Bool_t runParallel   = kFALSE);
+  CbmRecoSts(ECbmRecoMode mode = kCbmRecoTimeslice, Bool_t writeClusters = kFALSE, Bool_t runParallel = kFALSE);
 
 
   /** @brief Copy constructor (disabled) **/
@@ -98,9 +101,7 @@ public:
      **
      ** Alternative to using SetMode.
      **/
-  void SetEventMode(Bool_t choice = kTRUE) {
-    fMode = (choice ? kCbmRecoEvent : kCbmRecoTimeslice);
-  }
+  void SetEventMode(Bool_t choice = kTRUE) { fMode = (choice ? kCbmRecoEvent : kCbmRecoTimeslice); }
 
 
   /** @brief Set execution mode
@@ -181,9 +182,7 @@ public:
       ** If defined, these condition parameters will be used for all sensors instead
       ** of those found in the runtimeDb.
       */
-  void UseSensorCond(CbmStsParSensorCond* sensorCond) {
-    fUserParSensorCond = sensorCond;
-  }
+  void UseSensorCond(CbmStsParSensorCond* sensorCond) { fUserParSensorCond = sensorCond; }
 
   /** @brief User-defined module parameter set
      ** @param parModule Module parameter set object
@@ -219,8 +218,7 @@ private:
      **
      ** The Lorentz shift will be corrected for in hit finding.
      **/
-  std::pair<Double_t, Double_t>
-  LorentzShift(const CbmStsParSensorCond& conditions, Double_t dZ, Double_t bY);
+  std::pair<Double_t, Double_t> LorentzShift(const CbmStsParSensorCond& conditions, Double_t dZ, Double_t bY);
 
 
   /** @brief Instantiate reconstruction modules
@@ -270,12 +268,12 @@ private:
 
   // --- Settings
   ECbmRecoMode fMode           = kCbmRecoEvent;  ///< Time-slice or event
-  Double_t fTimeCutDigisSig    = 3.;      ///< Time cut for cluster finding
-  Double_t fTimeCutDigisAbs    = -1.;     ///< Time cut for cluster finding [ns]
-  Double_t fTimeCutClustersSig = 4.;      ///< Time cut for hit finding
-  Double_t fTimeCutClustersAbs = -1.;     ///< Time cut for hit finding [ns]
-  Bool_t fWriteClusters        = kFALSE;  ///< Write clusters to tree
-  Bool_t fRunParallel          = kFALSE;  ///< Use OpenMP multithreading
+  Double_t fTimeCutDigisSig    = 3.;             ///< Time cut for cluster finding
+  Double_t fTimeCutDigisAbs    = -1.;            ///< Time cut for cluster finding [ns]
+  Double_t fTimeCutClustersSig = 4.;             ///< Time cut for hit finding
+  Double_t fTimeCutClustersAbs = -1.;            ///< Time cut for hit finding [ns]
+  Bool_t fWriteClusters        = kFALSE;         ///< Write clusters to tree
+  Bool_t fRunParallel          = kFALSE;         ///< Use OpenMP multithreading
 
   // --- Counters
   TStopwatch fTimer {};            //! ROOT timer
diff --git a/reco/detectors/sts/CbmStsRecoModule.cxx b/reco/detectors/sts/CbmStsRecoModule.cxx
index 491e2061a39b6aed1cd56bb1148efc500de8700a..b2b83b41e62ac6ac34be4388afe5b303020a80e8 100644
--- a/reco/detectors/sts/CbmStsRecoModule.cxx
+++ b/reco/detectors/sts/CbmStsRecoModule.cxx
@@ -5,14 +5,6 @@
 
 #include "CbmStsRecoModule.h"
 
-#include <TGeoBBox.h>
-#include <TGeoPhysicalNode.h>
-#include <TMath.h>
-
-#include <FairField.h>
-#include <FairLogger.h>
-#include <FairRun.h>
-
 #include "CbmStsAlgoAnaCluster.h"
 #include "CbmStsAlgoFindClusters.h"
 #include "CbmStsAlgoFindHits.h"
@@ -22,6 +14,14 @@
 #include "CbmStsParSensor.h"
 #include "CbmStsSensor.h"
 
+#include <FairField.h>
+#include <FairLogger.h>
+#include <FairRun.h>
+
+#include <TGeoBBox.h>
+#include <TGeoPhysicalNode.h>
+#include <TMath.h>
+
 using std::pair;
 
 
@@ -29,21 +29,21 @@ ClassImp(CbmStsRecoModule)
 
 
   // -----   Standard constructor   ------------------------------------------
-  CbmStsRecoModule::CbmStsRecoModule() {}
+  CbmStsRecoModule::CbmStsRecoModule()
+{
+}
 // -------------------------------------------------------------------------
 
 
 // -----   Default constructor   -------------------------------------------
-CbmStsRecoModule::CbmStsRecoModule(CbmStsModule* setupModule,
-                                   const CbmStsParModule& parModule,
-                                   const CbmStsParSensor& parSensor,
-                                   Double_t lorentzShiftF,
-                                   Double_t lorentzShiftB)
+CbmStsRecoModule::CbmStsRecoModule(CbmStsModule* setupModule, const CbmStsParModule& parModule,
+                                   const CbmStsParSensor& parSensor, Double_t lorentzShiftF, Double_t lorentzShiftB)
   : fSetupModule(setupModule)
   , fParModule(&parModule)
   , fParSensor(&parSensor)
   , fLorentzShiftF(lorentzShiftF)
-  , fLorentzShiftB(lorentzShiftB) {
+  , fLorentzShiftB(lorentzShiftB)
+{
   Init();
 }
 // -------------------------------------------------------------------------
@@ -55,14 +55,13 @@ CbmStsRecoModule::~CbmStsRecoModule() {}
 
 
 // ---------------   Add digi to queues   ----------------------------------
-void CbmStsRecoModule::AddDigiToQueue(const CbmStsDigi* digi, Int_t digiIndex) {
+void CbmStsRecoModule::AddDigiToQueue(const CbmStsDigi* digi, Int_t digiIndex)
+{
   fLock.lock();
-  Int_t moduleAddress =
-    CbmStsAddress::GetMotherAddress(digi->GetAddress(), kStsModule);
+  Int_t moduleAddress = CbmStsAddress::GetMotherAddress(digi->GetAddress(), kStsModule);
   assert(moduleAddress == fSetupModule->GetAddress());
   assert(digi->GetChannel() < fNofStripsF + fNofStripsB);
-  if (digi->GetChannel() < fNofStripsF)
-    fDigisF.push_back({digi, digiIndex});
+  if (digi->GetChannel() < fNofStripsF) fDigisF.push_back({digi, digiIndex});
   else
     fDigisB.push_back({digi, digiIndex});
   fLock.unlock();
@@ -71,41 +70,24 @@ void CbmStsRecoModule::AddDigiToQueue(const CbmStsDigi* digi, Int_t digiIndex) {
 
 
 // -----   Reconstruction   ------------------------------------------------
-void CbmStsRecoModule::Reconstruct() {
+void CbmStsRecoModule::Reconstruct()
+{
 
   // --- Sort the digi queues by digi time stamp
-  std::sort(fDigisF.begin(),
-            fDigisF.end(),
-            [](pair<const CbmStsDigi*, Int_t> digi1,
-               pair<const CbmStsDigi*, Int_t> digi2) {
+  std::sort(fDigisF.begin(), fDigisF.end(),
+            [](pair<const CbmStsDigi*, Int_t> digi1, pair<const CbmStsDigi*, Int_t> digi2) {
               return digi1.first->GetTime() < digi2.first->GetTime();
             });
-  std::sort(fDigisB.begin(),
-            fDigisB.end(),
-            [](pair<const CbmStsDigi*, Int_t> digi1,
-               pair<const CbmStsDigi*, Int_t> digi2) {
+  std::sort(fDigisB.begin(), fDigisB.end(),
+            [](pair<const CbmStsDigi*, Int_t> digi1, pair<const CbmStsDigi*, Int_t> digi2) {
               return digi1.first->GetTime() < digi2.first->GetTime();
             });
 
   // --- Perform cluster finding
-  fClusterFinder->Exec(fDigisF,
-                       fClustersF,
-                       fSetupModule->GetAddress(),
-                       fNofStripsF,
-                       0,
-                       fTimeCutDigiSig,
-                       fTimeCutDigiAbs,
-                       fConnectEdgeFront,
-                       fParModule);
-  fClusterFinder->Exec(fDigisB,
-                       fClustersB,
-                       fSetupModule->GetAddress(),
-                       fNofStripsB,
-                       fNofStripsF,
-                       fTimeCutDigiSig,
-                       fTimeCutDigiAbs,
-                       fConnectEdgeBack,
-                       fParModule);
+  fClusterFinder->Exec(fDigisF, fClustersF, fSetupModule->GetAddress(), fNofStripsF, 0, fTimeCutDigiSig,
+                       fTimeCutDigiAbs, fConnectEdgeFront, fParModule);
+  fClusterFinder->Exec(fDigisB, fClustersB, fSetupModule->GetAddress(), fNofStripsB, fNofStripsF, fTimeCutDigiSig,
+                       fTimeCutDigiAbs, fConnectEdgeBack, fParModule);
 
   // --- Perform cluster analysis
   for (auto& cluster : fClustersF)
@@ -114,46 +96,29 @@ void CbmStsRecoModule::Reconstruct() {
     fClusterAna->Exec(cluster, fParModule);
 
   // --- Sort clusters by time
-  std::sort(fClustersF.begin(),
-            fClustersF.end(),
-            [](const CbmStsCluster& cluster1, const CbmStsCluster& cluster2) {
-              return (cluster1.GetTime() < cluster2.GetTime());
-            });
-  std::sort(fClustersB.begin(),
-            fClustersB.end(),
-            [](const CbmStsCluster& cluster1, const CbmStsCluster& cluster2) {
-              return (cluster1.GetTime() < cluster2.GetTime());
-            });
+  std::sort(fClustersF.begin(), fClustersF.end(), [](const CbmStsCluster& cluster1, const CbmStsCluster& cluster2) {
+    return (cluster1.GetTime() < cluster2.GetTime());
+  });
+  std::sort(fClustersB.begin(), fClustersB.end(), [](const CbmStsCluster& cluster1, const CbmStsCluster& cluster2) {
+    return (cluster1.GetTime() < cluster2.GetTime());
+  });
 
   // --- Perform hit finding
-  if (fHitFinder)  fHitFinder->Exec(fClustersF,
-                                    fClustersB,
-                                    fHits,
-                                    fSetupModule->GetAddress(),
-                                    fTimeCutClusterSig,
-                                    fTimeCutClusterAbs,
-                                    fDyActive,
-                                    fNofStripsF,
-                                    fStripPitchF,
-                                    fStereoFront,
-                                    fStereoBack,
-                                    fLorentzShiftF,
-                                    fLorentzShiftB,
-                                    fMatrix);
-  else if ( fHitFinderOrtho ) fHitFinderOrtho->Exec(fClustersF, fClustersB, fHits,
-                                                    fSetupModule->GetAddress(),
-                                                    fTimeCutClusterSig,
-                                                    fTimeCutClusterAbs,
-                                                    fNofStripsF, fNofStripsB,
-                                                    fStripPitchF, fStripPitchB,
-                                                    fLorentzShiftF, fLorentzShiftB,
-                                                    fMatrix);
+  if (fHitFinder)
+    fHitFinder->Exec(fClustersF, fClustersB, fHits, fSetupModule->GetAddress(), fTimeCutClusterSig, fTimeCutClusterAbs,
+                     fDyActive, fNofStripsF, fStripPitchF, fStereoFront, fStereoBack, fLorentzShiftF, fLorentzShiftB,
+                     fMatrix);
+  else if (fHitFinderOrtho)
+    fHitFinderOrtho->Exec(fClustersF, fClustersB, fHits, fSetupModule->GetAddress(), fTimeCutClusterSig,
+                          fTimeCutClusterAbs, fNofStripsF, fNofStripsB, fStripPitchF, fStripPitchB, fLorentzShiftF,
+                          fLorentzShiftB, fMatrix);
 }
 // -------------------------------------------------------------------------
 
 
 // -----   Reset before new time slice   -----------------------------------
-void CbmStsRecoModule::Reset() {
+void CbmStsRecoModule::Reset()
+{
   fDigisF.clear();
   fDigisB.clear();
 }
@@ -161,7 +126,8 @@ void CbmStsRecoModule::Reset() {
 
 
 // -----   Get the sensor parameters   -------------------------------------
-void CbmStsRecoModule::Init() {
+void CbmStsRecoModule::Init()
+{
 
   // Reconstruction is currently implemented for double-sided strip
   // sensors (class DssdStereo or DssdOrtho)
@@ -188,8 +154,8 @@ void CbmStsRecoModule::Init() {
 
   // --- Number of strips must be the same on both sides
   // --- Number of strips, strip pitch and stereo angle
-  fNofStripsF = fParSensor->GetParInt(4);
-  fNofStripsB = fParSensor->GetParInt(5);
+  fNofStripsF  = fParSensor->GetParInt(4);
+  fNofStripsB  = fParSensor->GetParInt(5);
   fStripPitchF = fParSensor->GetPar(6);
   fStripPitchB = fParSensor->GetPar(7);
   fStereoFront = fParSensor->GetPar(8);
@@ -200,18 +166,18 @@ void CbmStsRecoModule::Init() {
   assert(fStripPitchB > 0.);
 
   // --- For DssdStereo, number of strips and pitch must be the same on both sides
-  if ( type == CbmStsSensorClass::kDssdStereo ) {
-    assert ( fNofStripsB == fNofStripsF );
-    assert ( fStripPitchB == fStripPitchF );
+  if (type == CbmStsSensorClass::kDssdStereo) {
+    assert(fNofStripsB == fNofStripsF);
+    assert(fStripPitchB == fStripPitchF);
   }
 
   // --- Check consistency with geometric extensions
-  if ( type == CbmStsSensorClass::kDssdStereo ) {
+  if (type == CbmStsSensorClass::kDssdStereo) {
     assert(Double_t(fNofStripsF) * fStripPitchF <= fParSensor->GetPar(0));
     fDyActive = fParSensor->GetPar(3);
     assert(fDyActive <= fParSensor->GetPar(1));
   }
-  else if ( type == CbmStsSensorClass::kDssdOrtho ) {
+  else if (type == CbmStsSensorClass::kDssdOrtho) {
     assert(Double_t(fNofStripsF) * fStripPitchF <= fParSensor->GetPar(0));
     assert(Double_t(fNofStripsB) * fStripPitchB <= fParSensor->GetPar(1));
   }
@@ -226,10 +192,11 @@ void CbmStsRecoModule::Init() {
   fConnectEdgeBack  = kFALSE;
 
   // Algorithms
-  fClusterAna     = new CbmStsAlgoAnaCluster();
-  fClusterFinder  = new CbmStsAlgoFindClusters();
+  fClusterAna    = new CbmStsAlgoAnaCluster();
+  fClusterFinder = new CbmStsAlgoFindClusters();
   if (type == CbmStsSensorClass::kDssdStereo) fHitFinder = new CbmStsAlgoFindHits();
-  else fHitFinderOrtho = new CbmStsAlgoFindHitsOrtho();
+  else
+    fHitFinderOrtho = new CbmStsAlgoFindHitsOrtho();
 
   // Name
   fName = fSetupModule->GetName();
@@ -238,7 +205,8 @@ void CbmStsRecoModule::Init() {
 
 
 // -----   Info to string  -------------------------------------------------
-std::string CbmStsRecoModule::ToString() const {
+std::string CbmStsRecoModule::ToString() const
+{
   std::stringstream ss;
   ss << fSetupModule->ToString() << " Strips " << fNofStripsF << " / " << fNofStripsB;
   return ss.str();
diff --git a/reco/detectors/sts/CbmStsRecoModule.h b/reco/detectors/sts/CbmStsRecoModule.h
index 62227af1e764558c15510cd6f0c453b03d41848f..8870f3b378799e353732c9d6ec578131940085b6 100644
--- a/reco/detectors/sts/CbmStsRecoModule.h
+++ b/reco/detectors/sts/CbmStsRecoModule.h
@@ -9,7 +9,9 @@
 
 #include "CbmStsCluster.h"
 #include "CbmStsHit.h"
+
 #include <TNamed.h>
+
 #include <mutex>
 
 class TGeoHMatrix;
@@ -59,11 +61,8 @@ public:
      ** The Lorentz shift will be used to correct the hit position in
      ** hit finding.
      **/
-  CbmStsRecoModule(CbmStsModule* setupModule,
-                   const CbmStsParModule& parModule,
-                   const CbmStsParSensor& parSensor,
-                   Double_t lorentzShiftF,
-                   Double_t lorentzShiftB);
+  CbmStsRecoModule(CbmStsModule* setupModule, const CbmStsParModule& parModule, const CbmStsParSensor& parSensor,
+                   Double_t lorentzShiftF, Double_t lorentzShiftB);
 
 
   /** @brief Copy constructor (disabled) **/
@@ -137,11 +136,11 @@ private:
   UInt_t fNofStripsB                = 0;        ///< Number of sensor strips back side
   Double_t fStripPitchF             = 0.;       ///< Sensor strip pitch front side [cm]
   Double_t fStripPitchB             = 0.;       ///< Sensor strip pitch back side [cm]
-  Double_t fStereoFront   = 0.;       ///< Strip stereo angle front side [deg]
-  Double_t fStereoBack    = 0.;       ///< Strip stereo angle back side [deg]
-  TGeoHMatrix* fMatrix    = nullptr;  ///< Sensor position in global C.S. [cm]
-  Double_t fLorentzShiftF = 0.;       ///< Average Lorentz shift front side [cm|
-  Double_t fLorentzShiftB = 0.;       ///< Average Lorentz shift back side [cm|
+  Double_t fStereoFront             = 0.;       ///< Strip stereo angle front side [deg]
+  Double_t fStereoBack              = 0.;       ///< Strip stereo angle back side [deg]
+  TGeoHMatrix* fMatrix              = nullptr;  ///< Sensor position in global C.S. [cm]
+  Double_t fLorentzShiftF           = 0.;       ///< Average Lorentz shift front side [cm|
+  Double_t fLorentzShiftB           = 0.;       ///< Average Lorentz shift back side [cm|
 
   // --- Data
   std::vector<std::pair<const CbmStsDigi*, Long64_t>> fDigisF {};  //!
@@ -151,12 +150,12 @@ private:
   std::vector<CbmStsHit> fHits {};                                 //!
 
   // --- Settings
-  Double_t fTimeCutDigiSig = 3.;   ///< Time cut for cluster finding (in sigma)
-  Double_t fTimeCutDigiAbs = -1.;  ///< Time cut for cluster finding (in ns)
-  Double_t fTimeCutClusterSig = 4.;   ///< Time cut for hit finding (in ns)
-  Double_t fTimeCutClusterAbs = -1.;  ///< Time cut for hit finding (in sigma)
-  Bool_t fConnectEdgeFront = kFALSE;  ///< Round-the edge clustering front side
-  Bool_t fConnectEdgeBack  = kFALSE;  ///< Round-the edge clustering back side
+  Double_t fTimeCutDigiSig    = 3.;      ///< Time cut for cluster finding (in sigma)
+  Double_t fTimeCutDigiAbs    = -1.;     ///< Time cut for cluster finding (in ns)
+  Double_t fTimeCutClusterSig = 4.;      ///< Time cut for hit finding (in ns)
+  Double_t fTimeCutClusterAbs = -1.;     ///< Time cut for hit finding (in sigma)
+  Bool_t fConnectEdgeFront    = kFALSE;  ///< Round-the edge clustering front side
+  Bool_t fConnectEdgeBack     = kFALSE;  ///< Round-the edge clustering back side
 
 
   ClassDef(CbmStsRecoModule, 1);