CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoEgamma/EgammaTools/interface/HoECalculator.h

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