Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:43

0001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterPUCleaningTools_h
0002 #define RecoEcal_EgammaCoreTools_EcalClusterPUCleaningTools_h
0003 
0004 /** \class EcalClusterPUCleaningTools
0005  *  
0006  * tool to clean reco::Supercluster from effects of multiple interactions ( PU )
0007  *
0008  * \author G. Franzoni - UMN
0009  * 
0010  * \version $Id: 
0011  *
0012  */
0013 
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
0018 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0019 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0020 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0021 
0022 class CaloGeometry;
0023 
0024 class EcalClusterPUCleaningTools {
0025 public:
0026   EcalClusterPUCleaningTools(edm::ConsumesCollector &cc,
0027                              const edm::InputTag &redEBRecHits,
0028                              const edm::InputTag &redEERecHits);
0029   ~EcalClusterPUCleaningTools();
0030   reco::SuperCluster CleanedSuperCluster(float xi,
0031                                          const reco::SuperCluster &cluster,
0032                                          const edm::Event &ev,
0033                                          const edm::EventSetup &es);
0034 
0035 private:
0036   void getEBRecHits(const edm::Event &ev);
0037   void getEERecHits(const edm::Event &ev);
0038 
0039   const edm::EDGetTokenT<EcalRecHitCollection> pEBRecHitsToken_;
0040   const edm::EDGetTokenT<EcalRecHitCollection> pEERecHitsToken_;
0041   const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> geometryToken_;
0042 
0043   const EcalRecHitCollection *ebRecHits_;
0044   const EcalRecHitCollection *eeRecHits_;
0045 };
0046 
0047 #endif