diff --git a/ecal/scripts/emcal_electrons_analysis.cxx b/ecal/scripts/emcal_electrons_analysis.cxx
index d506ca8da13be7b5095c30b8fbc5b74009028154..d70a412f9591663c38415a058a2331a046d1ccdd 100644
--- a/ecal/scripts/emcal_electrons_analysis.cxx
+++ b/ecal/scripts/emcal_electrons_analysis.cxx
@@ -150,7 +150,11 @@ void emcal_electrons_analysis(const char* input_fname = "rec_electron_10kEvt.roo
   auto d2 = d1.Filter("ncluster==1");
   auto hClusterE1       = d2.Histo1D({"hClusterE1", "One Cluster Energy; Cluster Energy [GeV]; Events", 100, -0.5, 30.5}, "clusterE");
   auto hEres            = d2.Histo1D({"hEres",      "Energy Resolution; #DeltaE/E; Events",             100, -1.0, 1.0},  "E_res");
-  auto hEres_lmom       = d2.Filter("p_thr < 15.0")
+  auto hEres_lmom       = d2.Filter([=](std::vector<dd4pod::Geant4ParticleData> const& input) {
+        				auto Pthr = TMath::Sqrt(input[2].psx*input[2].psx + input[2].psy*input[2].psy + input[2].psz*input[2].psz + input[2].mass*input[2].mass);
+					if (Pthr < 15.0)
+						return true;
+					return false;}, {"mcparticles2"})
 	                    .Histo1D({"hEres_lmom", "Energy Resolution; #DeltaE/E; Events",             100, -1.0, 1.0},  "E_res");
   auto hPratio          = d2.Histo1D({"hPratio",    "Momentum ratio; p_{rec}/p_{thr}; Events",          100, 0.0, 1.0},   "p_ratio");
   auto hPthr_accepted   = d2.Filter([=] (const std::vector<float>& Prec, const std::vector<float>& Pthr) {