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