12 subtract_(detId, firstStrip, digis, digis);
18 template <
class input_t>
22 std::vector<int16_t>&
output) {
24 pedestals.resize(firstStrip + input.size());
28 typename input_t::const_iterator inDigi = input.begin();
29 std::vector<int>::const_iterator ped =
pedestals.begin() + firstStrip;
30 std::vector<int16_t>::iterator outDigi = output.begin();
32 while (inDigi != input.end()) {
33 *outDigi =
eval(*inDigi) - *ped + ((*ped > 895) ? 1024 : 0);
44 edm::LogError(
"SiStripPedestalsSubtractor") <<
"[SiStripPedestalsSubtractor::subtract] DetId " <<
id
45 <<
" propagating error from SiStripPedestal" << e.
what();
void subtract(const edm::DetSet< SiStripRawDigi > &input, std::vector< int16_t > &output)
std::pair< ContainerIterator, ContainerIterator > Range
Log< level::Error, false > LogError
const SiStripPedestals * pedestalsHandle
static std::string const input
bool getData(T &iHolder) const
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalsToken_
void init(const edm::EventSetup &)
std::vector< int > pedestals
edm::ESWatcher< SiStripPedestalsRcd > pedestalsWatcher_
char const * what() const noexceptoverride
void allPeds(std::vector< int > &pefs, const Range &range) const
bool check(const edm::EventSetup &iSetup)
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