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 | Private Member Functions | Private Attributes
edm::RootTree Class Reference

#include <RootTree.h>

Public Types

typedef roottree::BranchMap BranchMap
 
typedef roottree::EntryNumber EntryNumber
 

Public Member Functions

void addBranch (BranchKey const &key, BranchDescription const &prod, std::string const &oldBranchName)
 
TBranch * branchEntryInfoBranch () const
 
BranchMap const & branches () const
 
std::vector< std::string > const & branchNames () const
 
BranchType branchType () const
 
TTreeCache * checkTriggerCache (TBranch *branch, EntryNumber entryNumber) const
 
TTreeCache * checkTriggerCacheImpl (TBranch *branch, EntryNumber entryNumber) const
 
void close ()
 
bool current () const
 
bool current (EntryNumber entry) const
 
void dropBranch (std::string const &oldBranchName)
 
EntryNumber const & entries () const
 
EntryNumber const & entryNumber () const
 
EntryNumber const & entryNumberForIndex (unsigned int index) const
 
template<typename T >
void fillAux (T *&pAux)
 
template<typename T >
void fillBranchEntry (TBranch *branch, T *&pbuf)
 
template<typename T >
void fillBranchEntry (TBranch *branch, EntryNumber entryNumber, T *&pbuf)
 
template<typename T >
void fillBranchEntryMeta (TBranch *branch, T *&pbuf)
 
template<typename T >
void fillBranchEntryMeta (TBranch *branch, EntryNumber entryNumber, T *&pbuf)
 
void getEntry (TBranch *branch, EntryNumber entry) const
 
void insertEntryForIndex (unsigned int index)
 
bool isValid () const
 
TTree const * metaTree () const
 
bool next ()
 
RootTreeoperator= (RootTree const &)=delete
 
bool previous ()
 
void resetTraining ()
 
void rewind ()
 
DelayedReaderrootDelayedReader () const
 
 RootTree (std::shared_ptr< InputFile > filePtr, BranchType const &branchType, unsigned int nIndexes, unsigned int maxVirtualSize, unsigned int cacheSize, unsigned int learningEntries, bool enablePrefetching, InputType inputType)
 
 RootTree (RootTree const &)=delete
 
TTreeCache * selectCache (TBranch *branch, EntryNumber entryNumber) const
 
void setEntryNumber (EntryNumber theEntryNumber)
 
void setPresence (BranchDescription &prod, std::string const &oldBranchName)
 
bool skipEntries (unsigned int &offset)
 
void trainCache (char const *branchNames)
 
TTree const * tree () const
 
TTree * tree ()
 
 ~RootTree ()
 

Private Member Functions

void setCacheSize (unsigned int cacheSize)
 
void setTreeMaxVirtualSize (int treeMaxVirtualSize)
 
void startTraining ()
 
void stopTraining ()
 

Private Attributes

TBranch * auxBranch_
 
TBranch * branchEntryInfoBranch_
 
std::shared_ptr< BranchMapbranches_
 
std::vector< std::string > branchNames_
 
BranchType branchType_
 
unsigned int cacheSize_
 
bool enablePrefetching_
 
bool enableTriggerCache_
 
EntryNumber entries_
 
EntryNumber entryNumber_
 
std::unique_ptr< std::vector
< EntryNumber > > 
entryNumberForIndex_
 
std::shared_ptr< InputFilefilePtr_
 
TTree * infoTree_
 
unsigned int learningEntries_
 
TTree * metaTree_
 
bool performedSwitchOver_
 
std::shared_ptr< TTreeCache > rawTreeCache_
 
EntryNumber rawTriggerSwitchOverEntry_
 
std::shared_ptr< TTreeCache > rawTriggerTreeCache_
 
std::unique_ptr< DelayedReaderrootDelayedReader_
 
TBranch * statusBranch_
 
EntryNumber switchOverEntry_
 
std::unordered_set< TBranch * > trainedSet_
 
bool trainNow_
 
TTree * tree_
 
unsigned long treeAutoFlush_
 
std::shared_ptr< TTreeCache > treeCache_
 
std::unordered_set< TBranch * > triggerSet_
 
std::shared_ptr< TTreeCache > triggerTreeCache_
 

Detailed Description

Definition at line 61 of file RootTree.h.

Member Typedef Documentation

Definition at line 63 of file RootTree.h.

Definition at line 64 of file RootTree.h.

Constructor & Destructor Documentation

