00001 #ifndef EventFilter_EcalRawToDigi_EcalRawToRecHitFacility_H 00002 #define EventFilter_EcalRawToDigi_EcalRawToRecHitFacility_H 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: EcalRawToRecHitFacility 00007 // Class: EcalRawToRecHitFacility 00008 // 00016 // 00017 // Original Author: Jean-Roch Vlimant 00018 // Created: Sat Oct 6 02:26:08 CEST 2007 00019 // $Id: EcalRawToRecHitFacility.h,v 1.3 2008/02/15 02:37:56 vlimant Exp $ 00020 // 00021 // 00022 00023 00024 // system include files 00025 #include <memory> 00026 00027 // user include files 00028 #include "FWCore/Framework/interface/Frameworkfwd.h" 00029 #include "FWCore/Framework/interface/EDProducer.h" 00030 00031 #include "FWCore/Framework/interface/Event.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 "EventFilter/EcalRawToDigi/interface/EcalRawToRecHitLazyUnpacker.h" 00040 #include "EventFilter/EcalRawToDigi/interface/EcalRegionCabling.h" 00041 #include "EventFilter/EcalRawToDigi/interface/EcalRegionCablingRecord.h" 00042 #include "EventFilter/EcalRawToDigi/interface/EcalUnpackerWorker.h" 00043 #include "EventFilter/EcalRawToDigi/interface/EcalUnpackerWorkerRecord.h" 00044 00045 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00046 #include "EventFilter/EcalRawToDigi/interface/MyWatcher.h" 00047 00048 00049 class EcalRawToRecHitFacility : public edm::EDProducer { 00050 public: 00051 explicit EcalRawToRecHitFacility(const edm::ParameterSet&); 00052 ~EcalRawToRecHitFacility(); 00053 00054 typedef edm::LazyGetter<EcalRecHit> EcalRecHitLazyGetter; 00055 typedef edm::RefGetter<EcalRecHit> EcalRecHitRefGetter; 00056 00057 private: 00058 virtual void beginJob(const edm::EventSetup&) ; 00059 virtual void produce(edm::Event&, const edm::EventSetup&); 00060 virtual void endJob() ; 00061 00062 //in 00063 edm::InputTag sourceTag_; 00064 00065 //tools 00066 std::string workerName_; 00067 00068 //out 00069 bool global_; 00070 }; 00071 #endif