00001 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H 00002 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H 00003 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h" 00004 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 class SiStripNoises; 00007 class SiStripQuality; 00008 00009 class TT6CMNSubtractor : public SiStripCommonModeNoiseSubtractor { 00010 00011 friend class SiStripRawProcessingFactory; 00012 00013 public: 00014 00015 void init(const edm::EventSetup& es); 00016 void subtract(const uint32_t&, const uint16_t&, std::vector<int16_t>&); 00017 void subtract(const uint32_t&, const uint16_t&, std::vector<float>&); 00018 00019 private: 00020 00021 template<typename T >void subtract_(const uint32_t&, const uint16_t&, std::vector<T>&); 00022 00023 TT6CMNSubtractor(double in) : 00024 cut_to_avoid_signal_(in), 00025 noise_cache_id(0), 00026 quality_cache_id(0) {}; 00027 double cut_to_avoid_signal_; 00028 edm::ESHandle<SiStripNoises> noiseHandle; 00029 edm::ESHandle<SiStripQuality> qualityHandle; 00030 uint32_t noise_cache_id, quality_cache_id; 00031 00032 }; 00033 #endif