CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h

Go to the documentation of this file.
00001 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPITERATEDMEDIANCOMMONMODENOISESUBTRACTION_H
00002 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPITERATEDMEDIANCOMMONMODENOISESUBTRACTION_H
00003 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
00004 
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006  
00007 class SiStripNoises;
00008 class SiStripQuality;
00009 
00010 class IteratedMedianCMNSubtractor : public SiStripCommonModeNoiseSubtractor {
00011   
00012   friend class SiStripRawProcessingFactory;
00013   
00014  public:
00015   
00016   void init(const edm::EventSetup& es);
00017   void subtract(const uint32_t&,std::vector<int16_t>&);
00018   void subtract(const uint32_t&,std::vector<float>&);
00019   
00020  private:
00021 
00022   template<typename T >void subtract_(const uint32_t&,std::vector<T>&);
00023 
00024  
00025   IteratedMedianCMNSubtractor(double sigma, int iterations) : 
00026     cut_to_avoid_signal_(sigma),
00027     iterations_(iterations),
00028     noise_cache_id(0),
00029     quality_cache_id(0) {};
00030   double cut_to_avoid_signal_;
00031   int iterations_;
00032   edm::ESHandle<SiStripNoises> noiseHandle;
00033   edm::ESHandle<SiStripQuality> qualityHandle;
00034   uint32_t noise_cache_id, quality_cache_id;
00035     
00036 
00037 };
00038 #endif
00039