edm::RootTree::RootTree ( std::shared_ptr< InputFile filePtr,
BranchType const &  branchType,
unsigned int  nIndexes,
unsigned int  maxVirtualSize,
unsigned int  cacheSize,
unsigned int  learningEntries,
bool  enablePrefetching,
InputType  inputType 
)

Definition at line 28 of file RootTree.cc.

edm::RootTree::~RootTree ( )

Definition at line 88 of file RootTree.cc.

edm::RootTree::RootTree ( RootTree const &  )
delete

Member Function Documentation

void edm::RootTree::addBranch ( BranchKey const &  key,
BranchDescription const &  prod,
std::string const &  oldBranchName 
)

Definition at line 130 of file RootTree.cc.

TBranch* edm::RootTree::branchEntryInfoBranch ( ) const
inline

Definition at line 146 of file RootTree.h.

roottree::BranchMap const & edm::RootTree::branches ( ) const

Definition at line 172 of file RootTree.cc.

Referenced by edm::RootDelayedReader::branches().

std::vector<std::string> const& edm::RootTree::branchNames ( ) const
inline

Definition at line 99 of file RootTree.h.

BranchType edm::RootTree::branchType ( ) const
inline

Definition at line 154 of file RootTree.h.

Referenced by edm::RootDelayedReader::getProduct_().

TTreeCache * edm::RootTree::checkTriggerCache ( TBranch *  branch,
EntryNumber  entryNumber 
) const
inline

Definition at line 222 of file RootTree.cc.

TTreeCache * edm::RootTree::checkTriggerCacheImpl ( TBranch *  branch,
EntryNumber  entryNumber 
) const

Definition at line 233 of file RootTree.cc.

void edm::RootTree::close ( void  )
bool edm::RootTree::current ( ) const
inline

Definition at line 89 of file RootTree.h.

bool edm::RootTree::current ( EntryNumber  entry) const
inline

Definition at line 90 of file RootTree.h.

void edm::RootTree::dropBranch ( std::string const &  oldBranchName)

Definition at line 149 of file RootTree.cc.

EntryNumber const& edm::RootTree::entries ( ) const
inline

Definition at line 96 of file RootTree.h.

EntryNumber const& edm::RootTree::entryNumber ( ) const
inline

Definition at line 94 of file RootTree.h.

RootTree::EntryNumber const & edm::RootTree::entryNumberForIndex ( unsigned int  index) const

Definition at line 92 of file RootTree.cc.

Referenced by edm::RootDelayedReader::getProduct_().

template<typename T >
void edm::RootTree::fillAux ( T *&  pAux)
inline

Definition at line 102 of file RootTree.h.

template<typename T >
void edm::RootTree::fillBranchEntry ( TBranch *  branch,
T *&  pbuf 
)
inline

Definition at line 118 of file RootTree.h.

template<typename T >
void edm::RootTree::fillBranchEntry ( TBranch *  branch,
EntryNumber  entryNumber,
T *&  pbuf 
)
inline

Definition at line 135 of file RootTree.h.

template<typename T >
void edm::RootTree::fillBranchEntryMeta ( TBranch *  branch,
T *&  pbuf 
)
inline

Definition at line 107 of file RootTree.h.

template<typename T >
void edm::RootTree::fillBranchEntryMeta ( TBranch *  branch,
EntryNumber  entryNumber,
T *&  pbuf 
)
inline

Definition at line 124 of file RootTree.h.

void edm::RootTree::getEntry ( TBranch *  branch,
EntryNumber  entry 
) const

Definition at line 355 of file RootTree.cc.

Referenced by edm::RootDelayedReader::getProduct_().

void edm::RootTree::insertEntryForIndex ( unsigned int  index)

Definition at line 98 of file RootTree.cc.

bool edm::RootTree::isValid ( void  ) const

Definition at line 104 of file RootTree.cc.

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

TTree const* edm::RootTree::metaTree ( ) const
inline

Definition at line 142 of file RootTree.h.

bool edm::RootTree::next ( void  )
inline

Definition at line 87 of file RootTree.h.

RootTree& edm::RootTree::operator= ( RootTree const &  )
delete
bool edm::RootTree::previous ( )
inline

Definition at line 88 of file RootTree.h.

void edm::RootTree::resetTraining ( )
inline

Definition at line 152 of file RootTree.h.

void edm::RootTree::rewind ( )
inline

Definition at line 91 of file RootTree.h.

DelayedReader * edm::RootTree::rootDelayedReader ( ) const

Definition at line 116 of file RootTree.cc.

TTreeCache * edm::RootTree::selectCache ( TBranch *  branch,
EntryNumber  entryNumber 
) const
inline

