50 produces<DigiCollection>(
"ZeroSuppressed");
51 produces<DigiCollection>(
"VirginRaw");
52 produces<DigiCollection>(
"ProcessedRaw");
53 produces<DigiCollection>(
"ScopeMode");
61 std::vector<DetDigiCollection> output_base;
68 auto outputZS = std::make_unique<DigiCollection>(output_base);
69 auto outputVR = std::make_unique<DigiCollection>();
70 auto outputPR = std::make_unique<DigiCollection>();
71 auto outputSM = std::make_unique<DigiCollection>();
73 event.put(
std::move(outputZS),
"ZeroSuppressed");
74 event.put(
std::move(outputVR),
"VirginRaw");
75 event.put(
std::move(outputPR),
"ProcessedRaw");
76 event.put(
std::move(outputSM),
"ScopeMode");
80 std::vector<DetDigiCollection>& output_base) {
82 uint32_t detid = it->detId();
88 for (; clus != endclus; clus++) {
90 size_t width = clus->amplitudes().size();
91 size_t firstStrip = clus->firstStrip();
92 uint16_t stripPos = firstStrip;
93 for (; istrip <
width; ++istrip) {
99 if (!detDigis.
empty())
100 output_base.push_back(detDigis);
114 uint16_t
charge =
static_cast<uint16_t
>(
void setDetId(const uint32_t id)
T getParameter(std::string const &) const
edm::DetSetVector< SiStripDigi > DigiCollection
edmNew::DetSet< SiStripCluster > DetClusterCollection
#define DEFINE_FWK_MODULE(type)
float gain(const uint16_t &strip) const
SiStripApvGain::Range gainRange
uint16_t applyGain(const uint16_t &strip, const uint16_t &adc)
const SiStripApvGain::Range getRange(uint32_t detID) const
edm::ESGetToken< SiStripGain, SiStripGainRcd > gainToken_
data_type const * const_iterator
edm::ESWatcher< SiStripGainRcd > gainWatcher_
static std::string const input
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
const SiStripGain * gain_
std::pair< ContainerIterator, ContainerIterator > Range
bool getData(T &iHolder) const
edm::DetSet< SiStripDigi > DetDigiCollection
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
edm::EDGetTokenT< ClusterCollection > token
edmNew::DetSetVector< SiStripCluster > ClusterCollection
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
void produce(edm::Event &, const edm::EventSetup &) override
void process(const ClusterCollection &input, std::vector< DetDigiCollection > &output_base)
edmNew::DetSet< SiStripCluster >::const_iterator DetClusIter
bool check(const edm::EventSetup &iSetup)
SiStripClusterToDigiProducer(const edm::ParameterSet &conf)
collection_type::const_iterator const_iterator
edm::DetSet< SiStripDigi >::const_iterator DetDigiIter
uint16_t *__restrict__ uint16_t const *__restrict__ adc