diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 232f9663990bab5c0dca35f2cf83a34590bfd388..bd61e690588b7c12a7b37927ca281cc9f98e56da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -132,8 +132,9 @@ benchmarks:physics:
 
 purge_image:
   stage: cleanup
-  dependencies:
-    - env
+  needs:
+    - benchmarks:reconstruction
+    - benchmarks:physics
   rules:
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
   script:
diff --git a/JugBase/src/components/MC2DummyParticle.cpp b/JugBase/src/components/MC2DummyParticle.cpp
index 49d035a58e5e8beb02bfcb8ddf09b1a05c261b0d..7fac29fbee91557f547693f953b70e240129cfaf 100644
--- a/JugBase/src/components/MC2DummyParticle.cpp
+++ b/JugBase/src/components/MC2DummyParticle.cpp
@@ -4,6 +4,7 @@
 #include "GaudiAlg/Producer.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "Gaudi/Algorithm.h"
+#include "GaudiKernel/RndmGenerators.h"
 
 // FCCSW
 #include "JugBase/DataHandle.h"
@@ -20,6 +21,8 @@ namespace Jug {
     public:
       DataHandle<dd4pod::Geant4ParticleCollection>     m_inputHitCollection{"mcparticles", Gaudi::DataHandle::Reader, this};
       DataHandle<eic::ReconstructedParticleCollection> m_outputHitCollection{"DummyReconstructedParticles", Gaudi::DataHandle::Writer, this};
+      Rndm::Numbers           m_gaussDist;
+      Gaudi::Property<double> m_smearing{this, "smearing", 0.01 /* 1 percent*/};
 
       MC2DummyParticle(const std::string& name, ISvcLocator* svcLoc) : GaudiAlgorithm(name, svcLoc)
       {
@@ -30,6 +33,12 @@ namespace Jug {
       {
         if (GaudiAlgorithm::initialize().isFailure())
           return StatusCode::FAILURE;
+
+        IRndmGenSvc* randSvc = svc<IRndmGenSvc>("RndmGenSvc", true);
+        StatusCode   sc      = m_gaussDist.initialize(randSvc, Rndm::Gauss(0.0, m_smearing.value()));
+        if (!sc.isSuccess()) {
+          return StatusCode::FAILURE;
+        }
         return StatusCode::SUCCESS;
       }
       StatusCode execute() override
@@ -42,9 +51,10 @@ namespace Jug {
           if (p.genStatus() != 1) {
             continue;
           }
+          
           double momentum = std::hypot(p.psx(), p.psy(), p.psz());
           double energy   = std::hypot(momentum, p.mass());
-          eic::ReconstructedParticle rec_part(p.pdgID(), energy, {p.psx(),p.psy(),p.psz()}, (double)p.charge(), p.mass());
+          eic::ReconstructedParticle rec_part(p.pdgID(), energy*m_gaussDist(), {p.psx()*m_gaussDist(),p.psy()*m_gaussDist(),p.psz()*m_gaussDist()}, (double)p.charge(), p.mass());
           out_parts->push_back(rec_part);
         }
         return StatusCode::SUCCESS;