src
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
MedianCMNSubtractor.h
MedianCMNSubtractor::subtract
void subtract(uint32_t detId, uint16_t firstAPV, std::vector< int16_t > &digis) override
Definition:
MedianCMNSubtractor.cc:3
mps_fire.end
end
Definition:
mps_fire.py:242
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
createJobs.tmp
tmp
align.sh
Definition:
createJobs.py:716
T
long double T
Definition:
Basic3DVectorLD.h:48
SiStripCommonModeNoiseSubtractor::_vmedians
std::vector< std::pair< short, float > > _vmedians
Definition:
SiStripCommonModeNoiseSubtractor.h:25
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition:
hltrates_dqm_sourceclient-live_cfg.py:83
Generated for CMSSW Reference Manual by
1.8.14