49 const std::vector<edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > >
inputTokensDigi_;
62 inputTags_, [
this](
edm::InputTag const&
tag) {
return consumes<edm::DetSetVector<SiStripRawDigi> >(
tag); })),
66 produces<edm::DetSetVector<SiStripProcessedRawDigi> >(
"");
79 if (
"VirginRaw" ==
label)
81 else if (
"ProcessedRaw" ==
label)
104 return "Input Not Found";
110 std::vector<float> digis;
111 for (
const auto& detset :
input) {
113 for (
const auto& digi : detset) {
114 digis.resize(digi.strip(), 0);
115 digis.push_back(digi.adc());
124 for (
const auto& detset :
input) {
125 std::vector<float> digis;
127 detset.begin(), detset.end(), back_inserter(digis), std::bind(&
SiStripRawDigi::adc, std::placeholders::_1));
136 for (
const auto& detset :
input) {
137 std::vector<int16_t> int_digis(detset.size());
139 std::vector<float> digis(int_digis.begin(), int_digis.end());
146 std::vector<float>& digis,
151 for (
auto& it : digis)
152 it /= (
gain.getStripGain(it - *digis.begin(), detGainRange));
156 copy(digis.begin(), digis.end(), back_inserter(ds.
data));
const edm::ESGetToken< SiStripGain, SiStripGainRcd > gainToken_
void zs_process(const edm::DetSetVector< SiStripDigi > &, edm::DetSetVector< SiStripProcessedRawDigi > &, const SiStripGain &)
const std::vector< edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > > inputTokensRawDigi_
void common_process(const uint32_t, std::vector< float > &, edm::DetSetVector< SiStripProcessedRawDigi > &, const SiStripGain &)
std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN_
const std::vector< edm::InputTag > inputTags_
Log< level::Error, false > LogError
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
std::string findInput(edm::Handle< T > &handle, const std::vector< edm::EDGetTokenT< T > > &tokens, const edm::Event &e)
static std::string const input
static std::unique_ptr< SiStripCommonModeNoiseSubtractor > create_SubtractorCMN(const edm::ParameterSet &, edm::ConsumesCollector)
const std::vector< edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > > inputTokensDigi_
SiStripProcessedRawDigiProducer(edm::ParameterSet const &)
std::pair< ContainerIterator, ContainerIterator > Range
void pr_process(const edm::DetSetVector< SiStripRawDigi > &, edm::DetSetVector< SiStripProcessedRawDigi > &, const SiStripGain &)
#define DEFINE_FWK_MODULE(type)
bool getData(T &iHolder) const
static std::unique_ptr< SiStripPedestalsSubtractor > create_SubtractorPed(const edm::ParameterSet &, edm::ConsumesCollector)
void produce(edm::Event &e, const edm::EventSetup &es) override
Log< level::Info, false > LogInfo
std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed_
void vr_process(const edm::DetSetVector< SiStripRawDigi > &, edm::DetSetVector< SiStripProcessedRawDigi > &, const SiStripGain &)