diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.cxx b/MQ/mcbm/CbmDeviceDigiEventSink.cxx
index cdf99c95fcfd36f5f2f912ad8f813a4468038571..b54e6f8213228bf0aaa1d33e73dd07f8b55dd3a2 100644
--- a/MQ/mcbm/CbmDeviceDigiEventSink.cxx
+++ b/MQ/mcbm/CbmDeviceDigiEventSink.cxx
@@ -622,7 +622,8 @@ void CbmDeviceDigiEventSink::PrepareTreeEntry(CbmEventTimeslice unpTs)
     TimesliceMetaData(std::move(unpTs.fTsMetaData));
 
   /// Extract CbmEvent vector from input message
-  (*fEventsSel) = std::move(unpTs.GetSelectedData());
+  // FU, 29.06.22 Remove std::move to allow copy ellision
+  (*fEventsSel) = unpTs.GetSelectedData();
   if (kTRUE == fbFillHistos) {
     /// Accumulated counts, will show rise + plateau pattern in spill
     fulProcessedEvents += fEventsSel->size();
diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.h b/MQ/mcbm/CbmDeviceDigiEventSink.h
index 958fdc1a7ecba79def95a9d16b2ec6ff3bc34b2b..024bc9e2fddd14dc0cf37b86043906521d217df4 100644
--- a/MQ/mcbm/CbmDeviceDigiEventSink.h
+++ b/MQ/mcbm/CbmDeviceDigiEventSink.h
@@ -152,7 +152,7 @@ private:
   CbmTsEventHeader* fEvtHeader = nullptr;
   /// TS MetaData storage
   TClonesArray* fTimeSliceMetaDataArray = nullptr;  //!
-  TimesliceMetaData* fTsMetaData        = nullptr;
+                                                    //  TimesliceMetaData* fTsMetaData        = nullptr;
   /// CbmEvents
   std::vector<CbmDigiEvent>* fEventsSel = nullptr;  //! output container of CbmEvents
   /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!)
diff --git a/analysis/PWGDIL/dielectron/lmvm/LmvmTask.cxx b/analysis/PWGDIL/dielectron/lmvm/LmvmTask.cxx
index 092452b9b99b5f6de8ef0c4ea5773023e5e4abf9..c8d9cdfc55a812b7907bdfcbe8424719cbcaffea 100644
--- a/analysis/PWGDIL/dielectron/lmvm/LmvmTask.cxx
+++ b/analysis/PWGDIL/dielectron/lmvm/LmvmTask.cxx
@@ -1164,7 +1164,7 @@ void LmvmTask::DifferenceSignalAndBg()
       fH.FillH2("hTrdElLikePur_El", cand.fMomentum.Mag(), cand.fTrdLikeEl, fW);
       fH.FillH2("hTofM2Pur_El", cand.fMomentum.Mag(), cand.fMass2, fW);
     }
