CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::OldProvenanceReader Class Reference
Inheritance diagram for edm::OldProvenanceReader:
edm::ProvenanceReaderBase

Public Member Functions

 OldProvenanceReader (RootTree *rootTree, DaqProvenanceHelper const *daqProvenanceHelper)
 
virtual ~OldProvenanceReader ()
 
- Public Member Functions inherited from edm::ProvenanceReaderBase
 ProvenanceReaderBase ()
 
virtual ~ProvenanceReaderBase ()
 

Private Member Functions

virtual void readProvenance (BranchMapper const &mapper) const
 

Private Attributes

DaqProvenanceHelper const * daqProvenanceHelper_
 
std::vector< EventEntryInfoinfoVector_
 
std::vector< EventEntryInfo > * pInfoVector_
 
RootTreerootTree_
 

Detailed Description

Definition at line 1833 of file RootFile.cc.

Constructor & Destructor Documentation

edm::OldProvenanceReader::OldProvenanceReader ( RootTree rootTree,
DaqProvenanceHelper const *  daqProvenanceHelper 
)
explicit

Definition at line 1845 of file RootFile.cc.

1845  :
1847  rootTree_(rootTree),
1848  infoVector_(),
1850  daqProvenanceHelper_(daqProvenanceHelper) {
1851  }
std::vector< EventEntryInfo > * pInfoVector_
Definition: RootFile.cc:1841
std::vector< EventEntryInfo > infoVector_
Definition: RootFile.cc:1840
DaqProvenanceHelper const * daqProvenanceHelper_
Definition: RootFile.cc:1842
virtual edm::OldProvenanceReader::~OldProvenanceReader ( )
inlinevirtual

Definition at line 1836 of file RootFile.cc.

1836 {}

Member Function Documentation

void edm::OldProvenanceReader::readProvenance ( BranchMapper const &  mapper) const
privatevirtual

Implements edm::ProvenanceReaderBase.

Definition at line 1854 of file RootFile.cc.

References edm::RootTree::branchEntryInfoBranch(), daqProvenanceHelper_, edm::RootTree::entryNumber(), edm::roottree::getEntry(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), info, infoVector_, edm::BranchMapper::insertIntoSet(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), edm::DaqProvenanceHelper::mapBranchID(), edm::DaqProvenanceHelper::mapParentageID(), edm::EventEntryDescription::parents(), pInfoVector_, rootTree_, and edm::setRefCoreStreamer().

1854  {
1855  rootTree_->branchEntryInfoBranch()->SetAddress(&pInfoVector_);
1857  setRefCoreStreamer(true);
1858  for(auto const& info : infoVector_) {
1859  EventEntryDescription eed;
1860  EntryDescriptionRegistry::instance()->getMapped(info.entryDescriptionID(), eed);
1861  Parentage parentage(eed.parents());
1862  if(daqProvenanceHelper_) {
1863  ProductProvenance entry(daqProvenanceHelper_->mapBranchID(info.branchID()),
1864  daqProvenanceHelper_->mapParentageID(parentage.id()));
1865  mapper.insertIntoSet(entry);
1866  } else {
1867  ProductProvenance entry(info.branchID(), parentage.id());
1868  mapper.insertIntoSet(entry);
1869  }
1870 
1871  }
1872  }
Int_t getEntry(TBranch *branch, EntryNumber entryNumber)
Definition: RootTree.cc:446
static ThreadSafeRegistry * instance()
BranchID const & mapBranchID(BranchID const &branchID) const
bool getMapped(key_type const &k, value_type &result) const
void setRefCoreStreamer(bool resetAll=false)
TBranch * branchEntryInfoBranch() const
Definition: RootTree.h:119
std::pair< std::string, MonitorElement * > entry
Definition: ME_MAP.h:8
EntryNumber const & entryNumber() const
Definition: RootTree.h:86
std::vector< EventEntryInfo > * pInfoVector_
Definition: RootFile.cc:1841
ParentageID const & mapParentageID(ParentageID const &phid) const
std::vector< EventEntryInfo > infoVector_
Definition: RootFile.cc:1840
DaqProvenanceHelper const * daqProvenanceHelper_
Definition: RootFile.cc:1842

Member Data Documentation

DaqProvenanceHelper const* edm::OldProvenanceReader::daqProvenanceHelper_
private

Definition at line 1842 of file RootFile.cc.

Referenced by readProvenance().

std::vector<EventEntryInfo> edm::OldProvenanceReader::infoVector_
private

Definition at line 1840 of file RootFile.cc.

Referenced by readProvenance().

std::vector<EventEntryInfo>* edm::OldProvenanceReader::pInfoVector_
mutableprivate

Definition at line 1841 of file RootFile.cc.

Referenced by readProvenance().

RootTree* edm::OldProvenanceReader::rootTree_
private

Definition at line 1839 of file RootFile.cc.

Referenced by readProvenance().