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&,std::vector<int16_t>&); 00012 void subtract(const uint32_t&,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&,std::vector<T>&); 00018 PercentileCMNSubtractor(double in) : 00019 percentile_(in) {}; 00020 double percentile_; 00021 00022 }; 00023 #endif