00001 #ifndef EgammaIsolationProducers_EgammaRecHitIsolation_h 00002 #define EgammaIsolationProducers_EgammaRecHitIsolation_h 00003 //***************************************************************************** 00004 // File: EgammaRecHitIsolation.h 00005 // ---------------------------------------------------------------------------- 00006 // OrigAuth: Matthias Mozer, adapted from EgammaHcalIsolation by S. Harper 00007 // Institute: IIHE-VUB, RAL 00008 //============================================================================= 00009 //***************************************************************************** 00010 00011 //C++ includes 00012 #include <vector> 00013 #include <functional> 00014 00015 //CMSSW includes 00016 #include "FWCore/Framework/interface/ESHandle.h" 00017 #include "DataFormats/Candidate/interface/Candidate.h" 00018 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00019 #include "RecoCaloTools/MetaCollections/interface/CaloRecHitMetaCollections.h" 00020 #include "RecoCaloTools/Selectors/interface/CaloDualConeSelector.h" 00021 00022 00023 class EgammaRecHitIsolation { 00024 public: 00025 00026 //constructors 00027 EgammaRecHitIsolation (double extRadius, 00028 double intRadius, 00029 double etaSlice, 00030 double etLow, 00031 edm::ESHandle<CaloGeometry> , 00032 CaloRecHitMetaCollectionV* , 00033 DetId::Detector detector); 00034 00035 double getEtSum (const reco::Candidate * emObject) const {return getSum_(emObject,true);} 00036 double getEnergySum (const reco::Candidate * emObject) const{ return getSum_(emObject,false);} 00037 00038 //destructor 00039 ~EgammaRecHitIsolation() ; 00040 00041 private: 00042 double getSum_(const reco::Candidate *,bool returnEt )const; 00043 00044 double extRadius_ ; 00045 double intRadius_ ; 00046 double etaSlice_; 00047 double etLow_ ; 00048 00049 00050 edm::ESHandle<CaloGeometry> theCaloGeom_ ; 00051 CaloRecHitMetaCollectionV* caloHits_ ; 00052 00053 CaloDualConeSelector* doubleConeSel_[2]; // barrel+endcap 00054 00055 00056 00057 }; 00058 00059 #endif