00001 #ifndef HCALSIMPLERECONSTRUCTOR_H 00002 #define HCALSIMPLERECONSTRUCTOR_H 1 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "DataFormats/Common/interface/EDProduct.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "DataFormats/Common/interface/Handle.h" 00008 #include "CondFormats/HcalObjects/interface/HcalRecoParams.h" 00009 #include "CondFormats/HcalObjects/interface/HcalRecoParam.h" 00010 #include "FWCore/Framework/interface/EventSetup.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSimpleRecAlgo.h" 00014 00015 00022 class HcalSimpleReconstructor : public edm::EDProducer { 00023 public: 00024 explicit HcalSimpleReconstructor(const edm::ParameterSet& ps); 00025 virtual ~HcalSimpleReconstructor(); 00026 virtual void produce(edm::Event& e, const edm::EventSetup& c); 00027 virtual void beginRun(edm::Run&r, edm::EventSetup const & es); 00028 virtual void endRun(edm::Run&r, edm::EventSetup const & es); 00029 private: 00030 template<class DIGICOLL, class RECHITCOLL> void process(edm::Event& e, const edm::EventSetup& c); 00031 HcalSimpleRecAlgo reco_; 00032 DetId::Detector det_; 00033 int subdet_; 00034 HcalOtherSubdetector subdetOther_; 00035 edm::InputTag inputLabel_; 00036 00037 bool dropZSmarkedPassed_; // turn on/off dropping of zero suppression marked and passed digis 00038 00039 // legacy parameters for config-set values compatibility 00040 // to be removed after 4_2_0... 00041 int firstSample_; 00042 int samplesToAdd_; 00043 bool tsFromDB_; 00044 00045 HcalRecoParams* paramTS; // firstSample & sampleToAdd from DB 00046 00047 }; 00048 00049 #endif