CMS 3D CMS Logo

IteratedMedianCMNSubtractor.h
Go to the documentation of this file.
1 
2 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPITERATEDMEDIANCOMMONMODENOISESUBTRACTION_H
3 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPITERATEDMEDIANCOMMONMODENOISESUBTRACTION_H
5 
7 
8 class SiStripNoises;
9 class SiStripQuality;
10 
13 
14 public:
15  void init(const edm::EventSetup& es) override;
16  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<int16_t>& digis) override;
17  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<float>& digis) override;
18 
19 private:
20  template <typename T>
21  void subtract_(uint32_t detId, uint16_t firstAPV, std::vector<T>& digis);
22  inline float pairMedian(std::vector<std::pair<float, float> >& sample);
23 
24  IteratedMedianCMNSubtractor(double sigma, int iterations)
26  double cut_to_avoid_signal_;
31 };
32 #endif
edm::ESHandle< SiStripNoises > noiseHandle
float pairMedian(std::vector< std::pair< float, float > > &sample)
void init(const edm::EventSetup &es) override
IteratedMedianCMNSubtractor(double sigma, int iterations)
void subtract(uint32_t detId, uint16_t firstAPV, std::vector< int16_t > &digis) override
void subtract_(uint32_t detId, uint16_t firstAPV, std::vector< T > &digis)
edm::ESHandle< SiStripQuality > qualityHandle