RecoLocalTracker
SiStripZeroSuppression
src
MedianCMNSubtractor.cc
Go to the documentation of this file.
1
#include "
RecoLocalTracker/SiStripZeroSuppression/interface/MedianCMNSubtractor.h
"
2
3
void
MedianCMNSubtractor::subtract
(uint32_t detId, uint16_t firstAPV, std::vector<int16_t>& digis) {
4
subtract_
(detId, firstAPV, digis);
5
}
6
void
MedianCMNSubtractor::subtract
(uint32_t detId, uint16_t firstAPV, std::vector<float>& digis) {
7
subtract_
(detId, firstAPV, digis);
8
}
9
10
template
<
typename
T>
11
inline
void
MedianCMNSubtractor::subtract_
(uint32_t detId, uint16_t firstAPV, std::vector<T>& digis) {
12
std::vector<T>
tmp
;
13
tmp
.reserve(128);
14
typename
std::vector<T>::iterator
strip
(digis.begin()),
end
(digis.end()), endAPV;
15
16
_vmedians
.clear();
17
18
while
(
strip
<
end
) {
19
endAPV =
strip
+ 128;
20
tmp
.clear();
21
tmp
.insert(
tmp
.end(),
strip
, endAPV);
22
const
float
offset
=
median
(
tmp
);
23
24
_vmedians
.push_back(std::pair<short, float>((
strip
- digis.begin()) / 128 + firstAPV,
offset
));
25
26
while
(
strip
< endAPV) {
27
*
strip
= static_cast<T>(*
strip
-
offset
);
28
strip
++;
29
}
30
}
31
}
SiStripCommonModeNoiseSubtractor::median
float median(std::vector< T > &)
Definition:
SiStripCommonModeNoiseSubtractor.h:29
MedianCMNSubtractor::subtract_
void subtract_(uint32_t detId, uint16_t firstAPV, std::vector< T > &digis)
Definition:
MedianCMNSubtractor.cc:11
SiStripCommonModeNoiseSubtractor::_vmedians
std::vector< std::pair< short, float > > _vmedians
Definition:
SiStripCommonModeNoiseSubtractor.h:25
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
createJobs.tmp
tmp
align.sh
Definition:
createJobs.py:716
end
#define end
Definition:
vmac.h:39
MedianCMNSubtractor.h
MedianCMNSubtractor::subtract
void subtract(uint32_t detId, uint16_t firstAPV, std::vector< int16_t > &digis) override
Definition:
MedianCMNSubtractor.cc:3
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition:
hltrates_dqm_sourceclient-live_cfg.py:82
Generated for CMSSW Reference Manual by
1.8.16