#include <EventPrincipal.h>
Public Types | |
typedef EventAuxiliary | Auxiliary |
typedef Principal | Base |
typedef Base::ConstProductHolderPtr | ConstProductHolderPtr |
Public Types inherited from edm::Principal | |
typedef std::vector< BasicHandle > | BasicHandleVec |
typedef unsigned long | CacheIdentifier_t |
typedef boost::filter_iterator < FilledProductPtr, ProductHolderCollection::const_iterator > | const_iterator |
typedef ProductHolderBase const * | ConstProductHolderPtr |
typedef boost::filter_iterator < FilledProductPtr, ProductHolderCollection::iterator > | iterator |
typedef std::string | ProcessName |
typedef ProcessHistory::const_iterator | ProcessNameConstIterator |
typedef std::vector < propagate_const < std::shared_ptr < ProductHolderBase > > > | ProductHolderCollection |
typedef std::shared_ptr < ProductHolderBase > | SharedProductPtr |
typedef ProductHolderCollection::size_type | size_type |
Public Attributes | |
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | postModuleDelayedGetSignal_ |
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | preModuleDelayedGetSignal_ |
Static Public Attributes | |
static int const | invalidBunchXing = EventAuxiliary::invalidBunchXing |
static int const | invalidStoreNumber = EventAuxiliary::invalidStoreNumber |
Private Member Functions | |
edm::ThinnedAssociation const * | getThinnedAssociation (edm::BranchID const &branchID) const |
BranchID | pidToBid (ProductID const &pid) const |
std::shared_ptr < ProductProvenanceRetriever const > | provRetrieverPtr () const |
std::shared_ptr < ProductProvenanceRetriever > & | provRetrieverPtr () |
virtual void | readFromSource_ (ProductHolderBase const &phb, ModuleCallingContext const *mcc) const override |
virtual unsigned int | transitionIndex_ () const override |
virtual bool | unscheduledFill (std::string const &moduleLabel, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override |
Private Attributes | |
EventAuxiliary | aux_ |
std::shared_ptr < BranchIDListHelper const > | branchIDListHelper_ |
BranchListIndexes | branchListIndexes_ |
std::map< BranchListIndex, ProcessIndex > | branchListIndexToProcessIndex_ |
EventSelectionIDVector | eventSelectionIDs_ |
edm::propagate_const < std::shared_ptr < LuminosityBlockPrincipal > > | luminosityBlockPrincipal_ |
edm::propagate_const < std::shared_ptr < ProductProvenanceRetriever > > | provRetrieverPtr_ |
StreamID | streamID_ |
std::shared_ptr < ThinnedAssociationsHelper const > | thinnedAssociationsHelper_ |
std::shared_ptr < UnscheduledHandler const > | unscheduledHandler_ |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::EDProductGetter | |
static void | assignEDProductGetter (EDProductGetter const *&) |
static EDProductGetter const * | switchProductGetter (EDProductGetter const *) |
These can only be used internally by the framework. More... | |
Protected Member Functions inherited from edm::Principal | |
void | addProduct_ (std::unique_ptr< ProductHolderBase > phb) |
void | addProductOrThrow (std::unique_ptr< ProductHolderBase > phb) |
void | checkUniquenessAndType (WrapperBase const *prod, ProductHolderBase const *productHolder) const |
ProductHolderBase * | getExistingProduct (BranchID const &branchID) |
ProductHolderBase const * | getExistingProduct (BranchID const &branchID) const |
ProductHolderBase const * | getExistingProduct (ProductHolderBase const &phb) const |
void | putOrMerge (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const |
Definition at line 47 of file EventPrincipal.h.
Definition at line 49 of file EventPrincipal.h.
typedef Principal edm::EventPrincipal::Base |
Definition at line 50 of file EventPrincipal.h.
Definition at line 52 of file EventPrincipal.h.
edm::EventPrincipal::EventPrincipal | ( | std::shared_ptr< ProductRegistry const > | reg, |
std::shared_ptr< BranchIDListHelper const > | branchIDListHelper, | ||
std::shared_ptr< ThinnedAssociationsHelper const > | thinnedAssociationsHelper, | ||
ProcessConfiguration const & | pc, | ||
HistoryAppender * | historyAppender, | ||
unsigned int | streamIndex = 0 |
||
) |
Definition at line 31 of file EventPrincipal.cc.
References assert(), and thinnedAssociationsHelper_.
|
inline |
Definition at line 62 of file EventPrincipal.h.
|
inline |
Definition at line 122 of file EventPrincipal.h.
References aux_.
Referenced by bunchCrossing(), ExperimentType(), fillEventPrincipal(), id(), isReal(), edm::isSameEvent(), edm::SubProcess::process(), edm::StreamSerializer::serializeEvent(), storeNumber(), time(), and edm::RootOutputFile::writeOne().
Definition at line 225 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexToProcessIndex_, Exception, i, edm::BranchID::isValid(), and edm::errors::NotFound.
Referenced by fillEventPrincipal(), and edm::Event::makeProductID().
BranchListIndexes const & edm::EventPrincipal::branchListIndexes | ( | ) | const |
Definition at line 430 of file EventPrincipal.cc.
References branchListIndexes_.
Referenced by fillEventPrincipal(), edm::SubProcess::process(), edm::StreamSerializer::serializeEvent(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 114 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::bunchCrossing().
void edm::EventPrincipal::clearEventPrincipal | ( | ) |
Definition at line 53 of file EventPrincipal.cc.
References aux_, branchListIndexToProcessIndex_, edm::Principal::clearPrincipal(), luminosityBlockPrincipal_, provRetrieverPtr_, and unscheduledHandler_.
Referenced by edm::VectorInputSource::clearEventPrincipal(), and edm::SubProcess::process().
EventSelectionIDVector const & edm::EventPrincipal::eventSelectionIDs | ( | ) | const |
Definition at line 425 of file EventPrincipal.cc.
References eventSelectionIDs_.
Referenced by edm::Event::eventSelectionIDs(), fillEventPrincipal(), edm::SubProcess::process(), edm::StreamSerializer::serializeEvent(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 110 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::experimentType().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistoryRegistry const & | processHistoryRegistry, | ||
DelayedReader * | reader = 0 |
||
) |
Definition at line 94 of file EventPrincipal.cc.
References aux(), aux_, branchIDListHelper_, branchIDToProductID(), branchListIndexes_, branchListIndexToProcessIndex_, edm::EventAuxiliary::event(), Exception, edm::Principal::fillPrincipal(), edm::invalidEventNumber, edm::errors::LogicError, edm::Principal::processHistory(), edm::EventAuxiliary::processHistoryID(), edm::Principal::processHistoryID(), parseEventContent::prod, productProvenanceRetrieverPtr(), edm::Principal::reader(), and edm::EventAuxiliary::setProcessHistoryID().
Referenced by fillEventPrincipal(), edm::RawInputSource::makeEvent(), edm::SubProcess::process(), edm::StreamerInputSource::read(), edm::RootFile::readCurrentEvent(), LHESource::readEvent_(), and edm::ProducerSourceBase::readEvent_().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistoryRegistry const & | processHistoryRegistry, | ||
EventSelectionIDVector && | eventSelectionIDs, | ||
BranchListIndexes && | branchListIndexes | ||
) |
Definition at line 80 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexes(), branchListIndexes_, eventSelectionIDs(), eventSelectionIDs_, and fillEventPrincipal().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistoryRegistry const & | processHistoryRegistry, | ||
EventSelectionIDVector && | eventSelectionIDs, | ||
BranchListIndexes && | branchListIndexes, | ||
ProductProvenanceRetriever const & | provRetriever, | ||
DelayedReader * | reader = 0 |
||
) |
Definition at line 63 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexes(), branchListIndexes_, eventSelectionIDs(), eventSelectionIDs_, fillEventPrincipal(), and provRetrieverPtr_.
BasicHandle edm::EventPrincipal::getByProductID | ( | ProductID const & | oid | ) | const |
Definition at line 264 of file EventPrincipal.cc.
References edm::Principal::getProductHolder(), edm::makeHandleExceptionFactory(), pidToBid(), edm::errors::ProductNotFound, mps_update::status, and edm::throwProductDeletedException().
Referenced by edm::Event::getByProductID_(), getIt(), getThinnedProduct(), and getThinnedProducts().
|
overridevirtual |
Reimplemented from edm::Principal.
Definition at line 298 of file EventPrincipal.cc.
References getByProductID(), and edm::BasicHandle::wrapper().
Provenance edm::EventPrincipal::getProvenance | ( | ProductID const & | pid, |
ModuleCallingContext const * | mcc | ||
) | const |
Definition at line 409 of file EventPrincipal.cc.
References pidToBid().
Referenced by edm::Event::getProvenance(), and edm::RootOutputFile::insertAncestors().
|
private |
Definition at line 435 of file EventPrincipal.cc.
References compareJSON::const, edm::WrapperBase::dynamicTypeInfo(), Exception, edm::Principal::getProductHolder(), edm::errors::LogicError, edm::Wrapper< T >::product(), mps_update::status, edm::ProductData::wrapper(), and wrapper.
Referenced by getThinnedProduct(), and getThinnedProducts().
|
overridevirtual |
Reimplemented from edm::Principal.
Definition at line 303 of file EventPrincipal.cc.
References getByProductID(), getThinnedAssociation(), edm::ThinnedAssociation::hasParentIndex(), edm::BasicHandle::isValid(), edm::ThinnedAssociation::parentCollectionID(), pidToBid(), thinnedAssociationsHelper_, edm::ThinnedAssociation::thinnedCollectionID(), and edm::BasicHandle::wrapper().
|
overridevirtual |
Reimplemented from edm::Principal.
Definition at line 347 of file EventPrincipal.cc.
References getByProductID(), getThinnedAssociation(), edm::ThinnedAssociation::hasParentIndex(), edm::BasicHandle::isValid(), relval_2017::k, bookConverter::max, edm::ThinnedAssociation::parentCollectionID(), pidToBid(), thinnedAssociationsHelper_, edm::ThinnedAssociation::thinnedCollectionID(), and edm::BasicHandle::wrapper().
|
inline |
Definition at line 98 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::id().
Referenced by edm::DataMixingEcalDigiWorkerProd::addEcalPileups(), edm::DataMixingEMWorker::addEMPileups(), edm::DataMixingEMDigiWorker::addEMPileups(), edm::DataMixingGeneralTrackWorker::addGeneralTrackPileups(), edm::DataMixingHcalWorker::addHcalPileups(), edm::DataMixingHcalDigiWorkerProd::addHcalPileups(), edm::DataMixingHcalDigiWorker::addHcalPileups(), edm::DataMixingMuonWorker::addMuonPileups(), sistrip::SpyEventMatcher::addNextEventToMap(), edm::DataMixingPileupCopy::addPileupInfo(), edm::DataMixingSiPixelWorker::addSiPixelPileups(), edm::DataMixingSiPixelMCDigiWorker::addSiPixelPileups(), edm::DataMixingSiStripWorker::addSiStripPileups(), edm::DataMixingSiStripRawWorker::addSiStripPileups(), edm::DataMixingSiStripMCDigiWorker::addSiStripPileups(), edm::DataMixingTrackingParticleWorker::addTrackingParticlePileups(), edm::EDLooperBase::doDuringLoop(), edm::SecSourceAnalyzer::getBranches(), luminosityBlock(), edm::RecordEventID< T >::operator()(), edm::MixingModule::pileAllWorkers(), edm::DataMixingModule::pileWorker(), edm::InputSource::readEvent(), edm::PoolSource::readEvent_(), edm::StreamSchedule::reportSkipped(), run(), edm::StreamerOutputModuleBase::serializeEvent(), edm::StreamSerializer::serializeEvent(), edm::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext(), edm::AsciiOutputModule::write(), edm::GetProductCheckerOutputModule::write(), edm::PoolOutputModule::write(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 106 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::isRealData().
|
inline |
Definition at line 128 of file EventPrincipal.h.
References id(), and edm::EventID::luminosityBlock().
Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), edm::PoolSource::readEvent_(), edm::StreamerOutputModuleBase::serializeEvent(), and RawEventOutputModuleForBU< Consumer >::write().
|
inline |
Definition at line 82 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
Referenced by edm::EDLooperBase::doDuringLoop(), and runPrincipal().
|
inline |
Definition at line 86 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
|
inline |
Definition at line 90 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
|
inline |
Definition at line 171 of file EventPrincipal.h.
References provRetrieverPtr(), and provRetrieverPtr_.
Referenced by edm::PoolSource::readEvent_().
Definition at line 216 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexes_, Exception, edm::ProductID::isValid(), edm::productIDToBranchID(), and edm::errors::ProductNotFound.
Referenced by getByProductID(), getProvenance(), getThinnedProduct(), and getThinnedProducts().
|
inline |
Definition at line 138 of file EventPrincipal.h.
References provRetrieverPtr_.
Referenced by fillEventPrincipal(), edm::RootOutputFile::insertAncestors(), edm::SubProcess::process(), put(), putOnRead(), and edm::ProvenanceCheckerOutputModule::write().
|
inlineprivate |
Definition at line 195 of file EventPrincipal.h.
References edm::get_underlying_safe(), and provRetrieverPtr_.
Referenced by mergeProvenanceRetrievers().
|
inlineprivate |
Definition at line 196 of file EventPrincipal.h.
References edm::get_underlying_safe(), and provRetrieverPtr_.
void edm::EventPrincipal::put | ( | BranchDescription const & | bd, |
std::unique_ptr< WrapperBase > | edp, | ||
ProductProvenance const & | productProvenance | ||
) | const |
Definition at line 153 of file EventPrincipal.cc.
References assert(), edm::BranchDescription::branchID(), edm::Principal::checkUniquenessAndType(), Exception, edm::Principal::getExistingProduct(), edm::errors::InsertFailure, edm::ProductProvenanceRetriever::insertIntoSet(), eostools::move(), and productProvenanceRetrieverPtr().
Referenced by FedRawDataInputSource::read(), and LHESource::readEvent_().
void edm::EventPrincipal::putOnRead | ( | BranchDescription const & | bd, |
std::unique_ptr< WrapperBase > | edp, | ||
ProductProvenance const & | productProvenance | ||
) | const |
Definition at line 174 of file EventPrincipal.cc.
References assert(), edm::BranchDescription::branchID(), edm::Principal::checkUniquenessAndType(), edm::Principal::getExistingProduct(), edm::ProductProvenanceRetriever::insertIntoSet(), eostools::move(), edm::BranchDescription::produced(), and productProvenanceRetrieverPtr().
Referenced by edm::StreamerInputSource::read().
|
overrideprivatevirtual |
Reimplemented from edm::Principal.
Definition at line 189 of file EventPrincipal.cc.
References edm::ProductHolderBase::branchDescription(), edm::Principal::checkUniquenessAndType(), edm::signalslot::Signal< T >::emit(), edm::getProduct(), edm::ModuleCallingContext::getStreamContext(), eostools::move(), postModuleDelayedGetSignal_, preModuleDelayedGetSignal_, edm::BranchDescription::produced(), edm::ProductHolderBase::product(), edm::ProductHolderBase::productUnavailable(), edm::ProductHolderBase::putProduct(), and edm::Principal::reader().
|
inline |
Definition at line 132 of file EventPrincipal.h.
References id(), and edm::EventID::run().
Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), and edm::PoolSource::readEvent_().
RunPrincipal const & edm::EventPrincipal::runPrincipal | ( | ) | const |
Definition at line 148 of file EventPrincipal.cc.
References luminosityBlockPrincipal(), and edm::LuminosityBlockPrincipal::runPrincipal().
void edm::EventPrincipal::setLuminosityBlockPrincipal | ( | std::shared_ptr< LuminosityBlockPrincipal > const & | lbp | ) |
Definition at line 135 of file EventPrincipal.cc.
References luminosityBlockPrincipal_.
Referenced by edm::SubProcess::process().
void edm::EventPrincipal::setRunAndLumiNumber | ( | RunNumber_t | run, |
LuminosityBlockNumber_t | lumi | ||
) |
Definition at line 140 of file EventPrincipal.cc.
References assert(), aux_, edm::EventID::event(), event(), edm::EventAuxiliary::id(), and luminosityBlockPrincipal_.
void edm::EventPrincipal::setUnscheduledHandler | ( | std::shared_ptr< UnscheduledHandler > | iHandler | ) |
Definition at line 415 of file EventPrincipal.cc.
References unscheduledHandler_.
Referenced by edm::WorkerManager::setupOnDemandSystem().
|
inline |
Definition at line 118 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::storeNumber().
|
inline |
Definition at line 126 of file EventPrincipal.h.
References streamID_.
Referenced by edm::stream::EDFilterAdaptorBase::doEvent(), edm::stream::EDProducerAdaptorBase::doEvent(), edm::stream::EDAnalyzerAdaptorBase::doEvent(), edm::DataMixingModule::pileWorker(), edm::SubProcess::process(), edm::StreamerInputSource::read(), edm::RootFile::readCurrentEvent(), and edm::PoolSource::readEvent_().
|
inline |
Definition at line 102 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::time().
Referenced by edm::EDLooperBase::doDuringLoop(), edm::InputSource::readEvent(), edm::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext(), and edm::AsciiOutputModule::write().
|
overrideprivatevirtual |
Implements edm::EDProductGetter.
Definition at line 249 of file EventPrincipal.cc.
References streamID_, and edm::StreamID::value().
|
overrideprivatevirtual |
Implements edm::Principal.
Definition at line 459 of file EventPrincipal.cc.
References edm::signalslot::Signal< T >::emit(), Exception, edm::ModuleCallingContext::getStreamContext(), edm::errors::LogicError, postModuleDelayedGetSignal_, preModuleDelayedGetSignal_, edm::SharedResourcesAcquirer::temporaryUnlock(), and unscheduledHandler_.
std::shared_ptr< const UnscheduledHandler > edm::EventPrincipal::unscheduledHandler | ( | ) | const |
Definition at line 420 of file EventPrincipal.cc.
References unscheduledHandler_.
Referenced by edm::getUnscheduledHandler().
|
private |
Definition at line 200 of file EventPrincipal.h.
Referenced by aux(), clearEventPrincipal(), fillEventPrincipal(), and setRunAndLumiNumber().
|
private |
Definition at line 212 of file EventPrincipal.h.
Referenced by branchIDToProductID(), fillEventPrincipal(), and pidToBid().
|
private |
Definition at line 215 of file EventPrincipal.h.
Referenced by branchListIndexes(), fillEventPrincipal(), and pidToBid().
|
private |
Definition at line 217 of file EventPrincipal.h.
Referenced by branchIDToProductID(), clearEventPrincipal(), and fillEventPrincipal().
|
private |
Definition at line 210 of file EventPrincipal.h.
Referenced by eventSelectionIDs(), and fillEventPrincipal().
|
static |
Definition at line 53 of file EventPrincipal.h.
|
static |
Definition at line 54 of file EventPrincipal.h.
|
private |
Definition at line 202 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), luminosityBlockPrincipal(), luminosityBlockPrincipalPtrValid(), setLuminosityBlockPrincipal(), and setRunAndLumiNumber().
signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> edm::EventPrincipal::postModuleDelayedGetSignal_ |
Definition at line 178 of file EventPrincipal.h.
Referenced by readFromSource_(), and unscheduledFill().
signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> edm::EventPrincipal::preModuleDelayedGetSignal_ |
Definition at line 177 of file EventPrincipal.h.
Referenced by readFromSource_(), and unscheduledFill().
|
private |
Definition at line 205 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), fillEventPrincipal(), mergeProvenanceRetrievers(), productProvenanceRetrieverPtr(), and provRetrieverPtr().
|
private |
Definition at line 219 of file EventPrincipal.h.
Referenced by streamID(), and transitionIndex_().
|
private |
Definition at line 213 of file EventPrincipal.h.
Referenced by EventPrincipal(), getThinnedProduct(), and getThinnedProducts().
|
private |
Definition at line 208 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), setUnscheduledHandler(), unscheduledFill(), and unscheduledHandler().