CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/RecoLocalTracker/SiStripZeroSuppression/plugins/SiStripZeroSuppression.h

Go to the documentation of this file.
00001 #ifndef SiStripZeroSuppression_h
00002 #define SiStripZeroSuppression_h
00003 #include "FWCore/Framework/interface/EDProducer.h"
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 
00006 #include "FWCore/Framework/interface/Frameworkfwd.h"
00007 #include "FWCore/Utilities/interface/InputTag.h"
00008 #include "DataFormats/Common/interface/DetSet.h"
00009 #include "DataFormats/Common/interface/DetSetVector.h"
00010 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h"
00011 #include "DataFormats/SiStripDigi/interface/SiStripProcessedRawDigi.h"
00012 
00013 class SiStripDigi;
00014 class SiStripRawDigi;
00015 
00016 class SiStripZeroSuppression : public edm::EDProducer
00017 {
00018   
00019  public:
00020   
00021   explicit SiStripZeroSuppression(const edm::ParameterSet&);  
00022   virtual void produce(edm::Event& , const edm::EventSetup& );
00023   
00024  private:
00025 
00026   void processRaw(const edm::InputTag&, const edm::DetSetVector<SiStripRawDigi>&, std::vector<edm::DetSet<SiStripDigi> >&, std::vector<edm::DetSet<SiStripRawDigi> >& );
00027   void storeCMN(uint32_t, const std::vector< std::pair<short,float> >&);
00028   void storeBaseline(uint32_t, const std::vector< std::pair<short,float> >&, std::map< uint16_t, std::vector < int16_t> >&);
00029   void storeBaselinePoints(uint32_t, std::vector< std::map< uint16_t, int16_t> >&);
00030   void StandardZeroSuppression(edm::Event&);
00031   void CollectionMergedZeroSuppression(edm::Event&);
00032   
00033   std::vector<edm::InputTag> inputTags;
00034   typedef std::vector<edm::InputTag>::const_iterator tag_iterator_t;
00035   std::vector< edm::DetSet<SiStripProcessedRawDigi> > output_apvcm; 
00036   std::vector< edm::DetSet<SiStripProcessedRawDigi> > output_baseline;
00037   std::vector< edm::DetSet<SiStripDigi> > output_baseline_points;
00038   std::auto_ptr<SiStripRawProcessingAlgorithms> algorithms;
00039   
00040   
00041   bool storeCM;
00042   bool doAPVRestore;
00043   bool produceRawDigis;
00044   bool produceCalculatedBaseline;
00045   bool produceBaselinePoints;
00046   bool storeInZScollBadAPV;
00047   bool mergeCollections;
00048   bool fixCM;
00049   bool useCMMeanMap;
00050 
00051 };
00052 #endif
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074