Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:44

0001 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPERCENTILECOMMONMODENOISESUBTRACTION_H
0002 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPERCENTILECOMMONMODENOISESUBTRACTION_H
0003 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
0004 
0005 class PercentileCMNSubtractor : public SiStripCommonModeNoiseSubtractor {
0006   friend class SiStripRawProcessingFactory;
0007 
0008 public:
0009   void subtract(uint32_t detId, uint16_t firstAPV, std::vector<int16_t>& digis) override;
0010   void subtract(uint32_t detId, uint16_t firstAPV, std::vector<float>& digis) override;
0011 
0012 private:
0013   template <typename T>
0014   float percentile(std::vector<T>&, double);
0015   template <typename T>
0016   void subtract_(uint32_t detId, uint16_t firstAPV, std::vector<T>& digis);
0017   PercentileCMNSubtractor(double in) : percentile_(in) {}
0018   double percentile_;
0019 };
0020 #endif