|
|
Go to the documentation of this file.
92 : fed_ids_(
pset.getParameter<
std::vector<uint32_t> >(
"FEDIDs")),
94 allowIncompleteEvents_(
pset.getParameter<
bool>(
"AllowIncompleteEvents")),
95 storeCounters_(
pset.getParameter<
bool>(
"StoreCounters")),
96 storeScopeRawDigis_(
pset.getParameter<
bool>(
"StoreScopeRawDigis")),
101 LogInfo(
msgLb_) <<
"No FED IDs specified, so will try to unpack all FEDs with data" << std::endl;
110 <<
" Constructing object...";
115 produces<edm::DetSetVector<SiStripRawDigi> >(
"ScopeRawDigis");
118 produces<std::vector<uint32_t> >(
"L1ACount");
119 produces<std::vector<uint32_t> >(
"TotalEventCount");
122 produces<uint32_t>(
"GlobalRunNumber");
131 LogTrace(
"SiStripSpyUnpacker") <<
"[sistrip::SpyUnpackerModule::" << __func__ <<
"]"
132 <<
" Destructing object...";
153 std::unique_ptr<std::vector<uint32_t> > pTotalCounts(
new std::vector<uint32_t>);
154 std::unique_ptr<std::vector<uint32_t> > pL1ACounts(
new std::vector<uint32_t>);
156 std::unique_ptr<uint32_t> pGlobalRun(
new uint32_t);
160 *lCabling, *buffers, digis.get(),
fed_ids_, pTotalCounts.get(), pL1ACounts.get(), pGlobalRun.get());
164 event.put(
std::move(digis),
"ScopeRawDigis");
168 event.put(
std::move(pTotalCounts),
"TotalEventCount");
169 event.put(
std::move(pL1ACounts),
"L1ACount");
173 event.put(
std::move(pGlobalRun),
"GlobalRunNumber");
sistrip::SpyUnpackerModule SiStripSpyUnpackerModule
const edm::InputTag productLabel_
The product label of the FEDRawDataCollection input.
const bool storeCounters_
True = store L1ID and TotalEventCount by FED key.
static const char * msgLb_
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses,...
void produce(edm::Event &, const edm::EventSetup &) override
Scope mode digis and event counter producer. Retrieves cabling map from EventSetup and FEDRawDataColl...
#define DEFINE_FWK_MODULE(type)
Unpacks spy channel data into scope mode-like digis.
std::vector< uint32_t > fed_ids_
Vector of FED IDs to examine (FEDs).
SpyUnpackerModule(const edm::ParameterSet &)
edm::EDGetTokenT< FEDRawDataCollection > productToken_
A plug-in module that takes a FEDRawDataCollection as input from the Event and creates EDProducts con...
const bool storeScopeRawDigis_
True = store the scope mode raw digis.
const SiStripFedCabling * getCabling(const edm::EventSetup &)
Updates the cabling object from the DB.
~SpyUnpackerModule() override
const bool allowIncompleteEvents_
Allow inconsistent (by event count, APV address) event storage.
void createDigis(const SiStripFedCabling &, const FEDRawDataCollection &, RawDigis *pDigis, const std::vector< uint32_t > &ids, Counters *pTotalEventCounts, Counters *pL1ACounts, uint32_t *aRunRef)
Creates the scope mode digis for the supplied FED IDs or detIds and stores event counters.