Go to the documentation of this file. 1 #ifndef IOPool_Output_RootOutputTree_h
2 #define IOPool_Output_RootOutputTree_h
85 if (
tree_->GetNbranches() != 0)
86 tree_->SetEntries(-1);
100 static void fillTTree(std::vector<TBranch*>
const& branches);
bool fastCloneAuxBranches_
std::vector< TBranch * > unclonedReadBranches_
std::vector< TBranch * > producedBranches_
void optimizeBaskets(ULong64_t size)
static void fillTTree(std::vector< TBranch * > const &branches)
void addAuxiliary(std::string const &branchName, T *&pAux, int bufSize, bool allowCloning=true)
static void writeTTree(TTree *tree)
RootOutputTree(std::shared_ptr< TFile > filePtr, BranchType const &branchType, int splitLevel, int treeMaxVirtualSize)
bool checkSplitLevelsAndBasketSizes(TTree *inputTree) const
static TTree * assignTTree(TFile *file, TTree *tree)
element_type const * get() const
edm::propagate_const< TTree * > tree_
std::vector< TBranch * > unclonedAuxBranches_
void maybeFastCloneTree(bool canFastClone, bool canFastCloneAux, TTree *tree, std::string const &option)
void setAutoFlush(Long64_t size)
RootOutputTree & operator=(RootOutputTree const &)=delete
std::vector< TBranch * > readBranches_
void fastCloneTTree(TTree *in, std::string const &option)
bool checkIfFastClonable(TTree *inputTree) const
std::set< std::string > clonedReadBranchNames_
static TTree * makeTTree(TFile *filePtr, std::string const &name, int splitLevel)
bool checkEntriesInReadBranches(Long64_t expectedNumberOfEntries) const
TTree const * tree() const
bool uncloned(std::string const &branchName) const
edm::propagate_const< std::shared_ptr< TFile > > filePtr_
void addAuxiliary(std::string const &branchName, T const *&pAux, int bufSize, bool allowCloning=true)
std::string className(const T &t)
std::vector< TBranch * > auxBranches_
void addBranch(std::string const &branchName, std::string const &className, void const *&pProd, int splitLevel, int basketSize, bool produced)
bool currentlyFastCloning_