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 
12 
14 
15  public:
16 
17  void init(const edm::EventSetup& es) override;
18  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<int16_t>& digis) override;
19  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<float>& digis) override;
20 
21  private:
22 
23  template<typename T >void subtract_(uint32_t detId, uint16_t firstAPV, std::vector<T>& digis);
24 inline float pairMedian( std::vector<std::pair<float,float> >& sample);
25 
26  IteratedMedianCMNSubtractor(double sigma, int iterations) :
27  cut_to_avoid_signal_(sigma),
28  iterations_(iterations),
29  noise_cache_id(0),
31  double cut_to_avoid_signal_;
36 
37 
38 };
39 #endif
40 
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