A chain is a collection of files containing TTree objects.
When the chain is created, the first parameter is the default name for the Tree to be processed later on.
Enter a new element in the chain via the TChain::Add function. Once a chain is defined, one can use the normal TTree functions to Draw,Scan,etc.
Use TChain::SetBranchStatus to activate one or more branches for all the trees in the chain.
Public Types | |
| enum | { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) } |
| enum | { kSplitCollectionOfPointers = 100 } |
| enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
| enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) } |
| enum | ESetBranchAddressStatus { kMissingBranch = -5 , kInternalError = -4 , kMissingCompiledCollectionProxy = -3 , kMismatch = -2 , kClassMismatch = -1 , kMatch = 0 , kMatchConversion = 1 , kMatchConversionCollection = 2 , kMakeClass = 3 , kVoidPtr = 4 , kNoCheck = 5 , kNeedEnableDecomposedObj = (1ULL << (29)) , kNeedDisableDecomposedObj = (1ULL << (30)) , kDecomposedObjMask = kNeedEnableDecomposedObj | kNeedDisableDecomposedObj } |
| enum | EStatusBits { kGlobalWeight = (1ULL << (15)) , kAutoDelete = (1ULL << (16)) } |
| enum | Mode { kWithoutGlobalRegistration , kWithGlobalRegistration } |
Public Member Functions | |
| TChain (const char *name, const char *title="", Mode mode=kWithGlobalRegistration) | |
| Create a chain. | |
| TChain (Mode mode=kWithGlobalRegistration) | |
| Default constructor. | |
| ~TChain () override | |
| Destructor. | |
| void | AbstractMethod (const char *method) const |
| Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it. | |
| virtual Int_t | Add (const char *name, Long64_t nentries=TTree::kMaxEntries) |
| Add a new file to this chain. | |
| virtual Int_t | Add (TChain *chain) |
| Add all files referenced by the passed chain to this chain. | |
| void | AddAllocationCount (UInt_t count) |
| virtual Int_t | AddBranchToCache (const char *bname, bool subbranches=false) |
| Add branch with name bname to the Tree cache. | |
| virtual Int_t | AddBranchToCache (TBranch *branch, bool subbranches=false) |
| Add branch b to the Tree cache. | |
| void | AddClone (TTree *) |
| Add a cloned tree to our list of trees to be notified whenever we change our branch addresses or when we are deleted. | |
| virtual Int_t | AddFile (const char *name, Long64_t nentries=TTree::kMaxEntries, const char *tname="") |
| Add a new file to this chain. | |
| virtual Int_t | AddFileInfoList (TCollection *list, Long64_t nfiles=TTree::kMaxEntries) |
| Add all files referenced in the list to the chain. | |
| TFriendElement * | AddFriend (const char *chainname, const char *dummy="") override |
| Add a TFriendElement to the list of friends of this chain. | |
| TFriendElement * | AddFriend (const char *chainname, TFile *dummy) override |
| Add the whole chain or tree as a friend of this chain. | |
| TFriendElement * | AddFriend (TTree *chain, const char *alias="", bool warn=false) override |
| Add the whole chain or tree as a friend of this chain. | |
| virtual void | AddTotBytes (Int_t tot) |
| virtual void | AddZipBytes (Int_t zip) |
| virtual void | AppendPad (Option_t *option="") |
| Append graphics object to current pad. | |
| virtual Long64_t | AutoSave (Option_t *option="") |
| AutoSave tree header every fAutoSave bytes. | |
| virtual Int_t | Branch (const char *folder, Int_t bufsize=32000, Int_t splitlevel=99) |
| Create one branch for each element in the folder. | |
| TBranch * | Branch (const char *name, char *address, const char *leaflist, Int_t bufsize=32000) |
| template<class T> | |
| TBranch * | Branch (const char *name, const char *classname, T **addobj, Int_t bufsize=32000, Int_t splitlevel=99) |
| template<class T> | |
| TBranch * | Branch (const char *name, const char *classname, T *obj, Int_t bufsize=32000, Int_t splitlevel=99) |
| virtual TBranch * | Branch (const char *name, const char *classname, void *addobj, Int_t bufsize=32000, Int_t splitlevel=99) |
| Create a new branch with the object of class classname at address addobj. | |
| TBranch * | Branch (const char *name, int address, const char *leaflist, Int_t bufsize=32000) |
| TBranch * | Branch (const char *name, Longptr_t address, const char *leaflist, Int_t bufsize=32000) |
| template<typename T, std::size_t N> | |
| TBranch * | Branch (const char *name, std::array< T, N > *obj, Int_t bufsize=32000, Int_t splitlevel=99) |
| template<class T> | |
| TBranch * | Branch (const char *name, T **addobj, Int_t bufsize=32000, Int_t splitlevel=99) |
| Add a new branch, and infer the data type from the array addobj being passed. | |
| template<class T> | |
| TBranch * | Branch (const char *name, T *obj, Int_t bufsize=32000, Int_t splitlevel=99) |
| Add a new branch, and infer the data type from the type of obj being passed. | |
| virtual TBranch * | Branch (const char *name, void *address, const char *leaflist, Int_t bufsize=32000) |
| Create a new TTree Branch. | |
| virtual Int_t | Branch (TCollection *list, Int_t bufsize=32000, Int_t splitlevel=99, const char *name="") |
| Create one branch for each element in the collection. | |
| virtual Int_t | Branch (TList *list, Int_t bufsize=32000, Int_t splitlevel=99) |
| Deprecated function. Use next function instead. | |
| virtual TBranch * | BranchOld (const char *name, const char *classname, void *addobj, Int_t bufsize=32000, Int_t splitlevel=1) |
| Create a new TTree BranchObject. | |
| virtual TBranch * | BranchRef () |
| Build the optional branch supporting the TRefTable. | |
| virtual TBranch * | Bronch (const char *name, const char *classname, void *addobj, Int_t bufsize=32000, Int_t splitlevel=99) |
| Create a new TTree BranchElement. | |
| void | Browse (TBrowser *) override |
| Browse the contents of the chain. | |
| Int_t | BuildIndex (const char *majorname, bool long64major) |
| Build index with only a major formula. | |
| virtual Int_t | BuildIndex (const char *majorname, const char *minorname="0", bool long64major=false, bool long64minor=false) |
| Build a Tree Index (default is TTreeIndex). | |
| TStreamerInfo * | BuildStreamerInfo (TClass *cl, void *pointer=nullptr, bool canOptimize=true) |
| Build StreamerInfo for class cl. | |
| virtual void | CanDeleteRefs (bool flag=true) |
| When closing a file during the chain processing, the file may be closed with option "R" if flag is set to true. | |
| virtual TFile * | ChangeFile (TFile *file) |
| Called by TTree::Fill() when file has reached its maximum fgMaxTreeSize. | |
| ULong_t | CheckedHash () |
| Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
| virtual const char * | ClassName () const |
| Returns name of class to which the object belongs. | |
| void | Clear (Option_t *option="") override |
| Set name and title to empty strings (""). | |
| TObject * | Clone (const char *newname="") const override |
| Make a clone of an object using the Streamer facility. | |
| virtual TTree * | CloneTree (Long64_t nentries=-1, Option_t *option="") |
| Create a clone of this tree and copy nentries. | |
| Int_t | Compare (const TObject *obj) const override |
| Compare two TNamed objects. | |
| void | Copy (TAttFill &attfill) const |
| void | Copy (TAttLine &attline) const |
| void | Copy (TAttMarker &attmarker) const |
| void | Copy (TObject &named) const override |
| Copy this to obj. | |
| virtual void | CopyAddresses (TTree *, bool undo=false) |
| Set branch addresses of passed tree equal to ours. | |
| virtual Long64_t | CopyEntries (TTree *tree, Long64_t nentries=-1, Option_t *option="", bool needCopyAddresses=false) |
| Copy nentries from given tree to this tree. | |
| virtual TTree * | CopyTree (const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Copy a tree with selection. | |
| virtual TBasket * | CreateBasket (TBranch *) |
| Create a basket for this tree and given branch. | |
| virtual void | CreatePackets () |
| Initialize the packet descriptor string. | |
| Int_t | Debug () const |
| void | Delete (Option_t *option="") override |
| Delete this tree from memory or/and disk. | |
| void | DirectoryAutoAdd (TDirectory *) override |
| Override the TTree::DirectoryAutoAdd behavior: we never auto add. | |
| Int_t | DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2) |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
| Computes distance from point (px,py) to the object. | |
| Long64_t | Draw (const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Process all entries in this chain and draw histogram corresponding to expression varexp. | |
| Long64_t | Draw (const char *varexp, const TCut &selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Draw expression varexp for selected entries. | |
| void | Draw (Option_t *opt) override |
| Default Draw method for all objects. | |
| virtual void | DrawClass () const |
| Draw class inheritance tree of the class to which this object belongs. | |
| virtual TObject * | DrawClone (Option_t *option="") const |
| Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1). | |
| virtual void | DropBaskets () |
| Remove some baskets from memory. | |
| virtual Int_t | DropBranchFromCache (const char *bname, bool subbranches=false) |
| Remove the branch with name 'bname' from the Tree cache. | |
| virtual Int_t | DropBranchFromCache (TBranch *branch, bool subbranches=false) |
| Remove the branch b from the Tree cache. | |
| virtual void | DropBuffers (Int_t nbytes) |
| Drop branch buffers to accommodate nbytes below MaxVirtualsize. | |
| virtual void | Dump () const |
| Dump contents of object on stdout. | |
| bool | EnableCache () |
| Enable the TTreeCache unless explicitly disabled for this TTree by a prior call to SetCacheSize(0). | |
| virtual void | Error (const char *method, const char *msgfmt,...) const |
| Issue error message. | |
| virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
| Execute method on this object with the given parameter string, e.g. | |
| virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
| Execute method on this object with parameters stored in the TObjArray. | |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
| Execute action corresponding to an event at (px,py). | |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const |
| Issue fatal error message. | |
| Int_t | Fill () override |
| Fill all branches. | |
| virtual void | FillBuffer (char *&buffer) |
| Encode TNamed into output buffer. | |
| TBranch * | FindBranch (const char *name) override |
| See TTree::GetReadEntry(). | |
| TLeaf * | FindLeaf (const char *name) override |
| See TTree::GetReadEntry(). | |
| virtual TObject * | FindObject (const char *name) const |
| Must be redefined in derived classes. | |
| virtual TObject * | FindObject (const TObject *obj) const |
| Must be redefined in derived classes. | |
| virtual Int_t | Fit (const char *funcname, const char *varexp, const char *selection="", Option_t *option="", Option_t *goption="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) |
| Fit a projected item(s) from a tree. | |
| virtual Int_t | FlushBaskets (bool create_cluster=true) const |
| Write to disk all the basket that have not yet been individually written and create an event cluster boundary (by default). | |
| const char * | GetAlias (const char *aliasName) const override |
| Returns the expanded value of the alias. Search in the friends if any. | |
| UInt_t | GetAllocationCount () const |
| virtual Long64_t | GetAutoFlush () const |
| virtual Long64_t | GetAutoSave () const |
| TBranch * | GetBranch (const char *name) override |
| Return pointer to the branch name in the current tree. | |
| virtual TBranchRef * | GetBranchRef () const |
| bool | GetBranchStatus (const char *branchname) const override |
| See TTree::GetReadEntry(). | |
| Long64_t | GetCacheSize () const override |
| Long64_t | GetChainEntryNumber (Long64_t entry) const override |
| Return absolute entry number in the chain. | |
| virtual Long64_t | GetChainOffset () const |
| TClusterIterator | GetClusterIterator (Long64_t firstentry) override |
| Return an iterator over the cluster of baskets starting at firstentry. | |
| virtual bool | GetClusterPrefetch () const |
| TFile * | GetCurrentFile () const |
| Return pointer to the current file. | |
| Long64_t | GetDebugMax () const |
| Long64_t | GetDebugMin () const |
| Int_t | GetDefaultEntryOffsetLen () const |
| TDirectory * | GetDirectory () const |
| virtual Option_t * | GetDrawOption () const |
| Get option used by the graphics system to draw this object. | |
| Long64_t | GetEntries () const override |
| Return the total number of entries in the chain. | |
| Long64_t | GetEntries (const char *sel) override |
| Return the number of entries matching the selection. | |
| virtual Long64_t | GetEntriesFast () const |
| Return a number greater or equal to the total number of entries in the dataset. | |
| virtual Long64_t | GetEntriesFriend () const |
| Returns a number corresponding to: | |
| Int_t | GetEntry (Long64_t entry=0, Int_t getall=0) override |
| Get entry from the file to memory. | |
| virtual TEntryList * | GetEntryList () |
| Returns the entry list assigned to this tree. | |
| Long64_t | GetEntryNumber (Long64_t entry) const override |
| Return entry number corresponding to entry. | |
| virtual Long64_t | GetEntryNumberWithBestIndex (Long64_t major, Long64_t minor=0) const |
| Return entry number corresponding to major and minor number. | |
| virtual Long64_t | GetEntryNumberWithIndex (Long64_t major, Long64_t minor=0) const |
| Return entry number corresponding to major and minor number. | |
| Int_t | GetEntryWithIndex (Long64_t major, Long64_t minor=0) override |
| Return entry corresponding to major and minor number. | |
| virtual Long64_t | GetEstimate () const |
| Int_t | GetEvent (Long64_t entry, Int_t getall=0) |
| TEventList * | GetEventList () const |
| TFile * | GetFile () const |
| Return a pointer to the current file. | |
| virtual Int_t | GetFileNumber () const |
| virtual Color_t | GetFillColor () const |
| Return the fill area color. | |
| virtual Style_t | GetFillStyle () const |
| Return the fill area style. | |
| virtual TTree * | GetFriend (const char *) const |
| Return a pointer to the TTree friend whose name or alias is friendname. | |
| virtual const char * | GetFriendAlias (TTree *) const |
| If the 'tree' is a friend, this method returns its alias name. | |
| TH1 * | GetHistogram () |
| virtual const char * | GetIconName () const |
| Returns mime type name of object. | |
| virtual bool | GetImplicitMT () |
| virtual Int_t * | GetIndex () |
| virtual Double_t * | GetIndexValues () |
| ROOT::TIOFeatures | GetIOFeatures () const |
| Returns the current set of IO settings. | |
| virtual TIterator * | GetIteratorOnAllLeaves (bool dir=kIterForward) |
| Creates a new iterator that will go through all the leaves on the tree itself and its friend. | |
| TLeaf * | GetLeaf (const char *branchname, const char *leafname) override |
| Return a pointer to the leaf name in the current tree. | |
| TLeaf * | GetLeaf (const char *name) override |
| Return a pointer to the leaf name in the current tree. | |
| virtual Color_t | GetLineColor () const |
| Return the line color. | |
| virtual Style_t | GetLineStyle () const |
| Return the line style. | |
| virtual Width_t | GetLineWidth () const |
| Return the line width. | |
| virtual TList * | GetListOfAliases () const |
| TObjArray * | GetListOfBranches () override |
| Return a pointer to the list of branches of the current tree. | |
| virtual TList * | GetListOfClones () |
| TObjArray * | GetListOfFiles () const |
| virtual TList * | GetListOfFriends () const |
| TObjArray * | GetListOfLeaves () override |
| Return a pointer to the list of leaves of the current tree. | |
| Int_t | GetMakeClass () const |
| virtual Color_t | GetMarkerColor () const |
| Return the marker color. | |
| virtual Size_t | GetMarkerSize () const |
| Return the marker size. | |
| virtual Style_t | GetMarkerStyle () const |
| Return the marker style. | |
| virtual Long64_t | GetMaxEntryLoop () const |
| Double_t | GetMaximum (const char *columname) override |
| Return maximum of column with name columname. | |
| virtual Long64_t | GetMaxVirtualSize () const |
| Double_t | GetMinimum (const char *columname) override |
| Return minimum of column with name columname. | |
| const char * | GetName () const override |
| Returns name of object. | |
| Int_t | GetNbranches () override |
| Return the number of branches of the current tree. | |
| TObject * | GetNotify () const |
| Int_t | GetNtrees () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| Returns string containing info about the object at position (px,py). | |
| virtual Option_t * | GetOption () const |
| virtual Int_t | GetPacketSize () const |
| virtual TVirtualPerfStats * | GetPerfStats () const |
| TVirtualTreePlayer * | GetPlayer () |
| Load the TTreePlayer (if not already done). | |
| TTreeCache * | GetReadCache (TFile *file) const |
| Find and return the TTreeCache registered with the file and which may contain branches for us. | |
| TTreeCache * | GetReadCache (TFile *file, bool create) |
| Find and return the TTreeCache registered with the file and which may contain branches for us. | |
| Long64_t | GetReadEntry () const override |
| See TTree::GetReadEntry(). | |
| virtual Long64_t | GetReadEvent () const |
| virtual Int_t | GetScanField () const |
| TTreeFormula * | GetSelect () |
| virtual Long64_t | GetSelectedRows () |
| TList * | GetStatus () const |
| Float_t | GetTargetMemoryRatio () const |
| virtual Int_t | GetTimerInterval () const |
| const char * | GetTitle () const override |
| Returns title of object. | |
| virtual Long64_t | GetTotBytes () const |
| TBuffer * | GetTransientBuffer (Int_t size) |
| Returns the transient buffer currently used by this TTree for reading/writing baskets. | |
| TTree * | GetTree () const override |
| virtual TVirtualIndex * | GetTreeIndex () const |
| Int_t | GetTreeNumber () const override |
| Long64_t * | GetTreeOffset () const |
| Int_t | GetTreeOffsetLen () const |
| virtual UInt_t | GetUniqueID () const |
| Return the unique object id. | |
| virtual Int_t | GetUpdate () const |
| virtual TList * | GetUserInfo () |
| Return a pointer to the list containing user objects associated to this tree. | |
| virtual Double_t * | GetV1 () |
| virtual Double_t * | GetV2 () |
| virtual Double_t * | GetV3 () |
| virtual Double_t * | GetV4 () |
| virtual Double_t * | GetVal (Int_t i) |
| TTreeFormula * | GetVar (Int_t i) |
| TTreeFormula * | GetVar1 () |
| TTreeFormula * | GetVar2 () |
| TTreeFormula * | GetVar3 () |
| TTreeFormula * | GetVar4 () |
| virtual Double_t * | GetW () |
| Double_t | GetWeight () const override |
| Return the chain weight. | |
| virtual Long64_t | GetZipBytes () const |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| Execute action in response of a timer timing out. | |
| ULong_t | Hash () const override |
| Return hash value for this object. | |
| Bool_t | HasInconsistentHash () const |
| Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
| virtual void | IncrementTotalBuffers (Int_t nbytes) |
| virtual void | Info (const char *method, const char *msgfmt,...) const |
| Issue info message. | |
| virtual Bool_t | InheritsFrom (const char *classname) const |
| Returns kTRUE if object inherits from class "classname". | |
| virtual Bool_t | InheritsFrom (const TClass *cl) const |
| Returns kTRUE if object inherits from TClass cl. | |
| bool | InPlaceClone (TDirectory *newdirectory, const char *options="") override |
| Move content to a new file. (NOT IMPLEMENTED for TChain). | |
| virtual void | Inspect () const |
| Dump contents of this object in a graphics canvas. | |
| void | InvertBit (UInt_t f) |
| TClass * | IsA () const override |
| Bool_t | IsDestructed () const |
| IsDestructed. | |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| Default equal comparison (objects are equal if they have the same address in memory). | |
| bool | IsFolder () const override |
| Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
| Bool_t | IsOnHeap () const |
| Bool_t | IsSortable () const override |
| virtual Bool_t | IsTransparent () const |
| Bool_t | IsZombie () const |
| Int_t | LoadBaskets (Long64_t maxmemory) override |
| Dummy function. | |
| Long64_t | LoadTree (Long64_t entry) override |
| Find the tree which contains entry, and set it as the current tree. | |
| virtual Long64_t | LoadTreeFriend (Long64_t entry, TTree *T) |
| Load entry on behalf of our master tree, we may use an index. | |
| void | Lookup (bool force=false) |
| Check / locate the files in the chain. | |
| void | ls (Option_t *option="") const override |
| List the chain. | |
| virtual Int_t | MakeClass (const char *classname=nullptr, Option_t *option="") |
| Generate a skeleton analysis class for this tree. | |
| virtual Int_t | MakeCode (const char *filename=nullptr) |
| Generate a skeleton function for this tree. | |
| virtual Int_t | MakeProxy (const char *classname, const char *macrofilename=nullptr, const char *cutfilename=nullptr, const char *option=nullptr, Int_t maxUnrolling=3) |
| Generate a skeleton analysis class for this Tree using TBranchProxy. | |
| virtual Int_t | MakeSelector (const char *selector=nullptr, Option_t *option="") |
| Generate skeleton selector class for this tree. | |
| void | MayNotUse (const char *method) const |
| Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
| bool | MemoryFull (Int_t nbytes) |
| Check if adding nbytes to memory we are still below MaxVirtualsize. | |
| virtual Long64_t | Merge (const char *name, Option_t *option="") |
| Merge all the entries in the chain into a new tree in a new file. | |
| Long64_t | Merge (TCollection *list, Option_t *option="") override |
| Merge all chains in the collection. (NOT IMPLEMENTED). | |
| Long64_t | Merge (TCollection *list, TFileMergeInfo *info) override |
| Merge all chains in the collection. (NOT IMPLEMENTED). | |
| virtual Long64_t | Merge (TFile *file, Int_t basketsize, Option_t *option="") |
| Merge all the entries in the chain into a new tree in the current file. | |
| virtual void | Modify () |
| virtual void | Modify () |
| virtual void | Modify () |
| virtual void | ModifyOn (TVirtualPad &pad) |
| virtual void | ModifyOn (TVirtualPad &pad) |
| virtual void | ModifyOn (TVirtualPad &pad) |
| bool | Notify () override |
| Function called when loading a new class library. | |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
| Use this method to declare a method obsolete. | |
| void | operator delete (void *, size_t) |
| Operator delete for sized deallocation. | |
| void | operator delete (void *ptr) |
| Operator delete. | |
| void | operator delete (void *ptr, void *vp) |
| Only called by placement new when throwing an exception. | |
| void | operator delete[] (void *, size_t) |
| Operator delete [] for sized deallocation. | |
| void | operator delete[] (void *ptr) |
| Operator delete []. | |
| void | operator delete[] (void *ptr, void *vp) |
| Only called by placement new[] when throwing an exception. | |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *vp) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, void *vp) |
| virtual void | OptimizeBaskets (ULong64_t maxMemory=10000000, Float_t minComp=1.1, Option_t *option="") |
| This function may be called after having filled some entries in a Tree. | |
| virtual void | Paint (Option_t *option="") |
| This method must be overridden if a class wants to paint itself. | |
| virtual void | Pop () |
| Pop on object drawn in a pad to the top of the display list. | |
| TPrincipal * | Principal (const char *varexp="", const char *selection="", Option_t *option="np", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) |
| Interface to the Principal Components Analysis class. | |
| void | Print (Option_t *option="") const override |
| Print the header information of each tree in the chain. | |
| virtual void | PrintCacheStats (Option_t *option="") const |
| Print statistics about the TreeCache for this tree. | |
| Long64_t | Process (const char *filename, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Process all entries in this chain, calling functions in filename. | |
| Long64_t | Process (TSelector *selector, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Process this chain executing the code in selector. | |
| virtual Long64_t | Project (const char *hname, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) |
| Make a projection of a tree using selections. | |
| virtual TSQLResult * | Query (const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) |
| Loop over entries and return a TSQLResult object containing entries following selection. | |
| virtual Int_t | Read (const char *name) |
| Read contents of object with specified name from the current directory. | |
| virtual Long64_t | ReadFile (const char *filename, const char *branchDescriptor="", char delimiter=' ') |
| Create or simply read branches from filename. | |
| virtual Long64_t | ReadStream (std::istream &inputStream, const char *branchDescriptor="", char delimiter=' ') |
| Create or simply read branches from an input stream. | |
| void | RecursiveRemove (TObject *obj) override |
| Make sure that obj (which is being deleted or will soon be) is no longer referenced by this TTree. | |
| virtual void | Refresh () |
| Refresh contents of this tree and its branches from the current status on disk. | |
| virtual void | RegisterExternalFriend (TFriendElement *) |
| Record a TFriendElement that we need to warn when the chain switches to a new file (typically this is because this chain is a friend of another TChain). | |
| virtual void | RemoveExternalFriend (TFriendElement *) |
| Removes external friend. | |
| void | RemoveFriend (TTree *) override |
| Remove a friend from the list of friends. | |
| void | Reset (Option_t *option="") override |
| Resets the state of this chain. | |
| void | ResetAfterMerge (TFileMergeInfo *) override |
| Resets the state of this chain after a merge (keep the customization but forget the data). | |
| virtual void | ResetAttFill (Option_t *option="") |
| virtual void | ResetAttLine (Option_t *option="") |
| virtual void | ResetAttMarker (Option_t *toption="") |
| void | ResetBit (UInt_t f) |
| void | ResetBranchAddress (TBranch *) override |
| Reset the addresses of the branch. | |
| void | ResetBranchAddresses () override |
| Reset the addresses of the branches. | |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| Save this object in the file specified by filename. | |
| virtual void | SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001) |
| virtual void | SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1) |
| virtual void | SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1) |
| void | SavePrimitive (std::ostream &out, Option_t *option="") override |
| Save TChain as a C++ statements on output stream out. | |
| Long64_t | Scan (const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) override |
| Loop on tree and print entries passing selection. | |
| virtual bool | SetAlias (const char *aliasName, const char *aliasFormula) |
| Set a tree variable alias. | |
| virtual void | SetAutoDelete (bool autodel=true) |
| Set the global branch kAutoDelete bit. | |
| virtual void | SetAutoFlush (Long64_t autof=-30000000) |
| This function may be called at the start of a program to change the default value for fAutoFlush. | |
| virtual void | SetAutoSave (Long64_t autos=-300000000) |
| In case of a program crash, it will be possible to recover the data in the tree up to the last AutoSave point. | |
| virtual void | SetBasketSize (const char *bname, Int_t buffsize=16000) |
| Set a branch's basket size. | |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| Set or unset the user status bits as specified in f. | |
| template<class T> | |
| Int_t | SetBranchAddress (const char *bname, T **add, TBranch **ptr=nullptr) |
| template<class T> | |
| Int_t | SetBranchAddress (const char *bname, T *add, TBranch **ptr=nullptr) |
| Int_t | SetBranchAddress (const char *bname, void *add, TBranch **ptr, TClass *realClass, EDataType datatype, bool isptr) override |
| Check if bname is already in the status list, and if not, create a TChainElement object and set its address. | |
| Int_t | SetBranchAddress (const char *bname, void *add, TBranch **ptr=nullptr) override |
| Set branch address. | |
| Int_t | SetBranchAddress (const char *bname, void *add, TClass *realClass, EDataType datatype, bool isptr) override |
| Check if bname is already in the status list, and if not, create a TChainElement object and set its address. | |
| void | SetBranchStatus (const char *bname, bool status=true, UInt_t *found=nullptr) override |
| Set branch status to Process or DoNotProcess. | |
| virtual Int_t | SetCacheEntryRange (Long64_t first, Long64_t last) |
| interface to TTreeCache to set the cache entry range | |
| virtual void | SetCacheLearnEntries (Int_t n=10) |
| Interface to TTreeCache to set the number of entries for the learning phase. | |
| Int_t | SetCacheSize (Long64_t cacheSize=-1) override |
| Set maximum size of the file cache (TTreeCache) in bytes. | |
| virtual void | SetChainOffset (Long64_t offset=0) |
| virtual void | SetCircular (Long64_t maxEntries) |
| Enable/Disable circularity for this tree. | |
| virtual void | SetClusterPrefetch (bool enabled) |
| Enables (or disables) the early decompression of the baskets of the current cluster (whose compressed data is already in memory if used in conjunction with the TTreeCache). | |
| virtual void | SetDebug (Int_t level=1, Long64_t min=0, Long64_t max=9999999) |
| Set the debug level and the debug range. | |
| virtual void | SetDefaultEntryOffsetLen (Int_t newdefault, bool updateExisting=false) |
| Update the default value for the branch's fEntryOffsetLen. | |
| void | SetDirectory (TDirectory *dir) override |
| Remove reference to this chain from current directory and add reference to new directory dir. | |
| virtual void | SetDrawOption (Option_t *option="") |
| Set drawing option for object. | |
| virtual Long64_t | SetEntries (Long64_t n=-1) |
| Change number of entries in the tree. | |
| void | SetEntryList (TEntryList *elist, Option_t *opt="") override |
| Set the input entry list (processing the entries of the chain will then be limited to the entries in the list). | |
| virtual void | SetEntryListFile (const char *filename="", Option_t *opt="") |
| Set the input entry list (processing the entries of the chain will then be limited to the entries in the list). | |
| virtual void | SetEstimate (Long64_t nentries=1000000) |
| Set number of entries to estimate variable limits. | |
| void | SetEventList (TEventList *evlist) override |
| This function transfroms the given TEventList into a TEntryList. | |
| virtual void | SetFileNumber (Int_t number=0) |
| Set fFileNumber to number. | |
| virtual void | SetFillAttributes () |
| virtual void | SetFillColor (Color_t fcolor) |
| Set the fill area color. | |
| void | SetFillColor (TColorNumber) |
| virtual void | SetFillColorAlpha (Color_t fcolor, Float_t falpha) |
| virtual void | SetFillStyle (Style_t fstyle) |
| Set the fill area style. | |
| virtual void | SetImplicitMT (bool enabled) |
| ROOT::TIOFeatures | SetIOFeatures (const ROOT::TIOFeatures &) |
| Provide the end-user with the ability to enable/disable various experimental IO features for this TTree. | |
| virtual void | SetLineAttributes () |
| virtual void | SetLineColor (Color_t lcolor) |
| Set the line color. | |
| void | SetLineColor (TColorNumber lcolor) |
| virtual void | SetLineColorAlpha (Color_t lcolor, Float_t lalpha) |
| virtual void | SetLineStyle (Style_t lstyle) |
| Set the line style. | |
| virtual void | SetLineWidth (Width_t lwidth) |
| Set the line width. | |
| void | SetMakeClass (Int_t make) override |
| Set all the branches in this TTree to be in decomposed object mode (also known as MakeClass mode). | |
| virtual void | SetMarkerAttributes () |
| virtual void | SetMarkerColor (Color_t mcolor=1) |
| Set the marker color. | |
| void | SetMarkerColor (TColorNumber lcolor) |
| virtual void | SetMarkerColorAlpha (Color_t mcolor, Float_t malpha) |
| virtual void | SetMarkerSize (Size_t msize=1) |
| Set the marker size. | |
| virtual void | SetMarkerStyle (Style_t mstyle=1) |
| Set the marker style. | |
| virtual void | SetMaxEntryLoop (Long64_t maxev=kMaxEntries) |
| virtual void | SetMaxVirtualSize (Long64_t size=0) |
| void | SetName (const char *name) override |
| Change the name of this TChain. | |
| virtual void | SetNameTitle (const char *name, const char *title) |
| Set all the TNamed parameters (name and title). | |
| virtual void | SetNotify (TObject *obj) |
| Sets the address of the object to be notified when the tree is loaded. | |
| virtual void | SetObject (const char *name, const char *title) |
| Change the name and title of this tree. | |
| virtual void | SetPacketSize (Int_t size=100) |
| Set number of entries per packet for parallel root. | |
| virtual void | SetParallelUnzip (bool opt=true, Float_t RelSize=-1) |
| Enable or disable parallel unzipping of Tree buffers. | |
| virtual void | SetPerfStats (TVirtualPerfStats *perf) |
| Set perf stats. | |
| virtual void | SetScanField (Int_t n=50) |
| Sets the default maximum number of lines to be shown before <CR> when calling Scan(). | |
| void | SetTargetMemoryRatio (Float_t ratio) |
| virtual void | SetTimerInterval (Int_t msec=333) |
| virtual void | SetTitle (const char *title="") |
| Set the title of the TNamed. | |
| virtual void | SetTreeIndex (TVirtualIndex *index) |
| The current TreeIndex is replaced by the new index. | |
| virtual void | SetUniqueID (UInt_t uid) |
| Set the unique object id. | |
| virtual void | SetUpdate (Int_t freq=0) |
| void | SetWeight (Double_t w=1, Option_t *option="") override |
| Set chain weight. | |
| virtual void | Show (Long64_t entry=-1, Int_t lenmax=20) |
| Print values of all active leaves for entry. | |
| virtual Int_t | Sizeof () const |
| Return size of the TNamed part of the TObject. | |
| virtual void | StartViewer () |
| Start the TTreeViewer on this tree. | |
| virtual Int_t | StopCacheLearningPhase () |
| Stop the cache learning phase. | |
| void | Streamer (TBuffer &) override |
| Stream a class object. | |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual void | SysError (const char *method, const char *msgfmt,...) const |
| Issue system error message. | |
| Bool_t | TestBit (UInt_t f) const |
| Int_t | TestBits (UInt_t f) const |
| virtual Int_t | UnbinnedFit (const char *funcname, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) |
| Unbinned fit of one or more variable(s) from a tree. | |
| virtual void | UseCache (Int_t maxCacheSize=10, Int_t pageSize=0) |
| Dummy function kept for back compatibility. | |
| void | UseCurrentStyle () override |
| Replace current attributes by current style. | |
| virtual void | Warning (const char *method, const char *msgfmt,...) const |
| Issue warning message. | |
| Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const override |
| Write this object to the current directory. | |
| Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) override |
| Write this object to the current directory. | |
Static Public Member Functions | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Int_t | GetBranchStyle () |
| Static function returning the current branch style. | |
| static Longptr_t | GetDtorOnly () |
| Return destructor only flag. | |
| static Width_t | GetMarkerLineWidth (Style_t style) |
| static Style_t | GetMarkerStyleBase (Style_t style) |
| static Long64_t | GetMaxTreeSize () |
| Static function which returns the tree file size limit in bytes. | |
| static Bool_t | GetObjectStat () |
| Get status of object stat flag. | |
| static TTree * | MergeTrees (TList *list, Option_t *option="") |
| Static function merging the trees in the TList into a new tree. | |
| static void | SetBranchStyle (Int_t style=1) |
| Set the current branch style. | |
| static void | SetDtorOnly (void *obj) |
| Set destructor only flag. | |
| static void | SetMaxTreeSize (Long64_t maxsize=100000000000LL) |
| Set the maximum size in bytes of a Tree file (static function). | |
| static void | SetObjectStat (Bool_t stat) |
| Turn on/off tracking of objects in the TObjectTable. | |
Static Public Attributes | |
| static constexpr auto | kBigNumber = TTree::kMaxEntries |
| static constexpr Long64_t | kMaxEntries = TVirtualTreePlayer::kMaxEntries |
| Used as the max value for any TTree range operation. | |
Protected Types | |
| enum | { kOnlyPrepStep = (1ULL << (3)) } |
| enum | ELockStatusBits { kFindBranch = (1ULL << (0)) , kFindLeaf = (1ULL << (1)) , kGetAlias = (1ULL << (2)) , kGetBranch = (1ULL << (3)) , kGetEntry = (1ULL << (4)) , kGetEntryWithIndex = (1ULL << (5)) , kGetFriend = (1ULL << (6)) , kGetFriendAlias = (1ULL << (7)) , kGetLeaf = (1ULL << (8)) , kLoadTree = (1ULL << (9)) , kPrint = (1ULL << (10)) , kRemoveFriend = (1ULL << (11)) , kSetBranchStatus = (1ULL << (12)) , kResetBranchAddresses = (1ULL << (13)) } |
Protected Member Functions | |
| virtual TBranch * | BranchImp (const char *branchname, const char *classname, TClass *ptrClass, void *addobj, Int_t bufsize, Int_t splitlevel) |
| Same as TTree::Branch() with added check that addobj matches className. | |
| virtual TBranch * | BranchImp (const char *branchname, TClass *ptrClass, void *addobj, Int_t bufsize, Int_t splitlevel) |
| Same as TTree::Branch but automatic detection of the class name. | |
| virtual TBranch * | BranchImpArr (const char *branchname, EDataType datatype, std::size_t N, void *addobj, Int_t bufsize, Int_t splitlevel) |
| virtual TBranch * | BranchImpRef (const char *branchname, const char *classname, TClass *ptrClass, void *addobj, Int_t bufsize, Int_t splitlevel) |
| Same as TTree::Branch but automatic detection of the class name. | |
| virtual TBranch * | BranchImpRef (const char *branchname, TClass *ptrClass, EDataType datatype, void *addobj, Int_t bufsize, Int_t splitlevel) |
| Same as TTree::Branch but automatic detection of the class name. | |
| virtual TBranch * | BronchExec (const char *name, const char *classname, void *addobj, bool isptrptr, Int_t bufsize, Int_t splitlevel) |
| Helper function implementing TTree::Bronch and TTree::Branch(const char *name, T &obj);. | |
| virtual Int_t | CheckBranchAddressType (TBranch *branch, TClass *ptrClass, EDataType datatype, bool ptr) |
| Check whether or not the address described by the last 3 parameters matches the content of the branch. | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| Interface to ErrorHandler (protected). | |
| TBranch * | GetBranchFromFriends (const char *branchName) |
| Returns a pointer to the branch with the given name, if it can be found in the list of friends of this tree. | |
| TBranch * | GetBranchFromSelf (const char *branchName) |
| Returns a pointer to the branch with the given name, if it can be found in this tree. | |
| Long64_t | GetCacheAutoSize (bool withDefault=false) |
| Used for automatic sizing of the cache. | |
| virtual TLeaf * | GetLeafImpl (const char *branchname, const char *leafname) |
| Return pointer to the 1st Leaf named name in any Branch of this Tree or any branch in the list of friend trees. | |
| char | GetNewlineValue (std::istream &inputStream) |
| Determine which newline this file is using. | |
| void | ImportClusterRanges (TTree *fromtree) |
| Appends the cluster range information stored in 'fromtree' to this tree, including the value of fAutoFlush. | |
| void | InvalidateCurrentTree () |
| Set the TTree to be reloaded as soon as possible. | |
| virtual void | KeepCircular () |
| Keep a maximum of fMaxEntries in memory. | |
| void | MakeZombie () |
| void | MoveReadCache (TFile *src, TDirectory *dir) |
| Move a cache from a file to the current file in dir. | |
| void | SavePrimitiveNameTitle (std::ostream &out, const char *variable_name) |
| Save object name and title into the output stream "out". | |
| Int_t | SetBranchAddress (const char *bname, void *add, TBranch **ptr, TClass *realClass, EDataType datatype, bool isptr, bool suppressMissingBranchError) override |
| Int_t | SetBranchAddressImp (TBranch *branch, void *addr, TBranch **ptr) |
| Change branch address, dealing with clone trees properly. | |
| Int_t | SetCacheSizeAux (bool autocache=true, Long64_t cacheSize=0) |
| Set the maximum size of the file cache (TTreeCache) in bytes and create it if possible. | |
Static Protected Member Functions | |
| static void | SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE) |
| Save object constructor in the output stream "out". | |
| static void | SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr) |
| Save invocation of primitive Draw() method Skipped if option contains "nodraw" string. | |
| static TString | SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0) |
| Save array in the output stream "out" as vector. | |
Protected Attributes | |
| TList * | fAliases |
| List of aliases for expressions based on the tree branches. | |
| std::atomic< UInt_t > | fAllocationCount {0} |
| memory churn. | |
| Long64_t | fAutoFlush |
| Auto-flush tree when fAutoFlush entries written or -fAutoFlush (compressed) bytes produced. | |
| Long64_t | fAutoSave |
| Autosave tree when fAutoSave entries written or -fAutoSave (compressed) bytes produced. | |
| TObjArray | fBranches |
| List of Branches. | |
| TBranchRef * | fBranchRef |
| Branch supporting the TRefTable (if any). | |
| bool | fCacheDoAutoInit |
| ! true if cache auto creation or resize check is needed | |
| bool | fCacheDoClusterPrefetch |
| ! true if cache is prefetching whole clusters | |
| Long64_t | fCacheSize |
| ! Maximum size of file buffers | |
| bool | fCacheUserSet |
| ! true if the cache setting was explicitly given by user | |
| bool | fCanDeleteRefs |
| ! If true, TProcessIDs are deleted when closing a file | |
| Long64_t | fChainOffset |
| ! Offset of 1st entry of this Tree in a TChain | |
| TList * | fClones |
| ! List of cloned trees which share our addresses | |
| Long64_t * | fClusterRangeEnd |
| [fNClusterRange] Last entry of a cluster range. | |
| Long64_t * | fClusterSize |
| [fNClusterRange] Number of entries in each cluster for a given range. | |
| Int_t | fDebug |
| ! Debug level | |
| Long64_t | fDebugMax |
| ! Last entry number to debug | |
| Long64_t | fDebugMin |
| ! First entry number to debug | |
| Int_t | fDefaultEntryOffsetLen |
| Initial Length of fEntryOffset table in the basket buffers. | |
| TDirectory * | fDirectory |
| ! Pointer to directory holding this tree | |
| Long64_t | fEntries |
| Number of entries. | |
| TEntryList * | fEntryList |
| ! Pointer to event selection list (if one) | |
| Long64_t | fEstimate |
| Number of entries to estimate histogram limits. | |
| TEventList * | fEventList |
| ! Pointer to event selection list (if one) | |
| TList * | fExternalFriends |
| ! List of TFriendsElement pointing to us and need to be notified of LoadTree. Content not owned. | |
| TFile * | fFile |
| ! Pointer to current file (We own the file). | |
| Int_t | fFileNumber |
| ! | |
| TObjArray * | fFiles |
| -> List of file names containing the trees (TChainElement, owned) | |
| Color_t | fFillColor |
| Fill area color. | |
| Style_t | fFillStyle |
| Fill area style. | |
| Long64_t | fFlushedBytes |
| Number of auto-flushed bytes. | |
| UInt_t | fFriendLockStatus |
| ! Record which method is locking the friend recursion | |
| TList * | fFriends |
| pointer to list of friend elements | |
| bool | fGlobalRegistration |
| ! if true, bypass use of global lists | |
| bool | fIMTEnabled |
| ! true if implicit multi-threading is enabled for this tree | |
| TArrayI | fIndex |
| Index of sorted values. | |
| TArrayD | fIndexValues |
| Sorted index values. | |
| TIOFeatures | fIOFeatures {0} |
| IO features to define for newly-written baskets and branches. | |
| TObjArray | fLeaves |
| Direct pointers to individual branch leaves. | |
| Color_t | fLineColor |
| Line color. | |
| Style_t | fLineStyle |
| Line style. | |
| Width_t | fLineWidth |
| Line width. | |
| Int_t | fMakeClass |
| ! not zero when processing code generated by MakeClass | |
| Color_t | fMarkerColor |
| Marker color. | |
| Size_t | fMarkerSize |
| Marker size. | |
| Style_t | fMarkerStyle |
| Marker style. | |
| Int_t | fMaxClusterRange |
| ! Memory allocated for the cluster range. | |
| Long64_t | fMaxEntries |
| Maximum number of entries in case of circular buffers. | |
| Long64_t | fMaxEntryLoop |
| Maximum number of entries to process. | |
| Long64_t | fMaxVirtualSize |
| Maximum total size of buffers kept in memory. | |
| TString | fName |
| Int_t | fNClusterRange |
| Number of Cluster range in addition to the one defined by 'AutoFlush'. | |
| UInt_t | fNEntriesSinceSorting |
| ! Number of entries processed since the last re-sorting of branches | |
| Int_t | fNfill |
| ! Local for EntryLoop | |
| TObject * | fNotify |
| Object to be notified when loading a Tree. | |
| Int_t | fNtrees |
| Number of trees. | |
| Int_t | fPacketSize |
| ! Number of entries in one packet for parallel root | |
| TVirtualPerfStats * | fPerfStats |
| ! pointer to the current perf stats object | |
| TVirtualTreePlayer * | fPlayer |
| ! Pointer to current Tree player | |
| Long64_t | fReadEntry |
| ! Number of the entry being processed | |
| Long64_t | fSavedBytes |
| Number of autosaved bytes. | |
| Int_t | fScanField |
| Number of runs before prompting in Scan. | |
| std::vector< TBranch * > | fSeqBranches |
| ! Branches to be processed sequentially when IMT is on | |
| std::vector< std::pair< Long64_t, TBranch * > > | fSortedBranches |
| ! Branches to be processed in parallel when IMT is on, sorted by average task time | |
| TList * | fStatus |
| -> List of active/inactive branches (TChainElement, owned) | |
| Float_t | fTargetMemoryRatio {1.1f} |
| ! | |
| Int_t | fTimerInterval |
| Timer interval in milliseconds. | |
| TString | fTitle |
| std::atomic< Long64_t > | fTotalBuffers |
| ! Total number of bytes in branch buffers | |
| Long64_t | fTotBytes |
| Total number of bytes in all branches before compression. | |
| TBuffer * | fTransientBuffer |
| ! Pointer to the current transient buffer. | |
| TTree * | fTree |
| ! Pointer to current tree (Note: We do not own this tree.) | |
| TVirtualIndex * | fTreeIndex |
| Pointer to the tree Index (if any). | |
| Int_t | fTreeNumber |
| ! Current Tree number in fTreeOffset table | |
| Long64_t * | fTreeOffset |
| [fTreeOffsetLen] Array of variables | |
| Int_t | fTreeOffsetLen |
| Current size of fTreeOffset array. | |
| Int_t | fUpdate |
| Update frequency for EntryLoop. | |
| TList * | fUserInfo |
| pointer to a list of user objects associated to this Tree | |
| Double_t | fWeight |
| Tree weight (see TTree::SetWeight). | |
| Long64_t | fZipBytes |
| Total number of bytes in all branches after compression. | |
Static Protected Attributes | |
| static Int_t | fgBranchStyle = 1 |
| Old/New branch style. | |
| static Long64_t | fgMaxTreeSize = 100000000000LL |
| Maximum size of a file containing a Tree. | |
Private Types | |
| using | TIOFeatures = ROOT::TIOFeatures |
Private Member Functions | |
| TChain (const TChain &) | |
| Int_t | FlushBasketsImpl () const |
| Internal implementation of the FlushBaskets algorithm. | |
| Long64_t | GetMedianClusterSize () |
| Estimate the median cluster size for the TTree. | |
| void | InitializeBranchLists (bool checkLeafCount) |
| Divides the top-level branches into two vectors: (i) branches to be processed sequentially and (ii) branches to be processed in parallel. | |
| void | MarkEventCluster () |
| Mark the previous event as being at the end of the event cluster. | |
| TChain & | operator= (const TChain &) |
| void | ParseTreeFilename (const char *name, TString &filename, TString &treename, TString &query, TString &suffix) const |
| Get the tree url or filename and other information from the name. | |
| Long64_t | RefreshFriendAddresses () |
| Refresh branch/leaf addresses of friend trees. | |
| void | RegisterBranchFullName (std::pair< std::string, TBranch * > &&kv) |
| Int_t | SetBranchAddressImp (const char *bname, void *add, TBranch **ptr, TClass *realClass, EDataType datatype, bool isptr) |
| void | SortBranchesByTime () |
| Sorts top-level branches by the last average task time recorded per branch. | |
Static Private Member Functions | |
| static void | AddToTObjectTable (TObject *) |
| Private helper function which will dispatch to TObjectTable::AddObj. | |
Private Attributes | |
| UInt_t | fBits |
| bit field status word | |
| bool | fIMTFlush {false} |
| ! True if we are doing a multithreaded flush. | |
| std::atomic< Long64_t > | fIMTTotBytes |
| ! Total bytes for the IMT flush baskets | |
| std::atomic< Long64_t > | fIMTZipBytes |
| ! Zip bytes for the IMT flush baskets. | |
| std::unordered_map< std::string, TBranch * > | fNamesToBranches |
| ! maps names to their branches, useful when retrieving branches by name | |
| UInt_t | fUniqueID |
| object unique identifier | |
Static Private Attributes | |
| static Longptr_t | fgDtorOnly = 0 |
| object for which to call dtor only (i.e. no delete) | |
| static Bool_t | fgObjectStat = kTRUE |
| if true keep track of objects in TObjectTable | |
#include <TChain.h>
|
privateinherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
inherited |
| enum TChain::EStatusBits |
| enum TChain::Mode |
|
private |
| TChain::TChain | ( | Mode | mode = kWithGlobalRegistration | ) |
Default constructor.
Definition at line 73 of file TChain.cxx.
| TChain::TChain | ( | const char * | name, |
| const char * | title = "", | ||
| Mode | mode = kWithGlobalRegistration ) |
Create a chain.
A TChain is a collection of TFile objects. the first parameter "name" is the name of the TTree object in the files added with Add. Use TChain::Add to add a new element to this chain.
In case the Tree is in a subdirectory, do, eg:
Example: Suppose we have 3 files f1.root, f2.root and f3.root. Each file contains a TTree object named "T".
The Draw function above will process the variable "x" in Tree "T" reading sequentially the 3 files in the chain ch.
The TChain data structure:
Each TChainElement has a name equal to the tree name of this TChain and a title equal to the file name. So, to loop over the TFiles that have been added to this chain:
Definition at line 137 of file TChain.cxx.
|
override |
Destructor.
Definition at line 166 of file TChain.cxx.
|
inherited |
Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.
Definition at line 1149 of file TObject.cxx.
|
virtual |
Add a new file to this chain.
| [in] | name | The path to the file to be added. See below for details. |
| [in] | nentries | Number of entries in the file. This can be an estimate or queried from the file. See below for details. |
nentries, returns the number of files matching the name irrespective of whether they contain the correct tree.There are two sets of formats accepted for the parameter name . The first one is:
Note the following:
tree_name part is missing, it will be assumed that the file contains a tree with the same name as the chain./tree_name ) is only supported for backward compatibility; it requires the file name to contain the string '.root' and its use is deprecated. Instead, use the form ?#tree_name (that is an "?" followed by an empty query), for example: The second format accepted for name may have the form of a URL, e.g.:
Note the following:
http or https URLs can contain a query identifier without tree_name, but generally URLs can not be written with them because of ambiguity with the wildcard character. (Also see the documentation for TChain::AddFile, which does not support wildcards but allows the URL name to contain a query).Depending on the value of the parameter, the number of entries in the file is retrieved differently:
nentries is assumed to be the number of entries in the file. In this case, no check is made that the file exists and that the corresponding tree exists as well. This second mode is interesting in case the number of entries in the file is already stored in a run data base for example.Each element of the chain is a TChainElement object. It has a name equal to the tree name of this chain (or the name of the specific tree in the added file if it was explicitly tagged) and a title equal to the file name. So, to loop over the files that have been added to this chain:
TChain to this one, use TChain::Add(TChain* chain). Definition at line 354 of file TChain.cxx.
Add all files referenced by the passed chain to this chain.
The function returns the total number of files connected.
Definition at line 211 of file TChain.cxx.
|
inlineinherited |
|
inherited |
|
virtual |
Add a new file to this chain.
Filename formats are similar to TChain::Add. Wildcards are not applied. urls may also contain query and fragment identifiers where the tree name can be specified in the url fragment.
eg.
If tree_name is given as a part of the file name it is used to as the name of the tree to load from the file. Otherwise if tname argument is specified the chain will load the tree named tname from the file, otherwise the original treename specified in the TChain constructor will be used. Tagging the tree_name with a slash [/tree_name] is only supported for backward compatibility; it requires the file name ot contain the string '.root' and its use is deprecated.
A. If nentries <= 0, the file is opened and the tree header read into memory to get the number of entries.
B. If nentries > 0, the file is not opened, and nentries is assumed to be the number of entries in the file. In this case, no check is made that the file exists nor that the tree exists in the file, nor that the real TTree entries match with the input argument. This second mode is interesting in case the number of entries in the file is already stored in a run database for example.
C. If nentries == TTree::kMaxEntries (default), the file is not opened. The number of entries in each file will be read only when the file is opened to read an entry. This option is the default and very efficient if one processes the chain sequentially. Note that in case GetEntry(entry) is called and entry refers to an entry in the third file, for example, this forces the tree headers in the first and second file to be read to find the number of entries in those files. Note that if one calls GetEntriesFast() after having created a chain with this default, GetEntriesFast() will return TTree::kMaxEntries! Using the GetEntries() function instead will force all of the tree headers in the chain to be read to read the number of entries in each tree.
D. The TChain data structure Each TChainElement has a name equal to the tree name of this TChain and a title equal to the file name. So, to loop over the TFiles that have been added to this chain:
The function returns 1 if the file is successfully connected, 0 otherwise.
Definition at line 479 of file TChain.cxx.
|
virtual |
Add all files referenced in the list to the chain.
The object type in the list must be either TFileInfo or TObjString or TUrl . The function return 1 if successful, 0 otherwise.
Definition at line 574 of file TChain.cxx.
|
overridevirtual |
Add a TFriendElement to the list of friends of this chain.
A TChain has a list of friends similar to a tree (see TTree::AddFriend). You can add a friend to a chain with the TChain::AddFriend method, and you can retrieve the list of friends with TChain::GetListOfFriends. This example has four chains each has 20 ROOT trees from 20 ROOT files.
Now we can add the friends to the first chain.
The parameter is the name of friend chain (the name of a chain is always the name of the tree from which it was created). The original chain has access to all variable in its friends. We can use the TChain::Draw method as if the values in the friends were in the original chain. To specify the chain to use in the Draw method, use the syntax:
If the variable name is enough to uniquely identify the variable, you can leave out the chain and/or branch name. For example, this generates a 3-d scatter plot of variable "var" in the TChain ch versus variable v1 in TChain t1 versus variable v2 in TChain t2.
When a TChain::Draw is executed, an automatic call to TTree::AddFriend connects the trees in the chain. When a chain is deleted, its friend elements are also deleted.
The number of entries in the friend must be equal or greater to the number of entries of the original chain. If the friend has fewer entries a warning is given and the resulting histogram will have missing entries. For additional information see TTree::AddFriend.
Reimplemented from TTree.
Definition at line 660 of file TChain.cxx.
|
overridevirtual |
Add the whole chain or tree as a friend of this chain.
Reimplemented from TTree.
Definition at line 685 of file TChain.cxx.
|
overridevirtual |
Add the whole chain or tree as a friend of this chain.
Reimplemented from TTree.
Definition at line 708 of file TChain.cxx.
|
inlinevirtualinherited |
|
staticprivateinherited |
Private helper function which will dispatch to TObjectTable::AddObj.
Included here to avoid circular dependency between header files.
Definition at line 195 of file TObject.cxx.
|
inlinevirtualinherited |
|
virtualinherited |
Append graphics object to current pad.
In case no current pad is set yet, create a default canvas with the name "c1".
Definition at line 204 of file TObject.cxx.
AutoSave tree header every fAutoSave bytes.
When large Trees are produced, it is safe to activate the AutoSave procedure. Some branches may have buffers holding many entries. If fAutoSave is negative, AutoSave is automatically called by TTree::Fill when the number of bytes generated since the previous AutoSave is greater than -fAutoSave bytes. If fAutoSave is positive, AutoSave is automatically called by TTree::Fill every N entries. This function may also be invoked by the user. Each AutoSave generates a new key on the file. Once the key with the tree header has been written, the previous cycle (if any) is deleted.
Note that calling TTree::AutoSave too frequently (or similarly calling TTree::SetAutoSave with a small value) is an expensive operation. You should make tests for your own application to find a compromise between speed and the quantity of information you may loose in case of a job crash.
In case your program crashes before closing the file holding this tree, the file will be automatically recovered when you will connect the file in UPDATE mode. The Tree will be recovered at the status corresponding to the last AutoSave.
if option contains "SaveSelf", gDirectory->SaveSelf() is called. This allows another process to analyze the Tree while the Tree is being filled.
if option contains "FlushBaskets", TTree::FlushBaskets is called and all the current basket are closed-out and written to disk individually.
By default the previous header is deleted after having written the new header. if option contains "Overwrite", the previous Tree header is deleted before written the new header. This option is slightly faster, but the default option is safer in case of a problem (disk quota exceeded) when writing the new header.
The function returns the number of bytes written to the file. if the number of bytes is null, an error has occurred while writing the header to the file.
The following two scripts illustrate how to do this. The script treew.C is executed by process1, treer.C by process2
script treew.C:
script treer.C:
|
virtualinherited |
Create a new branch with the object of class classname at address addobj.
WARNING:
Starting with Root version 3.01, the Branch function uses the new style branches (TBranchElement). To get the old behaviour, you can:
Note that with the new style, classname does not need to derive from TObject. It must derived from TObject if the branch style has been set to 0 (old)
Note: See the comments in TBranchElement::SetAddress() for a more detailed discussion of the meaning of the addobj parameter in the case of new-style branches.
Use splitlevel < 0 instead of splitlevel=0 when the class has a custom Streamer
Note: if the split level is set to the default (99), TTree::Branch will not issue a warning if the class can not be split.
Reimplemented in TTreeSQL.
|
inlineinherited |
Add a new branch, and infer the data type from the array addobj being passed.
| [in] | name | Name of the branch to be created. |
| [in] | addobj | Array of the objects to be added. When calling Fill(), the current value of the type/object will be saved. |
| [in] | bufsize | he buffer size in bytes for this branch. When the buffer is full, it is compressed and written to disc. The default value of 32000 bytes and should be ok for most simple types. Larger buffers (e.g. 256000) if your Tree is not split and each entry is large (Megabytes). A small value for bufsize is beneficial if entries in the Tree are accessed randomly and the Tree is in split mode. |
| [in] | splitlevel | If T is a class or struct and splitlevel > 0, the members of the object are serialised as separate branches. |
|
inlineinherited |
Add a new branch, and infer the data type from the type of obj being passed.
| [in] | name | Name of the branch to be created. |
| [in] | obj | Address of the object to be added. Make sure to pass a pointer to the actual type/class that should be stored in the tree (no pointers to base classes). When calling Fill(), the current value of the type/object will be saved. |
| [in] | bufsize | The buffer size in bytes for this branch. When the buffer is full, it is compressed and written to disc. The default value of 32000 bytes and should be ok for most simple types. Larger buffers (e.g. 256000) if your Tree is not split and each entry is large (Megabytes). A small value for bufsize is beneficial if entries in the Tree are accessed randomly and the Tree is in split mode. |
| [in] | splitlevel | If T is a class or struct and splitlevel > 0, the members of the object are serialised as separate branches. |
|
virtualinherited |
Create a new TTree Branch.
This Branch constructor is provided to support non-objects in a Tree. The variables described in leaflist may be simple variables or structures. // See the two following constructors for writing objects in a Tree.
By default the branch buffers are stored in the same file as the Tree. use TBranch::SetFile to specify a different file
leaflist is the concatenation of all the variable names and types separated by a colon character : The variable name and the variable type are separated by a slash (/). The variable type may be 0,1 or 2 characters. If no type is given, the type of the variable is assumed to be the same as the previous variable. If the first variable does not have a type, it is assumed of type F by default. The list of currently supported types is given below:
Arrays of values are supported with the following syntax:
Any of other form is not supported.
Note that the TTree will assume that all the item are contiguous in memory. On some platform, this is not always true of the member of a struct or a class, due to padding and alignment. Sorting your data member in order of decreasing sizeof usually leads to their being contiguous in memory.
Reimplemented in TTreeSQL.
|
virtualinherited |
Create one branch for each element in the collection.
Each entry in the collection becomes a top level branch if the corresponding class is not a collection. If it is a collection, the entry in the collection becomes in turn top level branches, etc. The splitlevel is decreased by 1 every time a new collection is found. For example if list is a TObjArray*
In case a collection element is a TClonesArray, the special Tree constructor for TClonesArray is called. The collection itself cannot be a TClonesArray.
The function returns the total number of branches created.
If name is given, all branch names will be prefixed with name_.
IMPORTANT NOTE1: This function should not be called with splitlevel < 1.
IMPORTANT NOTE2: The branches created by this function will have names corresponding to the collection or object names. It is important to give names to collections to avoid misleading branch names or identical branch names. By default collections have a name equal to the corresponding class name, e.g. the default name for a TList is "TList".
And in general, in case two or more master branches contain subbranches with identical names, one must add a "." (dot) character at the end of the master branch name. This will force the name of the subbranches to be of the form master.subbranch instead of simply subbranch. This situation happens when the top level object has two or more members referencing the same class. Without the dot, the prefix will not be there and that might cause ambiguities. For example, if a Tree has two branches B1 and B2 corresponding to objects of the same class MyClass, one can do:
if MyClass has 3 members a,b,c, the two instructions above will generate subbranches called B1.a, B1.b ,B1.c, B2.a, B2.b, B2.c In other words, the trailing dot of the branch name is semantically relevant and recommended.
Example:
Reimplemented in TTreeSQL.
|
virtualinherited |
Create a new TTree BranchObject.
Build a TBranchObject for an object of class classname. addobj is the address of a pointer to an object of class classname. IMPORTANT: classname must derive from TObject. The class dictionary must be available (ClassDef in class header).
This option requires access to the library where the corresponding class is defined. Accessing one single data member in the object implies reading the full object. See the next Branch constructor for a more efficient storage in case the entry consists of arrays of identical objects.
By default the branch buffers are stored in the same file as the Tree. use TBranch::SetFile to specify a different file
IMPORTANT NOTE about branch names:
And in general, in case two or more master branches contain subbranches with identical names, one must add a "." (dot) character at the end of the master branch name. This will force the name of the subbranches to be of the form master.subbranch instead of simply subbranch. This situation happens when the top level object has two or more members referencing the same class. For example, if a Tree has two branches B1 and B2 corresponding to objects of the same class MyClass, one can do:
if MyClass has 3 members a,b,c, the two instructions above will generate subbranches called B1.a, B1.b ,B1.c, B2.a, B2.b, B2.c
bufsize is the buffer size in bytes for this branch The default value is 32000 bytes and should be ok for most cases. You can specify a larger value (e.g. 256000) if your Tree is not split and each entry is large (Megabytes) A small value for bufsize is optimum if you intend to access the entries in the Tree randomly and your Tree is in split mode.
Reimplemented in TTreeSQL.
|
virtualinherited |
Build the optional branch supporting the TRefTable.
This branch will keep all the information to find the branches containing referenced objects.
At each Tree::Fill, the branch numbers containing the referenced objects are saved to the TBranchRef basket. When the Tree header is saved (via TTree::Write), the branch is saved keeping the information with the pointers to the branches having referenced objects.
|
virtualinherited |
Create a new TTree BranchElement.
This function is designed to replace the internal implementation of the old TTree::Branch (whose implementation has been moved to BranchOld).
NOTE: The 'Bronch' method supports only one possible calls signature (where the object type has to be specified explicitly and the address must be the address of a pointer). For more flexibility use 'Branch'. Use Bronch only in (rare) cases (likely to be legacy cases) where both the new and old implementation of Branch needs to be used at the same time.
This function is far more powerful than the old Branch function. It supports the full C++, including STL and has the same behaviour in split or non-split mode. classname does not have to derive from TObject. The function is based on the new TStreamerInfo.
Build a TBranchElement for an object of class classname.
addr is the address of a pointer to an object of class classname. The class dictionary must be available (ClassDef in class header).
Note: See the comments in TBranchElement::SetAddress() for a more detailed discussion of the meaning of the addr parameter.
This option requires access to the library where the corresponding class is defined. Accessing one single data member in the object implies reading the full object.
By default the branch buffers are stored in the same file as the Tree. use TBranch::SetFile to specify a different file
IMPORTANT NOTE about branch names:
And in general, in case two or more master branches contain subbranches with identical names, one must add a "." (dot) character at the end of the master branch name. This will force the name of the subbranches to be of the form master.subbranch instead of simply subbranch. This situation happens when the top level object has two or more members referencing the same class. For example, if a Tree has two branches B1 and B2 corresponding to objects of the same class MyClass, one can do:
if MyClass has 3 members a,b,c, the two instructions above will generate subbranches called B1.a, B1.b ,B1.c, B2.a, B2.b, B2.c
bufsize is the buffer size in bytes for this branch The default value is 32000 bytes and should be ok for most cases. You can specify a larger value (e.g. 256000) if your Tree is not split and each entry is large (Megabytes) A small value for bufsize is optimum if you intend to access the entries in the Tree randomly and your Tree is in split mode.
Use splitlevel < 0 instead of splitlevel=0 when the class has a custom Streamer
Note: if the split level is set to the default (99), TTree::Branch will not issue a warning if the class can not be split.
Reimplemented in TTreeSQL.
|
overridevirtual |
Browse the contents of the chain.
Reimplemented from TObject.
Definition at line 731 of file TChain.cxx.
|
virtualinherited |
Build a Tree Index (default is TTreeIndex).
See a description of the parameters and functionality in TTreeIndex::TTreeIndex().
The return value is the number of entries in the Index (< 0 indicates failure).
A TTreeIndex object pointed by fTreeIndex is created. This object will be automatically deleted by the TTree destructor. If an index is already existing, this is replaced by the new one without being deleted. This behaviour prevents the deletion of a previously external index assigned to the TTree via the TTree::SetTreeIndex() method.
|
inherited |
|
virtual |
When closing a file during the chain processing, the file may be closed with option "R" if flag is set to true.
by default flag is true. When closing a file with option "R", all TProcessIDs referenced by this file are deleted. Calling TFile::Close("R") might be necessary in case one reads a long list of files having TRef, writing some of the referenced objects or TRef to a new file. If the TRef or referenced objects of the file being closed will not be referenced again, it is possible to minimize the size of the TProcessID data structures in memory by forcing a delete of the unused TProcessID.
Definition at line 749 of file TChain.cxx.
Called by TTree::Fill() when file has reached its maximum fgMaxTreeSize.
Create a new file. If the original file is named "myfile.root", subsequent files are named "myfile_1.root", "myfile_2.root", etc.
Returns a pointer to the new file.
Currently, the automatic change of file is restricted to the case where the tree is in the top level directory. The file should not contain sub-directories.
Before switching to a new file, the tree header is written to the current file, then the current file is closed.
To process the multiple files created by ChangeFile, one must use a TChain.
The new file name has a suffix "_N" where N is equal to fFileNumber+1. By default a Root session starts with fFileNumber=0. One can set fFileNumber to a different value via TTree::SetFileNumber. In case a file named "_N" already exists, the function will try a file named "__N", then "___N", etc.
fgMaxTreeSize can be set via the static function TTree::SetMaxTreeSize. The default value of fgMaxTreeSize is 100 Gigabytes.
If the current file contains other objects like TH1 and TTree, these objects are automatically moved to the new file.
|
protectedvirtualinherited |
Check whether or not the address described by the last 3 parameters matches the content of the branch.
If a Data Model Evolution conversion is involved, reset the fInfo of the branch. The return values are:
|
inlineinherited |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();
(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.
|
static |
|
static |
|
inlinestaticconstexpr |
|
virtualinherited |
Returns name of class to which the object belongs.
Definition at line 227 of file TObject.cxx.
|
overridevirtualinherited |
Set name and title to empty strings ("").
Reimplemented from TObject.
Reimplemented in TPrincipal, TProcessID, TStreamerInfo, TTask, TVirtualFitter, and TVirtualStreamerInfo.
Definition at line 63 of file TNamed.cxx.
|
overridevirtualinherited |
Make a clone of an object using the Streamer facility.
If newname is specified, this will be the name of the new object.
Reimplemented from TObject.
Reimplemented in TStreamerInfo, and TTreeIndex.
Definition at line 73 of file TNamed.cxx.
Create a clone of this tree and copy nentries.
By default copy all entries. The compression level of the cloned tree is set to the destination file's compression level.
NOTE: Only active branches are copied. See TTree::SetBranchStatus for more information and usage regarding the (de)activation of branches. More examples are provided in the tutorials listed below.
NOTE: If the TTree is a TChain, the structure of the first TTree is used for the copy.
IMPORTANT: The cloned tree stays connected with this tree until this tree is deleted. In particular, any changes in branch addresses in this tree are forwarded to the clone trees, unless a branch in a clone tree has had its address changed, in which case that change stays in effect. When this tree is deleted, all the addresses of the cloned tree are reset to their default values.
If 'option' contains the word 'fast' and nentries is -1, the cloning will be done without unzipping or unstreaming the baskets (i.e., a direct copy of the raw bytes on disk).
When 'fast' is specified, 'option' can also contain a sorting order for the baskets in the output file.
There are currently 3 supported sorting order:
When using SortBasketsByOffset the baskets are written in the output file in the same order as in the original file (i.e. the baskets are sorted by their offset in the original file; Usually this also means that the baskets are sorted by the index/number of the last entry they contain)
When using SortBasketsByBranch all the baskets of each individual branches are stored contiguously. This tends to optimize reading speed when reading a small number (1->5) of branches, since all their baskets will be clustered together instead of being spread across the file. However it might decrease the performance when reading more branches (or the full entry).
When using SortBasketsByEntry the baskets with the lowest starting entry are written first. (i.e. the baskets are sorted by the index/number of the first entry they contain). This means that on the file the baskets will be in the order in which they will be needed when reading the whole tree sequentially.
For examples of CloneTree, see tutorials:
Reimplemented in TNtuple.
Compare two TNamed objects.
Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
Definition at line 84 of file TNamed.cxx.
|
inherited |
|
inherited |
|
inherited |
|
overridevirtualinherited |
Copy this to obj.
Reimplemented from TObject.
Reimplemented in TPieSlice, TProfile2D, TProfile3D, TProfile, TStyle, TSystemDirectory, TSystemFile, TText, and TXTRU.
Definition at line 93 of file TNamed.cxx.
|
virtualinherited |
Copy nentries from given tree to this tree.
This routines assumes that the branches that intended to be copied are already connected. The typical case is that this tree was created using tree->CloneTree(0).
By default copy all entries.
Returns number of bytes copied to this tree.
If 'option' contains the word 'fast' and nentries is -1, the cloning will be done without unzipping or unstreaming the baskets (i.e., a direct copy of the raw bytes on disk).
When 'fast' is specified, 'option' can also contains a sorting order for the baskets in the output file.
There are currently 3 supported sorting order:
See TTree::CloneTree for a detailed explanation of the semantics of these 3 options.
If the tree or any of the underlying tree of the chain has an index, that index and any index in the subsequent underlying TTree objects will be merged.
There are currently three 'options' to control this merging:
|
overridevirtual |
Copy a tree with selection.
See the documentation of TTree::CopyTree
Reimplemented from TTree.
Definition at line 762 of file TChain.cxx.
|
virtual |
Initialize the packet descriptor string.
Definition at line 775 of file TChain.cxx.
|
inlinestatic |
|
overridevirtualinherited |
Delete this tree from memory or/and disk.
Reimplemented from TObject.
|
overridevirtual |
Override the TTree::DirectoryAutoAdd behavior: we never auto add.
Reimplemented from TTree.
Definition at line 788 of file TChain.cxx.
|
inherited |
Computes distance from point (px,py) to the object.
This member function must be implemented for each graphics primitive. This default function returns a big number (999999).
Reimplemented in TASImage, TAxis3D, TAxis, TBox, TBRIK, TColorWheel, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFileDrawMap, TGenerator, TGeoBBox, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoEltu, TGeoHalfSpace, TGeoHype, TGeoNode, TGeoOverlap, TGeoParaboloid, TGeoPcon, TGeoPgon, TGeoScaledShape, TGeoShape, TGeoShapeAssembly, TGeoSphere, TGeoTessellated, TGeoTorus, TGeoTrack, TGeoTube, TGeoTubeSeg, TGeoVGShape, TGeoVolume, TGeoXtru, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TH1, THistPainter, THStack, TLine, TMarker3DBox, TMarker, TMultiGraph, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPCON, TPie, TPieSlice, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSPHE, TSpider, TSpline, TStyle, TText, TTreePerfStats, TTUBE, TTUBS, TVirtualHistPainter, and TXTRU.
Definition at line 284 of file TObject.cxx.
|
protectedvirtualinherited |
Interface to ErrorHandler (protected).
Reimplemented in TThread, and TTreeViewer.
Definition at line 1059 of file TObject.cxx.
|
overridevirtual |
Process all entries in this chain and draw histogram corresponding to expression varexp.
Returns -1 in case of error or number of selected events in case of success.
Reimplemented from TTree.
Definition at line 814 of file TChain.cxx.
|
overridevirtual |
Draw expression varexp for selected entries.
Returns -1 in case of error or number of selected events in case of success.
This function accepts TCut objects as arguments. Useful to use the string operator +, example:
Reimplemented from TTree.
Definition at line 803 of file TChain.cxx.
|
inlineoverridevirtual |
|
virtualinherited |
Draw class inheritance tree of the class to which this object belongs.
If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:
Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.
Definition at line 308 of file TObject.cxx.
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
If pad was not selected - gPad will be used.
Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.
Definition at line 319 of file TObject.cxx.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Dump contents of object on stdout.
Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed
The following output is the Dump of a TArrow object:
Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.
Definition at line 367 of file TObject.cxx.
|
inherited |
Enable the TTreeCache unless explicitly disabled for this TTree by a prior call to SetCacheSize(0).
If the environment variable ROOT_TTREECACHE_SIZE or the rootrc config TTreeCache.Size has been set to zero, this call will over-ride them with a value of 1.0 (i.e. use a cache size to hold 1 cluster)
Return true if there is a cache attached to the TTree (either pre-exisiting or created as part of this call)
|
virtualinherited |
Issue error message.
Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.
Reimplemented in TFitResult.
Definition at line 1098 of file TObject.cxx.
|
virtualinherited |
Execute method on this object with the given parameter string, e.g.
"3.14,1,\"text\"".
Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.
Definition at line 378 of file TObject.cxx.
|
virtualinherited |
Execute method on this object with parameters stored in the TObjArray.
The TObjArray should contain an argv vector like:
Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.
Definition at line 398 of file TObject.cxx.
Execute action corresponding to an event at (px,py).
This method must be overridden if an object can react to graphics events.
Reimplemented in TASImage, TASPaletteEditor::LimitLine, TAxis3D, TAxis, TBox, TButton, TCanvas, TCrown, TCurlyArc, TCurlyLine, TDiamond, TEfficiency, TEllipse, TF1, TF2, TF3, TFrame, TGenerator, TGeoManager, TGeoNode, TGeoOverlap, TGeoShape, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLEventHandler, TGLHistPainter, TGLParametricEquation, TGLScenePad, TGLTH3Composition, TGLViewer, TGraph2D, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGroupButton, TH1, THistPainter, TLine, TLink, TMarker3DBox, TMarker, TNode, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TScatter2D, TScatter, TSliderBox, TSpider, TSpline, TText, TTreePerfStats, TView3D, TView, TVirtualHistPainter, and TWbox.
Definition at line 415 of file TObject.cxx.
|
virtualinherited |
Issue fatal error message.
Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.
Definition at line 1126 of file TObject.cxx.
|
inlineoverridevirtual |
Fill all branches.
This function loops on all the branches of this tree. For each branch, it copies to the branch buffer (basket) the current values of the leaves data types. If a leaf is a simple data type, a simple conversion to a machine independent format has to be done.
This machine independent version of the data is copied into a basket (each branch has its own basket). When a basket is full (32k worth of data by default), it is then optionally compressed and written to disk (this operation is also called committing or 'flushing' the basket). The committed baskets are then immediately removed from memory.
The function returns the number of bytes committed to the individual branches.
If a write error occurs, the number of bytes returned is -1.
If no data are written, because, e.g., the branch is disabled, the number of bytes returned is 0.
The baskets are flushed and the Tree header saved at regular intervals
At regular intervals, when the amount of data written so far is greater than fAutoFlush (see SetAutoFlush) all the baskets are flushed to disk. This makes future reading faster as it guarantees that baskets belonging to nearby entries will be on the same disk region. When the first call to flush the baskets happen, we also take this opportunity to optimize the baskets buffers. We also check if the amount of data written is greater than fAutoSave (see SetAutoSave). In this case we also write the Tree header. This makes the Tree recoverable up to this point in case the program writing the Tree crashes. The decisions to FlushBaskets and Auto Save can be made based either on the number of bytes written (fAutoFlush and fAutoSave negative) or on the number of entries written (fAutoFlush and fAutoSave positive). Note that the user can decide to call FlushBaskets and AutoSave in her event loop base on the number of events written instead of the number of bytes written.
Reimplemented from TTree.
|
virtualinherited |
Encode TNamed into output buffer.
Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.
Definition at line 103 of file TNamed.cxx.
|
overridevirtual |
|
overridevirtual |
|
virtualinherited |
Must be redefined in derived classes.
This function is typically used with TCollections, but can also be used to find an object by name inside this object.
Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.
Definition at line 425 of file TObject.cxx.
Must be redefined in derived classes.
This function is typically used with TCollections, but can also be used to find an object inside this object.
Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.
Definition at line 435 of file TObject.cxx.
|
virtualinherited |
Fit a projected item(s) from a tree.
funcname is a TF1 function.
See TTree::Draw() for explanations of the other parameters.
By default the temporary histogram created is called htemp. If varexp contains >>hnew , the new histogram created is called hnew and it is kept in the current directory.
The function returns the number of selected entries.
Example:
will fit sqrt(x) and save the histogram as "hsqrt" in the current directory.
See also TTree::UnbinnedFit
The function returns the status of the histogram fit (see TH1::Fit) If no entries were selected, the function returns -1; (i.e. fitResult is null if the fit is OK)
Write to disk all the basket that have not yet been individually written and create an event cluster boundary (by default).
If the caller wishes to flush the baskets but not create an event cluster, then set create_cluster to false.
If ROOT has IMT-mode enabled, this will launch multiple TBB tasks in parallel via TThreadExecutor to do this operation; one per basket compression. If the caller utilizes TBB also, care must be taken to prevent deadlocks.
For example, let's say the caller holds mutex A and calls FlushBaskets; while TBB is waiting for the ROOT compression tasks to complete, it may decide to run another one of the user's tasks in this thread. If the second user task tries to acquire A, then a deadlock will occur. The example call sequence looks like this:
At this point, the thread will deadlock: the code may function with IMT-mode disabled if the user assumed the legacy code never would run their own TBB tasks.
SO: users of TBB who want to enable IMT-mode should carefully review their locking patterns and make sure they hold no coarse-grained application locks when they invoke ROOT.
Return the number of bytes written or -1 in case of write error.
|
privateinherited |
Internal implementation of the FlushBaskets algorithm.
Unlike the public interface, this does NOT create an explicit event cluster boundary; it is up to the (internal) caller to determine whether that should done.
Otherwise, the comments for FlushBaskets applies.
|
overridevirtual |
Returns the expanded value of the alias. Search in the friends if any.
Reimplemented from TTree.
Definition at line 893 of file TChain.cxx.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
overridevirtual |
Return pointer to the branch name in the current tree.
Reimplemented from TTree.
Definition at line 912 of file TChain.cxx.
|
protectedinherited |
|
protectedinherited |
|
inlinevirtualinherited |
|
overridevirtual |
|
staticinherited |
Used for automatic sizing of the cache.
Estimates a suitable size in bytes for the tree cache based on AutoFlush. A cache sizing factor is taken from the configuration. If this yields zero and withDefault is true the historical algorithm for default size is used.
|
inlineoverridevirtual |
Return absolute entry number in the chain.
The input parameter entry is the entry number in the current tree of this chain.
Reimplemented from TTree.
Definition at line 948 of file TChain.cxx.
|
inlinevirtualinherited |
|
overridevirtual |
Return an iterator over the cluster of baskets starting at firstentry.
This iterator is not yet supported for TChain object.
Reimplemented from TTree.
Definition at line 937 of file TChain.cxx.
|
inlinevirtualinherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Get option used by the graphics system to draw this object.
Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.
Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.
Definition at line 445 of file TObject.cxx.
|
staticinherited |
Return destructor only flag.
Definition at line 1196 of file TObject.cxx.
|
overridevirtual |
Return the total number of entries in the chain.
In case the number of entries in each tree is not yet known, the offset table is computed.
Reimplemented from TTree.
Definition at line 958 of file TChain.cxx.
|
inlineoverridevirtual |
Return the number of entries matching the selection.
Return -1 in case of errors.
If the selection uses any arrays or containers, we return the number of entries where at least one element match the selection. GetEntries is implemented using the selector class TSelectorEntries, which can be used directly (see code in TTreePlayer::GetEntries) for additional option. If SetEventList was used on the TTree or TChain, only that subset of entries will be considered.
Reimplemented from TTree.
|
inlinevirtualinherited |
Return a number greater or equal to the total number of entries in the dataset.
The logic depends on whether the dataset is a TTree or a TChain. In the first case, it simply returns the total number of entries in the tree. In the latter case, it depends on which point of the processing of the chain this function is called. During most of the chain processing, this function will return TTree::kMaxEntries. When the chain arrives at the last file, then the function will return the accumulated total number of entries in the whole chain. A notable use case where this function becomes quite useful is when writing the following for loop to traverse the entries in the dataset:
In the example above, independently on whether the dataset is a TTree or a TChain, the GetEntriesFast call will provide the correct stopping condition for the loop (i.e. the total number of entries). In the TChain case, calling GetEntries instead would open all the files in the chain upfront which could be costly.
The functionality offered by this method can also be seen when used in conjunction with LoadTree. For a call like LoadTree(ievent) , the condition ievent < dataset.GetEntriesFast() is only satisfied if ievent is strictly smaller than the total number of entries in the dataset. In fact, even when the dataset is a TChain, the first time LoadTree is called with an entry number that belongs to the last file of the chain, this will update the internal data member of the class so that the next call to GetEntriesFast returns the total number of entries in the dataset.
Reimplemented in TTreeSQL.
|
virtualinherited |
Get entry from the file to memory.
Return the total number of bytes read, 0 bytes read indicates a failure.
Reimplemented from TTree.
Definition at line 996 of file TChain.cxx.
|
virtualinherited |
Return entry number corresponding to entry.
if no TEntryList set returns entry else returns entry #entry from this entry list and also computes the global entry number (loads all tree headers)
Reimplemented from TTree.
Definition at line 1015 of file TChain.cxx.
|
virtualinherited |
Return entry number corresponding to major and minor number.
Note that this function returns only the entry number, not the data To read the data corresponding to an entry number, use TTree::GetEntryWithIndex the BuildIndex function has created a table of Long64_t* of sorted values corresponding to val = major<<31 + minor; The function performs binary search in this sorted table. If it finds a pair that matches val, it returns directly the index in the table. If an entry corresponding to major and minor is not found, the function returns the index of the major,minor pair immediately lower than the requested value, ie it will return -1 if the pair is lower than the first entry in the index.
See also GetEntryNumberWithIndex
|
virtualinherited |
Return entry number corresponding to major and minor number.
Note that this function returns only the entry number, not the data To read the data corresponding to an entry number, use TTree::GetEntryWithIndex the BuildIndex function has created a table of Long64_t* of sorted values corresponding to val = major<<31 + minor; The function performs binary search in this sorted table. If it finds a pair that matches val, it returns directly the index in the table, otherwise it returns -1.
See also GetEntryNumberWithBestIndex
Return entry corresponding to major and minor number.
The function returns the total number of bytes read; -1 if entry not found. If the Tree has friend trees, the corresponding entry with the index values (major,minor) is read. Note that the master Tree and its friend may have different entry serial numbers corresponding to (major,minor).
Reimplemented from TTree.
Definition at line 1049 of file TChain.cxx.
|
inlinevirtualinherited |
|
inlineinherited |
| TFile * TChain::GetFile | ( | ) | const |
Return a pointer to the current file.
If no file is connected, the first file is automatically loaded.
Definition at line 1060 of file TChain.cxx.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Return the fill area color.
Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.
Definition at line 32 of file TAttFill.h.
|
inlinevirtualinherited |
Return the fill area style.
Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.
Definition at line 33 of file TAttFill.h.
|
virtualinherited |
|
virtualinherited |
If the 'tree' is a friend, this method returns its alias name.
This alias is an alternate name for the tree.
It can be used in conjunction with a branch or leaf name in a TTreeFormula, to specify in which particular tree the branch or leaf can be found if the friend trees have branches or leaves with the same name as the master tree.
It can also be used in conjunction with an alias created using TTree::SetAlias in a TTreeFormula, e.g.:
where fPx is a branch of the friend tree aliased as 'treealias' and 'myAlias' was created using TTree::SetAlias on the friend tree.
However, note that 'treealias.myAlias' will be expanded literally, without remembering that it comes from the aliased friend and thus the branch name might not be disambiguated properly, which means that you may not be able to take advantage of this feature.
|
virtualinherited |
Returns mime type name of object.
Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.
Definition at line 472 of file TObject.cxx.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inherited |
|
virtualinherited |
|
overridevirtual |
Return a pointer to the leaf name in the current tree.
Reimplemented from TTree.
Definition at line 1073 of file TChain.cxx.
|
overridevirtual |
Return a pointer to the leaf name in the current tree.
Reimplemented from TTree.
Definition at line 1088 of file TChain.cxx.
|
protectedvirtualinherited |
Return pointer to the 1st Leaf named name in any Branch of this Tree or any branch in the list of friend trees.
The leaf name can contain the name of a friend tree with the syntax: friend_dir_and_tree.full_leaf_name the friend_dir_and_tree can be of the form:
|
inlinevirtualinherited |
Return the line color.
Reimplemented in TGraphMultiErrors, and TGWin32VirtualXProxy.
Definition at line 36 of file TAttLine.h.
|
inlinevirtualinherited |
Return the line style.
Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.
Definition at line 37 of file TAttLine.h.
|
inlinevirtualinherited |
Return the line width.
Reimplemented in TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, and TGX11.
Definition at line 38 of file TAttLine.h.
|
inlinevirtualinherited |
|
overridevirtual |
Return a pointer to the list of branches of the current tree.
Warning: If there is no current TTree yet, this routine will open the first in the chain.
Returns 0 on failure.
Reimplemented from TTree.
Definition at line 1108 of file TChain.cxx.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
overridevirtual |
Return a pointer to the list of leaves of the current tree.
Warning: May set the current tree!
Reimplemented from TTree.
Definition at line 1125 of file TChain.cxx.
|
inlinevirtualinherited |
Return the marker color.
Reimplemented in TGWin32VirtualXProxy.
Definition at line 33 of file TAttMarker.h.
|
inlinevirtualinherited |
Return the marker size.
Reimplemented in TGWin32VirtualXProxy.
Definition at line 35 of file TAttMarker.h.
|
inlinevirtualinherited |
Return the marker style.
Reimplemented in TGWin32VirtualXProxy.
Definition at line 34 of file TAttMarker.h.
|
inlinevirtualinherited |
|
overridevirtual |
Return maximum of column with name columname.
Reimplemented from TTree.
Definition at line 1140 of file TChain.cxx.
|
staticinherited |
|
inlinevirtualinherited |
|
privateinherited |
Estimate the median cluster size for the TTree.
This value provides e.g. a reasonable cache size default if other heuristics fail. Clusters with size 0 and the very last cluster range, that might not have been committed to fClusterSize yet, are ignored for the purposes of the calculation.
|
overridevirtual |
Return minimum of column with name columname.
Reimplemented from TTree.
Definition at line 1175 of file TChain.cxx.
|
inlineoverridevirtualinherited |
|
overridevirtual |
Return the number of branches of the current tree.
Warning: May set the current tree!
Reimplemented from TTree.
Definition at line 1212 of file TChain.cxx.
|
protectedinherited |
Returns string containing info about the object at position (px,py).
This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).
Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.
Definition at line 491 of file TObject.cxx.
|
staticinherited |
Get status of object stat flag.
Definition at line 1181 of file TObject.cxx.
|
inlinevirtualinherited |
Reimplemented in TArrow, TAxis3D, TFile, TGaxis, TGeoVolume, TH1, THelix, TLegendEntry, TMapFile, TNode, TPave, TPoints3DABC, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPSocket, TSelector, TSocket, and TUDPSocket.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inherited |
|
inherited |
|
inherited |
|
overridevirtual |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlineoverridevirtualinherited |
|
inlinevirtualinherited |
|
inlineoverridevirtual |
|
inlinevirtualinherited |
|
inlineoverridevirtual |
|
virtualinherited |
Return the unique object id.
Definition at line 480 of file TObject.cxx.
|
inlinevirtualinherited |
|
virtualinherited |
Return a pointer to the list containing user objects associated to this tree.
The list is automatically created if it does not exist.
WARNING: By default the TTree destructor will delete all objects added to this list. If you do not want these objects to be deleted, call:
mytree->GetUserInfo()->Clear();
before deleting the tree.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
overridevirtual |
Return the chain weight.
By default the weight is the weight of the current tree. However, if the weight has been set in TChain::SetWeight() with the option "global", then that weight will be returned.
Warning: May set the current tree!
Reimplemented from TTree.
Definition at line 1241 of file TChain.cxx.
|
inlinevirtualinherited |
Execute action in response of a timer timing out.
This method must be overridden if an object has to react to timers.
Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.
Definition at line 516 of file TObject.cxx.
|
inlineoverridevirtualinherited |
Return hash value for this object.
Note: If this routine is overloaded in a derived class, this derived class should also add
Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like
Reimplemented from TObject.
|
inlineinherited |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
missing call to RecursiveRemove in destructor).
Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)
|
protectedinherited |
|
inlinevirtualinherited |
|
virtualinherited |
Issue info message.
Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.
Definition at line 1072 of file TObject.cxx.
|
virtualinherited |
Returns kTRUE if object inherits from class "classname".
Reimplemented in TClass.
Definition at line 549 of file TObject.cxx.
Returns kTRUE if object inherits from TClass cl.
Reimplemented in TClass.
Definition at line 557 of file TObject.cxx.
|
privateinherited |
Divides the top-level branches into two vectors: (i) branches to be processed sequentially and (ii) branches to be processed in parallel.
Even if IMT is on, some branches might need to be processed first and in a sequential fashion: in the parallelization of GetEntry, those are the branches that store the size of another branch for every entry (e.g. the size of an array branch). If such branches were processed in parallel with the rest, there could be two threads invoking TBranch::GetEntry on one of them at the same time, since a branch that depends on a size (or count) branch will also invoke GetEntry on the latter. This method can be invoked several times during the event loop if the TTree is being written, for example when adding new branches. In these cases, the checkLeafCount parameter is false.
| [in] | checkLeafCount | True if we need to check whether some branches are count leaves. |
|
overridevirtual |
Move content to a new file. (NOT IMPLEMENTED for TChain).
Reimplemented from TTree.
Definition at line 1259 of file TChain.cxx.
|
virtualinherited |
Dump contents of this object in a graphics canvas.
Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.
The following picture is the Inspect of a histogram object:
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.
Definition at line 570 of file TObject.cxx.
|
protected |
Set the TTree to be reloaded as soon as possible.
In particular this is needed when adding a Friend.
If the tree has clones, copy them into the chain clone list so we can change their branch addresses when necessary.
This is to support the syntax:
Definition at line 1278 of file TChain.cxx.
|
inlineoverridevirtual |
|
inlineinherited |
IsDestructed.
Default equal comparison (objects are equal if they have the same address in memory).
More complicated classes might want to override this function.
Reimplemented in TGObject, TObjString, TPair, and TQCommand.
Definition at line 589 of file TObject.cxx.
|
inlineoverridevirtualinherited |
|
inlineoverridevirtualinherited |
Reimplemented from TObject.
Reimplemented in TStructNodeProperty.
|
inlinevirtualinherited |
Reimplemented in TGWin32VirtualXProxy.
Definition at line 49 of file TAttFill.h.
|
protectedvirtualinherited |
Dummy function.
It could be implemented and load all baskets of all trees in the chain. For the time being use TChain::Merge and TTree::LoadBasket on the resulting tree.
Reimplemented from TTree.
Definition at line 1296 of file TChain.cxx.
Find the tree which contains entry, and set it as the current tree.
Returns the entry number in that tree.
The input argument entry is the entry serial number in the whole chain.
In case of error, LoadTree returns a negative number:
Calls fNotify->Notify() (if fNotify is not null) when starting the processing of a new sub-tree. See TNotifyLink for more information on the notification mechanism.
Reimplemented from TTree.
Definition at line 1416 of file TChain.cxx.
Load entry on behalf of our master tree, we may use an index.
Called by LoadTree() when the masterTree looks for the entry number in a friend tree (us) corresponding to the passed entry number in the masterTree.
If we have no index, our entry number and the masterTree entry number are the same.
If we do have an index, we must find the (major, minor) value pair in masterTree to locate our corresponding entry.
| void TChain::Lookup | ( | bool | force = false | ) |
Check / locate the files in the chain.
By default only the files not yet looked up are checked. Use force = true to check / re-check every file.
Definition at line 1808 of file TChain.cxx.
|
overridevirtual |
|
virtualinherited |
Generate a skeleton analysis class for this tree.
The following files are produced: classname.h and classname.C. If classname is 0, classname will be called "nameoftree".
The generated code in classname.h includes the following:
The generated code in classname.C includes only the main analysis function Loop.
To use this function:
where T is the name of the TTree in file myfile.root, and MyClass.h, MyClass.C the name of the files created by this function. In a ROOT session, you can do:
NOTE: Do not use the code generated for a single TTree which is part of a TChain to process that entire TChain. The maximum dimensions calculated for arrays on the basis of a single TTree from the TChain might be (will be!) too small when processing all of the TTrees in the TChain. You must use myChain.MakeClass() to generate the code, not myTree.MakeClass(...).
|
virtualinherited |
Generate a skeleton function for this tree.
The function code is written on filename. If filename is 0, filename will be called nameoftree.C
The generated code includes the following:
To use this function:
where T is the name of the TTree in file myfile.root and MyAnalysis.C the name of the file created by this function.
NOTE: Since the implementation of this function, a new and better function TTree::MakeClass() has been developed.
|
virtualinherited |
Generate a skeleton analysis class for this Tree using TBranchProxy.
TBranchProxy is the base of a class hierarchy implementing an indirect access to the content of the branches of a TTree.
"proxyClassname" is expected to be of the form:
The skeleton will then be generated in the file:
located in the current directory or in 'path/' if it is specified. The class generated will be named 'fileprefix'
"macrofilename" and optionally "cutfilename" are expected to point to source files which will be included by the generated skeleton. Method of the same name as the file(minus the extension and path) will be called by the generated skeleton's Process method as follow:
"option" can be used select some of the optional features during the code generation. The possible options are:
'maxUnrolling' controls how deep in the class hierarchy does the system 'unroll' classes that are not split. Unrolling a class allows direct access to its data members (this emulates the behavior of TTreeFormula).
The main features of this skeleton are:
For example with Event.root, if
is executed by one of the method of the skeleton, somePx will updated with the current value of fPx of the 3rd track.
Both macrofilename and the optional cutfilename are expected to be the name of source files which contain at least a free standing function with the signature:
and
x_t and y_t needs to be types that can convert respectively to a double and a bool (because the skeleton uses:
if (cutfilename()) htemp->Fill(macrofilename());
These two functions are run in a context such that the branch names are available as local variables of the correct (read-only) type.
Note that if you use the same 'variable' twice, it is more efficient to 'cache' the value. For example:
is more efficient than
Also, optionally, the generated selector will also call methods named macrofilename_methodname in each of 6 main selector methods if the method macrofilename_methodname exist (Where macrofilename is stripped of its extension).
Concretely, with the script named h1analysisProxy.C,
If a file name macrofilename.h (or .hh, .hpp, .hxx, .hPP, .hXX) exist it is included before the declaration of the proxy class. This can be used in particular to insure that the include files needed by the macro file are properly loaded.
The default histogram is accessible via the variable named 'htemp'.
If the library of the classes describing the data in the branch is loaded, the skeleton will add the needed include statements and give the ability to access the object stored in the branches.
To draw px using the file hsimple.root (generated by the hsimple.C tutorial), we need a file named hsimple.cxx:
MakeProxy can then be used indirectly via the TTree::Draw interface as follow:
A more complete example is available in the tutorials directory: h1analysisProxy.cxx , h1analysProxy.h and h1analysisProxyCut.C which reimplement the selector found in h1analysis.C
|
virtualinherited |
Generate skeleton selector class for this tree.
The following files are produced: selector.h and selector.C. If selector is 0, the selector will be called "nameoftree". The option can be used to specify the branches that will have a data member.
The generated code in selector.h includes the following:
The class selector derives from TSelector. The generated code in selector.C includes empty functions defined above.
To use this function:
where T is the name of the Tree in file myfile.root and myselect.h, myselect.C the name of the files created by this function. In a ROOT session, you can do:
|
privateinherited |
|
inherited |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
Definition at line 1160 of file TObject.cxx.
Merge all the entries in the chain into a new tree in a new file.
See important note in the following function Merge().
If the chain is expecting the input tree inside a directory, this directory is NOT created by this routine.
So in a case where we have:
The resulting file will have not subdirectory. To recreate the directory structure do:
Definition at line 1911 of file TChain.cxx.
|
overridevirtual |
Merge all chains in the collection. (NOT IMPLEMENTED).
Reimplemented from TTree.
Definition at line 1920 of file TChain.cxx.
|
overridevirtual |
Merge all chains in the collection. (NOT IMPLEMENTED).
Reimplemented from TTree.
Definition at line 1929 of file TChain.cxx.
Merge all the entries in the chain into a new tree in the current file.
Note: The "file" parameter is not the file where the new tree will be inserted. The new tree is inserted into gDirectory, which is usually the most recently opened file, or the directory most recently cd()'d to.
If option = "C" is given, the compression level for all branches in the new Tree is set to the file compression level. By default, the compression level of all branches is the original compression level in the old trees.
If basketsize > 1000, the basket size for all branches of the new tree will be set to basketsize.
Example using the file generated in $ROOTSYS/test/Event merge two copies of Event.root
If the chain is expecting the input tree inside a directory, this directory is NOT created by this routine.
So if you do:
The resulting file will not have subdirectories. In order to preserve the directory structure do the following instead:
If 'option' contains the word 'fast' the merge will be done without unzipping or unstreaming the baskets (i.e., a direct copy of the raw bytes on disk).
When 'fast' is specified, 'option' can also contains a sorting order for the baskets in the output file.
There is currently 3 supported sorting order:
When using SortBasketsByOffset the baskets are written in the output file in the same order as in the original file (i.e. the basket are sorted on their offset in the original file; Usually this also means that the baskets are sorted on the index/number of the last entry they contain)
When using SortBasketsByBranch all the baskets of each individual branches are stored contiguously. This tends to optimize reading speed when reading a small number (1->5) of branches, since all their baskets will be clustered together instead of being spread across the file. However it might decrease the performance when reading more branches (or the full entry).
When using SortBasketsByEntry the baskets with the lowest starting entry are written first. (i.e. the baskets are sorted on the index/number of the first entry they contain). This means that on the file the baskets will be in the order in which they will be needed when reading the whole tree sequentially.
When merging many files, it may happen that the resulting file reaches a size > TTree::fgMaxTreeSize (default = 100 GBytes). In this case the current file is automatically closed and a new file started. If the name of the merged file was "merged.root", the subsequent files will be named "merged_1.root", "merged_2.root", etc. fgMaxTreeSize may be modified via the static function TTree::SetMaxTreeSize. When in fast mode, the check and switch is only done in between each input file.
This is required because in general the automatic file overflow described above may happen during the merge. If only the current file is produced (the file passed as first argument), one can instruct Merge to not close and delete the file by specifying the option "keep".
The function returns the total number of files produced. To check that all files have been merged use something like:
Definition at line 2037 of file TChain.cxx.
Static function merging the trees in the TList into a new tree.
Trees in the list can be memory or disk-resident trees. The new tree is created in the current directory (memory if gROOT). Trees with no branches will be skipped, the branch structure will be taken from the first non-zero-branch Tree of {li}
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
protectedinherited |
|
overridevirtualinherited |
|
inherited |
Use this method to declare a method obsolete.
Specify as of which version the method is obsolete and as from which version it will be removed.
Definition at line 1169 of file TObject.cxx.
|
inherited |
Operator delete for sized deallocation.
Definition at line 1234 of file TObject.cxx.
|
inherited |
Operator delete.
Definition at line 1212 of file TObject.cxx.
|
inherited |
Only called by placement new when throwing an exception.
Definition at line 1266 of file TObject.cxx.
|
inherited |
Operator delete [] for sized deallocation.
Definition at line 1245 of file TObject.cxx.
|
inherited |
Operator delete [].
Definition at line 1223 of file TObject.cxx.
|
inherited |
Only called by placement new[] when throwing an exception.
Definition at line 1274 of file TObject.cxx.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
This function may be called after having filled some entries in a Tree.
Using the information in the existing branch buffers, it will reassign new branch buffer sizes to optimize time and memory.
The function computes the best values for branch buffer sizes such that the total buffer sizes is less than maxMemory and nearby entries written at the same time. In case the branch compression factor for the data written so far is less than compMin, the compression is disabled.
if option ="d" an analysis report is printed.
|
virtualinherited |
This method must be overridden if a class wants to paint itself.
The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.
Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.
Definition at line 631 of file TObject.cxx.
|
private |
Get the tree url or filename and other information from the name.
A treename and a url's query section is split off from name. The splitting depends on whether the resulting filename is to be subsequently treated for wildcards or not, since the question mark is both the url query identifier and a wildcard. Wildcard matching is not done in this method itself.
The following way to specify the treename is still supported with the constrain that the file name contains the sub-string '.root'. This is now deprecated and will be removed in future versions.
Note that in a case like this
i.e. anchor but no options (query), the filename will be the full path, as the anchor may be the internal file name of an archive. Use '?#treename' to pass the treename if the query field is empty.
| [in] | name | is the original name |
| [out] | filename | the url or filename to be opened or matched |
| [out] | treename | the treename, which may be found in a url fragment section as a trailing part of the name (deprecated). If not found this will be empty. Exception: a fragment containing the '=' character is not interpreted as a treename |
| [out] | query | is the url query section, including the leading question mark. If not found or the query section is only followed by a fragment this will be empty. |
| [out] | suffix | the portion of name which was removed to from filename. |
Definition at line 2176 of file TChain.cxx.
|
virtualinherited |
Pop on object drawn in a pad to the top of the display list.
I.e. it will be drawn last and on top of all other primitives.
Reimplemented in TFrame, TPad, and TVirtualPad.
Definition at line 640 of file TObject.cxx.
|
inherited |
Interface to the Principal Components Analysis class.
Create an instance of TPrincipal
Fill it with the selected variables
see TTree::Draw for explanation of the other parameters.
The created object is named "principal" and a reference to it is added to the list of specials Root objects. you can retrieve a pointer to the created object via:
|
overridevirtual |
Print the header information of each tree in the chain.
See TTree::Print for a list of options.
Reimplemented from TObject.
Definition at line 2246 of file TChain.cxx.
|
virtualinherited |
Print statistics about the TreeCache for this tree.
Like:
if option = "a" the list of blocks in the cache is printed
|
overridevirtual |
Process all entries in this chain, calling functions in filename.
The return value is -1 in case of error and TSelector::GetStatus() in in case of success. See TTree::Process.
Reimplemented from TTree.
Definition at line 2269 of file TChain.cxx.
|
overridevirtual |
Process this chain executing the code in selector.
The return value is -1 in case of error and TSelector::GetStatus() in in case of success.
Reimplemented from TTree.
Definition at line 2282 of file TChain.cxx.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Read contents of object with specified name from the current directory.
First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().
Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.
Definition at line 673 of file TObject.cxx.
|
virtualinherited |
Create or simply read branches from filename.
if branchDescriptor = "" (default), it is assumed that the Tree descriptor is given in the first line of the file with a syntax like
otherwise branchDescriptor must be specified with the above syntax. See all available datatypes here.
delimiter allows for the use of another delimiter besides whitespace. This provides support for direct import of common data file formats like csv. If delimiter != ' ' and branchDescriptor == "", then the branch description is taken from the first line in the file, but delimiter is used for the branch names tokenization rather than ':'. Note however that if the values in the first line do not use the /[type] syntax, all variables are assumed to be of type "F". If the filename ends with extensions .csv or .CSV and a delimiter is not specified (besides ' '), the delimiter is automatically set to ','.
Lines in the input file starting with "#" are ignored. Leading whitespace for each column data is skipped. Empty lines are skipped.
A TBranch object is created for each variable in the expression. The total number of rows read from the file is returned.
To fill a TTree with multiple input text files, proceed as indicated above for the first input file and omit the second argument for subsequent calls
|
virtualinherited |
|
overridevirtual |
Make sure that obj (which is being deleted or will soon be) is no longer referenced by this TTree.
Reimplemented from TObject.
Definition at line 2291 of file TChain.cxx.
|
virtualinherited |
|
private |
Refresh branch/leaf addresses of friend trees.
The method acts only on the current tree in the chain (fTree), but it may be called in two different scenarios: when there are friends of the chain or when there are friends of fTree itself.
Definition at line 1308 of file TChain.cxx.
|
inlineprivateinherited |
|
virtualinherited |
|
virtualinherited |
|
overridevirtual |
Remove a friend from the list of friends.
Reimplemented from TTree.
Definition at line 2310 of file TChain.cxx.
|
overridevirtual |
Resets the state of this chain.
Reimplemented from TTree.
Definition at line 2329 of file TChain.cxx.
|
overridevirtual |
Resets the state of this chain after a merge (keep the customization but forget the data).
Reimplemented from TTree.
Definition at line 2351 of file TChain.cxx.
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
overridevirtual |
Reset the addresses of the branch.
Reimplemented from TTree.
Definition at line 2474 of file TChain.cxx.
|
overridevirtual |
Reset the addresses of the branches.
Reimplemented from TTree.
Definition at line 2488 of file TChain.cxx.
|
virtualinherited |
Save this object in the file specified by filename.
otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.
The function is available via the object context menu.
Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.
Definition at line 708 of file TObject.cxx.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
overridevirtual |
Save TChain as a C++ statements on output stream out.
With the option "friend" save the description of all the TChain's friend trees or chains as well.
Reimplemented from TObject.
Definition at line 2368 of file TChain.cxx.
|
staticprotectedinherited |
Save object constructor in the output stream "out".
Can be used as first statement when implementing SavePrimitive() method for the object
Definition at line 777 of file TObject.cxx.
|
staticprotectedinherited |
Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
Definition at line 845 of file TObject.cxx.
|
protectedinherited |
Save object name and title into the output stream "out".
Definition at line 135 of file TNamed.cxx.
|
staticprotectedinherited |
Save array in the output stream "out" as vector.
Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()
Definition at line 796 of file TObject.cxx.
|
overridevirtual |
Loop on tree and print entries passing selection.
Reimplemented from TTree.
Definition at line 2425 of file TChain.cxx.
|
virtualinherited |
Set a tree variable alias.
Set an alias for an expression/formula based on the tree 'variables'.
The content of 'aliasName' can be used in TTreeFormula (i.e. TTree::Draw, TTree::Scan, TTreeViewer) and will be evaluated as the content of 'aliasFormula'.
If the content of 'aliasFormula' only contains symbol names, periods and array index specification (for example event.fTracks[3]), then the content of 'aliasName' can be used as the start of symbol.
If the alias 'aliasName' already existed, it is replaced by the new value.
When being used, the alias can be preceded by an eventual 'Friend Alias' (see TTree::GetFriendAlias)
Return true if it was added properly.
For example:
|
virtual |
Set the global branch kAutoDelete bit.
When LoadTree loads a new Tree, the branches for which the address is set will have the option AutoDelete set For more details on AutoDelete, see TBranch::SetAutoDelete.
Definition at line 2440 of file TChain.cxx.
|
virtualinherited |
This function may be called at the start of a program to change the default value for fAutoFlush.
autof is the number of consecutive entries after which TTree::Fill will flush all branch buffers to disk.
When filling the Tree the branch buffers will be flushed to disk when more than autof bytes have been written to the file. At the first FlushBaskets TTree::Fill will replace fAutoFlush by the current value of fEntries.
Calling this function with autof<0 is interesting when it is hard to estimate the size of one entry. This value is also independent of the Tree.
The Tree is initialized with fAutoFlush=-30000000, ie that, by default, the first AutoFlush will be done when 30 MBytes of data are written to the file.
The AutoFlush mechanism is disabled.
Flushing the buffers at regular intervals optimize the location of consecutive entries on the disk by creating clusters of baskets.
A cluster of baskets is a set of baskets that contains all the data for a (consecutive) set of entries and that is stored consecutively on the disk. When reading all the branches, this is the minimum set of baskets that the TTreeCache will read.
|
virtualinherited |
In case of a program crash, it will be possible to recover the data in the tree up to the last AutoSave point.
This function may be called before filling a TTree to specify when the branch buffers and TTree header are flushed to disk as part of TTree::Fill(). The default is -300000000, ie the TTree will write data to disk once it exceeds 300 MBytes. CASE 1: If fAutoSave is positive the watermark is reached when a multiple of fAutoSave entries have been filled. CASE 2: If fAutoSave is negative the watermark is reached when -fAutoSave bytes can be written to the file. CASE 3: If fAutoSave is 0, AutoSave() will never be called automatically as part of TTree::Fill().
|
virtualinherited |
Set or unset the user status bits as specified in f.
Definition at line 888 of file TObject.cxx.
|
overridevirtual |
Check if bname is already in the status list, and if not, create a TChainElement object and set its address.
See TTree::CheckBranchAddressType for the semantic of the return value.
Note: See the comments in TBranchElement::SetAddress() for a more detailed discussion of the meaning of the add parameter.
Reimplemented from TTree.
Definition at line 2621 of file TChain.cxx.
|
overrideprotectedvirtual |
Reimplemented from TTree.
Definition at line 3069 of file TChain.cxx.
|
overridevirtual |
Set branch address.
| [in] | bname | is the name of a branch. |
| [in] | add | is the address of the branch. |
| [in] | ptr |
Note: See the comments in TBranchElement::SetAddress() for a more detailed discussion of the meaning of the add parameter.
IMPORTANT REMARK:
In case TChain::SetBranchStatus is called, it must be called BEFORE calling this function.
See TTree::CheckBranchAddressType for the semantic of the return value.
Reimplemented from TTree.
Definition at line 2531 of file TChain.cxx.
|
overridevirtual |
Check if bname is already in the status list, and if not, create a TChainElement object and set its address.
See TTree::CheckBranchAddressType for the semantic of the return value.
Note: See the comments in TBranchElement::SetAddress() for a more detailed discussion of the meaning of the add parameter.
Reimplemented from TTree.
Definition at line 2609 of file TChain.cxx.
|
overridevirtual |
Set branch status to Process or DoNotProcess.
| [in] | bname | is the name of a branch. if bname="*", apply to all branches. |
| [in] | status | = 1 branch will be processed, = 0 branch will not be processed |
| [out] | found |
See IMPORTANT REMARKS in TTree::SetBranchStatus and TChain::SetBranchAddress
If found is not 0, the number of branch(es) found matching the regular expression is returned in *found AND the error message 'unknown branch' is suppressed.
Reimplemented from TTree.
Definition at line 2652 of file TChain.cxx.
|
staticinherited |
|
virtualinherited |
Set maximum size of the file cache (TTreeCache) in bytes.
The cacheSize might be clamped, see TFileCacheRead::SetBufferSize
TTreeCache's 'real' job is to actually prefetch (early grab from disk) the compressed data. The cachesize controls the size of the read bytes from disk.
Returns:
Reimplemented from TTree.
Definition at line 2449 of file TChain.cxx.
Set the maximum size of the file cache (TTreeCache) in bytes and create it if possible.
If autocache is true: this may be an autocreated cache, possibly enlarging an existing autocreated cache. The size is calculated. The value passed in cacheSize:
If autocache is false: this is a user requested cache. cacheSize is used to size the cache. This cache should never be automatically adjusted. If cachesize is 0, the cache is disabled (deleted if any).
The cacheSize might be clamped, see TFileCacheRead::SetBufferSize
TTreeCache's 'real' job is to actually prefetch (early grab from disk) the compressed data. The cachesize controls the size of the read bytes from disk.
Returns:
|
inlinevirtualinherited |
|
virtualinherited |
Enable/Disable circularity for this tree.
if maxEntries > 0 a maximum of maxEntries is kept in one buffer/basket per branch in memory. Note that when this function is called (maxEntries>0) the Tree must be empty or having only one basket per branch. if maxEntries <= 0 the tree circularity is disabled.
Circular Trees are interesting in online real time environments to store the results of the last maxEntries events.
Calling SetCircular with maxEntries <= 0 is necessary before merging circular Trees that have been saved on files.
SetCircular with maxEntries <= 0 is automatically called by TChain::Merge
A circular Tree can still be saved in a file. When read back, it is still a circular Tree and can be filled again.
|
inlinevirtualinherited |
Enables (or disables) the early decompression of the baskets of the current cluster (whose compressed data is already in memory if used in conjunction with the TTreeCache).
This affects performance only in conjunction with non-sequential use/load/read of the entries, ie within a cluster you can have cheap random access to the entries (instead of having to decompress again and again).
|
overridevirtual |
Remove reference to this chain from current directory and add reference to new directory dir.
dir can be 0 in which case the chain does not belong to any directory.
Reimplemented from TTree.
Definition at line 2679 of file TChain.cxx.
|
virtualinherited |
Set drawing option for object.
This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().
Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.
Definition at line 871 of file TObject.cxx.
|
staticinherited |
Set destructor only flag.
Definition at line 1204 of file TObject.cxx.
Change number of entries in the tree.
If n >= 0, set number of entries in the tree = n.
If n < 0, set number of entries in the tree to match the number of entries in each branch. (default for n is -1)
This function should be called only when one fills each branch independently via TBranch::Fill without calling TTree::Fill. Calling TTree::SetEntries() make sense only if the number of entries in each branch is identical, a warning is issued otherwise. The function returns the number of entries.
Reimplemented in THbookTree.
|
overridevirtual |
Set the input entry list (processing the entries of the chain will then be limited to the entries in the list).
| [in] | elist | The entry list to be assigned to this chain. |
| [in] | opt | An option string. Possible values are:
|
| std::runtime_error | If option "sync" was chosen and either:
|
This function finds correspondence between the sub-lists of the TEntryList and the trees of the TChain.
Reimplemented from TTree.
Definition at line 2716 of file TChain.cxx.
|
virtual |
Set the input entry list (processing the entries of the chain will then be limited to the entries in the list).
This function creates a special kind of entry list (TEntryListFromFile object) that loads lists, corresponding to the chain elements, one by one, so that only one list is in memory at a time.
If there is an error opening one of the files, this file is skipped and the next file is loaded
File naming convention:
If the list name is not specified (by passing filename_elist.root/listname to the TChain::SetEntryList() function, the first object of class TEntryList in the file is taken.
It is assumed, that there are as many list files, as there are elements in the chain and they are in the same order
Definition at line 2854 of file TChain.cxx.
|
virtualinherited |
|
overridevirtual |
This function transfroms the given TEventList into a TEntryList.
NOTE, that this function loads all tree headers, because the entry numbers in the TEventList are global and have to be recomputed, taking into account the number of entries in each tree.
The new TEntryList is owned by the TChain and gets deleted when the chain is deleted. This TEntryList is returned by GetEntryList() function, and after GetEntryList() function is called, the TEntryList is not owned by the chain any more and will not be deleted with it.
Reimplemented from TTree.
Definition at line 2900 of file TChain.cxx.
|
virtualinherited |
Set fFileNumber to number.
fFileNumber is used by TTree::Fill to set the file name for a new file to be created when the current file exceeds fgTreeMaxSize. (see TTree::ChangeFile) if fFileNumber=10, the new file name will have a suffix "_11", ie, fFileNumber is incremented before setting the file name
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
inlinevirtualinherited |
Set the fill area color.
Reimplemented in TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPDF, TPostScript, TSpider, TSVG, TTeXDump, and TVirtualX.
Definition at line 40 of file TAttFill.h.
|
inherited |
Reimplemented in TGraphMultiErrors.
|
inlinevirtualinherited |
Set the fill area style.
Reimplemented in TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPad, TSpider, and TVirtualX.
Definition at line 42 of file TAttFill.h.
|
inlinevirtualinherited |
|
inherited |
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
inlinevirtualinherited |
Set the line color.
Reimplemented in ROOT::Experimental::REveLine, ROOT::Experimental::REveStraightLineSet, ROOT::Experimental::REveTrackList, TEveLine, TEveStraightLineSet, TEveTrackList, TGeoVolume, TGeoVolumeMulti, TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TParallelCoordRange, TPDF, TPostScript, TSpider, TSVG, TTeXDump, and TVirtualX.
Definition at line 44 of file TAttLine.h.
|
inherited |
Reimplemented in TGraphMultiErrors.
|
inlinevirtualinherited |
Set the line style.
Reimplemented in ROOT::Experimental::REveLine, ROOT::Experimental::REveTrackList, TEveLine, TEveTrackList, TGeoVolume, TGeoVolumeMulti, TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPDF, TPostScript, TSpider, TSVG, TTeXDump, and TVirtualX.
Definition at line 46 of file TAttLine.h.
|
inlinevirtualinherited |
Set the line width.
Reimplemented in ROOT::Experimental::REveLine, ROOT::Experimental::REveTrackList, TEveLine, TEveTrackList, TGeoVolume, TGeoVolumeMulti, TGQuartz, TGraphMultiErrors, TGWin32, TGWin32VirtualXProxy, TGX11, TPaletteAxis, TParallelCoordRange, TPDF, TPostScript, TSpider, TSVG, TTeXDump, and TVirtualX.
Definition at line 47 of file TAttLine.h.
|
inlineoverridevirtual |
Set all the branches in this TTree to be in decomposed object mode (also known as MakeClass mode).
For MakeClass mode 0, the TTree expects the address where the data is stored to be set by either the user or the TTree to the address of a full object through the top level branch. For MakeClass mode 1, this address is expected to point to a numerical type or C-style array (variable or not) of numerical type, representing the primitive data members. The function's primary purpose is to allow the user to access the data directly with numerical type variable rather than having to have the original set of classes (or a reproduction thereof). In other words, SetMakeClass sets the branch(es) into a mode that allow its reading via a set of independent variables (see the result of running TTree::MakeClass on your TTree) by changing the interpretation of the address passed to SetAddress from being the beginning of the object containing the data to being the exact location where the data should be loaded. If you have the shared library corresponding to your object, it is better if you do MyClass *objp = 0; tree->SetBranchAddress("toplevel",&objp);, whereas if you do not have the shared library but know your branch data type, e.g. Int_t* ptr = new Int_t[10];, then: tree->SetMakeClass(1); tree->GetBranch("x")->SetAddress(ptr) is the way to go.
Reimplemented from TTree.
|
virtualinherited |
Reimplemented in TGWin32VirtualXProxy.
|
inlinevirtualinherited |
Set the marker color.
Reimplemented in ROOT::Experimental::REveLine, ROOT::Experimental::REvePointSet, ROOT::Experimental::REvePointSetArray, ROOT::Experimental::REveTrackList, TEveLine, TEvePointSet, TEvePointSetArray, TEveTrackList, TGQuartz, TGWin32, TGWin32VirtualXProxy, TGX11, TPDF, TPostScript, TSVG, TTeXDump, and TVirtualX.
Definition at line 41 of file TAttMarker.h.
|
inherited |
|
inlinevirtualinherited |
Set the marker size.
Note that the marker styles number 1 6 and 7 (the dots), cannot be scaled. They are meant to be very fast to draw and are always drawn with the same number of pixels; therefore this method does not apply on them.
Reimplemented in ROOT::Experimental::REvePointSet, ROOT::Experimental::REvePointSetArray, ROOT::Experimental::REveTrackList, TEvePointSet, TEvePointSetArray, TEveTrackList, TGQuartz, TGWin32, TGWin32VirtualXProxy, TGX11, TTeXDump, and TVirtualX.
Definition at line 48 of file TAttMarker.h.
|
inlinevirtualinherited |
Set the marker style.
Reimplemented in ROOT::Experimental::REvePointSet, ROOT::Experimental::REvePointSetArray, ROOT::Experimental::REveTrackList, TEvePointSet, TEvePointSetArray, TEveTrackList, TGQuartz, TGWin32, TGWin32VirtualXProxy, TGX11, and TVirtualX.
Definition at line 43 of file TAttMarker.h.
|
inlinevirtualinherited |
|
staticinherited |
Set the maximum size in bytes of a Tree file (static function).
The default size is 100000000000LL, ie 100 Gigabytes.
In TTree::Fill, when the file has a size > fgMaxTreeSize, the function closes the current file and starts writing into a new file with a name of the style "file_1.root" if the original requested file name was "file.root".
|
inlinevirtualinherited |
|
overridevirtual |
Change the name of this TChain.
Reimplemented from TNamed.
Definition at line 2958 of file TChain.cxx.
|
virtualinherited |
Set all the TNamed parameters (name and title).
WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.
Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.
Definition at line 163 of file TNamed.cxx.
|
virtualinherited |
Sets the address of the object to be notified when the tree is loaded.
The method TObject::Notify is called for the given object when the tree is loaded. Specifically this occurs in the TTree::LoadTree method. To remove the notification call this method with nullptr:
If this is a TChain, obj is most often going to be a TNotifyLink.
| [in] | obj | Pointer to a TObject to be notified. |
|
virtualinherited |
|
staticinherited |
Turn on/off tracking of objects in the TObjectTable.
Definition at line 1188 of file TObject.cxx.
|
virtual |
Set number of entries per packet for parallel root.
Definition at line 2980 of file TChain.cxx.
|
virtualinherited |
|
inlinevirtualinherited |
Sets the default maximum number of lines to be shown before <CR> when calling Scan().
| n | the maximum number of lines. Default=50, if 0, all entries of the Tree are shown and there is no need to press <CR> or q to exit the function. |
|
inlineinherited |
|
inlinevirtualinherited |
|
virtualinherited |
Set the title of the TNamed.
Reimplemented in Axis2, RooPlot, ROOT::Experimental::XRooFit::xRooNode, ROOT::TSchemaRule::TSources, TASImage, TEfficiency, TF1, TGraph2D, TGraph, TH1, THnBase, TParallelCoordVar, TSystemDirectory, and TSystemFile.
Definition at line 173 of file TNamed.cxx.
|
virtualinherited |
The current TreeIndex is replaced by the new index.
Note that this function does not delete the previous index. This gives the possibility to play with more than one index, e.g.,
|
virtualinherited |
Set the unique object id.
Definition at line 899 of file TObject.cxx.
|
inlinevirtualinherited |
Set chain weight.
The weight is used by TTree::Draw to automatically weight each selected entry in the resulting histogram. For example the equivalent of
is
By default the weight used will be the weight of each Tree in the TChain. However, one can force the individual weights to be ignored by specifying the option "global". In this case, the TChain global weight will be used for all Trees.
Reimplemented from TTree.
Definition at line 3009 of file TChain.cxx.
|
virtualinherited |
Return size of the TNamed part of the TObject.
Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.
Definition at line 182 of file TNamed.cxx.
|
privateinherited |
|
virtualinherited |
|
virtualinherited |
|
overridevirtual |
|
inline |
|
virtualinherited |
Issue system error message.
Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.
Definition at line 1112 of file TObject.cxx.
|
virtualinherited |
Unbinned fit of one or more variable(s) from a tree.
funcname is a TF1 function.
Fit the variable varexp using the function funcname using the selection cuts given by selection.
The list of fit options is given in parameter option.
You can specify boundary limits for some or all parameters via
if parmin>=parmax, the parameter is fixed
Note that you are not forced to fix the limits for all parameters. For example, if you fit a function with 6 parameters, you can do:
With this setup:
For the fit to be meaningful, the function must be self-normalized.
i.e. It must have the same integral regardless of the parameter settings. Otherwise the fit will effectively just maximize the area.
It is mandatory to have a normalization variable which is fixed for the fit. e.g.
1, 2 and 3 Dimensional fits are supported. See also TTree::Fit
Return status:
Dummy function kept for back compatibility.
The cache is now activated automatically when processing TTrees/TChain.
Definition at line 3065 of file TChain.cxx.
|
overridevirtualinherited |
|
virtualinherited |
Issue warning message.
Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.
Definition at line 1084 of file TObject.cxx.
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
Fill area color.
Definition at line 24 of file TAttFill.h.
|
protectedinherited |
Fill area style.
Definition at line 25 of file TAttFill.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
staticprotectedinherited |
|
staticprivateinherited |
|
protected |
|
staticprotectedinherited |
|
protectedinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Line color.
Definition at line 24 of file TAttLine.h.
|
protectedinherited |
Line style.
Definition at line 25 of file TAttLine.h.
|
protectedinherited |
Line width.
Definition at line 26 of file TAttLine.h.
|
protectedinherited |
|
protectedinherited |
Marker color.
Definition at line 24 of file TAttMarker.h.
|
protectedinherited |
Marker size.
Definition at line 26 of file TAttMarker.h.
|
protectedinherited |
Marker style.
Definition at line 25 of file TAttMarker.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protected |
|
protected |
|
protected |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
staticconstexpr |
|
staticconstexprinherited |