diff --git a/reco/eventbuilder/digis/CbmSeedFinderQa.cxx b/reco/eventbuilder/digis/CbmSeedFinderQa.cxx
index 281b54332f38e620cdc9b728ae264ef6af838efa..842e69ec1863224118b43eb587675bb03d41f147 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderQa.cxx
+++ b/reco/eventbuilder/digis/CbmSeedFinderQa.cxx
@@ -20,13 +20,13 @@ CbmSeedFinderQa::CbmSeedFinderQa() : fOutFolder("SeedFinderQA", "Seed finder QA"
 
   // --- Init histograms
   fhLinkedMCEventsPerTrigger =
-    new TH1F("fhLinkedMCEventsPerTrigger", "Linked MC events per trigger (=0 for pure noise)", 5, -1, 4);
+    new TH1F("fhLinkedMCEventsPerTrigger", "Linked MC events per trigger (=0 for pure noise)", 5, -1.5, 3.5);
   fhLinkedMCEventsPerTrigger->SetCanExtend(TH1::kAllAxes);
 
-  fhLinkedTriggersPerMCEvent = new TH1F("fhLinkedTriggersPerMCEvent", "Linked triggers per MC event", 5, -1, 4);
+  fhLinkedTriggersPerMCEvent = new TH1F("fhLinkedTriggersPerMCEvent", "Linked triggers per MC event", 5, -1.5, 3.5);
   fhLinkedTriggersPerMCEvent->SetCanExtend(TH1::kAllAxes);
 
-  fhMatchedTriggersPerMCEvent = new TH1F("fhMatchedTriggersPerMCEvent", "Matched triggers per MC event", 5, -1, 4);
+  fhMatchedTriggersPerMCEvent = new TH1F("fhMatchedTriggersPerMCEvent", "Matched triggers per MC event", 5, -1.5, 3.5);
   fhMatchedTriggersPerMCEvent->SetCanExtend(TH1::kAllAxes);
 
   fhCorrectDigiRatio = new TH1F("fhCorrectDigiRatio", "Correct digis per seed [pct]", 416, -2, 102);
@@ -43,6 +43,9 @@ CbmSeedFinderQa::CbmSeedFinderQa() : fOutFolder("SeedFinderQA", "Seed finder QA"
   fhTimeOffset = new TH1F("fhTimeOffsetMatched", "tSeed - tMCMatched [ns]", 20, -5, 5);
   fhTimeOffset->SetCanExtend(TH1::kAllAxes);
 
+  fhTimeOffsetSingletOnly = new TH1F("fhTimeOffsetSingletOnly", "tSeed - tMCMatched [ns], one-to-one only", 20, -5, 5);
+  fhTimeOffsetSingletOnly->SetCanExtend(TH1::kAllAxes);
+
   fhTimeOffsetClosest = new TH1F("fhTimeOffsetClosest", "tSeed - tMCClosest [ns]", 20, -5, 5);
   fhTimeOffsetClosest->SetCanExtend(TH1::kAllAxes);
 
@@ -53,13 +56,14 @@ CbmSeedFinderQa::CbmSeedFinderQa() : fOutFolder("SeedFinderQA", "Seed finder QA"
   histFolder->Add(fhCorrectVsFound);
   histFolder->Add(fhCorrectVsFoundNoNoise);
   histFolder->Add(fhTimeOffset);
+  histFolder->Add(fhTimeOffsetSingletOnly);
   histFolder->Add(fhTimeOffsetClosest);
   histFolder->Add(fhLinkedMCEventsPerTrigger);
   histFolder->Add(fhLinkedTriggersPerMCEvent);
   histFolder->Add(fhMatchedTriggersPerMCEvent);
 
   fCanv = new CbmQaCanvas("cSummary", "", 4 * 400, 3 * 400);
-  fCanv->Divide2D(10);
+  fCanv->Divide2D(11);
   fOutFolder.Add(fCanv);
 }
 
@@ -197,7 +201,6 @@ void CbmSeedFinderQa::FillQaMCInfo()
   vMatchedTriggersPerMCEvent.resize(nEvents, 0);
 
   for (uint32_t iSeed = 0; iSeed < fvEventMatchesPerTs.size(); iSeed++) {
-
     const CbmMatch eventMatch = fvEventMatchesPerTs.at(iSeed);
     for (int32_t iLink = 0; iLink < eventMatch.GetNofLinks(); iLink++) {
       const CbmLink eventLink = eventMatch.GetLink(iLink);
@@ -207,6 +210,16 @@ void CbmSeedFinderQa::FillQaMCInfo()
     vMatchedTriggersPerMCEvent[fEventList->GetEventIndex(matchedLink)]++;
   }
 
+  for (uint32_t iSeed = 0; iSeed < fvEventMatchesPerTs.size(); iSeed++) {
+    const CbmMatch eventMatch = fvEventMatchesPerTs.at(iSeed);
+    const CbmLink matchedLink = eventMatch.GetMatchedLink();
+    if (vMatchedTriggersPerMCEvent[fEventList->GetEventIndex(matchedLink)] == 1) {
+      const double seedTime = fvSeedTimesPerTs[iSeed];
+      const double timeDiff = seedTime - fEventList->GetEventTime(matchedLink.GetEntry(), matchedLink.GetFile());
+      fhTimeOffsetSingletOnly->Fill(timeDiff);
+    }
+  }
+
   for (const auto& value : vLinkedTriggersPerMCEvent) {
     fhLinkedTriggersPerMCEvent->Fill(value);
   }
@@ -306,15 +319,18 @@ void CbmSeedFinderQa::WriteHistos()
   fhTimeOffset->DrawCopy("colz", "");
 
   fCanv->cd(8);
-  fhTimeOffsetClosest->DrawCopy("colz", "");
+  fhTimeOffsetSingletOnly->DrawCopy("colz", "");
 
   fCanv->cd(9);
-  fhLinkedMCEventsPerTrigger->DrawCopy("colz", "");
+  fhTimeOffsetClosest->DrawCopy("colz", "");
 
   fCanv->cd(10);
-  fhLinkedTriggersPerMCEvent->DrawCopy("colz", "");
+  fhLinkedMCEventsPerTrigger->DrawCopy("colz", "");
 
   fCanv->cd(11);
+  fhLinkedTriggersPerMCEvent->DrawCopy("colz", "");
+
+  fCanv->cd(12);
   fhMatchedTriggersPerMCEvent->DrawCopy("colz", "");
 
   FairSink* sink = FairRootManager::Instance()->GetSink();
diff --git a/reco/eventbuilder/digis/CbmSeedFinderQa.h b/reco/eventbuilder/digis/CbmSeedFinderQa.h
index d572e148281a21df7a28da6a0768c4439820435c..a95fdfa07fce9571c9fdfc8c1e4aadcbcfb10710 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderQa.h
+++ b/reco/eventbuilder/digis/CbmSeedFinderQa.h
@@ -106,6 +106,8 @@ private:
   TH2I* fhCorrectVsFoundNoNoise     = nullptr;  /// correct digis per event vs found digis per event, disregarding noise
   TH1F* fhTimeOffset                = nullptr;  /// difference between true event time and seed time
   TH1F* fhTimeOffsetClosest         = nullptr;  /// difference between seed time and closest MC event time
+  TH1F* fhTimeOffsetSingletOnly =
+    nullptr;  /// difference between true event time and seed time for one-to-one matched cases
 
   CbmQaCanvas* fCanv;  ///summary canvas
 
diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
index e2249d02ab55ffe60062590b8e71c45a17a33fdd..bca3bcc80b59218f9354854a9c8f346cc70743f3 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
+++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
@@ -57,6 +57,7 @@ void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<inType>* vIn, c
       for (uint32_t i = 0; i < fvSeedTimes->size(); i++) {
         fQa->FillQaSeedInfo(i, i, &eventMatches, fvSeedTimes->at(i));
       }
+      fQa->FillQaMCInfo();
     }
     return;
   }
diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
index e85bf76969b60489d02f1eeabfe7f216e9b9b262..5c2b49b5bf740dbffcae5c7a67edfdf97803d435 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
+++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
@@ -77,6 +77,9 @@ public:
     fIdealModeFileId = fileId;
   }
 
+  /** @brief Is ``ideal mode'' switched on? **/
+  bool IsIdealMode() { return fbIdealMode; }
+
   /** @brief Returns number of seed times currently stored in buffer. */
   size_t GetNofSeeds() { return fvSeedTimes->size(); }