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, 00025 double intercept2DCut, 00026 const std::vector<double>& e1e9Cut, 00027 const std::vector<double>& eCOREe9Cut, 00028 const std::vector<double>& eSeLCut); 00029 00031 void produce(const edm::Handle<reco::SuperClusterCollection>& SuperClusters, 00032 const reco::HFEMClusterShapeAssociationCollection& AssocShapes, 00033 reco::RecoEcalCandidateCollection& RecoECand); 00034 00035 00036 private: 00037 reco::RecoEcalCandidate correctEPosition(const reco::SuperCluster& original, const reco::HFEMClusterShape& shape); 00038 00039 bool m_correct; 00040 double m_e9e25Cut; 00041 double m_intercept2DCut; 00042 double m_e1e9Cuthi; 00043 double m_eCOREe9Cuthi; 00044 double m_eSeLCuthi; 00045 double m_e1e9Cutlo; 00046 double m_eCOREe9Cutlo; 00047 double m_eSeLCutlo; 00048 }; 00049 00050 #endif