#include <L1GTDigiToRaw.h>
Public Member Functions | |
L1GTDigiToRaw (const edm::ParameterSet &) | |
constructor(s) More... | |
~L1GTDigiToRaw () override | |
destructor More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
~EDProducer () override | |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Member Functions | |
void | beginJob () override |
beginning of job stuff More... | |
void | endJob () override |
end of job stuff More... | |
unsigned int | flipPtQ (unsigned int) |
void | packFDL (const edm::EventSetup &, unsigned char *, L1GtFdlWord &) |
pack FDL blocks for various bunch crosses More... | |
unsigned int | packGMT (L1MuGMTReadoutRecord const &, unsigned char *) |
pack a GMT record More... | |
unsigned int | packGmtCollection (unsigned char *ptrGt, L1MuGMTReadoutCollection const *digis) |
pack the GMT collection using packGMT (GMT record packing) More... | |
void | packGTFE (const edm::EventSetup &, unsigned char *, L1GtfeWord &, cms_uint16_t activeBoardsGtValue) |
void | packHeader (unsigned char *, edm::Event &) |
block packers -------—— More... | |
void | packPSB (const edm::EventSetup &, unsigned char *, L1GtPsbWord &) |
void | packTrailer (unsigned char *, unsigned char *, int) |
pack trailer word More... | |
void | produce (edm::Event &, const edm::EventSetup &) override |
loop over events More... | |
Private Attributes | |
cms_uint16_t | m_activeBoardsMaskGt |
mask for active boards More... | |
int | m_daqGtFedId |
edm::InputTag | m_daqGtInputTag |
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > | m_daqGtInputToken |
input tag for GT DAQ record More... | |
bool | m_isDebugEnabled |
int | m_maxBxInEvent |
int | m_minBxInEvent |
edm::InputTag | m_muGmtInputTag |
edm::EDGetTokenT< L1MuGMTReadoutCollection > | m_muGmtInputToken |
input tag for GMT record More... | |
int | m_totalBxInEvent |
total Bx's in the event, obtained from GTFE block More... | |
int | m_verbosity |
verbosity level More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Description: generate raw data from digis.
Implementation: <TODO: enter implementation details>
Definition at line 45 of file L1GTDigiToRaw.h.
|
explicit |
constructor(s)
Definition at line 60 of file L1GTDigiToRaw.cc.
References TauDecayModes::dec, LogDebug, m_activeBoardsMaskGt, m_daqGtFedId, m_daqGtInputTag, m_isDebugEnabled, m_muGmtInputTag, and m_verbosity.
|
override |
|
overrideprivatevirtual |
beginning of job stuff
Reimplemented from edm::EDProducer.
Definition at line 104 of file L1GTDigiToRaw.cc.
|
overrideprivatevirtual |
end of job stuff
Reimplemented from edm::EDProducer.
Definition at line 887 of file L1GTDigiToRaw.cc.
|
private |
Definition at line 853 of file L1GTDigiToRaw.cc.
|
private |
pack FDL blocks for various bunch crosses
Definition at line 612 of file L1GTDigiToRaw.cc.
References TauDecayModes::dec, L1GtFdlWord::getSize(), LogDebug, LogTrace, m_isDebugEnabled, m_verbosity, L1GtFdlWord::setBoardIdWord64(), L1GtFdlWord::setBxInEventWord64(), L1GtFdlWord::setBxNrWord64(), L1GtFdlWord::setEventNrWord64(), L1GtFdlWord::setFinalORWord64(), L1GtFdlWord::setGtDecisionWordAWord64(), L1GtFdlWord::setGtDecisionWordBWord64(), L1GtFdlWord::setGtDecisionWordExtendedWord64(), L1GtFdlWord::setGtPrescaleFactorIndexAlgoWord64(), L1GtFdlWord::setGtPrescaleFactorIndexTechWord64(), L1GtFdlWord::setGtTechnicalTriggerWordWord64(), L1GtFdlWord::setLocalBxNrWord64(), L1GtFdlWord::setLumiSegmentNrWord64(), L1GtFdlWord::setNoAlgoWord64(), L1GtFdlWord::setOrbitNrWord64(), L1GtFdlWord::setPhysicsDeclaredWord64(), and L1GlobalTriggerReadoutSetup::UnitLength.
Referenced by produce().
|
private |
pack a GMT record
Definition at line 757 of file L1GTDigiToRaw.cc.
References L1MuGMTReadoutRecord::getBCERR(), L1MuGMTReadoutRecord::getBrlRPCCands(), L1MuGMTReadoutRecord::getBxInEvent(), L1MuGMTReadoutRecord::getBxNr(), L1MuGMTReadoutRecord::getCSCCands(), L1MuGMTReadoutRecord::getDTBXCands(), L1MuGMTReadoutRecord::getEvNr(), L1MuGMTReadoutRecord::getFwdRPCCands(), L1MuGMTReadoutRecord::getGMTBrlCands(), L1MuGMTReadoutRecord::getGMTCands(), L1MuGMTReadoutRecord::getGMTFwdCands(), mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, createTree::pp, SIZE, and w.
Referenced by packGmtCollection().
|
private |
pack the GMT collection using packGMT (GMT record packing)
Definition at line 733 of file L1GTDigiToRaw.cc.
References L1MuGMTReadoutCollection::getRecord(), LogDebug, m_isDebugEnabled, m_maxBxInEvent, m_minBxInEvent, m_totalBxInEvent, m_verbosity, and packGMT().
Referenced by produce().
|
private |
pack the GTFE block gives the number of bunch crosses in the event, as well as the active boards records for inactive boards are not written in the GT DAQ record
Definition at line 558 of file L1GTDigiToRaw.cc.
References TauDecayModes::dec, L1GtfeWord::getSize(), LogDebug, LogTrace, m_isDebugEnabled, m_verbosity, L1GtfeWord::setActiveBoardsWord64(), L1GtfeWord::setAltNrBxBoardWord64(), L1GtfeWord::setBoardIdWord64(), L1GtfeWord::setBxNrWord64(), L1GtfeWord::setRecordLength1Word64(), L1GtfeWord::setRecordLengthWord64(), L1GtfeWord::setSetupVersionWord64(), L1GtfeWord::setTotalTriggerNrWord64(), and L1GlobalTriggerReadoutSetup::UnitLength.
Referenced by produce().
|
private |
block packers -------——
pack header
Definition at line 516 of file L1GTDigiToRaw.cc.
References edm::EventBase::bunchCrossing(), TauDecayModes::dec, edm::EventID::event(), edm::EventBase::id(), LogDebug, m_daqGtFedId, m_isDebugEnabled, m_verbosity, and FEDHeader::set().
Referenced by produce().
|
private |
pack PSB blocks packing is done in PSB class format
Definition at line 679 of file L1GTDigiToRaw.cc.
References TauDecayModes::dec, L1GtPsbWord::getSize(), LogDebug, LogTrace, m_isDebugEnabled, m_verbosity, L1GtPsbWord::setADataWord64(), L1GtPsbWord::setBDataWord64(), L1GtPsbWord::setBoardIdWord64(), L1GtPsbWord::setBxInEventWord64(), L1GtPsbWord::setBxNrWord64(), L1GtPsbWord::setEventNrWord64(), L1GtPsbWord::setLocalBxNrWord64(), and L1GlobalTriggerReadoutSetup::UnitLength.
Referenced by produce().
|
private |
pack trailer word
Definition at line 859 of file L1GTDigiToRaw.cc.
References evf::compute_crc(), and FEDTrailer::set().
Referenced by produce().
|
overrideprivate |
loop over events
Definition at line 113 of file L1GTDigiToRaw.cc.
References L1GtfeWord::activeBoards(), L1GtfeWord::altNrBxBoard(), FEDRawData::data(), TauDecayModes::dec, FDL, edm::EventSetup::get(), edm::Event::getByToken(), L1GtPsbWord::getSize(), L1GtfeWord::getSize(), L1TcsWord::getSize(), L1GtFdlWord::getSize(), GMT, L1GtBoardMaps::gtBoardMaps(), L1GlobalTriggerReadoutRecord::gtFdlWord(), GTFE, L1GlobalTriggerReadoutRecord::gtfeWord(), L1GlobalTriggerReadoutRecord::gtPsbWord(), edm::HandleBase::isValid(), LogDebug, LogTrace, m_activeBoardsMaskGt, m_daqGtFedId, m_daqGtInputTag, m_daqGtInputToken, m_isDebugEnabled, m_maxBxInEvent, m_minBxInEvent, m_muGmtInputTag, m_muGmtInputToken, m_totalBxInEvent, m_verbosity, eostools::move(), packFDL(), packGmtCollection(), packGTFE(), packHeader(), packPSB(), packTrailer(), L1GlobalTriggerReadoutRecord::print(), L1GtPsbWord::print(), L1GtfeWord::print(), L1GtFdlWord::print(), edm::Handle< T >::product(), PSB, edm::Event::put(), L1GtfeWord::recordLength(), L1GtfeWord::recordLength1(), FEDRawData::resize(), FEDRawData::size(), TCS, and TIM.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
mask for active boards
Definition at line 112 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), and produce().
|
private |
FED Id for GT DAQ record default value defined in DataFormats/FEDRawData/src/FEDNumbering.cc
Definition at line 101 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), packHeader(), and produce().
|
private |
Definition at line 108 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), and produce().
|
private |
input tag for GT DAQ record
Definition at line 104 of file L1GTDigiToRaw.h.
Referenced by produce().
|
private |
Definition at line 129 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), packFDL(), packGmtCollection(), packGTFE(), packHeader(), packPSB(), and produce().
|
private |
max Bx's in the event, computed after m_totalBxInEvent is obtained from GTFE block assume symmetrical number of BX around L1Accept
Definition at line 123 of file L1GTDigiToRaw.h.
Referenced by packGmtCollection(), and produce().
|
private |
min Bx's in the event, computed after m_totalBxInEvent is obtained from GTFE block assume symmetrical number of BX around L1Accept
Definition at line 119 of file L1GTDigiToRaw.h.
Referenced by packGmtCollection(), and produce().
|
private |
Definition at line 109 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), and produce().
|
private |
|
private |
total Bx's in the event, obtained from GTFE block
Definition at line 115 of file L1GTDigiToRaw.h.
Referenced by packGmtCollection(), and produce().
|
private |
verbosity level
Definition at line 128 of file L1GTDigiToRaw.h.
Referenced by L1GTDigiToRaw(), packFDL(), packGmtCollection(), packGTFE(), packHeader(), packPSB(), and produce().