00001 #ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH 00002 #define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH 00003 00011 // Geometry 00012 #include "Geometry/Records/interface/IdealGeometryRecord.h" 00013 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" 00014 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00015 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" 00016 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00017 #include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" 00018 #include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" 00019 #include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" 00020 #include "Geometry/CaloTopology/interface/CaloTopology.h" 00021 #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" 00022 #include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" 00023 //#include "Geometry/Vector/interface/GlobalPoint.h" 00024 00025 // Reconstruction Classes 00026 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" 00027 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00028 #include "DataFormats/EcalDetId/interface/EBDetId.h" 00029 00030 #include <string> 00031 using namespace cms; 00032 using namespace std; 00033 00034 00035 00036 00037 class EcalDeadChannelRecoveryAlgos { 00038 public: 00039 EcalDeadChannelRecoveryAlgos(const CaloTopology theCaloTopology); 00040 EcalDeadChannelRecoveryAlgos(); 00041 ~EcalDeadChannelRecoveryAlgos(); 00042 00043 EcalRecHit Correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, string algo_, double Sum8Cut); 00044 00045 private: 00046 00047 00048 CaloTopology calotopo; 00049 double MakeNxNMatrice(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN); 00050 00051 00052 00053 // ----------member data --------------------------- 00054 00055 }; 00056 #endif