CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h

Go to the documentation of this file.
00001 #ifndef AnalysisAlgos_SiStripClusterInfoProducer_SiStripProcessedRawDigiProducer_H
00002 #define AnalysisAlgos_SiStripClusterInfoProducer_SiStripProcessedRawDigiProducer_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDProducer.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Utilities/interface/InputTag.h"
00008 
00009 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h"
00010 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
00011 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h"
00012 
00013 #include "DataFormats/Common/interface/DetSetVector.h"
00014 #include <memory>
00015 #include <string>
00016 
00017 class SiStripGain;
00018 class SiStripDigi;
00019 class SiStripRawDigi;
00020 class SiStripProcessedRawDigi;
00021 
00022 class SiStripProcessedRawDigiProducer : public edm::EDProducer {
00023 
00024  public:
00025 
00026   explicit SiStripProcessedRawDigiProducer(edm::ParameterSet const&);
00027   
00028  private:
00029 
00030   void produce(edm::Event& e, const edm::EventSetup& es);
00031   template<class T> std::string findInput(edm::Handle<T>& handle, const edm::Event& e);
00032 
00033   void vr_process(const edm::DetSetVector<SiStripRawDigi>&, edm::DetSetVector<SiStripProcessedRawDigi>&);
00034   void pr_process(const edm::DetSetVector<SiStripRawDigi>&, edm::DetSetVector<SiStripProcessedRawDigi>&);
00035   void zs_process(const edm::DetSetVector<SiStripDigi>&,    edm::DetSetVector<SiStripProcessedRawDigi>&);
00036   void common_process( const uint32_t, std::vector<float>&, edm::DetSetVector<SiStripProcessedRawDigi>&);
00037 
00038 
00039   std::vector<edm::InputTag> inputTags;
00040   edm::ESHandle<SiStripGain> gainHandle;
00041 
00042   std::auto_ptr<SiStripPedestalsSubtractor>       subtractorPed;
00043   std::auto_ptr<SiStripCommonModeNoiseSubtractor> subtractorCMN;
00044 
00045 };
00046 #endif 
00047