00001 #ifndef EventFilter_EcalRawToDigi_EcalRawToRecHitProducer_H 00002 #define EventFilter_EcalRawToDigi_EcalRawToRecHitProducer_H 00003 // -*- C++ -*- 00004 // 00005 // Package: EcalRawToRecHitProducer 00006 // Class: EcalRawToRecHitProducer 00007 // 00015 // 00016 // Original Author: Jean-Roch Vlimant 00017 // Created: Sat Oct 6 22:39:47 CEST 2007 00018 // $Id: EcalRawToRecHitProducer.h,v 1.4 2008/02/15 02:37:56 vlimant Exp $ 00019 // 00020 // 00021 00022 00023 // system include files 00024 #include <memory> 00025 00026 // user include files 00027 #include "FWCore/Framework/interface/Frameworkfwd.h" 00028 #include "FWCore/Framework/interface/EDProducer.h" 00029 00030 #include "FWCore/Framework/interface/Event.h" 00031 #include "FWCore/Framework/interface/ESHandle.h" 00032 #include "FWCore/Framework/interface/MakerMacros.h" 00033 00034 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00035 00036 #include "DataFormats/Common/interface/LazyGetter.h" 00037 #include "DataFormats/Common/interface/RefGetter.h" 00038 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" 00039 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00040 //#include "EventFilter/EcalRawToDigi/interface/EcalRegionCablingRecord.h" 00041 //#include "EventFilter/EcalRawToDigi/interface/EcalRegionCabling.h" 00042 //#include "EventFilter/EcalRawToDigi/interface/EcalRawToRecHitLazyUnpacker.h" 00043 00044 #include "EventFilter/EcalRawToDigi/interface/MyWatcher.h" 00045 #include "DataFormats/EcalRecHit/interface/EcalRecHitComparison.h" 00046 00047 #include "DataFormats/EcalRawData/interface/EcalListOfFEDS.h" 00048 00049 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00050 00051 #include "TStopwatch.h" 00052 00053 class EcalRawToRecHitProducer : public edm::EDProducer { 00054 public: 00055 00056 typedef edm::LazyGetter<EcalRecHit> EcalRecHitLazyGetter; 00057 typedef edm::RefGetter<EcalRecHit> EcalRecHitRefGetter; 00058 00059 explicit EcalRawToRecHitProducer(const edm::ParameterSet&); 00060 ~EcalRawToRecHitProducer(); 00061 00062 private: 00063 virtual void beginJob(const edm::EventSetup&) ; 00064 virtual void produce(edm::Event&, const edm::EventSetup&); 00065 virtual void endJob() ; 00066 00067 // ----------member data --------------------------- 00068 edm::InputTag lsourceTag_; 00069 edm::InputTag sourceTag_; 00070 edm::InputTag fedListTag_; 00071 00072 bool global_; 00073 bool splitOutput_; 00074 std::string EBrechitCollection_; 00075 std::string EErechitCollection_; 00076 00077 }; 00078 00079 #endif