00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerMaxSample_hh 00002 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitWorkerMaxSample_hh 00003 00004 #include "FWCore/Framework/interface/ESHandle.h" 00005 #include "RecoLocalCalo/EcalRecProducers/interface/ESRecHitWorkerBaseClass.h" 00006 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitSimAlgo.h" 00007 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitFitAlgo.h" 00008 #include "RecoLocalCalo/EcalRecAlgos/interface/ESRecHitAnalyticAlgo.h" 00009 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00010 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00011 #include "CondFormats/ESObjects/interface/ESChannelStatus.h" 00012 #include "CondFormats/ESObjects/interface/ESGain.h" 00013 #include "CondFormats/ESObjects/interface/ESMIPToGeVConstant.h" 00014 #include "CondFormats/ESObjects/interface/ESTimeSampleWeights.h" 00015 #include "CondFormats/ESObjects/interface/ESPedestals.h" 00016 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h" 00017 #include "CondFormats/ESObjects/interface/ESRecHitRatioCuts.h" 00018 #include "CondFormats/ESObjects/interface/ESAngleCorrectionFactors.h" 00019 00020 #include <vector> 00021 00022 namespace edm { 00023 class ParameterSet; 00024 class EventSetup; 00025 class Event; 00026 } 00027 00028 class ESRecHitWorker : public ESRecHitWorkerBaseClass { 00029 00030 public: 00031 00032 ESRecHitWorker(const edm::ParameterSet& ps); 00033 ~ESRecHitWorker(); 00034 00035 void set(const edm::EventSetup& es); 00036 bool run(const edm::Event& evt, const ESDigiCollection::const_iterator & digi, ESRecHitCollection & result); 00037 00038 private: 00039 00040 int recoAlgo_; 00041 ESRecHitSimAlgo *algoW_; 00042 ESRecHitFitAlgo *algoF_; 00043 ESRecHitAnalyticAlgo *algoA_; 00044 00045 edm::ESHandle<ESGain> esgain_; 00046 edm::ESHandle<ESMIPToGeVConstant> esMIPToGeV_; 00047 edm::ESHandle<ESTimeSampleWeights> esWeights_; 00048 edm::ESHandle<ESPedestals> esPedestals_; 00049 edm::ESHandle<ESIntercalibConstants> esMIPs_; 00050 edm::ESHandle<ESChannelStatus> esChannelStatus_; 00051 edm::ESHandle<ESRecHitRatioCuts> esRatioCuts_; 00052 edm::ESHandle<ESAngleCorrectionFactors> esAngleCorrFactors_; 00053 00054 }; 00055 #endif