File indexing completed on 2023-03-17 11:19:49
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