diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C
index db1872bc75a3ee3fa3d356769ddd1ad89aab43e2..54cacc848aa03c6363e19ac75c1be81268e264be 100644
--- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C
+++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C
@@ -732,16 +732,18 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160,
   //  outfile << "parFile: " << parFile << std::endl;
   outfile << "digiFile: " << digiFile << std::endl;
   outfile << "recoFile: " << recoFile << std::endl;
-  //outfile << "Geometry: " << geoFile << std::endl;
+  outfile << "Geometry: " << setup << std::endl;
   outfile << "TrackCalParFile: " << TofFileFolder << cCalId << std::endl;
   outfile << "TofClusterFile :" << TofFileFolder + cFname << std::endl;
   outfile << "TofOutput :" << cFname << std::endl << std::endl;
   outfile << "Trigger:" << std::endl;
   outfile << "  fixedTimeWindow :" << eb_fixedTimeWindow << std::endl;
   outfile << "  MinNumberT0   :" << eb_TriggerMinNumberT0 << std::endl;
+  outfile << "  MaxNumberT0   :" << eb_TriggerMaxNumberT0 << std::endl;
   outfile << "  MinNumberSts  :" << eb_TriggerMinNumberSts << std::endl;
   outfile << "  MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl;
   outfile << "  MinNumberTof  :" << eb_TriggerMinNumberTof << std::endl;
+  outfile << "  MinNumberTofLayers  :" << eb_TriggerMinNumberTofLayers << std::endl;
   outfile << "  MinNumberRich :" << eb_TriggerMinNumberRich << std::endl;
   outfile.close();
   // ------------------------------------------------------------------------
diff --git a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx
index 6971573bf0d4f3bae701a79fe84e90391b10f9c4..dfb9d7ee05e7d46617d8fba9165b2769c427eadd 100644
--- a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx
+++ b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx
@@ -25,6 +25,7 @@
 #include "CbmTofHit.h"
 #include "CbmTofTracklet.h"
 #include "CbmTrackMatchNew.h"
+#include "CbmTrdDigi.h"
 #include "CbmTrdTrack.h"
 #include "CbmUtils.h"
 
