25 short FixedBias = 128;
29 typename std::vector<T>::iterator fs,
ls;
33 for (uint16_t istrip = 0; istrip < digis.size(); ++istrip) {
38 double nWeight = 1 / (stripNoise * stripNoise);
39 sumVal += (digis[istrip] - FixedBias) * nWeight;
44 if (istrip % 128 == 127) {
45 double CM = (sumWt) ? sumVal / sumWt : 0.0;
47 fs = digis.begin() + istrip - 127;
48 ls = digis.begin() + istrip + 1;
51 *fs =
static_cast<T>(*fs - FixedBias - CM);
double cut_to_avoid_signal_
void subtract_(uint32_t detId, uint16_t firstAPV, std::vector< T > &digis)
void subtract(uint32_t detId, uint16_t firstAPV, std::vector< int16_t > &digis) override
bool IsStripBad(const uint32_t &detid, const short &strip) const
edm::ESWatcher< SiStripQualityRcd > qualityWatcher_
const SiStripNoises * noiseHandle
bool getData(T &iHolder) const
edm::ESWatcher< SiStripNoisesRcd > noiseWatcher_
static float getNoiseFast(const uint16_t &strip, const Range &range)
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_
Abs< T >::type abs(const T &t)
const SiStripQuality * qualityHandle
void init(const edm::EventSetup &es) override
bool check(const edm::EventSetup &iSetup)
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
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