CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/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>&);
00027   void storeExtraOutput(uint32_t, int16_t);
00028   void formatRawDigis(edm::DetSetVector<SiStripRawDigi>::const_iterator, edm::DetSet<SiStripRawDigi>&);
00029   void storeCMN(uint32_t, const std::vector< std::pair<short,float> >&);
00030   void storeBaseline(uint32_t, const std::vector< std::pair<short,float> >&);
00031   void storeBaselinePoints(uint32_t);
00032   void StandardZeroSuppression(edm::Event&);
00033   void CollectionMergedZeroSuppression(edm::Event&);
00034   void MergeCollectionsZeroSuppression(edm::Event&);
00035 
00036   std::vector<edm::InputTag> inputTags;
00037   edm::InputTag DigisToMergeZS;
00038   edm::InputTag DigisToMergeVR;
00039 
00040   typedef std::vector<edm::InputTag>::const_iterator tag_iterator_t;
00041   std::vector<edm::DetSet<SiStripDigi> > output_base; 
00042   std::vector<edm::DetSet<SiStripRawDigi> > output_base_raw; 
00043   std::vector< edm::DetSet<SiStripProcessedRawDigi> > output_apvcm; 
00044   std::vector< edm::DetSet<SiStripProcessedRawDigi> > output_baseline;
00045   std::vector< edm::DetSet<SiStripDigi> > output_baseline_points;
00046   std::auto_ptr<SiStripRawProcessingAlgorithms> algorithms;
00047   
00048   bool storeCM;
00049   bool produceRawDigis;
00050   bool produceCalculatedBaseline;
00051   bool produceBaselinePoints;
00052   bool storeInZScollBadAPV;
00053   bool mergeCollections;
00054   bool fixCM;
00055   
00056 };
00057 #endif
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079