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 1849 of file RootFile.cc.

Constructor & Destructor Documentation

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

Definition at line 1861 of file RootFile.cc.

1861  :
1863  rootTree_(rootTree),
1864  infoVector_(),
1866  daqProvenanceHelper_(daqProvenanceHelper) {
1867  }
std::vector< EventEntryInfo > * pInfoVector_
Definition: RootFile.cc:1857
std::vector< EventEntryInfo > infoVector_
Definition: RootFile.cc:1856
DaqProvenanceHelper const * daqProvenanceHelper_
Definition: RootFile.cc:1858
virtual edm::OldProvenanceReader::~OldProvenanceReader ( )
inlinevirtual

Definition at line 1852 of file RootFile.cc.

1852 {}

Member Function Documentation

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

Implements edm::ProvenanceReaderBase.

Definition at line 1870 of file RootFile.cc.

References edm::RootTree::branchEntryInfoBranch(), daqProvenanceHelper_, edm::RootTree::entryNumber(), edm::roottree::getEntry(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), 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().

1870  {
1871  rootTree_->branchEntryInfoBranch()->SetAddress(&pInfoVector_);
1873  setRefCoreStreamer(true);
1874  for(std::vector<EventEntryInfo>::const_iterator it = infoVector_.begin(), itEnd = infoVector_.end();
1875  it != itEnd; ++it) {
1876  EventEntryDescription eed;
1877  EntryDescriptionRegistry::instance()->getMapped(it->entryDescriptionID(), eed);
1878  Parentage parentage(eed.parents());
1879  if(daqProvenanceHelper_) {
1880  ProductProvenance entry(daqProvenanceHelper_->mapBranchID(it->branchID()),
1881  daqProvenanceHelper_->mapParentageID(parentage.id()));
1882  mapper.insertIntoSet(entry);
1883  } else {
1884  ProductProvenance entry(it->branchID(), parentage.id());
1885  mapper.insertIntoSet(entry);
1886  }
1887 
1888  }
1889  }
Int_t getEntry(TBranch *branch, EntryNumber entryNumber)
Definition: RootTree.cc:273
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:117
std::pair< std::string, MonitorElement * > entry
Definition: ME_MAP.h:8
EntryNumber const & entryNumber() const
Definition: RootTree.h:84
std::vector< EventEntryInfo > * pInfoVector_
Definition: RootFile.cc:1857
ParentageID const & mapParentageID(ParentageID const &phid) const
std::vector< EventEntryInfo > infoVector_
Definition: RootFile.cc:1856
DaqProvenanceHelper const * daqProvenanceHelper_
Definition: RootFile.cc:1858

Member Data Documentation

DaqProvenanceHelper const* edm::OldProvenanceReader::daqProvenanceHelper_
private

Definition at line 1858 of file RootFile.cc.

Referenced by readProvenance().

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

Definition at line 1856 of file RootFile.cc.

Referenced by readProvenance().

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

Definition at line 1857 of file RootFile.cc.

Referenced by readProvenance().

RootTree* edm::OldProvenanceReader::rootTree_
private

Definition at line 1855 of file RootFile.cc.

Referenced by readProvenance().