00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalRecalibRecHitProducer_HH 00002 #define RecoLocalCalo_EcalRecProducers_EcalRecalibRecHitProducer_HH 00003 00013 #include "FWCore/Framework/interface/EDProducer.h" 00014 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/Framework/interface/EventSetup.h" 00017 00018 #include "RecoLocalCalo/EcalRecAlgos/interface/EcalRecHitAbsAlgo.h" 00019 00020 // forward declaration 00021 class EcalRecalibRecHitProducer : public edm::EDProducer { 00022 00023 public: 00024 explicit EcalRecalibRecHitProducer(const edm::ParameterSet& ps); 00025 ~EcalRecalibRecHitProducer(); 00026 virtual void produce(edm::Event& evt, const edm::EventSetup& es); 00027 00028 private: 00029 00030 edm::InputTag EBRecHitCollection_; // secondary name given to collection of EB uncalib rechits 00031 edm::InputTag EERecHitCollection_; // secondary name given to collection of EE uncalib rechits 00032 std::string EBRecalibRecHitCollection_; // secondary name to be given to EB collection of hits 00033 std::string EERecalibRecHitCollection_; // secondary name to be given to EE collection of hits 00034 00035 bool doEnergyScale_; 00036 bool doIntercalib_; 00037 bool doLaserCorrections_; 00038 bool doEnergyScaleInverse_; 00039 bool doIntercalibInverse_; 00040 bool doLaserCorrectionsInverse_; 00041 00042 EcalRecHitAbsAlgo* EBalgo_; 00043 EcalRecHitAbsAlgo* EEalgo_; 00044 }; 00045 #endif