32 short FixedBias = 128;
36 typename std::vector<T>::iterator fs,
ls;
40 for (uint16_t istrip = 0; istrip < digis.size(); ++istrip) {
45 double nWeight = 1 / (stripNoise * stripNoise);
46 sumVal += (digis[istrip] - FixedBias) * nWeight;
51 if (istrip % 128 == 127) {
52 double CM = (sumWt) ? sumVal / sumWt : 0.0;
54 fs = digis.begin() + istrip - 127;
55 ls = digis.begin() + istrip + 1;
58 *fs =
static_cast<T>(*fs - FixedBias - CM);
double cut_to_avoid_signal_
void subtract_(uint32_t detId, uint16_t firstAPV, std::vector< T > &digis)
edm::ESHandle< SiStripNoises > noiseHandle
void subtract(uint32_t detId, uint16_t firstAPV, std::vector< int16_t > &digis) override
bool IsStripBad(const uint32_t &detid, const short &strip) const
static float getNoiseFast(const uint16_t &strip, const Range &range)
edm::ESHandle< SiStripQuality > qualityHandle
Abs< T >::type abs(const T &t)
void init(const edm::EventSetup &es) override
const Range getRange(const uint32_t detID) const
const Range getRange(const uint32_t detID) const
std::pair< ContainerIterator, ContainerIterator > Range
std::pair< ContainerIterator, ContainerIterator > Range
uint32_t quality_cache_id