#include <L1GTEvmDigiToRaw.h>
Public Member Functions | |
L1GTEvmDigiToRaw (const edm::ParameterSet &) | |
constructor(s) More... | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
EDProducer (const EDProducer &)=delete | |
bool | hasAbilityToProduceInBeginLumis () const final |
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
bool | hasAbilityToProduceInBeginRuns () const final |
bool | hasAbilityToProduceInEndLumis () const final |
bool | hasAbilityToProduceInEndProcessBlocks () const final |
bool | hasAbilityToProduceInEndRuns () const final |
const EDProducer & | operator= (const EDProducer &)=delete |
Private Member Functions | |
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 |
const edm::InputTag | m_evmGtInputTag |
const edm::EDGetTokenT < L1GlobalTriggerEvmReadoutRecord > | m_evmGtInputToken |
input tag for GT EVM record More... | |
const bool | m_isDebugEnabled |
const edm::ESGetToken < L1GtBoardMaps, L1GtBoardMapsRcd > | m_l1GtBMToken |
EventSetup Token for L1GtBoardMaps. More... | |
int | m_maxBxInEvent |
int | m_minBxInEvent |
int | m_totalBxInEvent |
total Bx's in the event, obtained from GTFE block More... | |
const int | m_verbosity |
verbosity level More... | |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
using | CacheTypes = CacheContexts< T...> |
using | GlobalCache = typename CacheTypes::GlobalCache |
using | HasAbility = AbilityChecker< T...> |
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
using | RunCache = typename CacheTypes::RunCache |
using | RunContext = RunContextT< RunCache, GlobalCache > |
using | RunSummaryCache = typename CacheTypes::RunSummaryCache |
Description: generate raw data from digis.
Implementation: <TODO: enter implementation details>
Definition at line 45 of file L1GTEvmDigiToRaw.h.
|
explicit |
constructor(s)
Definition at line 52 of file L1GTEvmDigiToRaw.cc.
References TauDecayModes::dec, LogDebug, m_activeBoardsMaskGt, m_evmGtFedId, and m_evmGtInputTag.
|
private |
pack FDL blocks for various bunch crosses
Definition at line 520 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 421 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 380 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 471 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 576 of file L1GTEvmDigiToRaw.cc.
References evf::compute_crc(), and FEDTrailer::set().
Referenced by produce().
|
overrideprivate |
loop over events
Definition at line 79 of file L1GTEvmDigiToRaw.cc.
References L1GtfeWord::activeBoards(), L1GtfeWord::altNrBxBoard(), L1GtfeExtWord::bstLengthBytes(), FEDRawData::data(), TauDecayModes::dec, FDL, edm::Event::getByToken(), edm::EventSetup::getHandle(), L1GtfeExtWord::getSize(), L1TcsWord::getSize(), L1GtFdlWord::getSize(), GTFE, edm::HandleBase::isValid(), LogDebug, LogTrace, m_activeBoardsMaskGt, m_bstLengthBytes, m_evmGtFedId, m_evmGtInputTag, m_evmGtInputToken, m_isDebugEnabled, m_l1GtBMToken, m_maxBxInEvent, m_minBxInEvent, m_totalBxInEvent, m_verbosity, eostools::move(), packFDL(), packGTFE(), packHeader(), packTCS(), packTrailer(), L1GtfeExtWord::print(), L1TcsWord::print(), L1GtFdlWord::print(), edm::Event::put(), L1GtfeWord::recordLength(), L1GtfeWord::recordLength1(), FEDRawData::resize(), FEDRawData::size(), TCS, and TIM.
|
private |
mask for active boards
Definition at line 86 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), and produce().
|
private |
length of BST record (in bytes)
Definition at line 100 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 76 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), packHeader(), and produce().
|
private |
Definition at line 80 of file L1GTEvmDigiToRaw.h.
Referenced by L1GTEvmDigiToRaw(), and produce().
|
private |
input tag for GT EVM record
Definition at line 79 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
Definition at line 105 of file L1GTEvmDigiToRaw.h.
Referenced by packFDL(), packGTFE(), packHeader(), packTCS(), and produce().
|
private |
EventSetup Token for L1GtBoardMaps.
Definition at line 83 of file L1GTEvmDigiToRaw.h.
Referenced by 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 97 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 93 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
total Bx's in the event, obtained from GTFE block
Definition at line 89 of file L1GTEvmDigiToRaw.h.
Referenced by produce().
|
private |
verbosity level
Definition at line 104 of file L1GTEvmDigiToRaw.h.
Referenced by packFDL(), packGTFE(), packHeader(), packTCS(), and produce().