test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
edm::EventPrincipal Class Reference

#include <EventPrincipal.h>

Inheritance diagram for edm::EventPrincipal:
edm::Principal edm::EDProductGetter

Public Types

typedef EventAuxiliary Auxiliary
 
typedef Principal Base
 
typedef
Base::ConstProductResolverPtr 
ConstProductResolverPtr
 
- Public Types inherited from edm::Principal
typedef std::vector< BasicHandleBasicHandleVec
 
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
 

Public Member Functions

EventAuxiliary const & aux () const
 
ProductID branchIDToProductID (BranchID const &bid) const
 
BranchListIndexes const & branchListIndexes () const
 
int bunchCrossing () const
 
void clearEventPrincipal ()
 
 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)
 
EventSelectionIDVector const & eventSelectionIDs () const
 
EventAuxiliary::ExperimentType ExperimentType () const
 
void fillEventPrincipal (EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
 
void fillEventPrincipal (EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, EventSelectionIDVector &&eventSelectionIDs, BranchListIndexes &&branchListIndexes)
 
void fillEventPrincipal (EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, EventSelectionIDVector &&eventSelectionIDs, BranchListIndexes &&branchListIndexes, ProductProvenanceRetriever const &provRetriever, DelayedReader *reader=0)
 
BasicHandle getByProductID (ProductID const &oid) const
 
virtual WrapperBase const * getIt (ProductID const &pid) const override
 
Provenance getProvenance (ProductID const &pid, ModuleCallingContext const *mcc) const
 
virtual WrapperBase const * getThinnedProduct (ProductID const &pid, unsigned int &key) const override
 
virtual void getThinnedProducts (ProductID const &pid, std::vector< WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const override
 
EventID const & id () const
 
bool isReal () const
 
LuminosityBlockNumber_t luminosityBlock () const
 
LuminosityBlockPrincipal const & luminosityBlockPrincipal () const
 
LuminosityBlockPrincipalluminosityBlockPrincipal ()
 
bool luminosityBlockPrincipalPtrValid () const
 
void mergeProvenanceRetrievers (EventPrincipal &other)
 
ProductProvenanceRetriever const * productProvenanceRetrieverPtr () const
 
void put (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
 
void putOnRead (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
 
RunNumber_t run () const
 
RunPrincipal const & runPrincipal () const
 
void setLuminosityBlockPrincipal (std::shared_ptr< LuminosityBlockPrincipal > const &lbp)
 
void setRunAndLumiNumber (RunNumber_t run, LuminosityBlockNumber_t lumi)
 
void setupUnscheduled (UnscheduledConfigurator const &)
 
int storeNumber () const
 
StreamID streamID () const
 
Timestamp const & time () const
 
 ~EventPrincipal ()
 
- Public Member Functions inherited from edm::Principal
void adjustIndexesAfterProductRegistryAddition ()
 
bool adjustToNewProductRegistry (ProductRegistry const &reg)
 
const_iterator begin () const
 
iterator begin ()
 
BranchType const & branchType () const
 
CacheIdentifier_t cacheIdentifier () const
 
void clearPrincipal ()
 
void deleteProduct (BranchID const &id) const
 
const_iterator end () const
 
iterator end ()
 
void fillPrincipal (ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
 
ProductData const * findProductByTag (TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
 
void getAllProvenance (std::vector< Provenance const * > &provenances) const
 
void getAllStableProvenance (std::vector< StableProvenance const * > &provenances) const
 
BasicHandle getByLabel (KindOfType kindOfType, TypeID const &typeID, InputTag const &inputTag, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
BasicHandle getByLabel (KindOfType kindOfType, TypeID const &typeID, std::string const &label, std::string const &instance, std::string const &process, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
BasicHandle getByToken (KindOfType kindOfType, TypeID const &typeID, ProductResolverIndex index, bool skipCurrentProcess, bool &ambiguous, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
void getManyByType (TypeID const &typeID, BasicHandleVec &results, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
ProductResolverBasegetModifiableProductResolver (BranchID const &oid)
 
ConstProductResolverPtr getProductResolver (BranchID const &oid) const
 
ConstProductResolverPtr getProductResolverByIndex (ProductResolverIndex const &oid) const
 
Provenance getProvenance (BranchID const &bid, ModuleCallingContext const *mcc) const
 
bool isComplete () const
 
std::vector< unsigned int > const & lookupProcessOrder () const
 
void prefetchAsync (WaitingTask *waitTask, ProductResolverIndex index, bool skipCurrentProcess, ModuleCallingContext const *mcc) const
 
 Principal (std::shared_ptr< ProductRegistry const > reg, std::shared_ptr< ProductResolverIndexHelper const > productLookup, ProcessConfiguration const &pc, BranchType bt, HistoryAppender *historyAppender, bool isForPrimaryProcess=true)
 
ProcessConfiguration const & processConfiguration () const
 
ProcessHistory const & processHistory () const
 
ProcessHistoryID const & processHistoryID () const
 
EDProductGetter const * prodGetter () const
 
ProductResolverIndexHelper const & productLookup () const
 
ProductRegistry const & productRegistry () const
 
void readAllFromSourceAndMergeImmediately ()
 
DelayedReaderreader () const
 
void recombine (Principal &other, std::vector< BranchID > const &bids)
 
void resetFailedFromThisProcess ()
 
size_t size () const
 
virtual ~Principal ()
 
- Public Member Functions inherited from edm::EDProductGetter
 EDProductGetter ()
 
 EDProductGetter (EDProductGetter const &)=delete
 
EDProductGetter const & operator= (EDProductGetter const &)=delete
 
unsigned int transitionIndex () const
 
virtual ~EDProductGetter ()
 

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 unsigned int transitionIndex_ () 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_
 

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)
 
ProductResolverBasegetExistingProduct (BranchID const &branchID)
 
ProductResolverBase const * getExistingProduct (BranchID const &branchID) const
 
ProductResolverBase const * getExistingProduct (ProductResolverBase const &phb) const
 
void putOrMerge (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
 

Detailed Description

Definition at line 47 of file EventPrincipal.h.

Member Typedef Documentation

Definition at line 49 of file EventPrincipal.h.

Definition at line 50 of file EventPrincipal.h.

Definition at line 52 of file EventPrincipal.h.

Constructor & Destructor Documentation

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 
)

Definition at line 30 of file EventPrincipal.cc.

References assert(), and thinnedAssociationsHelper_.

37  :
38  Base(reg, reg->productLookup(InEvent), pc, InEvent, historyAppender,isForPrimaryProcess),
39  aux_(),
41  provRetrieverPtr_(new ProductProvenanceRetriever(streamIndex)),
43  branchIDListHelper_(branchIDListHelper),
44  thinnedAssociationsHelper_(thinnedAssociationsHelper),
47  streamID_(streamIndex) {
49  }
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper_
EventSelectionIDVector eventSelectionIDs_
BranchListIndexes branchListIndexes_
assert(m_qm.get())
std::map< BranchListIndex, ProcessIndex > branchListIndexToProcessIndex_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
EventAuxiliary aux_
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
edm::EventPrincipal::~EventPrincipal ( )
inline

Definition at line 63 of file EventPrincipal.h.

63 {}

Member Function Documentation

EventAuxiliary const& edm::EventPrincipal::aux ( ) const
inline

Definition at line 123 of file EventPrincipal.h.

References aux_.

Referenced by bunchCrossing(), ExperimentType(), fillEventPrincipal(), id(), isReal(), edm::isSameEvent(), edm::SubProcess::process(), storeNumber(), and time().

123  {
124  return aux_;
125  }
EventAuxiliary aux_
ProductID edm::EventPrincipal::branchIDToProductID ( BranchID const &  bid) const

Definition at line 194 of file EventPrincipal.cc.

References branchIDListHelper_, branchListIndexToProcessIndex_, Exception, i, edm::BranchID::isValid(), and edm::errors::NotFound.

Referenced by fillEventPrincipal(), and edm::Event::makeProductID().

194  {
195  if(!bid.isValid()) {
196  throw Exception(errors::NotFound, "InvalidID")
197  << "branchIDToProductID: invalid BranchID supplied\n";
198  }
199  typedef BranchIDListHelper::BranchIDToIndexMap BIDToIndexMap;
200  typedef BIDToIndexMap::const_iterator Iter;
201  typedef std::pair<Iter, Iter> IndexRange;
202 
203  IndexRange range = branchIDListHelper_->branchIDToIndexMap().equal_range(bid);
204  for(Iter it = range.first; it != range.second; ++it) {
205  BranchListIndex blix = it->second.first;
206  std::map<BranchListIndex, ProcessIndex>::const_iterator i = branchListIndexToProcessIndex_.find(blix);
207  if(i != branchListIndexToProcessIndex_.end()) {
208  ProductIndex productIndex = it->second.second;
209  ProcessIndex processIndex = i->second;
210  return ProductID(processIndex+1, productIndex+1);
211  }
212  }
213  // cannot throw, because some products may legitimately not have product ID's (e.g. pile-up).
214  return ProductID();
215  }
int i
Definition: DBlmapReader.cc:9
unsigned short BranchListIndex
std::map< BranchListIndex, ProcessIndex > branchListIndexToProcessIndex_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
std::multimap< BranchID, IndexPair > BranchIDToIndexMap
unsigned short ProcessIndex
Definition: ProductID.h:25
unsigned short ProductIndex
Definition: ProductID.h:26
BranchListIndexes const & edm::EventPrincipal::branchListIndexes ( ) const

Definition at line 399 of file EventPrincipal.cc.

References branchListIndexes_.

Referenced by edm::EventForOutput::branchListIndexes(), fillEventPrincipal(), and edm::SubProcess::process().

399  {
400  return branchListIndexes_;
401  }
BranchListIndexes branchListIndexes_
int edm::EventPrincipal::bunchCrossing ( ) const
inline

Definition at line 115 of file EventPrincipal.h.

References aux(), and edm::EventAuxiliary::bunchCrossing().

115  {
116  return aux().bunchCrossing();
117  }
int bunchCrossing() const
EventAuxiliary const & aux() const
void edm::EventPrincipal::clearEventPrincipal ( )

Definition at line 52 of file EventPrincipal.cc.

References aux_, branchListIndexToProcessIndex_, edm::Principal::clearPrincipal(), luminosityBlockPrincipal_, and provRetrieverPtr_.

Referenced by edm::VectorInputSource::clearEventPrincipal(), and edm::SubProcess::process().

52  {
54  aux_ = EventAuxiliary();
55  luminosityBlockPrincipal_ = nullptr; // propagate_const<T> has no reset() function
56  provRetrieverPtr_->reset();
58  }
void clearPrincipal()
Definition: Principal.cc:299
std::map< BranchListIndex, ProcessIndex > branchListIndexToProcessIndex_
EventAuxiliary aux_
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
EventSelectionIDVector const & edm::EventPrincipal::eventSelectionIDs ( ) const

Definition at line 394 of file EventPrincipal.cc.

References eventSelectionIDs_.

Referenced by edm::EventForOutput::eventSelectionIDs(), edm::Event::eventSelectionIDs(), fillEventPrincipal(), and edm::SubProcess::process().

394  {
395  return eventSelectionIDs_;
396  }
EventSelectionIDVector eventSelectionIDs_
EventAuxiliary::ExperimentType edm::EventPrincipal::ExperimentType ( ) const
inline

Definition at line 111 of file EventPrincipal.h.

References aux(), and edm::EventAuxiliary::experimentType().

111  {
112  return aux().experimentType();
113  }
ExperimentType experimentType() const
EventAuxiliary const & aux() const
void edm::EventPrincipal::fillEventPrincipal ( EventAuxiliary const &  aux,
ProcessHistoryRegistry const &  processHistoryRegistry,
DelayedReader reader = 0 
)

Definition at line 92 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_().

94  {
95  if(aux.event() == invalidEventNumber) {
97  << "EventPrincipal::fillEventPrincipal, Invalid event number provided in EventAuxiliary, It is illegal for the event number to be 0\n";
98  }
99 
100  fillPrincipal(aux.processHistoryID(), processHistoryRegistry, reader);
101  aux_ = aux;
103 
104  if(branchListIndexes_.empty() and branchIDListHelper_->hasProducedProducts()) {
105  // Add index into BranchIDListRegistry for products produced this process
106  // if it hasn't already been filled in by the other fillEventPrincipal or by an earlier call to this function
107  branchListIndexes_.push_back(branchIDListHelper_->producedBranchListIndex());
108  }
109 
110  // Fill in helper map for Branch to ProductID mapping
111  ProcessIndex pix = 0;
112  for(auto const& blindex : branchListIndexes_) {
113  branchListIndexToProcessIndex_.insert(std::make_pair(blindex, pix));
114  ++pix;
115  }
116 
117  // Fill in the product ID's in the product holders.
118  for(auto& prod : *this) {
119  if (prod->singleProduct()) {
120  // If an alias is in the same process as the original then isAlias will be true.
121  // Under that condition, we want the ProductID to be the same as the original.
122  // If not, then we've internally changed the original BranchID to the alias BranchID
123  // in the ProductID lookup so we need the alias BranchID.
124  auto const & bd =prod->branchDescription();
125  prod->setProvenance(productProvenanceRetrieverPtr(),
126  processHistory(),
127  branchIDToProductID(bd.isAlias()?bd.originalBranchID(): bd.branchID()));
128  }
129  }
130  }
BranchListIndexes branchListIndexes_
std::map< BranchListIndex, ProcessIndex > branchListIndexToProcessIndex_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
EventAuxiliary aux_
ProcessHistory const & processHistory() const
Definition: Principal.h:135
ProductID branchIDToProductID(BranchID const &bid) const
EventNumber_t const invalidEventNumber
ProcessHistoryID const & processHistoryID() const
Definition: Principal.h:139
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
unsigned short ProcessIndex
Definition: ProductID.h:25
DelayedReader * reader() const
Definition: Principal.h:178
void setProcessHistoryID(ProcessHistoryID const &phid)
ProcessHistoryID const & processHistoryID() const
void fillPrincipal(ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
Definition: Principal.cc:317
EventAuxiliary const & aux() const
EventNumber_t event() const
void edm::EventPrincipal::fillEventPrincipal ( EventAuxiliary const &  aux,
ProcessHistoryRegistry const &  processHistoryRegistry,
EventSelectionIDVector &&  eventSelectionIDs,
BranchListIndexes &&  branchListIndexes 
)

Definition at line 78 of file EventPrincipal.cc.

References branchIDListHelper_, branchListIndexes(), branchListIndexes_, eventSelectionIDs(), eventSelectionIDs_, and fillEventPrincipal().

81  {
84  if(branchIDListHelper_->hasProducedProducts()) {
85  // Add index into BranchIDListRegistry for products produced this process
86  branchListIndexes_.push_back(branchIDListHelper_->producedBranchListIndex());
87  }
88  fillEventPrincipal(aux,processHistoryRegistry,nullptr);
89  }
EventSelectionIDVector const & eventSelectionIDs() const
EventSelectionIDVector eventSelectionIDs_
BranchListIndexes branchListIndexes_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
BranchListIndexes const & branchListIndexes() const
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
EventAuxiliary const & aux() const
void edm::EventPrincipal::fillEventPrincipal ( EventAuxiliary const &  aux,
ProcessHistoryRegistry const &  processHistoryRegistry,
EventSelectionIDVector &&  eventSelectionIDs,
BranchListIndexes &&  branchListIndexes,
ProductProvenanceRetriever const &  provRetriever,
DelayedReader reader = 0 
)

Definition at line 61 of file EventPrincipal.cc.

References branchIDListHelper_, branchListIndexes(), branchListIndexes_, eventSelectionIDs(), eventSelectionIDs_, fillEventPrincipal(), and provRetrieverPtr_.

66  {
68  provRetrieverPtr_->deepCopy(provRetriever);
70  if(branchIDListHelper_->hasProducedProducts()) {
71  // Add index into BranchIDListRegistry for products produced this process
72  branchListIndexes_.push_back(branchIDListHelper_->producedBranchListIndex());
73  }
74  fillEventPrincipal(aux,processHistoryRegistry,reader);
75  }
EventSelectionIDVector const & eventSelectionIDs() const
EventSelectionIDVector eventSelectionIDs_
BranchListIndexes branchListIndexes_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
BranchListIndexes const & branchListIndexes() const
DelayedReader * reader() const
Definition: Principal.h:178
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
EventAuxiliary const & aux() const
BasicHandle edm::EventPrincipal::getByProductID ( ProductID const &  oid) const

Definition at line 233 of file EventPrincipal.cc.

References data, edm::Principal::getProductResolver(), edm::makeHandleExceptionFactory(), pidToBid(), edm::errors::ProductNotFound, dtDQMClient_cfg::resolution, and edm::throwProductDeletedException().

Referenced by edm::Event::getByProductID_(), getIt(), getThinnedProduct(), and getThinnedProducts().

233  {
234  BranchID bid = pidToBid(pid);
236  if(phb == nullptr) {
237  return BasicHandle(makeHandleExceptionFactory([pid]()->std::shared_ptr<cms::Exception> {
238  std::shared_ptr<cms::Exception> whyFailed(std::make_shared<Exception>(errors::ProductNotFound, "InvalidID"));
239  *whyFailed
240  << "get by product ID: no product with given id: " << pid << "\n";
241  return whyFailed;
242  }));
243  }
244 
245  // Was this already deleted?
246  if(phb->productWasDeleted()) {
248  }
249  // Check for case where we tried on demand production and
250  // it failed to produce the object
251  if(phb->unscheduledWasNotRun()) {
252  return BasicHandle(makeHandleExceptionFactory([pid]()->std::shared_ptr<cms::Exception> {
253  std::shared_ptr<cms::Exception> whyFailed(std::make_shared<Exception>(errors::ProductNotFound, "InvalidID"));
254  *whyFailed
255  << "get by ProductID: could not get product with id: " << pid << "\n"
256  << "Unscheduled execution not allowed to get via ProductID.\n";
257  return whyFailed;
258  }));
259  }
260  auto resolution = phb->resolveProduct(*this,false,nullptr,nullptr);
261 
262  auto data = resolution.data();
263  if(data) {
264  return BasicHandle(data->wrapper(), &(data->provenance()));
265  }
266  return BasicHandle(nullptr,nullptr);
267  }
BranchID pidToBid(ProductID const &pid) const
static void throwProductDeletedException(ProductID const &pid, edm::EventPrincipal::ConstProductResolverPtr const phb)
std::shared_ptr< HandleExceptionFactory > makeHandleExceptionFactory(T &&iFunctor)
Base::ConstProductResolverPtr ConstProductResolverPtr
tuple pid
Definition: sysUtil.py:22
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
ConstProductResolverPtr getProductResolver(BranchID const &oid) const
Definition: Principal.cc:433
WrapperBase const * edm::EventPrincipal::getIt ( ProductID const &  pid) const
overridevirtual

Reimplemented from edm::Principal.

Definition at line 270 of file EventPrincipal.cc.

References getByProductID(), and edm::BasicHandle::wrapper().

270  {
271  return getByProductID(pid).wrapper();
272  }
BasicHandle getByProductID(ProductID const &oid) const
WrapperBase const * wrapper() const
Definition: BasicHandle.h:90
tuple pid
Definition: sysUtil.py:22
Provenance edm::EventPrincipal::getProvenance ( ProductID const &  pid,
ModuleCallingContext const *  mcc 
) const

Definition at line 381 of file EventPrincipal.cc.

References pidToBid().

Referenced by edm::Event::getProvenance().

381  {
382  BranchID bid = pidToBid(pid);
383  return getProvenance(bid, mcc);
384  }
BranchID pidToBid(ProductID const &pid) const
Provenance getProvenance(ProductID const &pid, ModuleCallingContext const *mcc) const
tuple pid
Definition: sysUtil.py:22
edm::ThinnedAssociation const * edm::EventPrincipal::getThinnedAssociation ( edm::BranchID const &  branchID) const
private

Definition at line 404 of file EventPrincipal.cc.

References compareJSON::const, data, edm::WrapperBase::dynamicTypeInfo(), Exception, edm::Principal::getProductResolver(), edm::errors::LogicError, edm::Wrapper< T >::product(), edm::ProductData::wrapper(), and wrapper.

Referenced by getThinnedProduct(), and getThinnedProducts().

404  {
405 
406  ConstProductResolverPtr const phb = getProductResolver(branchID);
407 
408  if(phb == nullptr) {
410  << "EventPrincipal::getThinnedAssociation, ThinnedAssociation ProductResolver cannot be found\n"
411  << "This should never happen. Contact a Framework developer";
412  }
413  ProductData const* productData = (phb->resolveProduct(*this,false,nullptr,nullptr)).data();
414  if (productData == nullptr) {
415  return nullptr;
416  }
417  WrapperBase const* product = productData->wrapper();
418  if(!(typeid(edm::ThinnedAssociation) == product->dynamicTypeInfo())) {
420  << "EventPrincipal::getThinnedProduct, product has wrong type, not a ThinnedAssociation.\n";
421  }
422  Wrapper<ThinnedAssociation> const* wrapper = static_cast<Wrapper<ThinnedAssociation> const*>(product);
423  return wrapper->product();
424  }
Base::ConstProductResolverPtr ConstProductResolverPtr
string const
Definition: compareJSON.py:14
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
ConstProductResolverPtr getProductResolver(BranchID const &oid) const
Definition: Principal.cc:433
static HepMC::HEPEVT_Wrapper wrapper
WrapperBase const * edm::EventPrincipal::getThinnedProduct ( ProductID const &  pid,
unsigned int &  key 
) const
overridevirtual

Reimplemented from edm::Principal.

Definition at line 275 of file EventPrincipal.cc.

References getByProductID(), getThinnedAssociation(), edm::ThinnedAssociation::hasParentIndex(), edm::BasicHandle::isValid(), SpecificationBuilder_cfi::parent(), edm::ThinnedAssociation::parentCollectionID(), pidToBid(), thinnedAssociationsHelper_, edm::ThinnedAssociation::thinnedCollectionID(), and edm::BasicHandle::wrapper().

275  {
276 
277  BranchID parent = pidToBid(pid);
278 
279  // Loop over thinned containers which were made by selecting elements from the parent container
280  for(auto associatedBranches = thinnedAssociationsHelper_->parentBegin(parent),
281  iEnd = thinnedAssociationsHelper_->parentEnd(parent);
282  associatedBranches != iEnd; ++associatedBranches) {
283 
284  ThinnedAssociation const* thinnedAssociation =
285  getThinnedAssociation(associatedBranches->association());
286  if(thinnedAssociation == nullptr) continue;
287 
288  if(associatedBranches->parent() != pidToBid(thinnedAssociation->parentCollectionID())) {
289  continue;
290  }
291 
292  unsigned int thinnedIndex = 0;
293  // Does this thinned container have the element referenced by key?
294  // If yes, thinnedIndex is set to point to it in the thinned container
295  if(!thinnedAssociation->hasParentIndex(key, thinnedIndex)) {
296  continue;
297  }
298  // Get the thinned container and return a pointer if we can find it
299  ProductID const& thinnedCollectionPID = thinnedAssociation->thinnedCollectionID();
300  BasicHandle bhThinned = getByProductID(thinnedCollectionPID);
301  if(!bhThinned.isValid()) {
302  // Thinned container is not found, try looking recursively in thinned containers
303  // which were made by selecting elements from this thinned container.
304  WrapperBase const* wrapperBase = getThinnedProduct(thinnedCollectionPID, thinnedIndex);
305  if(wrapperBase != nullptr) {
306  key = thinnedIndex;
307  return wrapperBase;
308  } else {
309  continue;
310  }
311  }
312  key = thinnedIndex;
313  return bhThinned.wrapper();
314  }
315  return nullptr;
316  }
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper_
BasicHandle getByProductID(ProductID const &oid) const
BranchID pidToBid(ProductID const &pid) const
edm::ThinnedAssociation const * getThinnedAssociation(edm::BranchID const &branchID) const
virtual WrapperBase const * getThinnedProduct(ProductID const &pid, unsigned int &key) const override
ProductID const & thinnedCollectionID() const
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
tuple pid
Definition: sysUtil.py:22
void edm::EventPrincipal::getThinnedProducts ( ProductID const &  pid,
std::vector< WrapperBase const * > &  foundContainers,
std::vector< unsigned int > &  keys 
) const
overridevirtual

Reimplemented from edm::Principal.

Definition at line 319 of file EventPrincipal.cc.

References getByProductID(), getThinnedAssociation(), edm::ThinnedAssociation::hasParentIndex(), edm::BasicHandle::isValid(), relval_2017::k, bookConverter::max, SpecificationBuilder_cfi::parent(), edm::ThinnedAssociation::parentCollectionID(), pidToBid(), thinnedAssociationsHelper_, edm::ThinnedAssociation::thinnedCollectionID(), and edm::BasicHandle::wrapper().

321  {
322 
323  BranchID parent = pidToBid(pid);
324 
325  // Loop over thinned containers which were made by selecting elements from the parent container
326  for(auto associatedBranches = thinnedAssociationsHelper_->parentBegin(parent),
327  iEnd = thinnedAssociationsHelper_->parentEnd(parent);
328  associatedBranches != iEnd; ++associatedBranches) {
329 
330  ThinnedAssociation const* thinnedAssociation =
331  getThinnedAssociation(associatedBranches->association());
332  if(thinnedAssociation == nullptr) continue;
333 
334  if(associatedBranches->parent() != pidToBid(thinnedAssociation->parentCollectionID())) {
335  continue;
336  }
337 
338  unsigned nKeys = keys.size();
339  unsigned int doNotLookForThisIndex = std::numeric_limits<unsigned int>::max();
340  std::vector<unsigned int> thinnedIndexes(nKeys, doNotLookForThisIndex);
341  bool hasAny = false;
342  for(unsigned k = 0; k < nKeys; ++k) {
343  // Already found this one
344  if(foundContainers[k] != nullptr) continue;
345  // Already know this one is not in this thinned container
346  if(keys[k] == doNotLookForThisIndex) continue;
347  // Does the thinned container hold the entry of interest?
348  // Modifies thinnedIndexes[k] only if it returns true and
349  // sets it to the index in the thinned collection.
350  if(thinnedAssociation->hasParentIndex(keys[k], thinnedIndexes[k])) {
351  hasAny = true;
352  }
353  }
354  if(!hasAny) {
355  continue;
356  }
357  // Get the thinned container and set the pointers and indexes into
358  // it (if we can find it)
359  ProductID thinnedCollectionPID = thinnedAssociation->thinnedCollectionID();
360  BasicHandle bhThinned = getByProductID(thinnedCollectionPID);
361  if(!bhThinned.isValid()) {
362  // Thinned container is not found, try looking recursively in thinned containers
363  // which were made by selecting elements from this thinned container.
364  getThinnedProducts(thinnedCollectionPID, foundContainers, thinnedIndexes);
365  for(unsigned k = 0; k < nKeys; ++k) {
366  if(foundContainers[k] == nullptr) continue;
367  if(thinnedIndexes[k] == doNotLookForThisIndex) continue;
368  keys[k] = thinnedIndexes[k];
369  }
370  } else {
371  for(unsigned k = 0; k < nKeys; ++k) {
372  if(thinnedIndexes[k] == doNotLookForThisIndex) continue;
373  keys[k] = thinnedIndexes[k];
374  foundContainers[k] = bhThinned.wrapper();
375  }
376  }
377  }
378  }
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper_
BasicHandle getByProductID(ProductID const &oid) const
BranchID pidToBid(ProductID const &pid) const
edm::ThinnedAssociation const * getThinnedAssociation(edm::BranchID const &branchID) const
tuple pid
Definition: sysUtil.py:22
virtual void getThinnedProducts(ProductID const &pid, std::vector< WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const override
EventID const& edm::EventPrincipal::id ( void  ) const
inline

Definition at line 99 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::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext(), and edm::Path::workerFinished().

99  {
100  return aux().id();
101  }
EventID const & id() const
EventAuxiliary const & aux() const
bool edm::EventPrincipal::isReal ( ) const
inline

Definition at line 107 of file EventPrincipal.h.

References aux(), and edm::EventAuxiliary::isRealData().

107  {
108  return aux().isRealData();
109  }
bool isRealData() const
EventAuxiliary const & aux() const
LuminosityBlockNumber_t edm::EventPrincipal::luminosityBlock ( ) const
inline

Definition at line 129 of file EventPrincipal.h.

References id(), and edm::EventID::luminosityBlock().

Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), and edm::PoolSource::readEvent_().

129  {
130  return id().luminosityBlock();
131  }
EventID const & id() const
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:40
LuminosityBlockPrincipal const& edm::EventPrincipal::luminosityBlockPrincipal ( ) const
inline

Definition at line 83 of file EventPrincipal.h.

References luminosityBlockPrincipal_.

Referenced by edm::EDLooperBase::doDuringLoop(), and runPrincipal().

83  {
85  }
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
LuminosityBlockPrincipal& edm::EventPrincipal::luminosityBlockPrincipal ( )
inline

Definition at line 87 of file EventPrincipal.h.

References luminosityBlockPrincipal_.

87  {
89  }
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
bool edm::EventPrincipal::luminosityBlockPrincipalPtrValid ( ) const
inline

Definition at line 91 of file EventPrincipal.h.

References luminosityBlockPrincipal_.

91  {
92  return (luminosityBlockPrincipal_) ? true : false;
93  }
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
void edm::EventPrincipal::mergeProvenanceRetrievers ( EventPrincipal other)
inline

Definition at line 171 of file EventPrincipal.h.

References provRetrieverPtr(), and provRetrieverPtr_.

Referenced by edm::PoolSource::readEvent_().

171  {
172  provRetrieverPtr_->mergeProvenanceRetrievers(other.provRetrieverPtr());
173  }
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
BranchID edm::EventPrincipal::pidToBid ( ProductID const &  pid) const
private

Definition at line 185 of file EventPrincipal.cc.

References branchIDListHelper_, branchListIndexes_, Exception, edm::ProductID::isValid(), edm::productIDToBranchID(), and edm::errors::ProductNotFound.

Referenced by getByProductID(), getProvenance(), getThinnedProduct(), and getThinnedProducts().

185  {
186  if(!pid.isValid()) {
187  throw Exception(errors::ProductNotFound, "InvalidID")
188  << "get by product ID: invalid ProductID supplied\n";
189  }
191  }
BranchListIndexes branchListIndexes_
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
BranchID productIDToBranchID(ProductID const &pid, BranchIDLists const &lists, BranchListIndexes const &indexes)
tuple pid
Definition: sysUtil.py:22
ProductProvenanceRetriever const* edm::EventPrincipal::productProvenanceRetrieverPtr ( ) const
inline

Definition at line 139 of file EventPrincipal.h.

References provRetrieverPtr_.

Referenced by fillEventPrincipal(), edm::SubProcess::process(), edm::EventForOutput::productProvenanceRetrieverPtr(), put(), and putOnRead().

139 {return provRetrieverPtr_.get();}
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
std::shared_ptr<ProductProvenanceRetriever const> edm::EventPrincipal::provRetrieverPtr ( ) const
inlineprivate

Definition at line 185 of file EventPrincipal.h.

References edm::get_underlying_safe(), and provRetrieverPtr_.

Referenced by mergeProvenanceRetrievers().

edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr<ProductProvenanceRetriever>& edm::EventPrincipal::provRetrieverPtr ( )
inlineprivate

Definition at line 186 of file EventPrincipal.h.

References edm::get_underlying_safe(), and provRetrieverPtr_.

edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void edm::EventPrincipal::put ( BranchDescription const &  bd,
std::unique_ptr< WrapperBase edp,
ProductProvenance const &  productProvenance 
) const

Definition at line 151 of file EventPrincipal.cc.

References assert(), edm::BranchDescription::branchID(), Exception, edm::Principal::getExistingProduct(), edm::errors::InsertFailure, edm::ProductProvenanceRetriever::insertIntoSet(), eostools::move(), and productProvenanceRetrieverPtr().

Referenced by FedRawDataInputSource::read(), and LHESource::readEvent_().

154  {
155 
156  // assert commented out for DaqSource. When DaqSource no longer uses put(), the assert can be restored.
157  //assert(produced());
158  if(edp.get() == nullptr) {
159  throw Exception(errors::InsertFailure, "Null Pointer")
160  << "put: Cannot put because ptr to product is null."
161  << "\n";
162  }
163  productProvenanceRetrieverPtr()->insertIntoSet(productProvenance);
164  auto phb = getExistingProduct(bd.branchID());
165  assert(phb);
166  // ProductResolver assumes ownership
167  phb->putProduct(std::move(edp));
168  }
assert(m_qm.get())
ProductResolverBase * getExistingProduct(BranchID const &branchID)
Definition: Principal.cc:373
def move
Definition: eostools.py:510
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
void insertIntoSet(ProductProvenance const &provenanceProduct) const
void edm::EventPrincipal::putOnRead ( BranchDescription const &  bd,
std::unique_ptr< WrapperBase edp,
ProductProvenance const &  productProvenance 
) const

Definition at line 171 of file EventPrincipal.cc.

References assert(), edm::BranchDescription::branchID(), edm::Principal::getExistingProduct(), edm::ProductProvenanceRetriever::insertIntoSet(), eostools::move(), edm::BranchDescription::produced(), and productProvenanceRetrieverPtr().

Referenced by edm::StreamerInputSource::read().

174  {
175 
176  assert(!bd.produced());
177  productProvenanceRetrieverPtr()->insertIntoSet(productProvenance);
178  auto phb = getExistingProduct(bd.branchID());
179  assert(phb);
180  // ProductResolver assumes ownership
181  phb->putProduct(std::move(edp));
182  }
assert(m_qm.get())
ProductResolverBase * getExistingProduct(BranchID const &branchID)
Definition: Principal.cc:373
def move
Definition: eostools.py:510
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
void insertIntoSet(ProductProvenance const &provenanceProduct) const
RunNumber_t edm::EventPrincipal::run ( void  ) const
inline

Definition at line 133 of file EventPrincipal.h.

References id(), and edm::EventID::run().

Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), and edm::PoolSource::readEvent_().

133  {
134  return id().run();
135  }
RunNumber_t run() const
Definition: EventID.h:39
EventID const & id() const
RunPrincipal const & edm::EventPrincipal::runPrincipal ( ) const

Definition at line 146 of file EventPrincipal.cc.

References luminosityBlockPrincipal(), and edm::LuminosityBlockPrincipal::runPrincipal().

146  {
148  }
RunPrincipal const & runPrincipal() const
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
void edm::EventPrincipal::setLuminosityBlockPrincipal ( std::shared_ptr< LuminosityBlockPrincipal > const &  lbp)

Definition at line 133 of file EventPrincipal.cc.

References luminosityBlockPrincipal_.

Referenced by edm::SubProcess::process().

133  {
135  }
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
void edm::EventPrincipal::setRunAndLumiNumber ( RunNumber_t  run,
LuminosityBlockNumber_t  lumi 
)

Definition at line 138 of file EventPrincipal.cc.

References assert(), aux_, edm::EventID::event(), event(), edm::EventAuxiliary::id(), and luminosityBlockPrincipal_.

138  {
140  assert(lumi == luminosityBlockPrincipal_->luminosityBlock());
141  EventNumber_t event = aux_.id().event();
142  aux_.id() = EventID(run, lumi, event);
143  }
EventNumber_t event() const
Definition: EventID.h:41
RunNumber_t run() const
tuple lumi
Definition: fjr2json.py:35
assert(m_qm.get())
unsigned long long EventNumber_t
EventAuxiliary aux_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
EventID const & id() const
void edm::EventPrincipal::setupUnscheduled ( UnscheduledConfigurator const &  iConfigure)

Definition at line 387 of file EventPrincipal.cc.

References edm::Principal::applyToResolvers(), and edm::ProductResolverBase::setupUnscheduled().

Referenced by edm::WorkerManager::setupOnDemandSystem().

387  {
388  applyToResolvers([&iConfigure](ProductResolverBase* iResolver) {
389  iResolver->setupUnscheduled(iConfigure);
390  });
391  }
void applyToResolvers(F iFunc)
Definition: Principal.h:211
int edm::EventPrincipal::storeNumber ( ) const
inline

Definition at line 119 of file EventPrincipal.h.

References aux(), and edm::EventAuxiliary::storeNumber().

119  {
120  return aux().storeNumber();
121  }
int storeNumber() const
EventAuxiliary const & aux() const
StreamID edm::EventPrincipal::streamID ( ) const
inline
Timestamp const& edm::EventPrincipal::time ( ) const
inline

Definition at line 103 of file EventPrincipal.h.

References aux(), and edm::EventAuxiliary::time().

Referenced by edm::EDLooperBase::doDuringLoop(), edm::InputSource::readEvent(), and edm::OccurrenceTraits< EventPrincipal, BranchActionStreamBegin >::setStreamContext().

103  {
104  return aux().time();
105  }
Timestamp const & time() const
EventAuxiliary const & aux() const
unsigned int edm::EventPrincipal::transitionIndex_ ( ) const
overrideprivatevirtual

Implements edm::EDProductGetter.

Definition at line 218 of file EventPrincipal.cc.

References streamID_, and edm::StreamID::value().

218  {
219  return streamID_.value();
220  }
unsigned int value() const
Definition: StreamID.h:46

Member Data Documentation

EventAuxiliary edm::EventPrincipal::aux_
private
std::shared_ptr<BranchIDListHelper const> edm::EventPrincipal::branchIDListHelper_
private

Definition at line 199 of file EventPrincipal.h.

Referenced by branchIDToProductID(), fillEventPrincipal(), and pidToBid().

BranchListIndexes edm::EventPrincipal::branchListIndexes_
private

Definition at line 202 of file EventPrincipal.h.

Referenced by branchListIndexes(), fillEventPrincipal(), and pidToBid().

std::map<BranchListIndex, ProcessIndex> edm::EventPrincipal::branchListIndexToProcessIndex_
private

Definition at line 204 of file EventPrincipal.h.

Referenced by branchIDToProductID(), clearEventPrincipal(), and fillEventPrincipal().

EventSelectionIDVector edm::EventPrincipal::eventSelectionIDs_
private

Definition at line 197 of file EventPrincipal.h.

Referenced by eventSelectionIDs(), and fillEventPrincipal().

int const edm::EventPrincipal::invalidBunchXing = EventAuxiliary::invalidBunchXing
static

Definition at line 53 of file EventPrincipal.h.

int const edm::EventPrincipal::invalidStoreNumber = EventAuxiliary::invalidStoreNumber
static

Definition at line 54 of file EventPrincipal.h.

edm::propagate_const<std::shared_ptr<LuminosityBlockPrincipal> > edm::EventPrincipal::luminosityBlockPrincipal_
private
edm::propagate_const<std::shared_ptr<ProductProvenanceRetriever> > edm::EventPrincipal::provRetrieverPtr_
private
StreamID edm::EventPrincipal::streamID_
private

Definition at line 206 of file EventPrincipal.h.

Referenced by streamID(), and transitionIndex_().

std::shared_ptr<ThinnedAssociationsHelper const> edm::EventPrincipal::thinnedAssociationsHelper_
private

Definition at line 200 of file EventPrincipal.h.

Referenced by EventPrincipal(), getThinnedProduct(), and getThinnedProducts().