◆ ClusterCollection
◆ DetClusIter
◆ DetClusterCollection
◆ DetDigiCollection
◆ DetDigiIter
◆ DigiCollection
◆ SiStripClusterToDigiProducer()
SiStripClusterToDigiProducer::SiStripClusterToDigiProducer |
( |
const edm::ParameterSet & |
conf | ) |
|
|
explicit |
◆ applyGain()
uint16_t SiStripClusterToDigiProducer::applyGain |
( |
const uint16_t & |
strip, |
|
|
const uint16_t & |
adc |
|
) |
| |
|
inlineprivate |
◆ gain()
float SiStripClusterToDigiProducer::gain |
( |
const uint16_t & |
strip | ) |
const |
|
inlineprivate |
◆ process()
Definition at line 79 of file SiStripClusterToDigiProducer.cc.
References applyGain(), edm::DetSet< T >::data, edm::DetSet< T >::empty(), input, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, setDetId(), and ApeEstimator_cff::width.
Referenced by produce().
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);
void setDetId(const uint32_t id)
uint16_t applyGain(const uint16_t &strip, const uint16_t &adc)
static std::string const input
edm::DetSet< SiStripDigi > DetDigiCollection
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
edmNew::DetSet< SiStripCluster >::const_iterator DetClusIter
◆ produce()
Definition at line 56 of file SiStripClusterToDigiProducer.cc.
References edm::ESWatcher< T >::check(), gain_, gainToken_, gainWatcher_, edm::EventSetup::getData(), input, eostools::move(), process(), and token.
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");
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
edm::ESGetToken< SiStripGain, SiStripGainRcd > gainToken_
edm::ESWatcher< SiStripGainRcd > gainWatcher_
static std::string const input
const SiStripGain * gain_
edm::EDGetTokenT< ClusterCollection > token
void process(const ClusterCollection &input, std::vector< DetDigiCollection > &output_base)
bool check(const edm::EventSetup &iSetup)
◆ setDetId()
void SiStripClusterToDigiProducer::setDetId |
( |
const uint32_t |
id | ) |
|
|
inlineprivate |
◆ detId
uint32_t SiStripClusterToDigiProducer::detId |
|
private |
◆ gain_
◆ gainRange
◆ gainToken_
◆ gainWatcher_
◆ token