5 #include "boost/bind.hpp"
66 <<
" detId = " <<
detId_ << std::endl
78 <<
" detId = " <<
detId_ << std::endl
85 std::vector<SiStripRawDigi>& pedsDetSetData,
86 std::vector<SiStripProcessedRawDigi>& noiseDetSetData,
87 std::vector<SiStripRawDigi>& pedSubtrDetSetData,
88 std::vector<uint32_t>& medsDetSetData,
89 const bool fillApvsForCM) {
93 std::vector<std::vector<uint16_t> > apvs;
102 std::vector<uint16_t> apvVec;
107 uint16_t ped = static_cast<uint16_t>(
pedestals_[st]);
113 if (digi_it == inputChannel->
end()) {
115 << lCount <<
" strips." << std::endl;
119 int lVal = digi_it->adc() - ped;
121 if (digi_it->adc() > 0)
123 << st <<
", digi = " << digi_it->adc() <<
", ped = " << ped << std::endl;
129 apvVec.push_back(static_cast<uint16_t>(lVal));
145 if (apvs.size() !=
nPairs_ * 2) {
147 <<
"! Processed " << apvs.size() <<
" APVs." << std::endl;
151 for (uint32_t iapv(0); iapv < apvs.size(); iapv++) {
152 std::vector<uint16_t> lVec = apvs[iapv];
154 std::vector<uint16_t>::iterator mid = lVec.begin() + (lVec.size() / 2 - 1);
155 std::nth_element(lVec.begin(), mid, lVec.end());
163 medsDetSetData.push_back(*mid);
170 std::vector<SiStripRawDigi>& cmSubtrDetSetData) {
172 std::vector<SiStripRawDigi>::const_iterator lDigi = pedSubtrDetSetData.begin();
192 const std::unique_ptr<SiStripRawProcessingAlgorithms>&
algorithms) {
194 std::vector<int16_t> cmSubtrRawDigis;
196 cmSubtrDetSetData.end(),
197 back_inserter(cmSubtrRawDigis),
199 algorithms->suppressor->suppress(cmSubtrRawDigis, 0, zsDetSetData);
211 noises_.push_back(iApv->adc());
216 std::vector<uint32_t>::const_iterator iApv = (meds->second).
begin();
217 for (; iApv != (meds->second).
end(); ++iApv) {
223 aOs <<
"===============================" << std::endl
224 <<
" ===== FEDEmulator::print =====" << std::endl
225 <<
" === byModule = " <<
byModule_ << std::endl
226 <<
" === minStrip = " <<
minStrip_ << std::endl
227 <<
" === maxStrip = " <<
maxStrip_ << std::endl
228 <<
" === size of pedestals = " <<
pedestals_.size() << std::endl
229 <<
" === size of noises = " <<
noises_.size() << std::endl
230 <<
" === size of medians = " <<
medians_.size() << std::endl
231 <<
" === detId = " <<
detId_ << std::endl
232 <<
" === nPairs = " <<
nPairs_ << std::endl
233 <<
" === pair = " <<
pair_ << std::endl
234 <<
"===============================" << std::endl;
238 aOs <<
"=========================================" << std::endl
239 <<
" ===== FEDEmulator::printPedestals =====" << std::endl;
245 aOs <<
"=========================================" << std::endl;
249 aOs <<
"=========================================" << std::endl
250 <<
" ===== FEDEmulator::printNoises =====" << std::endl;
251 for (
unsigned int i(0);
i <
noises_.size();
i++) {
256 aOs <<
"=========================================" << std::endl;
260 aOs <<
"=========================================" << std::endl
261 <<
" ===== FEDEmulator::printMedians =====" << std::endl;
262 for (
unsigned int i(0);
i <
medians_.size();
i++) {
267 aOs <<
"=========================================" << std::endl;