CMS 3D CMS Logo

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

#include <Event.h>

Inheritance diagram for fwlite::Event:
fwlite::EventBase edm::EventBase

Public Member Functions

virtual bool atEnd () const
 
void draw (Option_t *opt)
 Properly setup for edm::Ref, etc and then call TTree method. More...
 
Long64_t draw (char const *varexp, const TCut &selection, Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0)
 
Long64_t draw (char const *varexp, char const *selection, Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0)
 
 Event (TFile *iFile)
 
virtual edm::EventAuxiliary const & eventAuxiliary () const
 
std::vector
< edm::BranchDescription >
const & 
getBranchDescriptions () const
 
virtual std::string const getBranchNameFor (std::type_info const &, char const *iModuleLabel, char const *iProductInstanceLabel, char const *iProcessName) const
 Return the branch name in the TFile which contains the data. More...
 
virtual bool getByLabel (std::type_info const &, char const *, char const *, char const *, void *) const
 This function should only be called by fwlite::Handle<> More...
 
virtual edm::WrapperBase const * getByProductID (edm::ProductID const &) const
 
fwlite::LuminosityBlock const & getLuminosityBlock () const
 
std::vector< std::string > const & getProcessHistory () const
 
fwlite::Run const & getRun () const
 
TFile * getTFile () const
 
edm::WrapperBase const * getThinnedProduct (edm::ProductID const &pid, unsigned int &key) const
 
void getThinnedProducts (edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const
 
Long64_t indexFromEventId (edm::RunNumber_t run, edm::LuminosityBlockNumber_t lumi, edm::EventNumber_t event)
 Find index of given event-id. More...
 
bool isValid () const
 
 operator bool () const
 
Event const & operator++ ()
 Advance to next event in the TFile. More...
 
virtual edm::ProcessHistory const & processHistory () const
 
Long64_t scan (char const *varexp="", char const *selection="", Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0)
 
Long64_t size () const
 Returns number of events in the file. More...
 
bool to (Long64_t iIndex)
 Go to the event at index iIndex. More...
 
bool to (const edm::EventID &id)
 Go to event by Run & Event number. More...
 
bool to (edm::RunNumber_t run, edm::EventNumber_t event)
 
bool to (edm::RunNumber_t run, edm::LuminosityBlockNumber_t lumi, edm::EventNumber_t event)
 
Event const & toBegin ()
 Go to the very first Event. More...
 
virtual edm::TriggerNames const & triggerNames (edm::TriggerResults const &triggerResults) const
 
virtual edm::TriggerResultsByName triggerResultsByName (std::string const &process) const
 
virtual ~Event ()
 
- Public Member Functions inherited from fwlite::EventBase
 EventBase ()
 
virtual Long64_t fileIndex () const
 
virtual Long64_t secondaryFileIndex () const
 
virtual ~EventBase ()
 
- Public Member Functions inherited from edm::EventBase
int bunchCrossing () const
 
 EventBase ()
 
edm::EventAuxiliary::ExperimentType experimentType () const
 
template<typename T >
bool get (ProductID const &, Handle< T > &) const
 
template<typename T >
bool getByLabel (InputTag const &, Handle< T > &) const
 
template<>
bool getByLabel (edm::InputTag const &tag, Handle< FWGenericObject > &result) const
 Specialize the getByLabel method to work with a Handle<FWGenericObject> More...
 
edm::EventID id () const
 
bool isRealData () const
 
edm::LuminosityBlockNumber_t luminosityBlock () const
 
int orbitNumber () const
 
edm::Timestamp time () const
 

Static Public Member Functions

static void throwProductNotFoundException (std::type_info const &, char const *, char const *, char const *)
 

Private Member Functions

 Event (Event const &)
 
void fillParameterSetRegistry () const
 
edm::ProcessHistory const & history () const
 
Event const & operator= (Event const &)
 
void setGetter (std::shared_ptr< edm::EDProductGetter > getter)
 
void updateAux (Long_t eventIndex) const
 

Private Attributes

edm::EventAuxiliary aux_
 
TBranch * auxBranch_
 
fwlite::BranchMapReader branchMap_
 
fwlite::DataGetterHelper dataHelper_
 
EntryFinder entryFinder_
 
TTree * eventHistoryTree_
 
std::vector
< edm::EventProcessHistoryID
eventProcessHistoryIDs_
 
TFile * file_
 
int fileVersion_
 
edm::ProcessHistoryMap historyMap_
 
std::vector< char const * > labels_
 
std::shared_ptr
< fwlite::LuminosityBlock
lumi_
 
bool parameterSetRegistryFilled_
 
edm::EventAuxiliarypAux_
 
edm::EventAuxpOldAux_
 
std::vector< std::string > procHistoryNames_
 
std::shared_ptr< fwlite::Runrun_
 
std::shared_ptr< RunFactoryrunFactory_
 

Friends

class ChainEvent
 
class EventHistoryGetter
 
class internal::ProductGetter
 

Additional Inherited Members

- Static Protected Member Functions inherited from edm::EventBase
static TriggerNames const * triggerNames_ (edm::TriggerResults const &triggerResults)
 

Detailed Description

Definition at line 85 of file Event.h.

Constructor & Destructor Documentation

Event::Event ( TFile *  iFile)

Definition at line 111 of file Event.cc.

References auxBranch_, branchMap_, edm::BranchTypeToAuxBranchName(), edm::BranchTypeToAuxiliaryBranchName(), eventHistoryTree_, edm::poolNames::eventHistoryTreeName(), edm::poolNames::eventTreeName(), edm::hlt::Exception, fileVersion_, fwlite::BranchMapReader::getEventTree(), fwlite::BranchMapReader::getFileVersion(), edm::InEvent, pAux_, pOldAux_, runFactory_, and fwlite::BranchMapReader::updateEvent().

111  :
112  file_(iFile),
113 // eventTree_(0),
115 // eventIndex_(-1),
116  branchMap_(iFile),
117  pAux_(&aux_),
118  pOldAux_(0),
119  fileVersion_(-1),
122  std::shared_ptr<HistoryGetterBase>(new EventHistoryGetter(this)),
123  std::shared_ptr<BranchMapReader>(&branchMap_,NoDelete()),
124  std::shared_ptr<edm::EDProductGetter>(new internal::ProductGetter(this)),
125  true) {
126  if(0 == iFile) {
127  throw cms::Exception("NoFile") << "The TFile pointer passed to the constructor was null";
128  }
129 
130  if(0 == branchMap_.getEventTree()) {
131  throw cms::Exception("NoEventTree") << "The TFile contains no TTree named " << edm::poolNames::eventTreeName();
132  }
133  //need to know file version in order to determine how to read the basic event info
135 
136  //got this logic from IOPool/Input/src/RootFile.cc
137 
138  TTree* eventTree = branchMap_.getEventTree();
139  if(fileVersion_ >= 3) {
140  auxBranch_ = eventTree->GetBranch(edm::BranchTypeToAuxiliaryBranchName(edm::InEvent).c_str());
141  if(0 == auxBranch_) {
142  throw cms::Exception("NoEventAuxilliary") << "The TTree "
144  << " does not contain a branch named 'EventAuxiliary'";
145  }
146  auxBranch_->SetAddress(&pAux_);
147  } else {
148  pOldAux_ = new edm::EventAux();
149  auxBranch_ = eventTree->GetBranch(edm::BranchTypeToAuxBranchName(edm::InEvent).c_str());
150  if(0 == auxBranch_) {
151  throw cms::Exception("NoEventAux") << "The TTree "
153  << " does not contain a branch named 'EventAux'";
154  }
155  auxBranch_->SetAddress(&pOldAux_);
156  }
158 
159  if(fileVersion_ >= 7 && fileVersion_ < 17) {
160  eventHistoryTree_ = dynamic_cast<TTree*>(iFile->Get(edm::poolNames::eventHistoryTreeName().c_str()));
161  }
162  runFactory_ = std::shared_ptr<RunFactory>(new RunFactory());
163 
164 }
std::string const & BranchTypeToAuxiliaryBranchName(BranchType const &branchType)
Definition: BranchType.cc:115
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
bool updateEvent(Long_t eventEntry)
TTree * eventHistoryTree_
Definition: Event.h:182
int fileVersion_
Definition: Event.h:198
edm::EventAux * pOldAux_
Definition: Event.h:196
TTree * getEventTree() const
int getFileVersion(TFile *file)
bool parameterSetRegistryFilled_
Definition: Event.h:199
friend class EventHistoryGetter
Definition: Event.h:168
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
TFile * file_
Definition: Event.h:180
edm::EventAuxiliary aux_
Definition: Event.h:193
edm::EventAuxiliary * pAux_
Definition: Event.h:195
std::string const & eventTreeName()
Definition: BranchType.cc:260
std::string const & BranchTypeToAuxBranchName(BranchType const &branchType)
Definition: BranchType.cc:119
std::string const & eventHistoryTreeName()
Definition: BranchType.cc:268
TBranch * auxBranch_
Definition: Event.h:197
std::shared_ptr< RunFactory > runFactory_
Definition: Event.h:202
Event::~Event ( )
virtual

