Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:51

0001 #ifndef HFRECORECALCANDIDATEALGO_H
0002 #define HFRECORECALCANDIDATEALGO_H 1
0003 #include "HFValueStruct.h"
0004 
0005 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0006 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0007 #include "DataFormats/EgammaReco/interface/HFEMClusterShape.h"
0008 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
0009 #include "DataFormats/EgammaReco/interface/HFEMClusterShapeAssociation.h"
0010 #include "DataFormats/EgammaReco/interface/HFEMClusterShape.h"
0011 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0012 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
0013 #include "DataFormats/Common/interface/Handle.h"
0014 #include <map>
0015 #include <list>
0016 
0017 /** \class HFRecoEcalCandidateAlgo
0018  
0019   * \author K. Klapoetke -- Minnesota
0020   */
0021 //$Id:HFRecoEcalCandidateAlgo.h,v 1.1 2007/09/26 09:52 K. Klapoetke Minnesota
0022 
0023 class HFRecoEcalCandidateAlgo {
0024 public:
0025   HFRecoEcalCandidateAlgo(bool correct,
0026                           double e9e25Cut,
0027                           double intercept2DCut,
0028                           double intercept2DSlope,
0029                           const std::vector<double>& e1e9Cut,
0030                           const std::vector<double>& eCOREe9Cut,
0031                           const std::vector<double>& eSeLCut,
0032                           const reco::HFValueStruct hfvv);
0033 
0034   /** Analyze the hits */
0035   void produce(const edm::Handle<reco::SuperClusterCollection>& SuperClusters,
0036                const reco::HFEMClusterShapeAssociationCollection& AssocShapes,
0037                reco::RecoEcalCandidateCollection& RecoECand,
0038                int nvtx) const;
0039 
0040 private:
0041   reco::RecoEcalCandidate correctEPosition(const reco::SuperCluster& original,
0042                                            const reco::HFEMClusterShape& shape,
0043                                            int nvtx) const;
0044 
0045   const bool m_correct;
0046   const double m_e9e25Cut;
0047   const double m_intercept2DCut;
0048   const double m_intercept2DSlope;
0049   const double m_e1e9Cuthi;
0050   const double m_eCOREe9Cuthi;
0051   const double m_eSeLCuthi;
0052   const double m_e1e9Cutlo;
0053   const double m_eCOREe9Cutlo;
0054   const double m_eSeLCutlo;
0055   const int m_era;
0056   const reco::HFValueStruct m_hfvv;
0057 };
0058 
0059 #endif