-    else if (!cand.IsMcSignal() && std::abs(cand.fMcPdg != 11)) {
+    else if (!cand.IsMcSignal() && std::abs(cand.fMcPdg) != 11) {
       fH.FillH2("hAnnRichVsMomPur_Bg", cand.fMomentum.Mag(), cand.fRichAnn, fW);
       fH.FillH2("hTrdElLikePur_Bg", cand.fMomentum.Mag(), cand.fTrdLikeEl, fW);
       fH.FillH2("hTofM2Pur_Bg", cand.fMomentum.Mag(), cand.fMass2, fW);
diff --git a/analysis/common/analysis_tree_converter/CbmTofHitsConverter.cxx b/analysis/common/analysis_tree_converter/CbmTofHitsConverter.cxx
index 2909165515e52eda0905c60a7013cd592c81b9c1..1a373d987bc49585d36ea5b7abecc0d748ad34d1 100644
--- a/analysis/common/analysis_tree_converter/CbmTofHitsConverter.cxx
+++ b/analysis/common/analysis_tree_converter/CbmTofHitsConverter.cxx
@@ -96,8 +96,8 @@ void CbmTofHitsConverter::ProcessData(CbmEvent* event)
     event_id = FairRootManager::Instance()->GetEntryNr();
   }
 
-  const int n_tracks   = event ? event->GetNofData(ECbmDataType::kGlobalTrack) : cbm_global_tracks_->GetEntriesFast();
-  const int n_tof_hits = event ? event->GetNofData(ECbmDataType::kTofHit) : cbm_tof_hits_->GetEntriesFast();
+  const int n_tracks = event ? event->GetNofData(ECbmDataType::kGlobalTrack) : cbm_global_tracks_->GetEntriesFast();
+  //  const int n_tof_hits = event ? event->GetNofData(ECbmDataType::kTofHit) : cbm_tof_hits_->GetEntriesFast(); // FU, 02.08.22
 
   if (n_tracks <= 0) {
     LOG(warn) << "No global tracks!";
diff --git a/core/data/raw/AccDataSis18.h b/core/data/raw/AccDataSis18.h
index 538fdf0840ff4138bbf2e718d021dfd9dedf51ff..de31a2491f9935ac81816d6873a6bed7ff9a38d4 100644
--- a/core/data/raw/AccDataSis18.h
+++ b/core/data/raw/AccDataSis18.h
@@ -17,6 +17,8 @@ public:
 
   AccTimingEvent(std::string sLine, bool bVerbose = false);
 
+  virtual ~AccTimingEvent() = default;
+
   void Print() const;
 
   uint32_t GetGroupId() const { return ((fulRawEvent >> kOffsetGroupId) & ((1ULL << kNbBitsGroupId) - 1)); }
@@ -95,6 +97,8 @@ public:
   {
   }
 
+  virtual ~AccStatusTs() = default;
+
   void SetLastEvtBefTs(AccTimingEvent lastEvtBefTs) { fLastEvtBeforeTs = lastEvtBefTs; }
 
   /// True when we start within a spill cycle (not in short interval between cycle end and cycle start))
diff --git a/core/detectors/trd/CbmTrdFASP.cxx b/core/detectors/trd/CbmTrdFASP.cxx
index 30dcc7fd3be4ffe53ebcd1791535a9d1cc0c7144..fcd255666bdbb3fce900ebe56451b804a8f838d6 100644
--- a/core/detectors/trd/CbmTrdFASP.cxx
+++ b/core/detectors/trd/CbmTrdFASP.cxx
@@ -539,7 +539,7 @@ void CbmTrdFASP::ScanDigi(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdigi,
     t /= 10;
     r /= 10;
     if (VERBOSE)
-      printf("  time buffer[5ns]=%4llu / phys[ns]=%lu charge[fC]=%5.1f / %5.1f", time, digi->GetTimeDAQ(), t, r);
+      printf("  time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f / %5.1f", time, digi->GetTimeDAQ(), t, r);
     // tilt pad channel
     if (t > 0) {
       if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
@@ -621,7 +621,8 @@ void CbmTrdFASP::ScanDigiNE(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdig
       }
       digi->GetCharge(t, dt);
       t /= 10.;
-      if (VERBOSE) printf("  [T] time buffer[5ns]=%4llu / phys[ns]=%lu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), t);
+      if (VERBOSE)
+        printf("  [T] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), t);
       // tilt pad channel
       if (t > 0) {
         if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
@@ -665,7 +666,8 @@ void CbmTrdFASP::ScanDigiNE(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdig
       digi->GetCharge(t, dt);
       t /= 10.;
 
-      if (VERBOSE) printf("  [T] time buffer[5ns]=%4llu / phys[ns]=%lu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), t);
+      if (VERBOSE)
+        printf("  [T] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), t);
       // tilt pad channel
       if (t > 0) {
         if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
@@ -712,7 +714,7 @@ void CbmTrdFASP::ScanDigiNE(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdig
     }
     r = digi->GetCharge(t, dt);
     r /= 10.;
-    if (VERBOSE) printf("  [R] time buffer[5ns]=%4llu / phys[ns]=%lu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), r);
+    if (VERBOSE) printf("  [R] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ", time, digi->GetTimeDAQ(), r);
 
     // rect pad channel
     if (r > 0) {
diff --git a/reco/L1/CbmL1.h b/reco/L1/CbmL1.h
index d75b79d2d4f0f3cb83fd114ef57f1f437fcf2af5..0d9741de880892ad110492b41559939fcaff240a 100644
--- a/reco/L1/CbmL1.h
+++ b/reco/L1/CbmL1.h
@@ -52,7 +52,7 @@
 #include "L1Algo/L1Vector.h"
 #include "L1EventEfficiencies.h"
 
-class L1AlgoInputData;
+struct L1AlgoInputData;
 class L1Algo;
 class L1Event;
 class CbmL1ParticlesFinder;
diff --git a/reco/L1/L1Algo/L1MaterialInfo.cxx b/reco/L1/L1Algo/L1MaterialInfo.cxx
index 267d97ca3d8f798fdb3ac3c13ecfd56df2790304..0cfa4d6a64327ebccb2dffb9176beb25892b2edd 100644
--- a/reco/L1/L1Algo/L1MaterialInfo.cxx
+++ b/reco/L1/L1Algo/L1MaterialInfo.cxx
@@ -75,7 +75,7 @@ L1Material::L1Material() {}
 
 //------------------------------------------------------------------------------------------------------------------------------------
 //
-L1Material::~L1Material() {}
+L1Material::~L1Material() noexcept {}
 
 //------------------------------------------------------------------------------------------------------------------------------------
 //
diff --git a/reco/L1/ParticleFinder/CbmL1PFFitter.h b/reco/L1/ParticleFinder/CbmL1PFFitter.h
index d4dacf99b502e33152fd541c96ab076319855fcf..4c08cf58595bb88fc3872a1189d9aea8da266630 100644
--- a/reco/L1/ParticleFinder/CbmL1PFFitter.h
+++ b/reco/L1/ParticleFinder/CbmL1PFFitter.h
@@ -28,7 +28,7 @@ class CbmL1Track;
 class CbmStsTrack;
 class L1TrackPar;
 class L1UMeasurementInfo;
-class L1MaterialInfo;
+struct L1MaterialInfo;
 class L1Station;
 class L1FieldRegion;
 class CbmKFVertex;
diff --git a/reco/detectors/rich/unpack/CbmRichUnpackMonitor.cxx b/reco/detectors/rich/unpack/CbmRichUnpackMonitor.cxx
index 6e31dec262515e438cd4455d788acba91e4d4078..8a7e48e61c5b88207e193ccbf46a9f18fcca7aa4 100644
--- a/reco/detectors/rich/unpack/CbmRichUnpackMonitor.cxx
+++ b/reco/detectors/rich/unpack/CbmRichUnpackMonitor.cxx
@@ -81,7 +81,7 @@ Bool_t CbmRichUnpackMonitor::ResetHistograms()
   return kTRUE;
 }
 
-Bool_t CbmRichUnpackMonitor::CreateDebugHistograms(CbmMcbm2018RichPar* pUnpackPar) { return kTRUE; }
+Bool_t CbmRichUnpackMonitor::CreateDebugHistograms(CbmMcbm2018RichPar* /*pUnpackPar*/) { return kTRUE; }
 
 Bool_t CbmRichUnpackMonitor::ResetDebugHistograms() { return kTRUE; }
 // -------------------------------------------------------------------------
@@ -105,8 +105,8 @@ void CbmRichUnpackMonitor::FillDigisToTDiRICH(Int_t Address, Double_t ToT)
 }
 
 // -------------------------------------------------------------------------
-void CbmRichUnpackMonitor::PrintDebugInfo(const uint64_t MsStartTime, const size_t NrProcessedTs,
-                                          const uint16_t msDescriptorFlags, const uint32_t uSize)
+void CbmRichUnpackMonitor::PrintDebugInfo(const uint64_t /*MsStartTime*/, const size_t /*NrProcessedTs*/,
+                                          const uint16_t /*msDescriptorFlags*/, const uint32_t /*uSize*/)
 {
 }
 
diff --git a/reco/mq/CbmDevBuildEvents.h b/reco/mq/CbmDevBuildEvents.h
index ceb7c035529e3897914d8f8a2dd06d1e2e45ded2..7b4a52a4f5f3e3fccea7add29f6a1e8bad90f316 100644
--- a/reco/mq/CbmDevBuildEvents.h
+++ b/reco/mq/CbmDevBuildEvents.h
@@ -53,7 +53,7 @@ private:
 
   /// Statistics & first TS rejection
   uint64_t fulNumMessages = 0;
-  uint64_t fulTsCounter   = 0;
+  //  uint64_t fulTsCounter   = 0;
 
   /// Processing algos
   cbm::algo::EventBuilder fEvbuildAlgo;
diff --git a/reco/mq/CbmDevTrigger.h b/reco/mq/CbmDevTrigger.h
index 5ab19fdf16ded615eb797db1462477a019725c5a..ffe7acfe59414d9dc3e296f09f564dc27aafe5ed 100644
--- a/reco/mq/CbmDevTrigger.h
+++ b/reco/mq/CbmDevTrigger.h
@@ -28,7 +28,7 @@
 #include <chrono>
 #include <vector>
 
-class CbmDigiTimeslice;
+struct CbmDigiTimeslice;
 class CbmTsEventHeader;
 class TimesliceMetaData;