00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerAnalFit_HH 00002 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerAnalFit_HH 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "FWCore/Framework/interface/EventSetup.h" 00008 #include "FWCore/Framework/interface/ESHandle.h" 00009 00010 #include "RecoLocalCalo/EcalRecProducers/interface/EcalUncalibRecHitWorkerBaseClass.h" 00011 00012 #include "RecoLocalCalo/EcalRecAlgos/interface/EcalUncalibRecHitRecAnalFitAlgo.h" 00013 00014 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00015 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00016 00017 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h" 00018 #include "CondFormats/EcalObjects/interface/EcalPedestals.h" 00019 00020 namespace edm { 00021 class Event; 00022 class EventSetup; 00023 class ParameterSet; 00024 } 00025 00026 class EcalUncalibRecHitWorkerAnalFit : public EcalUncalibRecHitWorkerBaseClass { 00027 00028 public: 00029 EcalUncalibRecHitWorkerAnalFit(const edm::ParameterSet& ps); 00030 ~EcalUncalibRecHitWorkerAnalFit() {}; 00031 00032 void set(const edm::EventSetup& es); 00033 bool run(const edm::Event& evt, const EcalDigiCollection::const_iterator & digi, EcalUncalibratedRecHitCollection & result); 00034 00035 private: 00036 EcalUncalibRecHitRecAnalFitAlgo<EBDataFrame> algoEB_; 00037 EcalUncalibRecHitRecAnalFitAlgo<EEDataFrame> algoEE_; 00038 00039 00040 edm::ESHandle<EcalGainRatios> pRatio; 00041 edm::ESHandle<EcalPedestals> pedHandle; 00042 }; 00043 #endif