Definition at line 171 of file Event.cc.

References labels_, and pOldAux_.

171  {
172  for(std::vector<char const*>::iterator it = labels_.begin(), itEnd = labels_.end();
173  it != itEnd;
174  ++it) {
175  delete [] *it;
176  }
177  delete pOldAux_;
178 }
edm::EventAux * pOldAux_
Definition: Event.h:196
std::vector< char const * > labels_
Definition: Event.h:189
fwlite::Event::Event ( Event const &  )
private

Member Function Documentation

bool Event::atEnd ( ) const
virtual

Implements fwlite::EventBase.

Definition at line 285 of file Event.cc.

References branchMap_, fwlite::BranchMapReader::getEventEntry(), or, and size().

Referenced by FWHLTTriggerTableView::fillAverageAcceptFractions(), FWFileEntry::filterEventsWithCustomParser(), getByLabel(), and main().

285  {
286  Long_t eventIndex = branchMap_.getEventEntry();
287  return eventIndex == -1 or eventIndex == size();
288 }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
Long64_t size() const
Returns number of events in the file.
Definition: Event.cc:269
Long_t getEventEntry() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
void Event::draw ( Option_t *  opt)

Properly setup for edm::Ref, etc and then call TTree method.

Definition at line 250 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventTree(), and fwlite::DataGetterHelper::getter().

Referenced by Vispa.Gui.PortConnection.PointToPointConnection::paintEvent().