Definition at line 336 of file RootTree.cc.

void edm::RootTree::setCacheSize ( unsigned int  cacheSize)
private

Definition at line 175 of file RootTree.cc.

void edm::RootTree::setEntryNumber ( EntryNumber  theEntryNumber)

Definition at line 190 of file RootTree.cc.

void edm::RootTree::setPresence ( BranchDescription prod,
std::string const &  oldBranchName 
)

Definition at line 122 of file RootTree.cc.

void edm::RootTree::setTreeMaxVirtualSize ( int  treeMaxVirtualSize)
private

Definition at line 185 of file RootTree.cc.

bool edm::RootTree::skipEntries ( unsigned int &  offset)

Definition at line 372 of file RootTree.cc.

void edm::RootTree::startTraining ( )
private

Definition at line 388 of file RootTree.cc.

void edm::RootTree::stopTraining ( )
private

Definition at line 419 of file RootTree.cc.

void edm::RootTree::trainCache ( char const *  branchNames)

Definition at line 449 of file RootTree.cc.

TTree const* edm::RootTree::tree ( ) const
inline
TTree* edm::RootTree::tree ( )
inline

Member Data Documentation

TBranch* edm::RootTree::auxBranch_
private

Definition at line 168 of file RootTree.h.

TBranch* edm::RootTree::branchEntryInfoBranch_
private

Definition at line 196 of file RootTree.h.

std::shared_ptr<BranchMap> edm::RootTree::branches_
private

Definition at line 182 of file RootTree.h.

std::vector<std::string> edm::RootTree::branchNames_
private

Definition at line 181 of file RootTree.h.

BranchType edm::RootTree::branchType_
private

Definition at line 167 of file RootTree.h.

unsigned int edm::RootTree::cacheSize_
private

Definition at line 188 of file RootTree.h.

bool edm::RootTree::enablePrefetching_
private

Definition at line 192 of file RootTree.h.

bool edm::RootTree::enableTriggerCache_
private

Definition at line 193 of file RootTree.h.

EntryNumber edm::RootTree::entries_
private

Definition at line 178 of file RootTree.h.

EntryNumber edm::RootTree::entryNumber_
private

Definition at line 179 of file RootTree.h.

std::unique_ptr<std::vector<EntryNumber> > edm::RootTree::entryNumberForIndex_
private

Definition at line 180 of file RootTree.h.

std::shared_ptr<InputFile> edm::RootTree::filePtr_
private

Definition at line 161 of file RootTree.h.

TTree* edm::RootTree::infoTree_
private

Definition at line 198 of file RootTree.h.

unsigned int edm::RootTree::learningEntries_
private

Definition at line 187 of file RootTree.h.

TTree* edm::RootTree::metaTree_
private

Definition at line 166 of file RootTree.h.

bool edm::RootTree::performedSwitchOver_
mutableprivate

Definition at line 186 of file RootTree.h.

std::shared_ptr<TTreeCache> edm::RootTree::rawTreeCache_
private

Definition at line 173 of file RootTree.h.

EntryNumber edm::RootTree::rawTriggerSwitchOverEntry_
mutableprivate

Definition at line 185 of file RootTree.h.

std::shared_ptr<TTreeCache> edm::RootTree::rawTriggerTreeCache_
mutableprivate

Definition at line 175 of file RootTree.h.

std::unique_ptr<DelayedReader> edm::RootTree::rootDelayedReader_
private

Definition at line 194 of file RootTree.h.

TBranch* edm::RootTree::statusBranch_
private

Definition at line 199 of file RootTree.h.

EntryNumber edm::RootTree::switchOverEntry_
private

Definition at line 184 of file RootTree.h.

std::unordered_set<TBranch*> edm::RootTree::trainedSet_
mutableprivate

Definition at line 176 of file RootTree.h.

bool edm::RootTree::trainNow_
private

Definition at line 183 of file RootTree.h.

TTree* edm::RootTree::tree_
private

Definition at line 165 of file RootTree.h.

unsigned long edm::RootTree::treeAutoFlush_
private

Definition at line 189 of file RootTree.h.

std::shared_ptr<TTreeCache> edm::RootTree::treeCache_
private

Definition at line 172 of file RootTree.h.

std::unordered_set<TBranch*> edm::RootTree::triggerSet_
mutableprivate

Definition at line 177 of file RootTree.h.

std::shared_ptr<TTreeCache> edm::RootTree::triggerTreeCache_
mutableprivate

Definition at line 174 of file RootTree.h.