diff --git a/Digitisers/SimpleDigi/src/PlanarDigiAlg.cpp b/Digitisers/SimpleDigi/src/PlanarDigiAlg.cpp
index 9c073a70b8a4723435abf9abc0f80e53399641a5..23e6b9a541f70f3d4891147075e3ff883a974332 100644
--- a/Digitisers/SimpleDigi/src/PlanarDigiAlg.cpp
+++ b/Digitisers/SimpleDigi/src/PlanarDigiAlg.cpp
@@ -174,6 +174,7 @@ StatusCode PlanarDigiAlg::execute()
   int i = 0;
   for( auto SimTHit : *STHcol ) {
     if (SimTHit.getEDep()<=_eThreshold) continue;
+    if (gsl_ran_flat(_rng, 0, 1)>_efficiency) continue;
     debug() << "MCParticle id " << SimTHit.getMCParticle().id() << endmsg;
 
     const int celId = SimTHit.getCellID() ;
diff --git a/Digitisers/SimpleDigi/src/PlanarDigiAlg.h b/Digitisers/SimpleDigi/src/PlanarDigiAlg.h
index 981a171c2a8f6503242f82894db75ff0e8b5735a..3f9dafe560407e3416bad5fa5aa7b103d23be14c 100644
--- a/Digitisers/SimpleDigi/src/PlanarDigiAlg.h
+++ b/Digitisers/SimpleDigi/src/PlanarDigiAlg.h
@@ -83,6 +83,7 @@ protected:
   // cov[0]=thetaU, cov[1]=phiU, cov[2]=resU, cov[0]=thetaV, cov[1]=phiV, cov[2]=resV
   Gaudi::Property<bool> _usePlanarTag{ this, "UsePlanarTag", true };
   Gaudi::Property<float> _eThreshold{ this, "EnergyThreshold", 0 };
+  Gaudi::Property<float> _efficiency{ this, "Efficiency", 1 };
   Gaudi::Property<float> _maxPull{ this, "PullCutToRetry", 1000. };
   Gaudi::Property<bool> _parameterize{ this, "ParameterizeResolution", false};
   Gaudi::Property<FloatVec> _parU{ this, "ParametersU", {0} };