Logo ROOT  
Reference Guide
ROOT::Internal::TreeUtils Namespace Reference

Namespace hosting functions and classes to retrieve tree information for internal use. More...

Classes

struct  RFriendInfo
 Information about friend trees of a certain TTree or TChain object. More...
 
class  RNoCleanupNotifier
 
class  RNoCleanupNotifierHelper
 

Typedefs

using NameAlias = std::pair< std::string, std::string >
 A pair of name and alias of a TTree's friend tree. More...
 

Functions

void ClearMustCleanupBits (TObjArray &branches)
 Reset the kMustCleanup bit of a TObjArray of TBranch objects (e.g. More...
 
std::vector< std::string > GetFileNamesFromTree (const TTree &tree)
 Get and store the file names associated with the input tree. More...
 
RFriendInfo GetFriendInfo (const TTree &tree)
 Get and store the names, aliases and file names of the direct friends of the tree. More...
 
std::vector< std::string > GetTreeFullPaths (const TTree &tree)
 Retrieve the full path(s) to a TTree or the trees in a TChain. More...
 

Detailed Description

Namespace hosting functions and classes to retrieve tree information for internal use.

Typedef Documentation

◆ NameAlias

using ROOT::Internal::TreeUtils::NameAlias = typedef std::pair<std::string, std::string>

A pair of name and alias of a TTree's friend tree.

Definition at line 40 of file InternalTreeUtils.hxx.

Function Documentation

◆ ClearMustCleanupBits()

void ROOT::Internal::TreeUtils::ClearMustCleanupBits ( TObjArray branches)

Reset the kMustCleanup bit of a TObjArray of TBranch objects (e.g.

returned by TTree::GetListOfBranches).

In some rare cases, all branches in a TTree can have their kMustCleanup bit set, which causes a large amount of contention at teardown due to concurrent calls to RecursiveRemove (which needs to take the global lock). This helper function checks the first branch of the array and if it has the kMustCleanup bit set, it resets it for all branches in the array, recursively going through sub-branches and leaves.

Definition at line 233 of file InternalTreeUtils.cxx.