CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoEcal/EgammaCoreTools/interface/SuperClusterShapeAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaCoreTools_SuperClusterShapeAlgo_h
00002 #define RecoEcal_EgammaCoreTools_SuperClusterShapeAlgo_h
00003 
00014 #include <map>
00015 
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 
00018 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00019 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00020 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
00021 #include "DataFormats/DetId/interface/DetId.h"
00022 #include "DataFormats/Math/interface/Point3D.h"
00023 #include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h"
00024 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00025 
00026 class CaloSubdetectorTopology;
00027 
00028 class SuperClusterShapeAlgo
00029 {
00030 
00031  public:
00032   SuperClusterShapeAlgo(const EcalRecHitCollection* hits,
00033                         const CaloSubdetectorGeometry* geometry);
00034 
00035   void Calculate_Covariances(const reco::SuperCluster &passedCluster);
00036 
00037   double etaWidth() { return etaWidth_; }
00038   double phiWidth() { return phiWidth_; }
00039 
00040  private:
00041 
00042   const EcalRecHitCollection* recHits_;
00043   const CaloSubdetectorGeometry* geometry_;
00044 
00045   double etaWidth_, phiWidth_;
00046   
00047 };
00048 
00049 #endif