|
| FRDStreamSource (edm::ParameterSet const &pset, edm::InputSourceDescription const &desc) |
|
| ~FRDStreamSource () override |
|
bool | noFiles () const override |
|
| ProducerSourceFromFiles (ParameterSet const &pset, InputSourceDescription const &desc, bool realData) |
|
| ~ProducerSourceFromFiles () override |
|
EventNumber_t | event () const |
|
unsigned int | eventCreationDelay () const |
|
EventID const & | eventID () const |
|
LuminosityBlockNumber_t | luminosityBlock () const |
|
unsigned int | numberEventsInLumi () const |
|
unsigned int | numberEventsInRun () const |
|
unsigned int | numberEventsInThisLumi () const |
|
unsigned int | numberEventsInThisRun () const |
|
TimeValue_t | presentTime () const |
|
| ProducerSourceBase (ParameterSet const &pset, InputSourceDescription const &desc, bool realData) |
|
RunNumber_t | run () const |
|
unsigned int | timeBetweenEvents () const |
|
| ~ProducerSourceBase () noexcept(false) override |
|
| PuttableSourceBase (ParameterSet const &, InputSourceDescription const &) |
|
void | registerProducts () final |
| Register any produced products. More...
|
|
std::shared_ptr< ActivityRegistry > | actReg () const |
| Accessor for Activity Registry. More...
|
|
std::shared_ptr< BranchIDListHelper const > | branchIDListHelper () const |
| Accessors for branchIDListHelper. More...
|
|
std::shared_ptr< BranchIDListHelper > & | branchIDListHelper () |
|
void | closeFile (FileBlock *, bool cleaningUpAfterException) |
| close current file More...
|
|
void | doBeginJob () |
| Called by framework at beginning of job. More...
|
|
void | doEndJob () |
| Called by framework at end of job. More...
|
|
ProcessingController::ForwardState | forwardState () const |
|
bool | goToEvent (EventID const &eventID) |
|
| InputSource (ParameterSet const &, InputSourceDescription const &) |
| Constructor. More...
|
|
| InputSource (InputSource const &)=delete |
|
void | issueReports (EventID const &eventID) |
| issue an event report More...
|
|
LuminosityBlockNumber_t | luminosityBlock () const |
| Accessor for current luminosity block number. More...
|
|
std::shared_ptr< LuminosityBlockAuxiliary > | luminosityBlockAuxiliary () const |
| Called by the framework to merge or insert lumi in principal cache. More...
|
|
int | maxEvents () const |
|
int | maxLuminosityBlocks () const |
|
ModuleDescription const & | moduleDescription () const |
| Accessor for 'module' description. More...
|
|
ItemType | nextItemType () |
| Advances the source to the next item. More...
|
|
InputSource & | operator= (InputSource const &)=delete |
|
ProcessConfiguration const & | processConfiguration () const |
| Accessor for Process Configuration. More...
|
|
std::string const & | processGUID () const |
| Accessor for global process identifier. More...
|
|
ProcessHistoryRegistry const & | processHistoryRegistry () const |
| Accessors for process history registry. More...
|
|
ProcessHistoryRegistry & | processHistoryRegistry () |
|
ProcessingMode | processingMode () const |
| RunsLumisAndEvents (default), RunsAndLumis, or Runs. More...
|
|
std::shared_ptr< ProductRegistry const > | productRegistry () const |
| Accessors for product registry. More...
|
|
std::shared_ptr< ProductRegistry > & | productRegistry () |
|
bool | randomAccess () const |
|
void | readAndMergeLumi (LuminosityBlockPrincipal &lbp) |
| Read next luminosity block (same as a prior lumi) More...
|
|
void | readAndMergeRun (RunPrincipal &rp) |
| Read next run (same as a prior run) More...
|
|
void | readEvent (EventPrincipal &ep, StreamContext &) |
| Read next event. More...
|
|
bool | readEvent (EventPrincipal &ep, EventID const &, StreamContext &) |
| Read a specific event. More...
|
|
std::unique_ptr< FileBlock > | readFile () |
| Read next file. More...
|
|
void | readLuminosityBlock (LuminosityBlockPrincipal &lumiPrincipal, HistoryAppender &historyAppender) |
| Read next luminosity block (new lumi) More...
|
|
std::shared_ptr< LuminosityBlockAuxiliary > | readLuminosityBlockAuxiliary () |
| Read next luminosity block Auxilary. More...
|
|
void | readRun (RunPrincipal &runPrincipal, HistoryAppender &historyAppender) |
| Read next run (new run) More...
|
|
std::shared_ptr< RunAuxiliary > | readRunAuxiliary () |
| Read next run Auxiliary. More...
|
|
ProcessHistoryID const & | reducedProcessHistoryID () const |
|
int | remainingEvents () const |
|
int | remainingLuminosityBlocks () const |
|
void | repeat () |
| Reset the remaining number of events/lumis to the maximum number. More...
|
|
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > | resourceSharedWithDelayedReader () |
| Returns nullptr if no resource shared between the Source and a DelayedReader. More...
|
|
ProcessingController::ReverseState | reverseState () const |
|
void | rewind () |
| Begin again at the first event. More...
|
|
RunNumber_t | run () const |
| Accessor for current run number. More...
|
|
std::shared_ptr< RunAuxiliary > | runAuxiliary () const |
| Called by the framework to merge or insert run in principal cache. More...
|
|
void | setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb) |
| Set the luminosity block ID. More...
|
|
void | setRunNumber (RunNumber_t r) |
| Set the run number. More...
|
|
void | skipEvents (int offset) |
|
std::shared_ptr< ThinnedAssociationsHelper const > | thinnedAssociationsHelper () const |
| Accessors for thinnedAssociationsHelper. More...
|
|
std::shared_ptr< ThinnedAssociationsHelper > & | thinnedAssociationsHelper () |
|
Timestamp const & | timestamp () const |
| Accessor for the current time, as seen by the input source. More...
|
|
virtual | ~InputSource () noexcept(false) |
| Destructor. More...
|
|
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) |
|
|
enum | ItemType {
IsInvalid,
IsStop,
IsFile,
IsRun,
IsLumi,
IsEvent,
IsRepeat,
IsSynchronize
} |
|
enum | ProcessingMode { Runs,
RunsAndLumis,
RunsLumisAndEvents
} |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
static void | fillDescription (ParameterSetDescription &desc) |
|
static void | fillDescription (ParameterSetDescription &desc) |
|
static const std::string & | baseType () |
|
static void | fillDescription (ParameterSetDescription &desc) |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &) |
|
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | postEventReadFromSourceSignal_ |
|
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | preEventReadFromSourceSignal_ |
|
void | beginJob () override |
|
void | decreaseRemainingEventsBy (int iSkipped) |
|
bool | eventCached () const |
|
bool | newLumi () const |
|
bool | newRun () const |
|
ProcessHistoryRegistry & | processHistoryRegistryForUpdate () |
|
ProductRegistry & | productRegistryUpdate () |
|
void | reset () const |
|
void | resetEventCached () |
|
void | resetLuminosityBlockAuxiliary (bool isNewLumi=true) const |
|
void | resetNewLumi () |
|
void | resetNewRun () |
|
void | resetRunAuxiliary (bool isNewRun=true) const |
|
void | setEventCached () |
| Called by the framework to merge or ached() const {return eventCached_;}. More...
|
|
void | setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp) |
|
void | setNewLumi () |
|
void | setNewRun () |
|
void | setRunAuxiliary (RunAuxiliary *rp) |
|
void | setTimestamp (Timestamp const &theTime) |
| To set the current time, as seen by the input source. More...
|
|
ItemType | state () const |
|
Definition at line 21 of file FRDStreamSource.h.
Implements edm::ProducerSourceBase.
Definition at line 32 of file FRDStreamSource.cc.
References tcds::Raw_v1::bst, buffer_, crc32c(), detectedFRDversion_, fedh_struct::eventid, tcds::Header_v1::eventNumber, fedt_struct::eventsize, evf::evtn::evm_board_sense(), Exception, FED_EVSZ_EXTRACT, FED_EVTY_EXTRACT, FED_SOID_EXTRACT, l1t::stage2::layer2::fedId, edm::FromFiles::fileNames(), fin_, FRDHeaderVersionSize, evf::evtn::get(), evf::evtn::getgpshigh(), evf::evtn::getgpslow(), tcds::BST_v1::gpstimehigh, tcds::BST_v1::gpstimelow, evf::evtn::gtpe_board_sense(), evf::evtn::gtpe_get(), tcds::Raw_v1::header, createfilelist::int, itFileName_, dttmaxenums::L, tcds::Header_v1::lumiSection, FEDNumbering::MAXFEDID, FEDNumbering::MINTCDSuTCAFEDID, FEDNumbering::MINTriggerEGTPFEDID, FEDNumbering::MINTriggerGTPFEDID, openFile(), rawData_, fedh_struct::sourceid, useL1EventID_, verifyAdler32_, and verifyChecksum_.
Referenced by ~FRDStreamSource().
34 if (
fin_.peek() == EOF ) {
50 *((uint32_t*)(&
buffer_[0]))=detectedFRDversion_;
63 id =
edm::EventID(frdEventMsg->run(), frdEventMsg->lumi(), frdEventMsg->event());
65 const uint32_t totalSize = frdEventMsg->size();
66 if ( totalSize >
buffer_.size() ) {
81 crc =
crc32c(crc,(
const unsigned char*)frdEventMsg->payload(),frdEventMsg->eventSize());
82 if ( crc != frdEventMsg->crc32c() ) {
84 "Found a wrong crc32c checksum: expected 0x" << std::hex << frdEventMsg->crc32c() <<
85 " but calculated 0x" << crc;
90 uint32_t adler = adler32(0
L,Z_NULL,0);
91 adler = adler32(adler,(Bytef*)frdEventMsg->payload(),frdEventMsg->eventSize());
93 if ( adler != frdEventMsg->adler32() ) {
95 "Found a wrong Adler32 checksum: expected 0x" << std::hex << frdEventMsg->adler32() <<
96 " but calculated 0x" << adler;
100 rawData_ = std::make_unique<FEDRawDataCollection>();
102 uint32_t eventSize = frdEventMsg->eventSize();
103 char*
event = (
char*)frdEventMsg->payload();
104 bool foundTCDSFED=
false;
105 bool foundGTPFED=
false;
108 while (eventSize > 0) {
109 assert(eventSize>=
sizeof(
fedt_t));
110 eventSize -=
sizeof(
fedt_t);
113 assert(eventSize>=fedSize -
sizeof(
fedt_t));
114 eventSize -= (fedSize -
sizeof(
fedt_t));
119 throw cms::Exception(
"FedRawDataInputSource::fillFEDRawDataCollection") <<
"Out of range FED ID : " <<
fedId;
133 if (GTPEvmBoardSense)
153 fedData.resize(fedSize);
154 memcpy(fedData.data(),
event + eventSize, fedSize);
156 assert(eventSize == 0);
unsigned int detectedFRDversion_
unsigned int getgpshigh(const unsigned char *)
bool gtpe_board_sense(const unsigned char *p)
std::unique_ptr< FEDRawDataCollection > rawData_
unsigned int get(const unsigned char *, bool)
const uint32 FRDHeaderVersionSize[6]
std::vector< char > buffer_
std::vector< std::string > const & fileNames() const
#define FED_EVSZ_EXTRACT(a)
bool openFile(const std::string &fileName)
unsigned long long TimeValue_t
std::vector< std::string >::const_iterator itFileName_
bool evm_board_sense(const unsigned char *p, size_t size)
const bool verifyChecksum_
uint32_t crc32c(uint32_t crc, const unsigned char *buf, size_t len)
unsigned long long uint64_t
const bool verifyAdler32_
const uint32_t gpstimelow
const uint32_t gpstimehigh
unsigned int gtpe_get(const unsigned char *)
const struct Header_v1 header
unsigned int getgpslow(const unsigned char *)