diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
index 0e4f2f72fa95553fd5c5f8bbcf2bcc59b7565c18..0d9f20870d3d6fb68494af0b939fa75729e81c75 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
+++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx
@@ -62,7 +62,7 @@ void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<inType>* vIn, c
     if (nDigisWin >= fminDigis) {
       // Reached required number of digis
       const double seedTime =
-        (currentT + winStartT) / 2.;  //one possibility. perhaps better to place seed at end of window.
+        fdOffset + (currentT + winStartT) / 2.;  //one possibility. perhaps better to place seed at end of window.
       fvSeedTimes->push_back(seedTime);
 
       if (vDigiMatch && fQa) {  // QA mode
diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
index d8dce3b9713d678e78c07de0272dd2fea117f01a..9da592f29f31a711dcefcac5474ae3959537e2d3 100644
--- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
+++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.h
@@ -62,6 +62,11 @@ public:
   template<class inType>
   void FillSeedTimes(const std::vector<inType>* vIn, const std::vector<CbmMatch>* vDigiMatch = nullptr);
 
+  /** @brief Sets a global constant offset which is applied to each trigger time
+   * @params Value of offset 
+   **/
+  void SetOffset(double offset) { fdOffset = offset; }
+
   /** @brief Returns number of seed times currently stored in buffer. */
   size_t GetNofSeeds() { return fvSeedTimes->size(); }
 
@@ -82,6 +87,9 @@ private:
   /** @brief ``Dead time'' i.e. time interval which is discarded after a seed is found. */
   double fdDeadT = 0.;
 
+  /** @brief Global time offset which is applied to each trigger time. */
+  double fdOffset = 0.;
+
   /** @brief Fetches time at position i of either a digi vector or vector of times. */
   template<class inType>
   double GetTime(const std::vector<inType>* vIn, int32_t i);
diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
index 7f106fee544ff7f779a3cefcb6fa6ee284ace531..d748d81e553d755bde7454992891b8bc3ca34e3a 100644
--- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
+++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx
@@ -47,13 +47,14 @@ void CbmTaskBuildRawEvents::AddSeedTimeFillerToList(RawEventBuilderDetector seed
   fpAlgo->SetSeedTimes(fSeedTimes);
 }
 
-void CbmTaskBuildRawEvents::SetSlidingWindowSeedFinder(Int_t minDigis, Double_t dWindDur, Double_t dDeadT)
+void CbmTaskBuildRawEvents::SetSlidingWindowSeedFinder(int32_t minDigis, double dWindDur, double dDeadT, double dOffset)
 {
   if (fSeedFinderSlidingWindow) {
     delete fSeedFinderSlidingWindow;
     fSeedFinderSlidingWindow = nullptr;
   }
   fSeedFinderSlidingWindow = new CbmSeedFinderSlidingWindow(fSeedTimes, minDigis, dWindDur, dDeadT);
+  fSeedFinderSlidingWindow->SetOffset(dOffset);
 
   if (fSeedTimes == nullptr) { fSeedTimes = new std::vector<Double_t>; }
   fpAlgo->SetSeedTimes(fSeedTimes);
diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h
index 95279cb61003d23b350961652bf087bfead7d07e..88a5762aacb4bacf7dc0bd718b875704ab8bb5ca 100644
--- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h
+++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h
@@ -122,7 +122,7 @@ public:
   void SetSeedFinderQa(Bool_t bFlagIn = kTRUE);
   void PrintTimings();
   void AddSeedTimeFillerToList(RawEventBuilderDetector seedDet);
-  void SetSlidingWindowSeedFinder(Int_t minDigis, Double_t dWindDur, Double_t dDeadT);
+  void SetSlidingWindowSeedFinder(int32_t minDigis, double dWindDur, double dDeadT, double dOffset = 0.0);
 
   void DumpSeedTimesFromDetList();
   void SetSeedTimeWindow(Double_t beg, Double_t end) { fpAlgo->SetSeedTimeWindow(beg, end); }