00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalRecHitProducer_hh 00002 #define RecoLocalCalo_EcalRecProducers_EcalRecHitProducer_hh 00003 00014 #include "FWCore/Framework/interface/EDProducer.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 #include "FWCore/Framework/interface/Event.h" 00017 #include "FWCore/Framework/interface/EventSetup.h" 00018 00019 //#include "RecoLocalCalo/EcalRecAlgos/interface/EcalRecHitAbsAlgo.h" 00020 00021 #include "RecoLocalCalo/EcalRecProducers/interface/EcalRecHitWorkerBaseClass.h" 00022 00023 class EcalCleaningAlgo; 00024 00025 class EcalRecHitProducer : public edm::EDProducer { 00026 00027 public: 00028 explicit EcalRecHitProducer(const edm::ParameterSet& ps); 00029 ~EcalRecHitProducer(); 00030 virtual void produce(edm::Event& evt, const edm::EventSetup& es); 00031 00032 private: 00033 00034 edm::InputTag ebUncalibRecHitCollection_; // secondary name given to collection of EB uncalib rechits 00035 edm::InputTag eeUncalibRecHitCollection_; // secondary name given to collection of EE uncalib rechits 00036 std::string ebRechitCollection_; // secondary name to be given to EB collection of hits 00037 std::string eeRechitCollection_; // secondary name to be given to EE collection of hits 00038 00039 bool recoverEBIsolatedChannels_; 00040 bool recoverEEIsolatedChannels_; 00041 bool recoverEBVFE_; 00042 bool recoverEEVFE_; 00043 bool recoverEBFE_; 00044 bool recoverEEFE_; 00045 bool killDeadChannels_; 00046 00047 edm::InputTag ebDetIdToBeRecovered_; 00048 edm::InputTag eeDetIdToBeRecovered_; 00049 edm::InputTag ebFEToBeRecovered_; 00050 edm::InputTag eeFEToBeRecovered_; 00051 00052 EcalRecHitWorkerBaseClass * worker_; 00053 EcalRecHitWorkerBaseClass * workerRecover_; 00054 00055 EcalCleaningAlgo * cleaningAlgo_; 00056 }; 00057 00058 #endif