Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoEcal_EgammaClusterAlgos_PreshowerPhiClusterAlgo_h
0002 #define RecoEcal_EgammaClusterAlgos_PreshowerPhiClusterAlgo_h
0003 
0004 #include "DataFormats/EgammaReco/interface/PreshowerCluster.h"
0005 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
0006 #include "DataFormats/Math/interface/Point3D.h"
0007 #include "DataFormats/EcalDetId/interface/ESDetId.h"
0008 #include "DataFormats/DetId/interface/DetId.h"
0009 #include "RecoCaloTools/Navigation/interface/EcalPreshowerNavigator.h"
0010 #include <string>
0011 #include <vector>
0012 #include <set>
0013 
0014 class CaloSubdetectorGeometry;
0015 class CaloSubdetectorTopology;
0016 
0017 class PreshowerPhiClusterAlgo {
0018 public:
0019   typedef math::XYZPoint Point;
0020 
0021   typedef std::map<DetId, EcalRecHit> RecHitsMap;
0022   typedef std::set<DetId> HitsID;
0023 
0024   PreshowerPhiClusterAlgo() : esStripEnergyCut_(0.) {}
0025 
0026   PreshowerPhiClusterAlgo(float stripEnergyCut) : esStripEnergyCut_(stripEnergyCut) {}
0027 
0028   ~PreshowerPhiClusterAlgo(){};
0029 
0030   reco::PreshowerCluster makeOneCluster(ESDetId strip,
0031                                         HitsID *used_strips,
0032                                         RecHitsMap *rechits_map,
0033                                         const CaloSubdetectorGeometry *geometry_p,
0034                                         double deltaEta,
0035                                         double minDeltaPhi,
0036                                         double maxDeltaPhi);
0037 
0038   bool goodStrip(RecHitsMap::iterator candidate_it);
0039 
0040 private:
0041   float esStripEnergyCut_;
0042 
0043   std::vector<ESDetId> road_2d;
0044 
0045   // The map of hits
0046   RecHitsMap *rechits_map;
0047 
0048   // The set of used DetID's
0049   HitsID *used_s;
0050 };
0051 #endif