1 #ifndef IOPool_Input_RootTree_h
2 #define IOPool_Input_RootTree_h
23 #include <unordered_set>
53 typedef std::map<BranchKey const, BranchInfo>
BranchMap;
63 RootTree(boost::shared_ptr<InputFile> filePtr,
65 unsigned int nIndexes,
66 unsigned int maxVirtualSize,
67 unsigned int cacheSize,
68 unsigned int learningEntries,
69 bool enablePrefetching,
87 bool current()
const {
return entryNumber_ < entries_ && entryNumber_ >= 0;}
103 template <
typename T>
107 branch->SetAddress(&pbuf);
110 fillBranchEntry<T>(branch, pbuf);
114 template <
typename T>
116 branch->SetAddress(&pbuf);
120 template <
typename T>
124 branch->SetAddress(&pbuf);
131 template <
typename T>
133 branch->SetAddress(&pbuf);
bool current(EntryNumber entry) const
Int_t getEntry(TBranch *branch, EntryNumber entryNumber)
boost::shared_ptr< TTreeCache > treeCache_
unsigned int const defaultNonEventLearningEntries
unsigned int learningEntries_
TTreeCache * checkTriggerCache(TBranch *branch, EntryNumber entryNumber) const
void addBranch(BranchKey const &key, BranchDescription const &prod, std::string const &oldBranchName)
void dropBranch(std::string const &oldBranchName)
void fillBranchEntryMeta(TBranch *branch, EntryNumber entryNumber, T *&pbuf)
RootTree(boost::shared_ptr< InputFile > filePtr, BranchType const &branchType, unsigned int nIndexes, unsigned int maxVirtualSize, unsigned int cacheSize, unsigned int learningEntries, bool enablePrefetching, InputType inputType)
std::vector< std::string > branchNames_
std::vector< std::string > const & branchNames() const
EntryNumber rawTriggerSwitchOverEntry_
roottree::BranchMap BranchMap
EntryNumber const & entries() const
std::unordered_set< TBranch * > trainedSet_
TBranch * branchEntryInfoBranch_
void setPresence(BranchDescription &prod, std::string const &oldBranchName)
boost::shared_ptr< TTreeCache > rawTreeCache_
void fillBranchEntryMeta(TBranch *branch, T *&pbuf)
void trainCache(char const *branchNames)
unsigned int const defaultCacheSize
void setTreeMaxVirtualSize(int treeMaxVirtualSize)
TBranch * branchEntryInfoBranch() const
std::map< BranchKey const, BranchInfo > BranchMap
RootTree & operator=(RootTree const &)=delete
TTree const * metaTree() const
TTree const * tree() const
tuple InputFile
Open Root file and provide MEs ############.
boost::shared_ptr< TTreeCache > triggerTreeCache_
boost::shared_ptr< TTreeCache > rawTriggerTreeCache_
void insertEntryForIndex(unsigned int index)
BranchDescription const branchDescription_
TTreeCache * selectCache(TBranch *branch, EntryNumber entryNumber) const
BranchType branchType() const
unsigned long treeAutoFlush_
IndexIntoFile::EntryNumber_t EntryNumber
TTreeCache * checkTriggerCacheImpl(TBranch *branch, EntryNumber entryNumber) const
EntryNumber const & entryNumber() const
TBranch * provenanceBranch_
DelayedReader * rootDelayedReader() const
EntryNumber const & entryNumberForIndex(unsigned int index) const
BranchInfo(BranchDescription const &prod)
void getEntry(TBranch *branch, EntryNumber entry) const
void fillBranchEntry(TBranch *branch, T *&pbuf)
boost::shared_ptr< BranchMap > branches_
void setCacheSize(unsigned int cacheSize)
bool performedSwitchOver_
std::unique_ptr< std::vector< EntryNumber > > entryNumberForIndex_
unsigned int const defaultNonEventCacheSize
std::unordered_set< TBranch * > triggerSet_
BranchMap const & branches() const
std::unique_ptr< DelayedReader > rootDelayedReader_
boost::shared_ptr< InputFile > filePtr_
std::unique_ptr< TTreeCache > trainCache(TTree *tree, InputFile &file, unsigned int cacheSize, char const *branchNames)
unsigned int const defaultLearningEntries
EntryNumber switchOverEntry_
void fillBranchEntry(TBranch *branch, EntryNumber entryNumber, T *&pbuf)
void setEntryNumber(EntryNumber theEntryNumber)
roottree::EntryNumber EntryNumber