250  {
251  GetterOperate op(dataHelper_.getter());
252  branchMap_.getEventTree()->Draw(opt);
253 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
edm::EDProductGetter * getter()
TTree * getEventTree() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
Long64_t Event::draw ( char const *  varexp,
const TCut &  selection,
Option_t *  option = "",
Long64_t  nentries = 1000000000,
Long64_t  firstentry = 0 
)

Definition at line 254 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventTree(), and fwlite::DataGetterHelper::getter().

Referenced by Vispa.Gui.PortConnection.PointToPointConnection::paintEvent().

254  {
255  GetterOperate op(dataHelper_.getter());
256  return branchMap_.getEventTree()->Draw(varexp,selection,option,nentries,firstentry);
257 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
edm::EDProductGetter * getter()
selection
main part
Definition: corrVsCorr.py:98
TTree * getEventTree() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
Long64_t Event::draw ( char const *  varexp,
char const *  selection,
Option_t *  option = "",
Long64_t  nentries = 1000000000,
Long64_t  firstentry = 0 
)

Definition at line 258 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventTree(), and fwlite::DataGetterHelper::getter().

Referenced by Vispa.Gui.PortConnection.PointToPointConnection::paintEvent().

258  {
259  GetterOperate op(dataHelper_.getter());
260  return branchMap_.getEventTree()->Draw(varexp,selection,option,nentries,firstentry);
261 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
edm::EDProductGetter * getter()
selection
main part
Definition: corrVsCorr.py:98
TTree * getEventTree() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
edm::EventAuxiliary const & Event::eventAuxiliary ( ) const
virtual

Implements edm::EventBase.

Definition at line 327 of file Event.cc.

References aux_, branchMap_, fwlite::BranchMapReader::getEventEntry(), and updateAux().

Referenced by getLuminosityBlock(), and getRun().

327  {
328  Long_t eventIndex = branchMap_.getEventEntry();
329  updateAux(eventIndex);
330  return aux_;
331 }
Long_t getEventEntry() const
void updateAux(Long_t eventIndex) const
Definition: Event.cc:334
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
edm::EventAuxiliary aux_
Definition: Event.h:193
void Event::fillParameterSetRegistry ( ) const
private

Definition at line 445 of file Event.cc.

References b, branchMap_, edm::hlt::Exception, edm::poolNames::fileFormatVersionBranchName(), fwlite::BranchMapReader::getFile(), i, edm::poolNames::idToParameterSetBlobsBranchName(), edm::pset::Registry::insertMapped(), edm::pset::Registry::instance(), edm::poolNames::metaDataTreeName(), edm::poolNames::parameterSetMapBranchName(), parameterSetRegistryFilled_, edm::FileFormatVersion::parameterSetsByReference(), edm::poolNames::parameterSetsTreeName(), edm::ParameterSet::setID(), and edm::FileFormatVersion::triggerPathsTracked().

Referenced by triggerNames(), and triggerResultsByName().

445  {
446  if (parameterSetRegistryFilled_) return;
448 
449  TTree* meta = dynamic_cast<TTree*>(branchMap_.getFile()->Get(edm::poolNames::metaDataTreeName().c_str()));
450  if (0 == meta) {
451  throw cms::Exception("NoMetaTree") << "The TFile does not contain a TTree named "
453  }
454 
455  edm::FileFormatVersion fileFormatVersion;
456  edm::FileFormatVersion *fftPtr = &fileFormatVersion;
457  if(meta->FindBranch(edm::poolNames::fileFormatVersionBranchName().c_str()) != 0) {
458  TBranch *fft = meta->GetBranch(edm::poolNames::fileFormatVersionBranchName().c_str());
459  fft->SetAddress(&fftPtr);
460  fft->GetEntry(0);
461  }
462 
463  typedef std::map<edm::ParameterSetID, edm::ParameterSetBlob> PsetMap;
464  PsetMap psetMap;
465  TTree* psetTree(0);
466  if (meta->FindBranch(edm::poolNames::parameterSetMapBranchName().c_str()) != 0) {
467  PsetMap *psetMapPtr = &psetMap;
468  TBranch* b = meta->GetBranch(edm::poolNames::parameterSetMapBranchName().c_str());
469  b->SetAddress(&psetMapPtr);
470  b->GetEntry(0);
471  } else if(0 == (psetTree = dynamic_cast<TTree *>(branchMap_.getFile()->Get(edm::poolNames::parameterSetsTreeName().c_str())))) {
472  throw cms::Exception("NoParameterSetMapTree")
473  << "The TTree "
474  << edm::poolNames::parameterSetsTreeName() << " could not be found in the file.";
475  } else {
476  typedef std::pair<edm::ParameterSetID, edm::ParameterSetBlob> IdToBlobs;
477  IdToBlobs idToBlob;
478  IdToBlobs* pIdToBlob = &idToBlob;
479  psetTree->SetBranchAddress(edm::poolNames::idToParameterSetBlobsBranchName().c_str(), &pIdToBlob);
480  for(long long i = 0; i != psetTree->GetEntries(); ++i) {
481  psetTree->GetEntry(i);
482  psetMap.insert(idToBlob);
483  }
484  }
486  if(!fileFormatVersion.triggerPathsTracked()) {
487  edm::ParameterSetConverter converter(psetMap, psetIdConverter, fileFormatVersion.parameterSetsByReference());
488  } else {
489  // Merge into the parameter set registry.
491  for(PsetMap::const_iterator i = psetMap.begin(), iEnd = psetMap.end();
492  i != iEnd; ++i) {
493  edm::ParameterSet pset(i->second.pset());
494  pset.setID(i->first);
495  psetRegistry.insertMapped(pset);
496  }
497  }
498 }
void setID(ParameterSetID const &id)
std::string const & idToParameterSetBlobsBranchName()
Definition: BranchType.cc:255
int i
Definition: DBlmapReader.cc:9
std::string const & fileFormatVersionBranchName()
Definition: BranchType.cc:218
TFile * getFile() const
std::string const & parameterSetsTreeName()
Definition: BranchType.cc:251
bool parameterSetRegistryFilled_
Definition: Event.h:199
std::map< ParameterSetID, ParameterSetID > ParameterSetIdConverter
std::string const & metaDataTreeName()
Definition: BranchType.cc:168
std::string const & parameterSetMapBranchName()
Definition: BranchType.cc:183
bool triggerPathsTracked() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
bool parameterSetsByReference() const
double b
Definition: hdecay.h:120
bool insertMapped(value_type const &v)
Definition: Registry.cc:39
static Registry * instance()
Definition: Registry.cc:16
std::vector<edm::BranchDescription> const& fwlite::Event::getBranchDescriptions ( ) const
inline

Definition at line 138 of file Event.h.

References branchMap_, and fwlite::BranchMapReader::getBranchDescriptions().

Referenced by FWLiteJobMetadataManager::doUpdate(), and FWLiteJobMetadataManager::hasModuleLabel().

138  {
140  }
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
const std::vector< edm::BranchDescription > & getBranchDescriptions()
std::string const Event::getBranchNameFor ( std::type_info const &  iInfo,
char const *  iModuleLabel,
char const *  iProductInstanceLabel,
char const *  iProcessName 
) const
virtual

Return the branch name in the TFile which contains the data.

Implements fwlite::EventBase.

Definition at line 305 of file Event.cc.

References dataHelper_, and fwlite::DataGetterHelper::getBranchNameFor().

Referenced by FWFileEntry::runFilter().

308  {
309  return dataHelper_.getBranchNameFor(iInfo, iModuleLabel, iProductInstanceLabel, iProcessLabel);
310 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const
bool Event::getByLabel ( std::type_info const &  iInfo,
char const *  iModuleLabel,
char const *  iProductInstanceLabel,
char const *  iProcessLabel,
void *  oData 
) const
virtual

This function should only be called by fwlite::Handle<>

Implements fwlite::EventBase.

Definition at line 313 of file Event.cc.

References atEnd(), branchMap_, dataHelper_, edm::hlt::Exception, fwlite::DataGetterHelper::getByLabel(), and fwlite::BranchMapReader::getEventEntry().

318  {
319  if(atEnd()) {
320  throw cms::Exception("OffEnd") << "You have requested data past the last event";
321  }
322  Long_t eventIndex = branchMap_.getEventEntry();
323  return dataHelper_.getByLabel(iInfo, iModuleLabel, iProductInstanceLabel, iProcessLabel, oData, eventIndex);
324 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
Long_t getEventEntry() const
virtual bool atEnd() const
Definition: Event.cc:285
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *, Long_t) const
edm::WrapperBase const * Event::getByProductID ( edm::ProductID const &  iID) const
virtual

Implements fwlite::EventBase.

Definition at line 409 of file Event.cc.

References branchMap_, dataHelper_, fwlite::DataGetterHelper::getByProductID(), and fwlite::BranchMapReader::getEventEntry().

Referenced by fwlite::internal::ProductGetter::getIt().

409  {
410  Long_t eventEntry = branchMap_.getEventEntry();
411  return dataHelper_.getByProductID(iID, eventEntry);
412 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
Long_t getEventEntry() const
edm::WrapperBase const * getByProductID(edm::ProductID const &pid, Long_t eventEntry) const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
fwlite::LuminosityBlock const & Event::getLuminosityBlock ( ) const

Definition at line 529 of file Event.cc.

References branchMap_, eventAuxiliary(), fjr2json::lumi, lumi_, edm::EventAuxiliary::luminosityBlock(), DTTTrigCorrFirst::run, edm::EventAuxiliary::run(), and runFactory_.

Referenced by main().

529  {
530  if (not lumi_) {
531  // Branch map pointer not really being shared, owned by event, have to trick Lumi
532  lumi_ = std::shared_ptr<fwlite::LuminosityBlock> (
533  new fwlite::LuminosityBlock(std::shared_ptr<BranchMapReader>(&branchMap_,NoDelete()),
534  runFactory_)
535  );
536  }
539  lumi_->to(run, lumi);
540  return *lumi_;
541 }
tuple lumi
Definition: fjr2json.py:35
RunNumber_t run() const
unsigned int LuminosityBlockNumber_t
LuminosityBlockNumber_t luminosityBlock() const
virtual edm::EventAuxiliary const & eventAuxiliary() const
Definition: Event.cc:327
std::shared_ptr< fwlite::LuminosityBlock > lumi_
Definition: Event.h:184
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
unsigned int RunNumber_t
std::shared_ptr< RunFactory > runFactory_
Definition: Event.h:202
std::vector< std::string > const & Event::getProcessHistory ( ) const

Definition at line 292 of file Event.cc.

References edm::ProcessHistory::begin(), edm::ProcessHistory::end(), h, history(), and procHistoryNames_.

Referenced by FWLiteJobMetadataManager::doUpdate().

292  {
293  if (procHistoryNames_.empty()) {
294  const edm::ProcessHistory& h = history();
295  for (edm::ProcessHistory::const_iterator iproc = h.begin(), eproc = h.end();
296  iproc != eproc; ++iproc) {
297  procHistoryNames_.push_back(iproc->processName());
298  }
299  }
300  return procHistoryNames_;
301 }
collection_type::const_iterator const_iterator
const_iterator begin() const
std::vector< std::string > procHistoryNames_
Definition: Event.h:192
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
edm::ProcessHistory const & history() const
Definition: Event.cc:345
const_iterator end() const
fwlite::Run const & Event::getRun ( ) const

Definition at line 543 of file Event.cc.

References branchMap_, eventAuxiliary(), DTTTrigCorrFirst::run, edm::EventAuxiliary::run(), run_, and runFactory_.

Referenced by FWMagField::checkFieldInfo(), FWL1TriggerTableView::fillTable(), and main().

543  {
544  run_ = runFactory_->makeRun(std::shared_ptr<BranchMapReader>(&branchMap_,NoDelete()));
546  run_->to(run);
547  return *run_;
548 }
RunNumber_t run() const
std::shared_ptr< fwlite::Run > run_
Definition: Event.h:185
virtual edm::EventAuxiliary const & eventAuxiliary() const
Definition: Event.cc:327
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
unsigned int RunNumber_t
std::shared_ptr< RunFactory > runFactory_
Definition: Event.h:202
TFile* fwlite::Event::getTFile ( ) const
inline

Definition at line 142 of file Event.h.

References branchMap_, and fwlite::BranchMapReader::getFile().

142  {
143  return branchMap_.getFile();
144  }
TFile * getFile() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
edm::WrapperBase const * Event::getThinnedProduct ( edm::ProductID const &  pid,
unsigned int &  key 
) const

Definition at line 415 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventEntry(), and fwlite::DataGetterHelper::getThinnedProduct().

Referenced by fwlite::internal::ProductGetter::getThinnedProduct().

415  {
416  Long_t eventEntry = branchMap_.getEventEntry();
417  return dataHelper_.getThinnedProduct(pid, key, eventEntry);
418 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
Long_t getEventEntry() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
tuple pid
Definition: sysUtil.py:22
edm::WrapperBase const * getThinnedProduct(edm::ProductID const &pid, unsigned int &key, Long_t eventEntry) const
void Event::getThinnedProducts ( edm::ProductID const &  pid,
std::vector< edm::WrapperBase const * > &  foundContainers,
std::vector< unsigned int > &  keys 
) const

Definition at line 421 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventEntry(), and fwlite::DataGetterHelper::getThinnedProducts().

Referenced by fwlite::internal::ProductGetter::getThinnedProducts().

423  {
424  Long_t eventEntry = branchMap_.getEventEntry();
425  return dataHelper_.getThinnedProducts(pid, foundContainers, keys, eventEntry);
426 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys, Long_t eventEntry) const
Long_t getEventEntry() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
tuple pid
Definition: sysUtil.py:22
const edm::ProcessHistory & Event::history ( ) const
private

Definition at line 345 of file Event.cc.

References aux_, b, branchMap_, edm::poolNames::eventHistoryBranchName(), eventHistoryTree_, eventProcessHistoryIDs_, edm::hlt::Exception, edm::errors::FatalRootError, fileVersion_, fwlite::BranchMapReader::getEventEntry(), fwlite::BranchMapReader::getFile(), historyMap_, edm::EventAuxiliary::id(), edm::poolNames::metaDataTreeName(), edm::poolNames::processHistoryBranchName(), edm::History::processHistoryID(), edm::EventAuxiliary::processHistoryID(), edm::poolNames::processHistoryMapBranchName(), procHistoryNames_, edm::ProcessHistory::setProcessHistoryID(), filterCSVwithJSON::target, and updateAux().

Referenced by getProcessHistory(), fwlite::EventHistoryGetter::history(), and processHistory().

345  {
346  edm::ProcessHistoryID processHistoryID;
347 
348  bool newFormat = (fileVersion_ >= 5);
349 
350  Long_t eventIndex = branchMap_.getEventEntry();
351  updateAux(eventIndex);
352  if (!newFormat) {
353  processHistoryID = aux_.processHistoryID();
354  }
355  if(historyMap_.empty() || newFormat) {
356  procHistoryNames_.clear();
357  TTree *meta = dynamic_cast<TTree*>(branchMap_.getFile()->Get(edm::poolNames::metaDataTreeName().c_str()));
358  if(0 == meta) {
359  throw cms::Exception("NoMetaTree") << "The TFile does not appear to contain a TTree named "
361  }
362  if (historyMap_.empty()) {
363  if (fileVersion_ < 11) {
365  TBranch* b = meta->GetBranch(edm::poolNames::processHistoryMapBranchName().c_str());
366  b->SetAddress(&pPhm);
367  b->GetEntry(0);
368  } else {
369  edm::ProcessHistoryVector historyVector;
370  edm::ProcessHistoryVector* pPhv = &historyVector;
371  TBranch* b = meta->GetBranch(edm::poolNames::processHistoryBranchName().c_str());
372  b->SetAddress(&pPhv);
373  b->GetEntry(0);
374  for (auto& history : historyVector) {
375  historyMap_.insert(std::make_pair(history.setProcessHistoryID(), history));
376  }
377  }
378  }
379  if (newFormat) {
380  if (fileVersion_ >= 17) {
381  processHistoryID = aux_.processHistoryID();
382  } else if (fileVersion_ >= 7) {
384  edm::History* pHistory = &history;
385  TBranch* eventHistoryBranch = eventHistoryTree_->GetBranch(edm::poolNames::eventHistoryBranchName().c_str());
386  if (!eventHistoryBranch)
388  << "Failed to find history branch in event history tree";
389  eventHistoryBranch->SetAddress(&pHistory);
390  eventHistoryTree_->GetEntry(eventIndex);
391  processHistoryID = history.processHistoryID();
392  } else {
393  std::vector<edm::EventProcessHistoryID> *pEventProcessHistoryIDs = &eventProcessHistoryIDs_;
394  TBranch* b = meta->GetBranch(edm::poolNames::eventHistoryBranchName().c_str());
395  b->SetAddress(&pEventProcessHistoryIDs);
396  b->GetEntry(0);
398  processHistoryID = std::lower_bound(eventProcessHistoryIDs_.begin(), eventProcessHistoryIDs_.end(), target)->processHistoryID();
399  }
400  }
401 
402  }
403 
404  return historyMap_[processHistoryID];
405 }
std::vector< ProcessHistory > ProcessHistoryVector
edm::ProcessHistoryMap historyMap_
Definition: Event.h:190
ProcessHistoryID setProcessHistoryID()
TFile * getFile() const
TTree * eventHistoryTree_
Definition: Event.h:182
int fileVersion_
Definition: Event.h:198
Long_t getEventEntry() const
std::string const & processHistoryMapBranchName()
Definition: BranchType.cc:193
std::vector< std::string > procHistoryNames_
Definition: Event.h:192
std::string const & eventHistoryBranchName()
Definition: BranchType.cc:238
ProcessHistoryID const & processHistoryID() const
Definition: History.h:46
void updateAux(Long_t eventIndex) const
Definition: Event.cc:334
std::string const & metaDataTreeName()
Definition: BranchType.cc:168
Hash< ProcessHistoryType > ProcessHistoryID
std::string const & processHistoryBranchName()
Definition: BranchType.cc:198
edm::ProcessHistory const & history() const
Definition: Event.cc:345
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
double b
Definition: hdecay.h:120
edm::EventAuxiliary aux_
Definition: Event.h:193
std::vector< edm::EventProcessHistoryID > eventProcessHistoryIDs_
Definition: Event.h:191
ProcessHistoryID const & processHistoryID() const
EventID const & id() const
std::map< ProcessHistoryID, ProcessHistory > ProcessHistoryMap
Long64_t Event::indexFromEventId ( edm::RunNumber_t  run,
edm::LuminosityBlockNumber_t  lumi,
edm::EventNumber_t  event 
)

Find index of given event-id.

Definition at line 205 of file Event.cc.

References branchMap_, entryFinder_, fwlite::EntryFinder::fillIndex(), fwlite::EntryFinder::findEvent(), and fwlite::EntryFinder::invalidEntry.

205  {
208  return (entry == EntryFinder::invalidEntry) ? -1 : entry;
209 }
tuple lumi
Definition: fjr2json.py:35
EntryNumber_t findEvent(edm::RunNumber_t const &run, edm::LuminosityBlockNumber_t const &lumi, edm::EventNumber_t const &event) const
Definition: EntryFinder.cc:57
edm::IndexIntoFile::EntryNumber_t EntryNumber_t
Definition: EntryFinder.h:34
void fillIndex(BranchMapReader const &branchMap)
Definition: EntryFinder.cc:108
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
static EntryNumber_t const invalidEntry
Definition: EntryFinder.h:40
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
EntryFinder entryFinder_
Definition: Event.h:194
bool Event::isValid ( void  ) const

Definition at line 274 of file Event.cc.

References branchMap_, fwlite::BranchMapReader::getEventEntry(), and size().

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

274  {
275  Long_t eventIndex = branchMap_.getEventEntry();
276  return eventIndex != -1 and eventIndex < size();
277 }
Long64_t size() const
Returns number of events in the file.
Definition: Event.cc:269
Long_t getEventEntry() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
Event::operator bool ( ) const

Definition at line 280 of file Event.cc.

280  {
281  return isValid();
282 }
bool isValid() const
Definition: Event.cc:274
Event const & Event::operator++ ( )
virtual

Advance to next event in the TFile.

Implements fwlite::EventBase.

Definition at line 196 of file Event.cc.

References branchMap_, fwlite::BranchMapReader::getEventEntry(), size(), and fwlite::BranchMapReader::updateEvent().

196  {
197  Long_t eventIndex = branchMap_.getEventEntry();
198  if(eventIndex < size()) {
199  branchMap_.updateEvent(++eventIndex);
200  }
201  return *this;
202 }
bool updateEvent(Long_t eventEntry)
Long64_t size() const
Returns number of events in the file.
Definition: Event.cc:269
Long_t getEventEntry() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
Event const& fwlite::Event::operator= ( Event const &  )
private
virtual edm::ProcessHistory const& fwlite::Event::processHistory ( ) const
inlinevirtual

Implements edm::EventBase.

Definition at line 156 of file Event.h.

References history().

156 {return history();}
edm::ProcessHistory const & history() const
Definition: Event.cc:345
Long64_t Event::scan ( char const *  varexp = "",
char const *  selection = "",
Option_t *  option = "",
Long64_t  nentries = 1000000000,
Long64_t  firstentry = 0 
)

Definition at line 262 of file Event.cc.

References branchMap_, dataHelper_, fwlite::BranchMapReader::getEventTree(), and fwlite::DataGetterHelper::getter().

262  {
263  GetterOperate op(dataHelper_.getter());
264  return branchMap_.getEventTree()->Scan(varexp,selection,option,nentries,firstentry);
265 }
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
edm::EDProductGetter * getter()
selection
main part
Definition: corrVsCorr.py:98
TTree * getEventTree() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
void fwlite::Event::setGetter ( std::shared_ptr< edm::EDProductGetter getter)
inlineprivate

Definition at line 177 of file Event.h.

References dataHelper_, and fwlite::DataGetterHelper::setGetter().

177 { return dataHelper_.setGetter(getter);}
fwlite::DataGetterHelper dataHelper_
Definition: Event.h:201
void setGetter(std::shared_ptr< edm::EDProductGetter > getter)
Long64_t Event::size ( void  ) const

Returns number of events in the file.

Definition at line 269 of file Event.cc.

References branchMap_, and fwlite::BranchMapReader::getEventTree().

Referenced by atEnd(), FWHLTTriggerTableView::fillAverageAcceptFractions(), isValid(), FWFileEntry::openFile(), operator++(), and to().

269  {
270  return branchMap_.getEventTree()->GetEntries();
271 }
TTree * getEventTree() const
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
void Event::throwProductNotFoundException ( std::type_info const &  iType,
char const *  iModule,
char const *  iProduct,
char const *  iProcess 
)
static

Definition at line 521 of file Event.cc.

References edm::TypeID::className(), edm::hlt::Exception, and edm::errors::ProductNotFound.

Referenced by fwlite::ChainEvent::throwProductNotFoundException().

521  {
522  edm::TypeID type(iType);
523  throw edm::Exception(edm::errors::ProductNotFound) << "A branch was found for \n type ='" << type.className() << "'\n module='" << iModule
524  << "'\n productInstance='" << ((0!=iProduct)?iProduct:"") << "'\n process='" << ((0 != iProcess) ? iProcess : "") << "'\n"
525  "but no data is available for this Event";
526 }
type
Definition: HCALResponse.h:21
bool Event::to ( Long64_t  iIndex)

Go to the event at index iIndex.

Definition at line 212 of file Event.cc.

References branchMap_, size(), and fwlite::BranchMapReader::updateEvent().

Referenced by FWHLTTriggerTableView::fillAverageAcceptFractions(), FWFileEntry::filterEventsWithCustomParser(), and to().

212  {
213  if (iEntry < size()) {
214  // this is a valid entry
215  return branchMap_.updateEvent(iEntry);
216  }
217  // if we're here, then iEntry was not valid
218  return false;
219 }
bool updateEvent(Long_t eventEntry)
Long64_t size() const
Returns number of events in the file.
Definition: Event.cc:269
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
bool Event::to ( const edm::EventID id)

Go to event by Run & Event number.

Definition at line 237 of file Event.cc.

References event(), edm::EventBase::luminosityBlock(), DTTTrigCorrFirst::run, and to().

237  {
238  return to(id.run(), id.luminosityBlock(), id.event());
239 }
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
bool to(Long64_t iIndex)
Go to the event at index iIndex.
Definition: Event.cc:212
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
bool Event::to ( edm::RunNumber_t  run,
edm::EventNumber_t  event 
)

Definition at line 222 of file Event.cc.

References to().

222  {
223  return to(run, 0U, event);
224 }
bool to(Long64_t iIndex)
Go to the event at index iIndex.
Definition: Event.cc:212
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
bool Event::to ( edm::RunNumber_t  run,
edm::LuminosityBlockNumber_t  lumi,
edm::EventNumber_t  event 
)

Definition at line 227 of file Event.cc.

References branchMap_, entryFinder_, fwlite::EntryFinder::fillIndex(), fwlite::EntryFinder::findEvent(), fwlite::EntryFinder::invalidEntry, and fwlite::BranchMapReader::updateEvent().

227  {
230  if (entry == EntryFinder::invalidEntry) {
231  return false;
232  }
233  return branchMap_.updateEvent(entry);
234 }
tuple lumi
Definition: fjr2json.py:35
bool updateEvent(Long_t eventEntry)
EntryNumber_t findEvent(edm::RunNumber_t const &run, edm::LuminosityBlockNumber_t const &lumi, edm::EventNumber_t const &event) const
Definition: EntryFinder.cc:57
edm::IndexIntoFile::EntryNumber_t EntryNumber_t
Definition: EntryFinder.h:34
void fillIndex(BranchMapReader const &branchMap)
Definition: EntryFinder.cc:108
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
static EntryNumber_t const invalidEntry
Definition: EntryFinder.h:40
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
EntryFinder entryFinder_
Definition: Event.h:194
Event const & Event::toBegin ( )
virtual

Go to the very first Event.

Implements fwlite::EventBase.

Definition at line 242 of file Event.cc.

References branchMap_, and fwlite::BranchMapReader::updateEvent().

Referenced by FWHLTTriggerTableView::fillAverageAcceptFractions(), FWFileEntry::filterEventsWithCustomParser(), and main().

242  {
244  return *this;
245 }
bool updateEvent(Long_t eventEntry)
fwlite::BranchMapReader branchMap_
Definition: Event.h:186
edm::TriggerNames const & Event::triggerNames ( edm::TriggerResults const &  triggerResults) const
virtual

Implements edm::EventBase.

Definition at line 429 of file Event.cc.

References edm::hlt::Exception, fillParameterSetRegistry(), cscdqm::h::names, parameterSetRegistryFilled_, and edm::EventBase::triggerNames_().

Referenced by FWHLTTriggerTableView::fillAverageAcceptFractions(), and FWFileEntry::filterEventsWithCustomParser().

429  {
431  if (names != 0) return *names;
432 
435  names = triggerNames_(triggerResults);
436  }
437  if (names != 0) return *names;
438 
439  throw cms::Exception("TriggerNamesNotFound")
440  << "TriggerNames not found in ParameterSet registry";
441  return *names;
442 }
static const HistoName names[]
bool parameterSetRegistryFilled_
Definition: Event.h:199
static std::string const triggerResults
Definition: EdmProvDump.cc:40
static TriggerNames const * triggerNames_(edm::TriggerResults const &triggerResults)
Definition: EventBase.cc:48
void fillParameterSetRegistry() const
Definition: Event.cc:445
edm::TriggerResultsByName Event::triggerResultsByName ( std::string const &  process) const
virtual

Implements edm::EventBase.

Definition at line 501 of file Event.cc.

References fillParameterSetRegistry(), fwlite::Handle< T >::getByLabel(), fwlite::Handle< T >::isValid(), cscdqm::h::names, parameterSetRegistryFilled_, fwlite::Handle< T >::product(), and edm::EventBase::triggerNames_().

501  {
502 
503  fwlite::Handle<edm::TriggerResults> hTriggerResults;
504  hTriggerResults.getByLabel(*this, "TriggerResults", "", process.c_str());
505  if (!hTriggerResults.isValid()) {
506  return edm::TriggerResultsByName(0,0);
507  }
508 
509  edm::TriggerNames const* names = triggerNames_(*hTriggerResults);
510  if (names == 0 && !parameterSetRegistryFilled_) {
512  names = triggerNames_(*hTriggerResults);
513  }
514  return edm::TriggerResultsByName(hTriggerResults.product(), names);
515 }
static const HistoName names[]
bool isValid() const
Definition: Handle.h:64
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
Definition: Handle.h:94
bool parameterSetRegistryFilled_
Definition: Event.h:199
static TriggerNames const * triggerNames_(edm::TriggerResults const &triggerResults)
Definition: EventBase.cc:48
void fillParameterSetRegistry() const
Definition: Event.cc:445
T const * product() const
Definition: Handle.h:69
tuple process
Definition: LaserDQM_cfg.py:3
void Event::updateAux ( Long_t  eventIndex) const
private

Definition at line 334 of file Event.cc.

References aux_, auxBranch_, edm::conversion(), and pOldAux_.

Referenced by eventAuxiliary(), and history().

334  {
335  if(auxBranch_->GetEntryNumber() != eventIndex) {
336  auxBranch_->GetEntry(eventIndex);
337  //handling dealing with old version
338  if(0 != pOldAux_) {
340  }
341  }
342 }
edm::EventAux * pOldAux_
Definition: Event.h:196
void conversion(EventAux const &from, EventAuxiliary &to)
Definition: EventAux.cc:9
edm::EventAuxiliary aux_
Definition: Event.h:193
TBranch * auxBranch_
Definition: Event.h:197

Friends And Related Function Documentation

friend class ChainEvent
friend

Definition at line 167 of file Event.h.

friend class EventHistoryGetter
friend

Definition at line 168 of file Event.h.

friend class internal::ProductGetter
friend

Definition at line 166 of file Event.h.

Member Data Documentation

edm::EventAuxiliary fwlite::Event::aux_
mutableprivate

Definition at line 193 of file Event.h.

Referenced by eventAuxiliary(), history(), and updateAux().

TBranch* fwlite::Event::auxBranch_
private

Definition at line 197 of file Event.h.

Referenced by Event(), and updateAux().

fwlite::BranchMapReader fwlite::Event::branchMap_
mutableprivate
fwlite::DataGetterHelper fwlite::Event::dataHelper_
private
EntryFinder fwlite::Event::entryFinder_
mutableprivate

Definition at line 194 of file Event.h.

Referenced by indexFromEventId(), and to().

TTree* fwlite::Event::eventHistoryTree_
private

Definition at line 182 of file Event.h.

Referenced by Event(), and history().

std::vector<edm::EventProcessHistoryID> fwlite::Event::eventProcessHistoryIDs_
mutableprivate

Definition at line 191 of file Event.h.

Referenced by history().

TFile* fwlite::Event::file_
private

Definition at line 180 of file Event.h.

int fwlite::Event::fileVersion_
private

Definition at line 198 of file Event.h.

Referenced by Event(), and history().

edm::ProcessHistoryMap fwlite::Event::historyMap_
mutableprivate

Definition at line 190 of file Event.h.

Referenced by history().

std::vector<char const*> fwlite::Event::labels_
mutableprivate

Definition at line 189 of file Event.h.

Referenced by ~Event().

std::shared_ptr<fwlite::LuminosityBlock> fwlite::Event::lumi_
mutableprivate

Definition at line 184 of file Event.h.

Referenced by getLuminosityBlock().

bool fwlite::Event::parameterSetRegistryFilled_
mutableprivate

Definition at line 199 of file Event.h.

Referenced by fillParameterSetRegistry(), triggerNames(), and triggerResultsByName().

edm::EventAuxiliary* fwlite::Event::pAux_
private

Definition at line 195 of file Event.h.

Referenced by Event().

edm::EventAux* fwlite::Event::pOldAux_
private

Definition at line 196 of file Event.h.

Referenced by Event(), updateAux(), and ~Event().

std::vector<std::string> fwlite::Event::procHistoryNames_
mutableprivate

Definition at line 192 of file Event.h.

Referenced by getProcessHistory(), and history().

std::shared_ptr<fwlite::Run> fwlite::Event::run_
mutableprivate

Definition at line 185 of file Event.h.

Referenced by getRun().

std::shared_ptr<RunFactory> fwlite::Event::runFactory_
mutableprivate

Definition at line 202 of file Event.h.

Referenced by Event(), getLuminosityBlock(), and getRun().