#include <L1GTEvmDigiToRaw.h>
Public Member Functions | |
L1GTEvmDigiToRaw (const edm::ParameterSet &) | |
constructor(s) More... | |
~L1GTEvmDigiToRaw () 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... | |
void | packFDL (const edm::EventSetup &, unsigned char *, L1GtFdlWord &) |
pack FDL blocks for various bunch crosses More... | |
void | packGTFE (const edm::EventSetup &, unsigned char *, L1GtfeExtWord &, cms_uint16_t activeBoardsGtValue) |
void | packHeader (unsigned char *, edm::Event &) |
block packers -------—— More... | |
void | packTCS (const edm::EventSetup &evSetup, unsigned char *ptrGt, L1TcsWord &tcsBlock) |
pack the TCS block More... | |
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_bstLengthBytes |
length of BST record (in bytes) More... | |
int | m_evmGtFedId |
edm::InputTag | m_evmGtInputTag |
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > | m_evmGtInputToken |
input tag for GT EVM record More... | |
bool | m_isDebugEnabled |
int | m_maxBxInEvent |
int | m_minBxInEvent |
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 42 of file L1GTEvmDigiToRaw.h.
|
explicit |
constructor(s)
Definition at line 55 of file L1GTEvmDigiToRaw.cc.
References TauDecayModes::dec, LogDebug, m_activeBoardsMaskGt, m_evmGtFedId, and m_evmGtInputTag.
|
override |
|
overrideprivatevirtual |
beginning of job stuff
Reimplemented from edm::EDProducer.
Definition at line 93 of file L1GTEvmDigiToRaw.cc.
|
overrideprivatevirtual |
end of job stuff
Reimplemented from edm::EDProducer.
Definition at line 735 of file L1GTEvmDigiToRaw.cc.
|
private |
pack FDL blocks for various bunch crosses
Definition at line 633 of file L1GTEvmDigiToRaw.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 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 EVM record
Definition at line 506 of file L1GTEvmDigiToRaw.cc.
References TauDecayModes::dec, L1GtfeExtWord::getSize(), LogDebug, LogTrace, m_bstLengthBytes, m_isDebugEnabled, m_verbosity, L1GtfeWord::setActiveBoardsWord64(), L1GtfeWord::setAltNrBxBoardWord64(), L1GtfeWord::setBoardIdWord64(), L1GtfeExtWord::setBstWord64(), L1GtfeWord::setBxNrWord64(), L1GtfeWord::setRecordLength1Word64(), L1GtfeWord::setRecordLengthWord64(), L1GtfeWord::setSetupVersionWord64(), L1GtfeWord::setTotalTriggerNrWord64(), and L1GlobalTriggerReadoutSetup::UnitLength.
Referenced by produce().
|
private |
block packers -------——
pack header
Definition at line 455 of file L1GTEvmDigiToRaw.cc.
References edm::EventBase::bunchCrossing(), TauDecayModes::dec, edm::EventID::event(), edm::EventBase::id(), LogDebug, m_evmGtFedId, m_isDebugEnabled, m_verbosity, and FEDHeader::set().
Referenced by produce().
|
private |
pack the TCS block
Definition at line 569 of file L1GTEvmDigiToRaw.cc.
References TauDecayModes::dec, L1TcsWord::getSize(), LogDebug, LogTrace, m_isDebugEnabled, m_verbosity, L1TcsWord::setAssignedPartitionsWord64(), L1TcsWord::setBoardIdWord64(), L1TcsWord::setBxNrWord64(), L1TcsWord::setDaqNrWord64(), L1TcsWord::setEventNrWord64(), L1TcsWord::setLuminositySegmentNrWord64(), L1TcsWord::setOrbitNrWord64(), L1TcsWord::setPartRunNrWord64(), L1TcsWord::setPartTrigNrWord64(), L1TcsWord::setStatusWord64(), L1TcsWord::setTriggerTypeWord64(), and L1GlobalTriggerReadoutSetup::UnitLength.
Referenced by produce().
|
private |
pack trailer word
Definition at line 704 of file L1GTEvmDigiToRaw.cc.
References evf::compute_crc(), and FEDTrailer::set().
Referenced by produce().
|
overrideprivate |
loop over events
Definition at line 102 of file L1GTEvmDigiToRaw.cc.
References L1GtfeWord::activeBoards(), L1GtfeWord::altNrBxBoard(), L1GtfeExtWord::bstLengthBytes(), FEDRawData::data(), TauDecayModes::dec, FDL, edm::EventSetup::get(), edm::Event::getByToken(), L1GtfeExtWord::getSize(), L1TcsWord::getSize(), L1GtFdlWord::getSize(), L1GtBoardMaps::gtBoardMaps(), L1GlobalTriggerEvmReadoutRecord::gtFdlWord(), GTFE, L1GlobalTriggerEvmReadoutRecord::gtfeWord(), edm::HandleBase::isValid(), LogDebug, LogTrace, m_activeBoardsMaskGt, m_bstLengthBytes, m_evmGtFedId, m_evmGtInputTag, m_evmGtInputToken, m_isDebugEnabled, m_maxBxInEvent, m_minBxInEvent, m_totalBxInEvent, m_verbosity, eostools::move(), packFDL(), packGTFE(), packHeader(), packTCS(), packTrailer(), L1GlobalTriggerEvmReadoutRecord::print(), L1GtfeExtWord::print(), L1TcsWord::print(), L1GtFdlWord::print(), edm::Event::put(), L1GtfeWord::recordLength(), L1GtfeWord::recordLength1(), FEDRawData::resize(), FEDRawData::size(), TCS, L1GlobalTriggerEvmReadoutRecord::tcsWord(), and TIM.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
mask for active boards
Definition at line 96 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), and produce().
|
private |
length of BST record (in bytes)
Definition at line 110 of file L1GTEvmDigiToRaw.h.
Referenced by packGTFE(), and produce().
|
private |
FED Id for GT EVM record default value defined in DataFormats/FEDRawData/src/FEDNumbering.cc
Definition at line 89 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), packHeader(), and produce().
|
private |
Definition at line 93 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), and produce().
|
private |
input tag for GT EVM record
Definition at line 92 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
Definition at line 116 of file L1GTEvmDigiToRaw.h.
Referenced by packFDL(), packGTFE(), packHeader(), packTCS(), 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 107 of file L1GTEvmDigiToRaw.h.
Referenced by 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 103 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
total Bx's in the event, obtained from GTFE block
Definition at line 99 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
verbosity level
Definition at line 115 of file L1GTEvmDigiToRaw.h.
Referenced by packFDL(), packGTFE(), packHeader(), packTCS(), and produce().