82 gROOT->GetListOfSpecials()->Add(
this);
91 gROOT->GetListOfDataSets()->Add(
this);
95 gROOT->GetListOfCleanups()->Add(
this);
167 gROOT->GetListOfSpecials()->Add(
this);
168 gROOT->GetListOfDataSets()->Add(
this);
171 gROOT->GetListOfCleanups()->Add(
this);
183 gROOT->GetListOfCleanups()->Remove(
this);
211 gROOT->GetListOfSpecials()->Remove(
this);
212 gROOT->GetListOfDataSets()->Remove(
this);
225 if (!chain)
return 0;
348 TString basename, treename, query, suffix;
362 directory = basename(0,slashpos);
363 basename.
Remove(0,slashpos+1);
377 if (!strcmp(
file,
".") || !strcmp(
file,
".."))
continue;
379 if ( (basename!=
file) &&
s.Index(re) ==
kNPOS)
continue;
461 Error(
"AddFile",
"No file name; no files connected");
465 const char *treename =
GetName();
466 if (tname && strlen(tname) > 0) treename = tname;
468 TString basename, tn, query, suffix;
472 treename = tn.
Data();
476 char *filename =
new char[nch+1];
477 strlcpy(filename,basename.
Data(),nch+1);
478 strlcat(filename,query.
Data(),nch+1);
509 Error(
"AddFile",
"cannot find tree with name %s in file %s", treename, filename);
518 pksize =
tree->GetPacketSize();
539 Warning(
"AddFile",
"Adding tree with no entries from file: %s", filename);
559 TIter next(filelist);
563 while ((o = next())) {
567 if (cn ==
"TFileInfo") {
571 Warning(
"AddFileInfoList",
"found TFileInfo with empty Url - ignoring");
574 }
else if (cn ==
"TUrl") {
575 url = ((
TUrl*)o)->GetUrl();
576 }
else if (cn ==
"TObjString") {
580 Warning(
"AddFileInfoList",
"object is of type %s : expecting TFileInfo, TUrl"
581 " or TObjString - ignoring", o->
ClassName());
666 Warning(
"AddFriend",
"Unknown TChain %s", chain);
693 Warning(
"AddFriend",
"Unknown TChain %s",chain);
813 if (
LoadTree(firstentry) < 0)
return 0;
907 Warning(
"GetBranchStatus",
"PROOF proxy not up-to-date:"
908 " run TChain::SetProof(kTRUE, kTRUE) first");
921 Fatal(
"GetClusterIterator",
"Not support for TChain object");
945 Warning(
"GetEntries",
"PROOF proxy not up-to-date:"
946 " run TChain::SetProof(kTRUE, kTRUE) first");
967 if (treeReadEntry < 0) {
991 if (localentry<0)
return -1;
994 for (
Int_t i=0; i<=treenum; i++){
1019 if (serial < 0)
return -1;
1138 if (curmax > theMax) {
1155 if (curmin < theMin) {
1187 Warning(
"GetBranchStatus",
"PROOF proxy not up-to-date:"
1188 " run TChain::SetProof(kTRUE, kTRUE) first");
1252 Error(
"LoadBaskets",
"Function not yet implemented for TChain.");
1305 for (treenum = 0; treenum <
fNtrees; treenum++) {
1352 Int_t newNumber = ((
TChain*) at)->GetTreeNumber();
1353 if ((oldNumber != newNumber) || (old != at->
GetTree()) || (oldintree && (oldintree != at->
GetTree()))) {
1420 return treeReadEntry;
1478 if (treeReadEntry) {
1497 Int_t returnCode = 0;
1511 Error(
"LoadTree",
"Cannot find tree with name %s in file %s", element->
GetName(), element->
GetTitle());
1609 if (loadResult == treeReadEntry) {
1705 return treeReadEntry;
1719 printf(
"TChain::Lookup - Looking up %d files .... \n", nelements);
1737 if (!stg || !stg->
Matches(eurl)) {
1744 Error(
"Lookup",
"TFileStager instance cannot be instantiated");
1748 Int_t n1 = (nelements > 100) ? (
Int_t) nelements / 100 : 1;
1750 if (nlook > 0 && !(nlook % n1)) {
1751 printf(
"Lookup | %3d %% finished\r", 100 * nlook / nelements);
1767 Error(
"Lookup",
"file %s does not exist\n", eurl.
Data());
1769 Error(
"Lookup",
"file %s cannot be read\n", eurl.
Data());
1773 printf(
"Lookup | %3d %% finished\n", 100 * nlook / nelements);
1785 Error(
"Loop",
"Function not yet implemented");
1787 if (option ||
nentries || firstentry) { }
1790 if (
LoadTree(firstentry) < 0)
return;
1792 if (firstentry < 0) firstentry = 0;
1800 fSelector->Start(option);
1807 if (en > lastentry) en = lastentry;
1808 if (entry > en)
continue;
1811 fSelector->BeginFile();
1813 while (entry <= en) {
1814 fSelector->Execute(
fTree, entry - e0);
1817 fSelector->EndFile();
1820 fSelector->Finish(option);
1871 Error(
"Merge",
"not implemented");
1880 Error(
"Merge",
"not implemented");
2047 while ((branch = (
TBranch*) nextb())) {
2053 if (basketsize > 1000) {
2056 while ((branch = (
TBranch*) nextb())) {
2063 if ( newTree->
CopyEntries(
this, -1, option ) < 0 ) {
2065 Error(
"Merge",
"TTree has not been cloned\n");
2164 static const char *dotr =
".root";
2165 static Ssiz_t dotrl = strlen(dotr);
2168 while (js !=
kNPOS) {
2170 js = filename.
Index(dotr, js + 1);
2172 if (pIdx !=
kNPOS) {
2173 static const char *
slash =
"/";
2177 if (ppIdx !=
kNPOS) {
2179 treename = filename(ppIdx + slashl, filename.
Length());
2180 filename.
Remove(ppIdx + slashl - 1);
2195 Printf(
"******************************************************************************");
2197 Printf(
"******************************************************************************");
2336 static Int_t chCounter = 0;
2342 chName += chCounter;
2347 out <<
" TChain *" << chName.
Data() <<
" = new TChain(\"" <<
GetName() <<
"\");" << std::endl;
2353 if (
dynamic_cast<TChain *
>(frtree)) {
2357 out <<
" " << chName.
Data() <<
"->AddFriend(\"" << frtree->
GetName() <<
"\");" << std::endl;
2361 out <<
" " << chName.
Data() <<
"->AddFriend(\"" << frtree->
GetName() <<
"\", \"" <<
file->GetName()
2362 <<
"\");" << std::endl;
2373 out <<
" " << chName.
Data() <<
"->AddFile(\"" << chel->
GetTitle() <<
"\");" << std::endl;
2384 out <<
" " << chName.
Data() <<
"->SetMarkerColor(ci);" << std::endl;
2386 out <<
" " << chName.
Data() <<
"->SetMarkerColor(" <<
GetMarkerColor() <<
");" << std::endl;
2389 out <<
" " << chName.
Data() <<
"->SetMarkerStyle(" <<
GetMarkerStyle() <<
");" << std::endl;
2392 out <<
" " << chName.
Data() <<
"->SetMarkerSize(" <<
GetMarkerSize() <<
");" << std::endl;
2527 if (cloneBr && (cloneBr->
GetAddress() == oldAdd)) {
2539 Error(
"SetBranchAddress",
"unknown branch -> %s", bname);
2671 if (elist->
GetN() == 0){
2688 for (
Int_t ie = 0; ie<ne; ie++){
2690 treename = chainElement->GetName();
2691 filename = chainElement->GetTitle();
2692 templist = elist->
GetEntryList(treename, filename, opt);
2699 if (listfound == 0){
2700 Error(
"SetEntryList",
"No list found for the trees in this chain");
2763 Int_t dotslashpos = basename.
Index(
".root/");
2765 if (dotslashpos>=0) {
2767 behind_dot_root = basename(dotslashpos+6,basename.
Length()-dotslashpos+6);
2769 basename.
Remove(dotslashpos+5);
2825 char enlistname[100];
2832 const char *treename;
2833 const char *filename;
2838 printf(
"loading trees\n");
2841 for (
Int_t i=0; i<nsel; i++){
2853 enlist->
SetTree(treename, filename);
2854 enlist->
Enter(localentry);
2869 gROOT->GetListOfCleanups()->Remove(
this);
2870 gROOT->GetListOfSpecials()->Remove(
this);
2871 gROOT->GetListOfDataSets()->Remove(
this);
2877 gROOT->GetListOfCleanups()->Add(
this);
2878 gROOT->GetListOfSpecials()->Add(
this);
2879 gROOT->GetListOfDataSets()->Add(
this);
2925 if ((
h =
gROOT->GetPluginManager()->FindHandler(
"TChain",
"proof"))) {
2926 if (
h->LoadPlugin() == -1)
2928 if (!(
fProofChain =
reinterpret_cast<TChain *
>(
h->ExecPlugin(2,
this, gettreeheader))))
2929 Error(
"SetProof",
"creation of TProofChain failed");
2971 if (
b.IsReading()) {
2975 gROOT->GetListOfCleanups()->Remove(
this);
2979 Version_t R__v =
b.ReadVersion(&R__s, &R__c);
2993 b.CheckByteCount(R__s, R__c, TChain::IsA());
2999 gROOT->GetListOfCleanups()->Add(
this);
static RooMathCoreReg dummy
R__EXTERN TVirtualMutex * gROOTMutex
void Printf(const char *fmt,...)
R__EXTERN TSystem * gSystem
#define R__LOCKGUARD(mutex)
#define R__WRITE_LOCKGUARD(mutex)
virtual Style_t GetMarkerStyle() const
Return the marker style.
virtual Color_t GetMarkerColor() const
Return the marker color.
virtual Size_t GetMarkerSize() const
Return the marker size.
A TTree is a list of TBranches.
virtual void SetAutoDelete(Bool_t autodel=kTRUE)
Set the automatic delete bit.
virtual char * GetAddress() const
void SetCompressionSettings(Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
Set compression settings.
virtual void SetAddress(void *add)
Set address of this branch.
virtual Bool_t GetMakeClass() const
Return whether this branch is in a mode where the object are decomposed or not (Also known as MakeCla...
virtual Bool_t SetMakeClass(Bool_t decomposeObj=kTRUE)
Set the branch in a mode where the object are decomposed (Also known as MakeClass mode).
virtual void SetBasketSize(Int_t buffsize)
Set the basket size The function makes sure that the basket size is greater than fEntryOffsetlen.
Using a TBrowser one can browse all ROOT objects.
Buffer base class used for serializing objects.
A TChainElement describes a component of a TChain.
void SetLoadResult(Int_t result)
void SetCheckedType(Bool_t m)
virtual void SetBaddressClassName(const char *clname)
virtual Long64_t GetEntries() const
void SetDecomposedObj(Bool_t m)
virtual void SetLookedUp(Bool_t y=kTRUE)
Set/Reset the looked-up bit.
virtual void SetPacketSize(Int_t size=100)
Set number of entries per packet for parallel root.
virtual void SetStatus(Int_t status)
virtual UInt_t GetBaddressType() const
virtual void SetNumberEntries(Long64_t n)
virtual TBranch ** GetBranchPtr() const
virtual Int_t GetPacketSize() const
virtual void SetBaddress(void *add)
virtual void CreatePackets()
Initialize the packet descriptor string.
virtual void SetBranchPtr(TBranch **ptr)
Int_t GetLoadResult() const
virtual Int_t GetStatus() const
Bool_t GetCheckedType() const
virtual Bool_t HasBeenLookedUp()
virtual Bool_t GetBaddressIsPtr() const
virtual void * GetBaddress() const
virtual void SetBaddressType(UInt_t type)
virtual const char * GetBaddressClassName() const
virtual void SetBaddressIsPtr(Bool_t isptr)
A chain is a collection of files containing TTree objects.
virtual void Reset(Option_t *option="")
Resets the state of this chain.
virtual TBranch * GetBranch(const char *name)
Return pointer to the branch name in the current tree.
virtual ~TChain()
Destructor.
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save TChain as a C++ statements on output stream out.
virtual Long64_t Draw(const char *varexp, const TCut &selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Draw expression varexp for selected entries.
virtual void ResetAfterMerge(TFileMergeInfo *)
Resets the state of this chain after a merge (keep the customization but forget the data).
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Get entry from the file to memory.
Int_t fNtrees
Number of trees.
TObjArray * GetListOfFiles() const
virtual void SetAutoDelete(Bool_t autodel=kTRUE)
Set the global branch kAutoDelete bit.
virtual void SetWeight(Double_t w=1, Option_t *option="")
Set chain weight.
virtual Long64_t LoadTree(Long64_t entry)
Find the tree which contains entry, and set it as the current tree.
virtual void SetDirectory(TDirectory *dir)
Remove reference to this chain from current directory and add reference to new directory dir.
virtual Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Process all entries in this chain, calling functions in filename.
virtual void Print(Option_t *option="") const
Print the header information of each tree in the chain.
virtual Double_t GetMaximum(const char *columname)
Return maximum of column with name columname.
virtual void DirectoryAutoAdd(TDirectory *)
Override the TTree::DirectoryAutoAdd behavior: we never auto add.
virtual TObjArray * GetListOfBranches()
Return a pointer to the list of branches of the current tree.
virtual void RemoveFriend(TTree *)
Remove a friend from the list of friends.
virtual TObjArray * GetListOfLeaves()
Return a pointer to the list of leaves of the current tree.
virtual Int_t AddFile(const char *name, Long64_t nentries=TTree::kMaxEntries, const char *tname="")
Add a new file to this chain.
Long64_t * fTreeOffset
[fTreeOffsetLen] Array of variables
virtual Bool_t GetBranchStatus(const char *branchname) const
See TTree::GetReadEntry().
virtual TTree * GetTree() const
virtual TLeaf * FindLeaf(const char *name)
See TTree::GetReadEntry().
virtual void SetEntryList(TEntryList *elist, Option_t *opt="")
Set the input entry list (processing the entries of the chain will then be limited to the entries in ...
virtual TBranch * FindBranch(const char *name)
See TTree::GetReadEntry().
virtual void Loop(Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Loop on nentries of this chain starting at firstentry. (NOT IMPLEMENTED)
TChain * fProofChain
! chain proxy when going to be processed by PROOF
virtual void Browse(TBrowser *)
Browse the contents of the chain.
virtual Int_t AddFileInfoList(TCollection *list, Long64_t nfiles=TTree::kMaxEntries)
Add all files referenced in the list to the chain.
virtual Int_t SetCacheSize(Long64_t cacheSize=-1)
Set maximum size of the file cache .
virtual Long64_t Scan(const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Loop on tree and print entries passing selection.
virtual void SetBranchStatus(const char *bname, Bool_t status=1, UInt_t *found=0)
Set branch status to Process or DoNotProcess.
virtual void CreatePackets()
Initialize the packet descriptor string.
void ParseTreeFilename(const char *name, TString &filename, TString &treename, TString &query, TString &suffix, Bool_t wildcards) const
Get the tree url or filename and other information from the name.
virtual TLeaf * GetLeaf(const char *branchname, const char *leafname)
Return a pointer to the leaf name in the current tree.
TList * fStatus
-> List of active/inactive branches (TChainElement, owned)
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.
TTree * fTree
! Pointer to current tree (Note: We do not own this tree.)
virtual Long64_t GetEntries() const
Return the total number of entries in the chain.
virtual Int_t Add(TChain *chain)
Add all files referenced by the passed chain to this chain.
virtual TFriendElement * AddFriend(const char *chainname, const char *dummy="")
Add a TFriendElement to the list of friends of this chain.
virtual const char * GetAlias(const char *aliasName) const
Returns the expanded value of the alias. Search in the friends if any.
virtual void ResetBranchAddress(TBranch *)
Reset the addresses of the branch.
virtual void ResetBranchAddresses()
Reset the addresses of the branches.
virtual Int_t LoadBaskets(Long64_t maxmemory)
Dummy function.
virtual void SetProof(Bool_t on=kTRUE, Bool_t refresh=kFALSE, Bool_t gettreeheader=kFALSE)
Enable/Disable PROOF processing on the current default Proof (gProof).
TChain()
Default constructor.
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 ...
Int_t fTreeOffsetLen
Current size of fTreeOffset array.
virtual void CanDeleteRefs(Bool_t flag=kTRUE)
When closing a file during the chain processing, the file may be closed with option "R" if flag is se...
virtual Long64_t GetReadEntry() const
See TTree::GetReadEntry().
virtual Int_t GetEntryWithIndex(Int_t major, Int_t minor=0)
Return entry corresponding to major and minor number.
virtual TClusterIterator GetClusterIterator(Long64_t firstentry)
Return an iterator over the cluster of baskets starting at firstentry.
virtual Int_t GetNbranches()
Return the number of branches of the current tree.
TObjArray * fFiles
-> List of file names containing the trees (TChainElement, owned)
virtual void SetEventList(TEventList *evlist)
This function transfroms the given TEventList into a TEntryList.
virtual void RecursiveRemove(TObject *obj)
Make sure that obj (which is being deleted or will soon be) is no longer referenced by this TTree.
Bool_t fCanDeleteRefs
! If true, TProcessIDs are deleted when closing a file
TFile * fFile
! Pointer to current file (We own the file).
virtual Double_t GetWeight() const
Return the chain weight.
virtual Long64_t GetEntryNumber(Long64_t entry) const
Return entry number corresponding to entry.
virtual void UseCache(Int_t maxCacheSize=10, Int_t pageSize=0)
Dummy function kept for back compatibility.
virtual void SetName(const char *name)
Change the name of this TChain.
void InvalidateCurrentTree()
Set the TTree to be reloaded as soon as possible.
virtual void ls(Option_t *option="") const
List the chain.
TFile * GetFile() const
Return a pointer to the current file.
virtual void SetPacketSize(Int_t size=100)
Set number of entries per packet for parallel root.
Int_t fTreeNumber
! Current Tree number in fTreeOffset table
void Lookup(Bool_t force=kFALSE)
Check / locate the files in the chain.
virtual Double_t GetMinimum(const char *columname)
Return minimum of column with name columname.
virtual Long64_t GetChainEntryNumber(Long64_t entry) const
Return absolute entry number in the chain.
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=0)
Set branch address.
TClass instances represent classes, structs and namespaces in the ROOT type system.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
Collection abstract base class.
static void SaveColor(std::ostream &out, Int_t ci)
Save a color with index > 228 as a C++ statement(s) on output stream out.
A specialized string object used for TTree selections.
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
Small helper to keep current directory context.
Describe directory structure in memory.
virtual TList * GetList() const
virtual void Append(TObject *obj, Bool_t replace=kFALSE)
Append object to this directory.
virtual TFile * GetFile() const
virtual TObject * Remove(TObject *)
Remove an object from the in-memory list.
Manages entry lists from different files, when they are not loaded in memory at the same time.
A List of entry numbers in a TTree or TChain.
virtual TEntryList * GetEntryList(const char *treename, const char *filename, Option_t *opt="")
Return the entry list, corresponding to treename and filename By default, the filename is first tried...
virtual Int_t GetTreeNumber() const
virtual void SetShift(Bool_t shift)
virtual TList * GetLists() const
virtual void SetReapplyCut(Bool_t apply=kFALSE)
virtual void SetTree(const TTree *tree)
If a list for a tree with such name and filename exists, sets it as the current sublist If not,...
virtual void SetTreeNumber(Int_t index)
virtual void SetDirectory(TDirectory *dir)
Add reference to directory dir. dir can be 0.
virtual Bool_t Enter(Long64_t entry, TTree *tree=0)
Add entry #entry to the list.
virtual Long64_t GetEntryAndTree(Int_t index, Int_t &treenum)
Return the index of "index"-th non-zero entry in the TTree or TChain and the # of the corresponding t...
virtual Long64_t GetN() const
A TEventList object is a list of selected events (entries) in a TTree.
virtual Long64_t GetEntry(Int_t index) const
Return value of entry at index in the list.
virtual Int_t GetN() const
virtual Bool_t GetReapplyCut() const
Class describing a generic file including meta information.
TUrl * GetCurrentUrl() const
Return the current url.
virtual Bool_t Matches(const char *s)
static TFileStager * Open(const char *stager)
Open a stager, after having loaded the relevant plug-in.
virtual Int_t Locate(const char *u, TString &f)
Just check if the file exists locally.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
void Close(Option_t *option="") override
Close a file.
virtual void SetCacheRead(TFileCacheRead *cache, TObject *tree=0, ECacheAction action=kDisconnect)
Set a pointer to the read cache.
A TFriendElement TF describes a TTree object TF in a file.
virtual TTree * GetTree()
Return pointer to friend TTree.
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
virtual void Add(TObject *obj)
virtual TObject * Remove(TObject *obj)
Remove object from the list.
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual TObjLink * FirstLink() const
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
The TNamed class is the base class for all named ROOT classes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * UncheckedAt(Int_t i) const
virtual void Delete(Option_t *option="")
Remove all objects from the array AND delete all heap based objects.
virtual TObject * Remove(TObject *obj)
Remove object from array.
TObject * At(Int_t idx) const
Wrapper around a TObject so it can be stored in a TList.
TObject * GetObject() const
Collectable string class.
const char * GetName() const
Returns name of object.
Mother of all ROOT objects.
virtual Bool_t Notify()
This method must be overridden to handle object notification.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
R__ALWAYS_INLINE Bool_t IsZombie() const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
@ kCanDelete
if object in a list can be deleted
@ kInvalidObject
if object ctor succeeded but object should not be used
@ kMustCleanup
if object destructor must call RecursiveRemove()
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
Regular expression class.
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
void ToLower()
Change string to lower-case.
TString & Insert(Ssiz_t pos, const char *s)
void Clear()
Clear string without changing its capacity.
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TString & Remove(Ssiz_t pos)
Bool_t MaybeWildcard() const
Returns true if string contains one of the wildcard characters "[]*?".
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual void FreeDirectory(void *dirp)
Free a directory.
virtual void * OpenDirectory(const char *name)
Open a directory. Returns 0 if directory does not exist.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries.
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual const char * WorkingDirectory()
Return working directory.
A cache to speed-up the reading of ROOT datasets.
virtual void UpdateBranches(TTree *tree)
Update pointer to current Tree and recompute pointers to the branches in the cache.
virtual void ResetCache()
This will simply clear the cache.
Helper class to iterate over cluster of baskets.
Helper class to prevent infinite recursion in the usage of TTree Friends.
A TTree represents a columnar dataset.
virtual TFriendElement * AddFriend(const char *treename, const char *filename="")
Add a TFriendElement to the list of friends.
virtual TBranch * FindBranch(const char *name)
Return the branch that correspond to the path 'branchname', which can include the name of the tree or...
virtual TBranch * GetBranch(const char *name)
Return pointer to the branch with the given name in this tree or its friends.
TList * fFriends
pointer to list of friend elements
UInt_t fFriendLockStatus
! Record which method is locking the friend recursion
TEventList * fEventList
! Pointer to event selection list (if one)
virtual void SetCircular(Long64_t maxEntries)
Enable/Disable circularity for this tree.
virtual TClusterIterator GetClusterIterator(Long64_t firstentry)
Return an iterator over the cluster of baskets starting at firstentry.
virtual void ResetBranchAddress(TBranch *)
Tell all of our branches to set their addresses to zero.
virtual Int_t CheckBranchAddressType(TBranch *branch, TClass *ptrClass, EDataType datatype, Bool_t ptr)
Check whether or not the address described by the last 3 parameters matches the content of the branch...
virtual Long64_t GetEntryNumberWithIndex(Long64_t major, Long64_t minor=0) const
Return entry number corresponding to major and minor number.
virtual TObjArray * GetListOfLeaves()
TFile * GetCurrentFile() const
Return pointer to the current file.
TVirtualTreePlayer * GetPlayer()
Load the TTreePlayer (if not already done).
virtual Double_t GetWeight() const
virtual Double_t GetMaximum(const char *columname)
Return maximum of column with name columname.
TVirtualTreePlayer * fPlayer
! Pointer to current Tree player
virtual void SetMakeClass(Int_t make)
Set all the branches in this TTree to be in decomposed object mode (also known as MakeClass mode).
TDirectory * GetDirectory() const
TTreeCache * GetReadCache(TFile *file) const
Find and return the TTreeCache registered with the file and which may contain branches for us.
Bool_t fCacheUserSet
! true if the cache setting was explicitly given by user
Long64_t fEntries
Number of entries.
virtual Bool_t GetBranchStatus(const char *branchname) const
Return status of branch with name branchname.
TEntryList * fEntryList
! Pointer to event selection list (if one)
virtual TVirtualIndex * GetTreeIndex() const
virtual void SetMaxVirtualSize(Long64_t size=0)
virtual void SetAutoSave(Long64_t autos=-300000000)
This function may be called at the start of a program to change the default value for fAutoSave (and ...
virtual Long64_t CopyEntries(TTree *tree, Long64_t nentries=-1, Option_t *option="")
Copy nentries from given tree to this tree.
virtual Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Process this tree executing the TSelector code in the specified filename.
virtual void ResetAfterMerge(TFileMergeInfo *)
Resets the state of this TTree after a merge (keep the customization but forget the data).
virtual void CopyAddresses(TTree *, Bool_t undo=kFALSE)
Set branch addresses of passed tree equal to ours.
virtual Long64_t GetEntries() const
virtual TTree * CloneTree(Long64_t nentries=-1, Option_t *option="")
Create a clone of this tree and copy nentries.
virtual TLeaf * GetLeaf(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 fri...
virtual void Reset(Option_t *option="")
Reset baskets, buffers and entries count in all branches and leaves.
Long64_t fMaxVirtualSize
Maximum total size of buffers kept in memory.
Double_t fWeight
Tree weight (see TTree::SetWeight)
virtual Long64_t GetReadEntry() const
virtual TObjArray * GetListOfBranches()
virtual TTree * GetTree() const
virtual Long64_t LoadTree(Long64_t entry)
Set current entry.
virtual const char * GetAlias(const char *aliasName) const
Returns the expanded value of the alias. Search in the friends if any.
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all branches of entry and return total number of bytes read.
virtual Double_t GetMinimum(const char *columname)
Return minimum of column with name columname.
virtual void RemoveFriend(TTree *)
Remove a friend from the list of friends.
virtual Long64_t LoadTreeFriend(Long64_t entry, TTree *T)
Load entry on behalf of our master tree, we may use an index.
virtual void Browse(TBrowser *)
Browse content of the TTree.
virtual Int_t GetTreeNumber() const
TObject * fNotify
! Object to be notified when loading a Tree
virtual TList * GetListOfClones()
Long64_t fCacheSize
! Maximum size of file buffers
TList * fClones
! List of cloned trees which share our addresses
virtual void Draw(Option_t *opt)
Default Draw method for all objects.
virtual void SetName(const char *name)
Change the name of this tree.
virtual TList * GetListOfFriends() const
Long64_t fReadEntry
! Number of the entry being processed
virtual Int_t GetNbranches()
virtual TLeaf * FindLeaf(const char *name)
Find leaf..
TDirectory * fDirectory
! Pointer to directory holding this tree
@ kNeedEnableDecomposedObj
virtual void ResetBranchAddresses()
Tell all of our branches to drop their current objects and allocate new ones.
virtual Int_t SetCacheSize(Long64_t cachesize=-1)
Set maximum size of the file cache .
void AddClone(TTree *)
Add a cloned tree to our list of trees to be notified whenever we change our branch addresses or when...
virtual void SetBranchStatus(const char *bname, Bool_t status=1, UInt_t *found=0)
Set branch status to Process or DoNotProcess.
virtual Int_t GetFileNumber() const
virtual void SetChainOffset(Long64_t offset=0)
Int_t fPacketSize
! Number of entries in one packet for parallel root
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual Long64_t Scan(const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Loop over tree entries and print entries passing selection.
Int_t fMakeClass
! not zero when processing code generated by MakeClass
static constexpr Long64_t kMaxEntries
This class represents a WWW compatible URL.
const char * GetAnchor() const
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
void SetAnchor(const char *anchor)
const char * GetFileAndOptions() const
Return the file and its options (the string specified behind the ?).
const char * GetFile() const
void SetUrl(const char *url, Bool_t defaultIsFile=kFALSE)
Parse url character string and split in its different subcomponents.
void SetOptions(const char *opt)
const char * GetOptions() const
const char * GetProtocol() const
virtual void UpdateFormulaLeaves(const TTree *parent)=0
virtual void UpdateFormulaLeaves()=0
R__EXTERN TVirtualRWMutex * gCoreMutex
static constexpr double s