CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/RecoEcal/EgammaClusterAlgos/interface/PreshowerPhiClusterAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaClusterAlgos_PreshowerPhiClusterAlgo_h
00002 #define RecoEcal_EgammaClusterAlgos_PreshowerPhiClusterAlgo_h
00003 
00004 #include "DataFormats/EgammaReco/interface/PreshowerCluster.h"
00005 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00006 #include "DataFormats/Math/interface/Point3D.h"
00007 #include "DataFormats/EcalDetId/interface/ESDetId.h"
00008 #include "DataFormats/DetId/interface/DetId.h"
00009 #include "RecoCaloTools/Navigation/interface/EcalPreshowerNavigator.h"
00010 #include <string>
00011 #include <vector>
00012 #include <set>
00013 
00014 class CaloSubdetectorGeometry;
00015 class CaloSubdetectorTopology;
00016 
00017 class PreshowerPhiClusterAlgo {
00018   
00019  public:
00020   
00021   typedef math::XYZPoint Point;
00022   
00023   typedef std::map<DetId, EcalRecHit> RecHitsMap;
00024   typedef std::set<DetId> HitsID;
00025 
00026   PreshowerPhiClusterAlgo() : 
00027     esStripEnergyCut_(0.)
00028     {}
00029     
00030   PreshowerPhiClusterAlgo(float stripEnergyCut) :
00031     esStripEnergyCut_(stripEnergyCut)
00032     {}
00033     
00034     ~PreshowerPhiClusterAlgo() {};
00035     
00036     reco::PreshowerCluster makeOneCluster(ESDetId strip,
00037                                           HitsID *used_strips,
00038                                           RecHitsMap *rechits_map,
00039                                           const CaloSubdetectorGeometry*& geometry_p,
00040                                           CaloSubdetectorTopology*& topology_p,
00041                                           double deltaEta, double minDeltaPhi, double maxDeltaPhi);
00042     
00043     bool goodStrip(RecHitsMap::iterator candidate_it);
00044     
00045  private:
00046     
00047       float esStripEnergyCut_;
00048       
00049       std::vector<ESDetId> road_2d;
00050       
00051       // The map of hits
00052       RecHitsMap *rechits_map;
00053       
00054       // The set of used DetID's
00055       HitsID *used_s;
00056       
00057 };
00058 #endif
00059