#include <EventPrincipal.h>
Public Types | |
typedef EventAuxiliary | Auxiliary |
typedef Principal | Base |
typedef Base::ConstProductResolverPtr | ConstProductResolverPtr |
Public Types inherited from edm::Principal | |
typedef std::vector< BasicHandle > | BasicHandleVec |
typedef unsigned long | CacheIdentifier_t |
typedef boost::filter_iterator< FilledProductPtr, ProductResolverCollection::const_iterator > | const_iterator |
typedef ProductResolverBase const * | ConstProductResolverPtr |
typedef boost::filter_iterator< FilledProductPtr, ProductResolverCollection::iterator > | iterator |
typedef std::string | ProcessName |
typedef ProcessHistory::const_iterator | ProcessNameConstIterator |
typedef std::vector< propagate_const< std::shared_ptr< ProductResolverBase > > > | ProductResolverCollection |
typedef std::shared_ptr< ProductResolverBase > | SharedProductPtr |
typedef ProductResolverCollection::size_type | size_type |
Static Public Attributes | |
static int const | invalidBunchXing = EventAuxiliary::invalidBunchXing |
static int const | invalidStoreNumber = EventAuxiliary::invalidStoreNumber |
Private Member Functions | |
void | changedIndexes_ () final |
void | commonFillEventPrincipal (EventAuxiliary const &aux, ProcessHistory const *processHistory, DelayedReader *reader) |
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 () |
unsigned int | transitionIndex_ () const override |
void | updateBranchListIndexes (BranchListIndexes &&) |
bool | wasBranchListIndexesChangedFromInput (BranchListIndexes const &) const |
Private Attributes | |
EventAuxiliary | aux_ |
std::shared_ptr< BranchIDListHelper const > | branchIDListHelper_ |
BranchListIndexes | branchListIndexes_ |
std::vector< ProcessIndex > | branchListIndexToProcessIndex_ |
EventSelectionIDVector | eventSelectionIDs_ |
EventToProcessBlockIndexes | eventToProcessBlockIndexes_ |
edm::propagate_const< LuminosityBlockPrincipal * > | luminosityBlockPrincipal_ |
ProcessBlockHelperBase const * | processBlockHelper_ |
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > | provRetrieverPtr_ |
StreamID | streamID_ |
std::shared_ptr< ThinnedAssociationsHelper const > | thinnedAssociationsHelper_ |
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< ProductResolverBase > phb) |
void | addProductOrThrow (std::unique_ptr< ProductResolverBase > phb) |
template<typename F > | |
void | applyToResolvers (F iFunc) |
ProductResolverBase * | getExistingProduct (BranchID const &branchID) |
ProductResolverBase const * | getExistingProduct (BranchID const &branchID) const |
ProductResolverBase const * | getExistingProduct (ProductResolverBase const &phb) const |
void | put_ (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const |
Definition at line 48 of file EventPrincipal.h.
Definition at line 50 of file EventPrincipal.h.
typedef Principal edm::EventPrincipal::Base |
Definition at line 51 of file EventPrincipal.h.
Definition at line 53 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 , |
||
bool | isForPrimaryProcess = true , |
||
ProcessBlockHelperBase const * | processBlockHelper = nullptr |
||
) |
Definition at line 34 of file EventPrincipal.cc.
References cms::cuda::assert(), dumpMFGeometry_cfg::prod, productProvenanceRetrieverPtr(), and thinnedAssociationsHelper_.
|
inlineoverride |
Definition at line 64 of file EventPrincipal.h.
|
inline |
Definition at line 109 of file EventPrincipal.h.
References aux_.
Referenced by edm::RepeatingCachedRootSource::beginJob(), bunchCrossing(), commonFillEventPrincipal(), ExperimentType(), fillEventPrincipal(), id(), isReal(), edm::SubProcess::processAsync(), edm::RootFile::readEvent(), storeNumber(), and time().
Definition at line 232 of file EventPrincipal.cc.
References branchIDListHelper_, edm::branchIDToProductID(), and branchListIndexToProcessIndex_.
Referenced by edm::RepeatingCachedRootSource::beginJob(), edm::Event::makeProductID(), and updateBranchListIndexes().
BranchListIndexes const & edm::EventPrincipal::branchListIndexes | ( | ) | const |
Definition at line 352 of file EventPrincipal.cc.
References branchListIndexes_.
Referenced by edm::RepeatingCachedRootSource::beginJob(), edm::EventForOutput::branchListIndexes(), fillEventPrincipal(), edm::SubProcess::processAsync(), and updateBranchListIndexes().
|
inline |
Definition at line 105 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::bunchCrossing().
|
finalprivatevirtual |
Reimplemented from edm::Principal.
Definition at line 242 of file EventPrincipal.cc.
References edm::Principal::productRegistry(), and provRetrieverPtr_.
void edm::EventPrincipal::clearEventPrincipal | ( | ) |
Definition at line 62 of file EventPrincipal.cc.
References aux_, edm::Principal::clearPrincipal(), and provRetrieverPtr_.
|
private |
Definition at line 125 of file EventPrincipal.cc.
References aux(), aux_, edm::EventAuxiliary::event(), Exception, edm::Principal::fillPrincipal(), edm::invalidEventNumber, edm::errors::LogicError, edm::Principal::processHistory(), edm::EventAuxiliary::processHistoryID(), edm::Principal::processHistoryID(), edm::Principal::reader(), and edm::EventAuxiliary::setProcessHistoryID().
Referenced by fillEventPrincipal().
EventSelectionIDVector const & edm::EventPrincipal::eventSelectionIDs | ( | ) | const |
Definition at line 350 of file EventPrincipal.cc.
References eventSelectionIDs_.
Referenced by edm::RepeatingCachedRootSource::beginJob(), edm::EventForOutput::eventSelectionIDs(), edm::Event::eventSelectionIDs(), fillEventPrincipal(), and edm::SubProcess::processAsync().
EventToProcessBlockIndexes const & edm::EventPrincipal::eventToProcessBlockIndexes | ( | ) | const |
Definition at line 354 of file EventPrincipal.cc.
References eventToProcessBlockIndexes_.
Referenced by edm::EventForOutput::eventToProcessBlockIndexes(), fillEventPrincipal(), and edm::SubProcess::processAsync().
|
inline |
Definition at line 103 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::experimentType().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistory const * | processHistory, | ||
DelayedReader * | reader = nullptr |
||
) |
Definition at line 112 of file EventPrincipal.cc.
References aux(), branchIDListHelper_, branchListIndexes_, commonFillEventPrincipal(), eostools::move(), edm::Principal::processHistory(), edm::Principal::reader(), and updateBranchListIndexes().
Referenced by edm::IDGeneratorSourceBase< PuttableSourceBase >::doReadEvent(), edm::IDGeneratorSourceBase< PuttableSourceBase >::doReadEventWithDelayedReader(), edm::RawInputSource::makeEvent(), edm::StreamerInputSource::read(), edm::RootFile::readCurrentEvent(), edm::TestSource::readEvent_(), edm::ThrowingSource::readEvent_(), LHESource::readEvent_(), LH5Source::readEvent_(), and edm::RepeatingCachedRootSource::readEvent_().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistory const * | processHistory, | ||
EventSelectionIDVector | eventSelectionIDs, | ||
BranchListIndexes | branchListIndexes, | ||
DelayedReader * | reader = nullptr |
||
) |
Definition at line 95 of file EventPrincipal.cc.
References aux(), branchIDListHelper_, branchListIndexes(), commonFillEventPrincipal(), eventSelectionIDs(), eventSelectionIDs_, eostools::move(), edm::Principal::processHistory(), edm::Principal::reader(), updateBranchListIndexes(), and wasBranchListIndexesChangedFromInput().
void edm::EventPrincipal::fillEventPrincipal | ( | EventAuxiliary const & | aux, |
ProcessHistory const * | processHistory, | ||
EventSelectionIDVector | eventSelectionIDs, | ||
BranchListIndexes | branchListIndexes, | ||
EventToProcessBlockIndexes const & | eventToProcessBlockIndexes, | ||
ProductProvenanceRetriever const & | provRetriever, | ||
DelayedReader * | reader = nullptr , |
||
bool | deepCopyRetriever = true |
||
) |
Definition at line 70 of file EventPrincipal.cc.
References aux(), branchIDListHelper_, branchListIndexes(), commonFillEventPrincipal(), eventSelectionIDs(), eventSelectionIDs_, eventToProcessBlockIndexes(), eventToProcessBlockIndexes_, eostools::move(), edm::Principal::processHistory(), provRetrieverPtr_, edm::Principal::reader(), updateBranchListIndexes(), and wasBranchListIndexesChangedFromInput().
BasicHandle edm::EventPrincipal::getByProductID | ( | ProductID const & | oid | ) | const |
Definition at line 254 of file EventPrincipal.cc.
References data, edm::Principal::getProductResolver(), edm::makeHandleExceptionFactory(), pidToBid(), edm::errors::ProductNotFound, L1TObjectsTimingClient_cff::resolution, and edm::throwProductDeletedException().
Referenced by edm::Event::getByProductID_(), and getIt().
|
overridevirtual |
Implements edm::EDProductGetter.
Definition at line 288 of file EventPrincipal.cc.
References getByProductID(), and edm::BasicHandle::wrapper().
Referenced by getThinnedProduct(), and getThinnedProducts().
Provenance const & edm::EventPrincipal::getProvenance | ( | ProductID const & | pid | ) | const |
Definition at line 340 of file EventPrincipal.cc.
References pidToBid().
Referenced by edm::Event::getProvenance().
Provenance const & edm::Principal::getProvenance |
Definition at line 771 of file Principal.cc.
StableProvenance const & edm::EventPrincipal::getStableProvenance | ( | ProductID const & | pid | ) | const |
Definition at line 345 of file EventPrincipal.cc.
References pidToBid().
Referenced by edm::Event::getStableProvenance().
StableProvenance const & edm::Principal::getStableProvenance |
Definition at line 784 of file Principal.cc.
|
private |
Definition at line 358 of file EventPrincipal.cc.
References runTheMatrix::const, data, edm::WrapperBase::dynamicTypeInfo(), Exception, edm::Principal::getProductResolver(), edm::errors::LogicError, edm::ProductData::wrapper(), and wrapper.
Referenced by getThinnedKeyFrom(), getThinnedProduct(), and getThinnedProducts().
|
overridevirtual |
Implements edm::EDProductGetter.
Definition at line 314 of file EventPrincipal.cc.
References cms::Exception::addContext(), EcalMonitorTask_cff::func, getThinnedAssociation(), edm::detail::getThinnedKeyFrom_implementation(), crabWrapper::key, class-composition::parent, pidToBid(), runTheMatrix::ret, and thinnedAssociationsHelper_.
|
overridevirtual |
Implements edm::EDProductGetter.
Definition at line 290 of file EventPrincipal.cc.
References b, getIt(), getThinnedAssociation(), edm::detail::getThinnedProduct(), crabWrapper::key, AlCaHLTBitMon_ParallelJobs::p, pidToBid(), and thinnedAssociationsHelper_.
|
overridevirtual |
Implements edm::EDProductGetter.
Definition at line 301 of file EventPrincipal.cc.
References b, getIt(), getThinnedAssociation(), edm::detail::getThinnedProducts(), relativeConstraints::keys, AlCaHLTBitMon_ParallelJobs::p, pidToBid(), and thinnedAssociationsHelper_.
|
inline |
Definition at line 97 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::id().
Referenced by sistrip::SpyEventMatcher::addNextEventToMap(), edm::PreMixingPileupCopy::addPileupInfo(), PreMixingTrackingParticleWorker::addPileups(), PreMixingEcalWorker::addPileups(), PreMixingSiPixelWorker::addPileups(), PreMixingSiStripWorker::addPileups(), edm::EDLooperBase::doDuringLoop(), luminosityBlock(), edm::RecordEventID< T >::operator()(), edm::MixingModule::pileAllWorkers(), edm::PoolSource::readEvent_(), run(), edm::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext(), and edm::Path::workerFinished().
|
inline |
Definition at line 101 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::isRealData().
|
inline |
Definition at line 113 of file EventPrincipal.h.
References id(), and edm::EventID::luminosityBlock().
Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), and edm::PoolSource::readEvent_().
|
inline |
Definition at line 86 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
Referenced by edm::EDLooperBase::doDuringLoop(), edm::SubProcess::processAsync(), and runPrincipal().
|
inline |
Definition at line 88 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
|
inline |
Definition at line 90 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
|
inline |
Definition at line 154 of file EventPrincipal.h.
References trackingPlots::other, and provRetrieverPtr_.
Referenced by edm::PoolSource::readEvent_().
Definition at line 225 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexes_, Exception, edm::ProductID::isValid(), edm::productIDToBranchID(), and edm::errors::ProductNotFound.
Referenced by getByProductID(), getProvenance(), getStableProvenance(), getThinnedKeyFrom(), getThinnedProduct(), and getThinnedProducts().
|
overridevirtual |
Reimplemented from edm::Principal.
Definition at line 236 of file EventPrincipal.cc.
References eventToProcessBlockIndexes_, processBlockHelper_, edm::ProcessBlockHelperBase::processBlockIndex(), and SimL1EmulatorRepack_CalouGT_cff::processName.
|
inline |
Definition at line 119 of file EventPrincipal.h.
References provRetrieverPtr_.
Referenced by EventPrincipal(), edm::SubProcess::processAsync(), edm::EventForOutput::productProvenanceRetrieverPtr(), put(), and putOnRead().
|
inlineprivate |
Definition at line 171 of file EventPrincipal.h.
References edm::get_underlying_safe(), and provRetrieverPtr_.
|
inlineprivate |
Definition at line 174 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 181 of file EventPrincipal.cc.
References cms::cuda::assert(), edm::BranchDescription::branchID(), runTheMatrix::const, Exception, edm::Principal::getExistingProduct(), edm::errors::InsertFailure, edm::ProductProvenanceLookup::insertIntoSet(), eostools::move(), and productProvenanceRetrieverPtr().
Referenced by edm::EventForTransformer::put(), FedRawDataInputSource::read(), DataModeFRD::readEvent(), DataModeScoutingRun2Muon::readEvent(), DataModeFRDStriped::readEvent(), DataModeScoutingRun2Multi::readEvent(), LHESource::readEvent_(), and LH5Source::readEvent_().
void edm::EventPrincipal::put | ( | ProductResolverIndex | index, |
std::unique_ptr< WrapperBase > | edp, | ||
ParentageID | productProvenance | ||
) | const |
Definition at line 197 of file EventPrincipal.cc.
References cms::cuda::assert(), runTheMatrix::const, Exception, edm::Principal::getProductResolverByIndex(), edm::errors::InsertFailure, edm::ProductProvenanceLookup::insertIntoSet(), eostools::move(), and productProvenanceRetrieverPtr().
void edm::EventPrincipal::putOnRead | ( | BranchDescription const & | bd, |
std::unique_ptr< WrapperBase > | edp, | ||
std::optional< ProductProvenance > | productProvenance | ||
) | const |
Definition at line 212 of file EventPrincipal.cc.
References cms::cuda::assert(), edm::BranchDescription::branchID(), runTheMatrix::const, edm::Principal::getExistingProduct(), edm::ProductProvenanceLookup::insertIntoSet(), eostools::move(), edm::BranchDescription::produced(), and productProvenanceRetrieverPtr().
Referenced by edm::StreamerInputSource::read().
|
inline |
Definition at line 115 of file EventPrincipal.h.
References id(), and edm::EventID::run().
Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), edm::OneLumiPoolSource::readEvent_(), edm::PoolSource::readEvent_(), and setRunAndLumiNumber().
RunPrincipal const & edm::EventPrincipal::runPrincipal | ( | ) | const |
Definition at line 179 of file EventPrincipal.cc.
References luminosityBlockPrincipal(), and edm::LuminosityBlockPrincipal::runPrincipal().
Referenced by EcalSignalGenerator< EEDigitizerTraits >::initializeEvent().
void edm::EventPrincipal::setLuminosityBlockPrincipal | ( | LuminosityBlockPrincipal * | lbp | ) |
Definition at line 170 of file EventPrincipal.cc.
References luminosityBlockPrincipal_.
void edm::EventPrincipal::setRunAndLumiNumber | ( | RunNumber_t | run, |
LuminosityBlockNumber_t | lumi | ||
) |
Definition at line 172 of file EventPrincipal.cc.
References cms::cuda::assert(), aux_, edm::EventID::event(), edm::EventAuxiliary::id(), luminosityBlockPrincipal_, and run().
Referenced by edm::OneLumiPoolSource::readEvent_().
|
inline |
Definition at line 107 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::storeNumber().
|
inline |
Definition at line 111 of file EventPrincipal.h.
References streamID_.
Referenced by PreMixingDigiAccumulatorWorker::addPileups(), PreMixingSiPixelWorker::addPileups(), edm::SubProcess::processAsync(), edm::EventProcessor::processEventWithLooper(), FedRawDataInputSource::read(), DAQSource::read(), edm::StreamerInputSource::read(), edm::RootFile::readCurrentEvent(), edm::PoolSource::readEvent_(), and edm::RepeatingCachedRootSource::readEvent_().
|
inline |
Definition at line 99 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::time().
Referenced by edm::EDLooperBase::doDuringLoop(), and edm::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext().
|
overrideprivatevirtual |
Implements edm::EDProductGetter.
Definition at line 240 of file EventPrincipal.cc.
References streamID_, and edm::StreamID::value().
|
private |
Definition at line 148 of file EventPrincipal.cc.
References branchIDToProductID(), branchListIndexes(), branchListIndexes_, branchListIndexToProcessIndex_, edm::makeBranchListIndexToProcessIndex(), eostools::move(), and dumpMFGeometry_cfg::prod.
Referenced by fillEventPrincipal().
|
private |
Definition at line 138 of file EventPrincipal.cc.
References branchIDListHelper_, branchListIndexes_, edm::Principal::end(), and cond::serialization::equal().
Referenced by fillEventPrincipal().
|
private |
Definition at line 183 of file EventPrincipal.h.
Referenced by aux(), clearEventPrincipal(), commonFillEventPrincipal(), and setRunAndLumiNumber().
|
private |
Definition at line 192 of file EventPrincipal.h.
Referenced by branchIDToProductID(), fillEventPrincipal(), pidToBid(), and wasBranchListIndexesChangedFromInput().
|
private |
Definition at line 196 of file EventPrincipal.h.
Referenced by branchListIndexes(), fillEventPrincipal(), pidToBid(), updateBranchListIndexes(), and wasBranchListIndexesChangedFromInput().
|
private |
Definition at line 200 of file EventPrincipal.h.
Referenced by branchIDToProductID(), and updateBranchListIndexes().
|
private |
Definition at line 190 of file EventPrincipal.h.
Referenced by eventSelectionIDs(), and fillEventPrincipal().
|
private |
Definition at line 198 of file EventPrincipal.h.
Referenced by eventToProcessBlockIndexes(), fillEventPrincipal(), and processBlockIndex().
|
static |
Definition at line 54 of file EventPrincipal.h.
|
static |
Definition at line 55 of file EventPrincipal.h.
|
private |
Definition at line 185 of file EventPrincipal.h.
Referenced by luminosityBlockPrincipal(), luminosityBlockPrincipalPtrValid(), setLuminosityBlockPrincipal(), and setRunAndLumiNumber().
|
private |
Definition at line 193 of file EventPrincipal.h.
Referenced by processBlockIndex().
|
private |
Definition at line 188 of file EventPrincipal.h.
Referenced by changedIndexes_(), clearEventPrincipal(), fillEventPrincipal(), mergeProvenanceRetrievers(), productProvenanceRetrieverPtr(), and provRetrieverPtr().
|
private |
Definition at line 202 of file EventPrincipal.h.
Referenced by streamID(), and transitionIndex_().
|
private |
Definition at line 194 of file EventPrincipal.h.
Referenced by EventPrincipal(), getThinnedKeyFrom(), getThinnedProduct(), and getThinnedProducts().