15 subtract_(detId, firstStrip, digis, digis);
21 template <
class input_t>
25 std::vector<int16_t>&
output) {
27 pedestals.resize(firstStrip + input.size());
31 typename input_t::const_iterator inDigi = input.begin();
32 std::vector<int>::const_iterator ped =
pedestals.begin() + firstStrip;
33 std::vector<int16_t>::iterator outDigi = output.begin();
35 while (inDigi != input.end()) {
36 *outDigi =
eval(*inDigi) - *ped + ((*ped > 895) ? 1024 : 0);
47 edm::LogError(
"SiStripPedestalsSubtractor") <<
"[SiStripPedestalsSubtractor::subtract] DetId " <<
id 48 <<
" propagating error from SiStripPedestal" << e.
what();
edm::ESHandle< SiStripPedestals > pedestalsHandle
void subtract(const edm::DetSet< SiStripRawDigi > &input, std::vector< int16_t > &output)
char const * what() const override
std::pair< ContainerIterator, ContainerIterator > Range
static std::string const input
void init(const edm::EventSetup &)
std::vector< int > pedestals
void allPeds(std::vector< int > &pefs, const Range &range) const
void subtract_(uint32_t detId, uint16_t firstAPV, const input_t &input, std::vector< int16_t > &output)
const Range getRange(const uint32_t &detID) const