00001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterPUCleaningTools_h 00002 #define RecoEcal_EgammaCoreTools_EcalClusterPUCleaningTools_h 00003 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "DataFormats/EgammaReco/interface/SuperCluster.h" 00016 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00017 00018 #include "FWCore/Framework/interface/ESHandle.h" 00019 00020 class CaloGeometry; 00021 00022 class EcalClusterPUCleaningTools { 00023 public: 00024 EcalClusterPUCleaningTools( const edm::Event &ev, const edm::EventSetup &es, edm::InputTag redEBRecHits, edm::InputTag redEERecHits ); 00025 ~EcalClusterPUCleaningTools(); 00026 reco::SuperCluster CleanedSuperCluster(float xi, const reco::SuperCluster &cluster, const edm::Event &ev); 00027 00028 private: 00029 void getGeometry( const edm::EventSetup &es ); 00030 void getEBRecHits( const edm::Event &ev, edm::InputTag redEBRecHits ); 00031 void getEERecHits( const edm::Event &ev, edm::InputTag redEERecHits ); 00032 00033 const CaloGeometry *geometry_; 00034 const EcalRecHitCollection *ebRecHits_; 00035 const EcalRecHitCollection *eeRecHits_; 00036 00037 }; 00038 00039 #endif