00001 #ifndef HFRECORECALCANDIDATEALGO_H 00002 #define HFRECORECALCANDIDATEALGO_H 1 00003 00004 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" 00005 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00006 #include "DataFormats/EgammaReco/interface/HFEMClusterShape.h" 00007 #include "DataFormats/EgammaReco/interface/SuperCluster.h" 00008 #include "DataFormats/EgammaReco/interface/HFEMClusterShapeAssociation.h" 00009 #include "DataFormats/EgammaReco/interface/HFEMClusterShape.h" 00010 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" 00011 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h" 00012 #include "DataFormats/Common/interface/Handle.h" 00013 #include <map> 00014 #include <list> 00015 00020 //$Id:HFRecoEcalCandidateAlgo.h,v 1.1 2007/09/26 09:52 K. Klapoetke Minnesota 00021 00022 class HFRecoEcalCandidateAlgo { 00023 public: 00024 HFRecoEcalCandidateAlgo(bool correct, double e9e25Cut,double intercept2DCut); 00025 00027 void produce(const edm::Handle<reco::SuperClusterCollection>& SuperClusters, 00028 const reco::HFEMClusterShapeAssociationCollection& AssocShapes, 00029 reco::RecoEcalCandidateCollection& RecoECand); 00030 00031 00032 private: 00033 reco::RecoEcalCandidate correctEPosition(const reco::SuperCluster& original, const reco::HFEMClusterShape& shape); 00034 00035 bool m_correct; 00036 double m_e9e25Cut; 00037 double m_intercept2DCut; 00038 00039 }; 00040 00041 #endif