@@ -207,18 +208,31 @@ void CbmRichMCbmQaReal::InitHistograms()
   fHM->Create1<TH1D>("fhRichRingsTimeLogZoom", "fhNofRichRingsTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhRichRingsTimeLogZoom2", "fhNofRichRingsTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
 
+  //TOF
   fHM->Create1<TH1D>("fhTofDigisTimeLog", "fhTofDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhTofDigisTimeLogZoom", "fhTofDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhTofDigisTimeLogZoom2", "fhTofDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
 
+  //STS
   fHM->Create1<TH1D>("fhStsDigisTimeLog", "fhStsDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhStsDigisTimeLogZoom", "fhStsDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhStsDigisTimeLogZoom2", "fhStsDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
 
+  //T0
   fHM->Create1<TH1D>("fhT0DigisTimeLog", "fhT0DigisTimeLog;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhT0DigisTimeLogZoom", "fhT0DigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
   fHM->Create1<TH1D>("fhT0DigisTimeLogZoom2", "fhT0DigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
 
+  //TRD1D
+  fHM->Create1<TH1D>("fhTrd1dDigisTimeLog", "fhTrd1dDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
+  fHM->Create1<TH1D>("fhTrd1dDigisTimeLogZoom", "fhTrd1dDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
+  fHM->Create1<TH1D>("fhTrd1dDigisTimeLogZoom2", "fhTrd1dDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
+
+  //TRD2D
+  fHM->Create1<TH1D>("fhTrd2dDigisTimeLog", "fhhTrd2dDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
+  fHM->Create1<TH1D>("fhTrd2dDigisTimeLogZoom", "fhhTrd2dDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
+  fHM->Create1<TH1D>("fhTrd2dDigisTimeLogZoom2", "fhhTrd2dDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
+
   //ToT
   fHM->Create1<TH1D>("fhRichDigisToT", "fhRichDigisToT;ToT [ns];Entries", 601, 9.975, 40.025);
   fHM->Create1<TH1D>("fhRichHitToT", "fhRichHitToT;ToT [ns];Entries", 601, 9.975, 40.025);
@@ -427,6 +441,13 @@ void CbmRichMCbmQaReal::InitHistograms()
                      4);  // 1: All 2: left; 3: right; 4: RICH
 
   fHM->Create1<TH1D>("fhRingTrackDistance", "fhRingTrackDistance;RingTrackDistance [cm];Entries", 31, -0.25, 14.75);
+  fHM->Create1<TH1D>("fhRingTrackDistance_X", "fhRingTrackDistance_X;RingTrackDistance X [cm];Entries", 100, -25.0,
+                     25.0);
+  fHM->Create1<TH1D>("fhRingTrackDistance_Y", "fhRingTrackDistance_Y;RingTrackDistance Y [cm];Entries", 100, -25.0,
+                     25.0);
+  fHM->Create2<TH2D>("fhRingTrackDistance_XY",
+                     "fhRingTrackDistance_XY;RingTrackDistance X [cm]; RingTrackDistance Y [cm]; Entries", 100, -25.0,
+                     25.0, 100, -25.0, 25.0);
 
   fHM->Create1<TH1D>("fhTrackRingDistance", "fhTrackRingDistance;TrackRingDistance [cm];Entries", 31, -0.5, 30.5);
   fHM->Create1<TH1D>("fhTrackRingDistanceOnTarget", "fhTrackRingDistanceOnTarget;TrackRingDistance [cm];Entries", 31,
@@ -589,6 +610,14 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/)
         fHM->H1("fhStsDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
         fHM->H1("fhStsDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
 
+        fHM->H1("fhTrd1dDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
+        fHM->H1("fhTrd1dDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
+        fHM->H1("fhTrd1dDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
+
+        fHM->H1("fhTrd2dDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
+        fHM->H1("fhTrd2dDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
+        fHM->H1("fhTrd2dDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
+
         fHM->H1("fhT0DigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
         fHM->H1("fhT0DigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
         fHM->H1("fhT0DigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
@@ -637,6 +666,25 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/)
       }
     }
 
+    if (fDigiMan->IsPresent(ECbmModuleId::kTrd)) {
+      int nofTrd1dDigis = fDigiMan->GetNofDigis(ECbmModuleId::kTrd);
+      for (int i = 0; i < nofTrd1dDigis; i++) {
+        const CbmTrdDigi* digi = fDigiMan->Get<CbmTrdDigi>(i);
+
+        CbmTrdDigi::eCbmTrdAsicType trdDigiType = digi->GetType();
+        if (trdDigiType == CbmTrdDigi::eCbmTrdAsicType::kSPADIC) {
+          fHM->H1("fhTrd1dDigisTimeLog")->Fill(digi->GetTime() + TsTimeAfterStart);
+          fHM->H1("fhTrd1dDigisTimeLogZoom")->Fill(digi->GetTime() + TsTimeAfterStart);
+          fHM->H1("fhTrd1dDigisTimeLogZoom2")->Fill(digi->GetTime() + TsTimeAfterStart);
+        }
+        else if (trdDigiType == CbmTrdDigi::eCbmTrdAsicType::kFASP) {
+          fHM->H1("fhTrd2dDigisTimeLog")->Fill(digi->GetTime() + TsTimeAfterStart);
+          fHM->H1("fhTrd2dDigisTimeLogZoom")->Fill(digi->GetTime() + TsTimeAfterStart);
+          fHM->H1("fhTrd2dDigisTimeLogZoom2")->Fill(digi->GetTime() + TsTimeAfterStart);
+        }
+      }
+    }
+
     {
       Int_t nrT0Digis = 0;
       if (fT0Digis) nrT0Digis = fT0Digis->size();
@@ -963,9 +1011,22 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/)
 
           std::pair<int, double> closeRing = FindClosestRing(tTrack, ringIndx);
           if (closeRing.first > -1) {
-            fHM->H1("fhTofBetaTrackswithClosestRingInRange")->Fill(getBeta(tTrack));
             fHM->H1("fhRingTrackDistance")->Fill(closeRing.second);
             fHM->H1("fhTracksWithRings")->Fill(1);
+            {
+              const CbmRichRing* ring = static_cast<CbmRichRing*>(fRichRings->At(ringIndx[closeRing.first]));
+
+              const int ringX    = ring->GetCenterX();
+              const int ringY    = ring->GetCenterY();
+              const double xDist = (tTrack->GetFitX(RichZPos) - ringX);
+              const double yDist = (tTrack->GetFitY(RichZPos) - ringY);
+              fHM->H1("fhRingTrackDistance_X")->Fill(xDist);
+              fHM->H1("fhRingTrackDistance_Y")->Fill(yDist);
+              fHM->H2("fhRingTrackDistance_XY")->Fill(xDist, yDist);
+
+              if (closeRing.second < ring->GetRadius() * 1.2)
+                fHM->H1("fhTofBetaTrackswithClosestRingInRange")->Fill(getBeta(tTrack));
+            }
           }
           //if (ringIndx.size() > 0)fHM->H1("fhTofBetaTrackswithRing")->Fill(getBeta(tTrack)); // ring is somewehere in Acc
           fHM->H1("fhTofBetaAll")->Fill(getBeta(tTrack));
@@ -1093,7 +1154,7 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/)
       fRingsWithTrack[5] += ringIndx.size() * nofTofTracks;
 
       for (unsigned int rings = 0; rings < ringIndx.size(); rings++) {
-        CbmRichRing* ring = static_cast<CbmRichRing*>(fRichRings->At(ringIndx[rings]));
+        const CbmRichRing* ring = static_cast<CbmRichRing*>(fRichRings->At(ringIndx[rings]));
         if (nullptr == ring) continue;
 
         fHM->H1("fhRichRingChi2")->Fill(ring->GetChi2());
@@ -1291,7 +1352,7 @@ std::pair<int, double> CbmRichMCbmQaReal::FindClosestRing(CbmTofTracklet* track,
   double closDist = -999999.99;
 
   for (unsigned int indx = 0; indx < ringIndx.size(); ++indx) {
-    CbmRichRing* ring = static_cast<CbmRichRing*>(fRichRings->At(ringIndx[indx]));
+    const CbmRichRing* ring = static_cast<CbmRichRing*>(fRichRings->At(ringIndx[indx]));
 
     int ringX = ring->GetCenterX();
     int ringY = ring->GetCenterY();
@@ -1302,7 +1363,7 @@ std::pair<int, double> CbmRichMCbmQaReal::FindClosestRing(CbmTofTracklet* track,
     const double rDist        = std::sqrt(xDist * xDist + yDist * yDist);
     const double RadiusFactor = 1.2;  // Factor of how big radius of acceptance should
 
-    if (rDist < ring->GetRadius() * RadiusFactor && cutRadius(ring)) {
+    if (/*rDist < ring->GetRadius() * RadiusFactor &&*/ cutRadius(ring)) {
       //std::cout<<"Track in defined Ring range ("<<ring->GetRadius()*RadiusFactor<<"cm) (RingRadius: "<<ring->GetRadius()<<"cm).  ";
 
       if (indx == 0) {
@@ -1429,16 +1490,16 @@ void CbmRichMCbmQaReal::DrawHist()
     c->Divide(1, 2);
     c->cd(1);
     DrawH1({fHM->H1("fhRichDigisTimeLog"), fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"),
-            fHM->H1("fhStsDigisTimeLog")},
-           {"RICH", "TOF", "T0", "STS"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
+            fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTrd1dDigisTimeLog"), fHM->H1("fhTrd2dDigisTimeLog")},
+           {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
     gPad->SetLeftMargin(0.1);
     gPad->SetRightMargin(0.10);
     fHM->H1("fhStsDigisTimeLog")->GetYaxis()->SetTitleOffset(0.7);
     fHM->H1("fhStsDigisTimeLog")->SetMinimum(0.9);
     c->cd(2);
     DrawH1({fHM->H1("fhRichDigisTimeLogZoom"), fHM->H1("fhTofDigisTimeLogZoom"), fHM->H1("fhT0DigisTimeLogZoom"),
-            fHM->H1("fhStsDigisTimeLogZoom")},
-           {"RICH", "TOF", "T0", "STS"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
+            fHM->H1("fhStsDigisTimeLogZoom"), fHM->H1("fhTrd1dDigisTimeLogZoom"), fHM->H1("fhTrd2dDigisTimeLogZoom")},
+           {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
     gPad->SetLeftMargin(0.1);
     gPad->SetRightMargin(0.1);
     fHM->H1("fhStsDigisTimeLogZoom")->GetYaxis()->SetTitleOffset(0.7);
@@ -1448,8 +1509,9 @@ void CbmRichMCbmQaReal::DrawHist()
   {
     fHM->CreateCanvas("rich_mcbm_richDigisTimeLog2", "rich_mcbm_richDigisTimeLog2", 1200, 600);
     DrawH1({fHM->H1("fhRichDigisTimeLogZoom2"), fHM->H1("fhTofDigisTimeLogZoom2"), fHM->H1("fhT0DigisTimeLogZoom2"),
-            fHM->H1("fhStsDigisTimeLogZoom2")},
-           {"RICH", "TOF", "T0", "STS"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
+            fHM->H1("fhStsDigisTimeLogZoom2"), fHM->H1("fhTrd1dDigisTimeLogZoom2"),
+            fHM->H1("fhTrd2dDigisTimeLogZoom2")},
+           {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99);
     gPad->SetLeftMargin(0.1);
     gPad->SetRightMargin(0.1);
     fHM->H1("fhStsDigisTimeLogZoom2")->GetYaxis()->SetTitleOffset(0.7);
@@ -1460,8 +1522,9 @@ void CbmRichMCbmQaReal::DrawHist()
     fHM->CreateCanvas("rich_mcbm_richDigisRingTimeLog", "rich_mcbm_richDigisRingTimeLog", 1200, 600);
     TH1D* copyRichDigi = (TH1D*) fHM->H1("fhRichDigisTimeLog")->Clone();
     TH1D* copyRichRing = (TH1D*) fHM->H1("fhRichRingsTimeLog")->Clone();
-    DrawH1({copyRichDigi, fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"), copyRichRing},
-           {"RICH", "TOF", "T0", "RICH RING"}, kLinear, kLog, true, 0.83, 0.75, 0.99, 0.99);
+    DrawH1({copyRichDigi, fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"), copyRichRing,
+            fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTrd1dDigisTimeLog"), fHM->H1("fhTrd2dDigisTimeLog")},
+           {"RICH", "TOF", "T0", "RICH RING", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.83, 0.75, 0.99, 0.99);
     gPad->SetLeftMargin(0.1);
     gPad->SetRightMargin(0.1);
     copyRichDigi->GetYaxis()->SetTitleOffset(0.7);
@@ -1704,6 +1767,17 @@ void CbmRichMCbmQaReal::DrawHist()
     DrawH1(fHM->H1("fhRingTrackDistance"));
   }
 
+  {
+    TCanvas* c = fHM->CreateCanvas("RingTrackDist_all", "RingTrackDist_all", 1800, 800);
+    c->Divide(3, 1);
+    c->cd(1);
+    DrawH1(fHM->H1("fhRingTrackDistance_X"));
+    c->cd(2);
+    DrawH1(fHM->H1("fhRingTrackDistance_Y"));
+    c->cd(3);
+    DrawH2(fHM->H2("fhRingTrackDistance_XY"));
+  }
+
   {
     TCanvas* c = fHM->CreateCanvas("ClosTrackRingXY", "ClosTrackRingXY", 1200, 800);
     c->Divide(2, 1);
@@ -1821,6 +1895,55 @@ void CbmRichMCbmQaReal::DrawHist()
     legend->Draw();
   }
 
+  {
+    TCanvas* c = fHM->CreateCanvas("TofBetaLog_pos", "TofBetaLog_pos", 1000, 1000);
+    c->SetLogy();
+
+    TH1D* copyTofBetaAll = (TH1D*) fHM->H1("fhTofBetaAll")->Clone();
+
+    Double_t max = copyTofBetaAll->GetMaximum();
+
+    copyTofBetaAll->GetXaxis()->SetRangeUser(0.0, 1.2);
+    copyTofBetaAll->Draw("HIST");
+
+    if (fHM->H1("fhTofBetaTracksWithHitsNoRing")->GetMaximum() > max)
+      max = fHM->H1("fhTofBetaTracksWithHitsNoRing")->GetMaximum();
+    fHM->H1("fhTofBetaTracksWithHitsNoRing")->SetLineColorAlpha(kGreen, 1);
+    fHM->H1("fhTofBetaTracksWithHitsNoRing")->Draw("HIST SAME");
+
+    //fHM->H1("fhTofBetaTracksNoRing")->SetLineColorAlpha(8, 1);
+    //fHM->H1("fhTofBetaTracksNoRing")->Draw("HIST SAME");
+
+    //fHM->H1("fhTofBetaTracksWithHits")->SetLineColorAlpha(44, 1);
+    //fHM->H1("fhTofBetaTracksWithHits")->Draw("HIST SAME");
+
+    if (fHM->H1("fhTofBetaTrackswithClosestRingInRange")->GetMaximum() > max)
+      max = fHM->H1("fhTofBetaTrackswithClosestRingInRange")->GetMaximum();
+    fHM->H1("fhTofBetaTrackswithClosestRingInRange")->SetLineColorAlpha(12, 1);
+    fHM->H1("fhTofBetaTrackswithClosestRingInRange")->Draw("HIST SAME");
+
+    if (fHM->H1("fhTofBetaRing")->GetMaximum() > max) max = fHM->H1("fhTofBetaRing")->GetMaximum();
+    fHM->H1("fhTofBetaRing")->SetLineColorAlpha(kRed, 1);
+    fHM->H1("fhTofBetaRing")->Draw("HIST SAME");
+
+    copyTofBetaAll->SetAxisRange(1., max * 1.8, "Y");
+
+    auto legend = new TLegend(0.75, 0.77, 0.99, 0.96);
+    legend->AddEntry(fHM->H1("fhTofBetaTracksWithHitsNoRing"), "Tracks with RichHits and no Ring", "l");
+    //legend->AddEntry(fHM->H1("fhTofBetaTracksWithHits"),"Tracks with RichHits","l");
+    //legend->AddEntry(fHM->H1("fhTofBetaTracksNoRing"),"Tracks with no Ring","l");
+    legend->AddEntry(fHM->H1("fhTofBetaTrackswithClosestRingInRange"), "Tracks with clos. Ring in +20% Radius", "l");
+    legend->AddEntry(fHM->H1("fhTofBetaRing"), "Tracks in good ring", "l");
+    if (fRestrictToAcc) { legend->AddEntry(fHM->H1("fhTofBetaAll"), "All Tracks in mRICH Acc.", "l"); }
+    else if (fRestrictToFullAcc) {
+      legend->AddEntry(copyTofBetaAll, "All Tracks in full mRICH Acc.", "l");
+    }
+    else {
+      legend->AddEntry(copyTofBetaAll, "All Tracks", "l");
+    }
+    legend->Draw();
+  }
+
   {
     fHM->CreateCanvas("TofBetaVsRadius", "TofBetaVsRadius", 800, 800);
     DrawH2(fHM->H2("fhTofBetaVsRadius"));
@@ -2426,7 +2549,7 @@ Double_t CbmRichMCbmQaReal::getBeta(CbmTofTracklet* track)
   return beta;
 }
 
-Double_t CbmRichMCbmQaReal::getBeta(CbmRichRing* ring)
+Double_t CbmRichMCbmQaReal::getBeta(const CbmRichRing* ring)
 {
 
   // calculate distance of ring center to penetration point in aerogel with assumption,
@@ -2478,7 +2601,7 @@ bool CbmRichMCbmQaReal::RestrictToFullAcc(Double_t x, Double_t y)
   return inside;
 }
 
-void CbmRichMCbmQaReal::analyseRing(CbmRichRing* ring, CbmEvent* ev, std::pair<int, double>& clTrack)
+void CbmRichMCbmQaReal::analyseRing(const CbmRichRing* ring, CbmEvent* ev, std::pair<int, double>& clTrack)
 {
 
   //std::cout<<"analyse a Ring"<<std::endl;
@@ -2570,7 +2693,7 @@ void CbmRichMCbmQaReal::analyseRing(CbmRichRing* ring, CbmEvent* ev, std::pair<i
 }
 
 
-Bool_t CbmRichMCbmQaReal::cutRadius(CbmRichRing* ring)
+Bool_t CbmRichMCbmQaReal::cutRadius(const CbmRichRing* ring)
 {
   if (ring->GetRadius() > 2. && ring->GetRadius() < 4.2) return true;
 
diff --git a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h
index bef7a06ae0136ab85e3485a6e3316858611282cd..5c1aa9d1a375e7b32832a940726bc3bbfddd6ecf 100644
--- a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h
+++ b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h
@@ -255,11 +255,11 @@ private:
 
   Double_t getBeta(CbmTofTracklet* track);
 
-  Double_t getBeta(CbmRichRing* ring);
+  Double_t getBeta(const CbmRichRing* ring);
 
-  void analyseRing(CbmRichRing* ring, CbmEvent* ev, std::pair<int, double>& clTrack);
+  void analyseRing(const CbmRichRing* ring, CbmEvent* ev, std::pair<int, double>& clTrack);
 
-  Bool_t cutRadius(CbmRichRing* ring);
+  Bool_t cutRadius(const CbmRichRing* ring);
   Bool_t cutDistance(std::pair<int, double>& clTrack);