diff --git a/RecoEcal/EgammaClusterProducers/interface/PreshowerPhiClusterProducer.h b/RecoEcal/EgammaClusterProducers/interface/PreshowerPhiClusterProducer.h index 07d14c598a17f..6d2abd6f004d9 100644 --- a/RecoEcal/EgammaClusterProducers/interface/PreshowerPhiClusterProducer.h +++ b/RecoEcal/EgammaClusterProducers/interface/PreshowerPhiClusterProducer.h @@ -64,6 +64,8 @@ class PreshowerPhiClusterProducer : public edm::EDProducer { double aEta_[4]; double bEta_[4]; + double etThresh_; + PreshowerPhiClusterAlgo * presh_algo; // algorithm doing the real work // The set of used DetID's //std::set used_strips; diff --git a/RecoEcal/EgammaClusterProducers/src/PreshowerPhiClusterProducer.cc b/RecoEcal/EgammaClusterProducers/src/PreshowerPhiClusterProducer.cc index 0564b79148bd5..0700a4a928b81 100644 --- a/RecoEcal/EgammaClusterProducers/src/PreshowerPhiClusterProducer.cc +++ b/RecoEcal/EgammaClusterProducers/src/PreshowerPhiClusterProducer.cc @@ -65,6 +65,8 @@ PreshowerPhiClusterProducer::PreshowerPhiClusterProducer(const edm::ParameterSet esPhiClusterDeltaEta_ = ps.getParameter("esPhiClusterDeltaEta"); esPhiClusterDeltaPhi_ = ps.getParameter("esPhiClusterDeltaPhi"); + etThresh_ = ps.getParameter("etThresh"); + presh_algo = new PreshowerPhiClusterAlgo(esStripECut); } @@ -250,8 +252,13 @@ void PreshowerPhiClusterProducer::produce(edm::Event& evt, const edm::EventSetup else if (condP1 == 0 && condP2 == 1) sc.setPreshowerPlanesStatus(2); else if (condP1 == 0 && condP2 == 0) sc.setPreshowerPlanesStatus(3); - new_SC.push_back(sc); - //cout<<"result : "<energy()<<" "<0){ // calling postion().theta can be expensive + if (sc.energy()*sin(sc.position().theta())>etThresh_ ) + new_SC.push_back(sc); + } else { + new_SC.push_back(sc); + } + } // end of cycle over SCs // copy the preshower clusters into collections and put in the Event: