CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/EventFilter/SiStripRawToDigi/plugins/SiStripRawToClusters.h

Go to the documentation of this file.
00001 #ifndef EventFilter_SiStripRawToDigi_SiStripRawToClusters_H
00002 #define EventFilter_SiStripRawToDigi_SiStripRawToClusters_H
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "DataFormats/Common/interface/LazyGetter.h"
00006 #include "DataFormats/Common/interface/RefGetter.h"
00007 #include "EventFilter/SiStripRawToDigi/interface/SiStripRawToClustersLazyUnpacker.h"
00008 #include <string>
00009 #include <memory>
00010 #include "boost/bind.hpp"
00011 
00012 class SiStripClusterizerFactory;
00013 class SiStripRegionCabling;
00014 
00020 namespace sistrip {
00021 
00022   class RawToClusters : public edm::EDProducer {
00023     
00024   public:
00025     
00026     typedef edm::LazyGetter<SiStripCluster> LazyGetter;
00027     typedef edm::RefGetter<SiStripCluster> RefGetter;
00028     typedef RawToClustersLazyUnpacker LazyUnpacker;
00029     typedef SiStripRegionCabling::SubDet SubDet;
00030     
00031     RawToClusters( const edm::ParameterSet& );
00032     ~RawToClusters();
00033     
00034     virtual void beginRun( edm::Run&, const edm::EventSetup& );
00035     virtual void produce( edm::Event&, const edm::EventSetup& );
00036     
00037   private: 
00038     
00039     void updateCabling( const edm::EventSetup& setup );
00040     
00041     edm::InputTag productLabel_;
00042     const SiStripRegionCabling* cabling_;
00043     uint32_t cacheId_;
00044     std::auto_ptr<StripClusterizerAlgorithm> clusterizer_;
00045     std::auto_ptr<SiStripRawProcessingAlgorithms> rawAlgos_;
00046 
00047     // March 2012: add flag for disabling APVe check in configuration
00048     bool doAPVEmulatorCheck_; 
00049 
00050   };
00051   
00052 }
00053 
00054 #endif // EventFilter_SiStripRawToDigi_SiStripRawToClusters_H