CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoLocalTracker/SiStripZeroSuppression/interface/PercentileCMNSubtractor.h

Go to the documentation of this file.
00001 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPERCENTILECOMMONMODENOISESUBTRACTION_H
00002 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPERCENTILECOMMONMODENOISESUBTRACTION_H
00003 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
00004 
00005 class PercentileCMNSubtractor : public SiStripCommonModeNoiseSubtractor {
00006   
00007   friend class SiStripRawProcessingFactory;
00008   
00009  public:
00010   
00011   void subtract(const uint32_t&,const uint16_t& firstAPV, std::vector<int16_t>&);
00012   void subtract(const uint32_t&,const uint16_t& firstAPV, std::vector<float>&);
00013   
00014  private:
00015   
00016   template<typename T> float percentile(std::vector<T>&, double);
00017   template<typename T> void subtract_(const uint32_t&,const uint16_t& firstAPV, std::vector<T>&);
00018   PercentileCMNSubtractor(double in) : 
00019     percentile_(in) {};  
00020   double percentile_;
00021   
00022 };
00023 #endif