#include <DTDDUFileReader.h>
Public Member Functions | |
virtual bool | checkEndOfFile () |
uint64_t | dmaUnpack (bool &isData, int &nread) |
pre-unpack the data if read via DMA More... | |
DTDDUFileReader (const edm::ParameterSet &pset) | |
Constructor. More... | |
virtual int | fillRawData (edm::Event &e, FEDRawDataCollection *&data) |
Generate and fill FED raw data for a full event. More... | |
bool | isHeader (uint64_t word, bool dataTag) |
check for a 64 bits word to be a DDU header More... | |
bool | isTrailer (uint64_t word, bool dataTag, unsigned int wordCount) |
check for a 64 bits word to be a DDU trailer More... | |
void | produce (edm::Event &, edm::EventSetup const &) override |
void | swap (uint64_t &word) |
swapping the lsBits with the msBits More... | |
~DTDDUFileReader () override | |
Destructor. More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
SerialTaskQueue * | globalLuminosityBlocksQueue () |
SerialTaskQueue * | globalRunsQueue () |
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) |
~ProducerBase () noexcept(false) override | |
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 | |
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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 | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Attributes | |
int | dduID |
edm::EventNumber_t | eventNumber |
RawFile | inputFile |
int | numberOfHeaderWords |
bool | readFromDMA |
edm::RunNumber_t | runNumber |
int | skipEvents |
Static Private Attributes | |
static const int | dduWordLength = 8 |
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) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsInputProcessBlocks () |
static bool | wantsProcessBlocks () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
Protected Member Functions inherited from edm::ProducerBase | |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
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) |
void | resetItemsToGetFrom (BranchType iType) |
Read DT ROS8 raw data files
Definition at line 22 of file DTDDUFileReader.h.
DTDDUFileReader::DTDDUFileReader | ( | const edm::ParameterSet & | pset | ) |
Constructor.
Definition at line 31 of file DTDDUFileReader.cc.
References gather_cfg::cout, Exception, RawFile::fail(), lut2db_cfg::filename, edm::ParameterSet::getUntrackedParameter(), RawFile::ignore(), inputFile, numberOfHeaderWords, RawFile::open(), RawFile::read(), readFromDMA, runNumber, and skipEvents.
|
override |
Destructor.
Definition at line 60 of file DTDDUFileReader.cc.
References RawFile::close(), and inputFile.
|
virtual |
uint64_t DTDDUFileReader::dmaUnpack | ( | bool & | isData, |
int & | nread | ||
) |
pre-unpack the data if read via DMA
Definition at line 176 of file DTDDUFileReader.cc.
References data, inputFile, and RawFile::read().
Referenced by fillRawData().
|
virtual |
Generate and fill FED raw data for a full event.
Definition at line 62 of file DTDDUFileReader.cc.
References filterCSVwithJSON::copy, gather_cfg::cout, FEDRawData::data(), data, dduID, dduWordLength, dmaUnpack(), eventNumber, FEDRawDataCollection::FEDData(), edm::EventBase::id(), inputFile, isHeader(), isTrailer(), FEDNumbering::MINDTFEDID, RawFile::read(), readFromDMA, FEDRawData::resize(), runNumber, skipEvents, and swap().
Referenced by produce().
bool DTDDUFileReader::isHeader | ( | uint64_t | word, |
bool | dataTag | ||
) |
check for a 64 bits word to be a DDU header
Definition at line 202 of file DTDDUFileReader.cc.
References FEDHeader::check(), dduID, eventNumber, and FEDHeader::sourceID().
Referenced by fillRawData().
bool DTDDUFileReader::isTrailer | ( | uint64_t | word, |
bool | dataTag, | ||
unsigned int | wordCount | ||
) |
check for a 64 bits word to be a DDU trailer
Definition at line 215 of file DTDDUFileReader.cc.
References FEDTrailer::check(), and FEDTrailer::fragmentLength().
Referenced by fillRawData().
|
overridevirtual |
Implements edm::EDProducer.
Definition at line 160 of file DTDDUFileReader.cc.
References fillRawData(), eostools::move(), and edm::Event::put().
void DTDDUFileReader::swap | ( | uint64_t & | word | ) |
swapping the lsBits with the msBits
Definition at line 168 of file DTDDUFileReader.cc.
References twoNibble64::lsBits, and twoNibble64::msBits.
Referenced by fillRawData().
|
private |
Definition at line 58 of file DTDDUFileReader.h.
Referenced by fillRawData(), and isHeader().
|
staticprivate |
Definition at line 64 of file DTDDUFileReader.h.
Referenced by fillRawData().
|
private |
Definition at line 56 of file DTDDUFileReader.h.
Referenced by fillRawData(), and isHeader().
|
private |
Definition at line 53 of file DTDDUFileReader.h.
Referenced by checkEndOfFile(), dmaUnpack(), DTDDUFileReader(), fillRawData(), and ~DTDDUFileReader().
|
private |
Definition at line 62 of file DTDDUFileReader.h.
Referenced by DTDDUFileReader().
|
private |
Definition at line 60 of file DTDDUFileReader.h.
Referenced by DTDDUFileReader(), and fillRawData().
|
private |
Definition at line 55 of file DTDDUFileReader.h.
Referenced by DTDDUFileReader(), and fillRawData().
|
private |
Definition at line 61 of file DTDDUFileReader.h.
Referenced by DTDDUFileReader(), and fillRawData().