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 
10 
11 class SiStripNoises;
12 class SiStripQuality;
13 
16 
17 public:
18  void init(const edm::EventSetup& es) override;
19  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<int16_t>& digis) override;
20  void subtract(uint32_t detId, uint16_t firstAPV, std::vector<float>& digis) override;
21 
22 private:
23  template <typename T>
24  void subtract_(uint32_t detId, uint16_t firstAPV, std::vector<T>& digis);
25  inline float pairMedian(std::vector<std::pair<float, float> >& sample);
26 
27  IteratedMedianCMNSubtractor(double sigma, int iterations, edm::ConsumesCollector iC)
28  : cut_to_avoid_signal_(sigma),
29  iterations_(iterations),
32  double cut_to_avoid_signal_;
40 };
41 #endif
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
float pairMedian(std::vector< std::pair< float, float > > &sample)
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
void init(const edm::EventSetup &es) override
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)
IteratedMedianCMNSubtractor(double sigma, int iterations, edm::ConsumesCollector iC)
edm::ESWatcher< SiStripNoisesRcd > noiseWatcher_
edm::ESWatcher< SiStripQualityRcd > qualityWatcher_
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_