CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/EventFilter/EcalRawToDigi/plugins/EcalRawToRecHitProducer.h

Go to the documentation of this file.
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.6 2011/05/12 19:01:29 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 EcalCleaningAlgo;
00054 
00055 class EcalRawToRecHitProducer : public edm::EDProducer {
00056    public:
00057   
00058   typedef edm::LazyGetter<EcalRecHit> EcalRecHitLazyGetter;
00059   typedef edm::RefGetter<EcalRecHit> EcalRecHitRefGetter;
00060   
00061   explicit EcalRawToRecHitProducer(const edm::ParameterSet&);
00062   ~EcalRawToRecHitProducer();
00063   
00064 private:
00065   virtual void produce(edm::Event&, const edm::EventSetup&);
00066   
00067   // ----------member data ---------------------------
00068   edm::InputTag lsourceTag_;
00069   edm::InputTag sourceTag_;
00070   
00071   bool splitOutput_;
00072   std::string EBrechitCollection_;
00073   std::string EErechitCollection_;
00074   std::string rechitCollection_;  
00075 
00076   EcalCleaningAlgo * cleaningAlgo_;
00077 };
00078 
00079 #endif