Go to the documentation of this file.00001 #ifndef HoECalculator_h
00002 #define HoECalculator_h
00003
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/Framework/interface/EventSetup.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007
00008 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00009 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00010
00011 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00012
00013 #include "RecoCaloTools/MetaCollections/interface/CaloRecHitMetaCollections.h"
00014
00015
00016 class HoECalculator
00017 {
00018 public:
00019
00020 HoECalculator() ;
00021 HoECalculator(const edm::ESHandle<CaloGeometry>&) ;
00022
00023 double operator() ( const reco::BasicCluster* ,
00024 const edm::Event& e ,
00025 const edm::EventSetup& c ) ;
00026
00027 double operator() ( const reco::SuperCluster* ,
00028 const edm::Event& e ,
00029 const edm::EventSetup& c ) ;
00030
00031 double operator() ( const reco::SuperCluster* ,
00032 HBHERecHitMetaCollection *mhbhe,
00033 int ialgo=1);
00034
00035 double operator() ( const reco::BasicCluster* ,
00036 HBHERecHitMetaCollection *mhbhe);
00037
00038 private:
00039
00040 double getHoE(GlobalPoint pos, float energy,
00041 const edm::Event& e ,
00042 const edm::EventSetup& c ) ;
00043 double getHoE(GlobalPoint pos, float energy,
00044 HBHERecHitMetaCollection *mhbhe);
00045
00046
00047 edm::ESHandle<CaloGeometry> theCaloGeom_ ;
00048 const HBHERecHitCollection* hithbhe_ ;
00049 };
00050
00051 #endif