64 fDirectory(),
fFirst(0), fNum(0), fMsd(),
65 fTDSetOffset(0), fEntryList(0), fValid(
kFALSE),
66 fEntries(0), fFriends(0), fDataSet(), fAssocObjList(0),
82 const char *msd,
const char *dataset)
86 Warning(
"TDSetElement",
"first must be >= 0, %lld is not allowed - setting to 0", first);
92 Warning(
"TDSetElement",
"num must be >= -1, %lld is not allowed - setting to -1", num);
185 if (!elem)
return -1;
208 }
else if (
fFirst == lastelem + 1) {
213 lastref = (lastelem > last) ? lastelem : last;
215 }
else if (fFirst < lastelem + 1 && fFirst >= elem->
GetFirst()) {
217 lastref = (lastelem > last) ? lastelem : last;
220 fNum = lastref -
fFirst + 1;
236 Printf(
"entries: %lld (%lld)", entries,
fNum);
237 if (!strcmp(type,
"TTree")) {
263 if (opt && opt[0] ==
'a') {
264 Printf(
"%s file=\"%s\" dir=\"%s\" obj=\"%s\" first=%lld num=%lld msd=\"%s\"",
278 if (entries < 0)
return;
287 Error(
"Validate",
"TDSetElement has only %lld entries starting" 288 " with entry %lld, while %lld were requested",
293 Error(
"Validate",
"TDSetElement has only %lld entries with" 294 " first entry requested as %lld", entries,
fFirst);
315 Error(
"Validate",
"TDSetElement to validate against is not valid");
321 if ((name == elemname) &&
333 Error(
"Validate",
"TDSetElement requests %lld entries starting" 334 " with entry %lld, while TDSetElement to validate against" 335 " has only %lld entries",
fNum,
fFirst, entries);
339 Error(
"Validate",
"TDSetElement to validate against has only %lld" 340 " entries, but this TDSetElement requested %lld as its first" 341 " entry", entries,
fFirst);
344 Error(
"Validate",
"TDSetElements do not refer to same objects");
353 if (
this == obj)
return 0;
378 if (!friendElement) {
379 Error(
"AddFriend",
"The friend TDSetElement is null!");
387 if (alias && strlen(alias) > 0) {
392 friendElement->
SetName(uf.GetUrl());
416 fIterator =
new TIter(fElements);
453 "cannot open file %s (type: %d, pfx: %s)",
GetName(), typ, pfx.Data());
488 while ((k = (
TKey *) nxk())) {
489 if (!strcmp(k->GetClassName(),
"TTree")) {
491 if (kn.Index(re) !=
kNPOS) {
495 }
else if (kn != on) {
497 "additional tree found in the file: %s", kn.Data());
507 Error(
"GetEntries",
"cannot find tree \"%s\" in %s",
536 static Int_t xNetPluginOK = -1;
557 if (xNetPluginOK == -1) {
560 if ((h =
gROOT->GetPluginManager()->FindHandler(
"TFile",
name)) &&
572 Error(
"Lookup",
"TFileStager instance cannot be instantiated");
586 Error(
"Lookup",
"couldn't lookup %s",
name.Data());
613 Error(
"SetEntryList",
"type of input object must be either TEntryList " 614 "or TEventList (found: '%s' - do nothing", aList->
ClassName());
622 for (; num > 0; num--, first++)
722 gROOT->GetListOfDataSets()->Add(
this);
742 const char *objname,
const char *dir,
const char *
type)
761 if (name && strlen(name) > 0) {
775 if (strlen(type) > 0)
779 }
else if (type && strlen(type) > 0) {
802 gROOT->GetListOfDataSets()->Add(
this);
858 Long64_t nent = (elem->GetEntries() > 0 &&
861 if (elem->HasBeenLookedUp()) {
876 while (chainsQueue.
GetSize() > 0) {
880 while(
TFriendElement *fe = dynamic_cast<TFriendElement*> (friendsIter()) ) {
881 if (
TChain *
fc = dynamic_cast<TChain*>(fe->GetTree())) {
889 Error(
"TDSet",
"Only TChains supported. Found illegal tree %s",
890 fe->GetTree()->GetName());
909 gROOT->GetListOfDataSets()->Remove(
this);
922 if (!IsValid() || !fElements->GetSize()) {
923 Error(
"Process",
"not a correctly initialized TDSet");
931 return gProof->
Process(
this, selector, option, nentries, first);
933 Error(
"Process",
"no active PROOF session");
947 if (!IsValid() || !fElements->GetSize()) {
948 Error(
"Process",
"not a correctly initialized TDSet");
956 return gProof->
Process(
this, selector, option, nentries, first);
958 Error(
"Process",
"no active PROOF session");
971 Error(
"AddInput",
"No PROOF session active");
1010 const char *clnm = (IsA()) ? IsA()->GetName() :
"TDSet";
1011 Printf(
"OBJ: %s\ttype %s\t%s\tin %s\telements %d", clnm,
GetName(),
1012 fObjName.Data(),
GetTitle(), GetListOfElements()->GetSize());
1014 if (opt && opt[0] ==
'a') {
1015 TIter next(GetListOfElements());
1017 while ((obj = next())) {
1030 TIter next(GetListOfElements());
1055 if (!file || !*file) {
1056 Error(
"Add",
"file name must be specified");
1078 fElements->Add(
new TDSetElement(fn, objname, dir, first, num, msd));
1081 msg.
Form(
"duplication detected: %40s is already in dataset - ignored", fn.
Data());
1084 msg.
Insert(0,
"WARNING: ");
1101 fElements->Add(dset);
1106 Error(
"Add",
"cannot add a set with a different type");
1112 TObject *last = (dset ==
this) ? fElements->Last() : 0;
1116 if (el == last)
break;
1139 TIter next(filelist);
1140 while ((o = next())) {
1142 if (cn ==
"TFileInfo") {
1144 if (!availableOnly ||
1147 Int_t nf = fElements->GetSize();
1150 if (fElements->GetSize() <= nf && badlist) badlist->
Add(fi);
1151 }
else if (badlist) {
1155 }
else if (cn ==
"TUrl") {
1157 }
else if (cn ==
"TObjString") {
1160 Warning(
"Add",
"found object fo unexpected type %s - ignoring", cn.Data());
1176 if (fSrvMaps) fSrvMapsIter =
new TIter(fSrvMaps);
1188 Error(
"Add",
"TFileInfo object name must be specified");
1199 file = file1.
Data();
1203 if (fElements->FindObject(file)) {
1204 msg.
Form(
"duplication detected: %40s is already in dataset - ignored", file);
1207 msg.
Insert(0,
"WARNING: ");
1217 if (!meta || strlen(meta) <= 0 || !strcmp(meta,
"/")) {
1220 msg.
Form(
"\n Object name unspecified and several objects available.\n");
1221 msg +=
" Please choose one from the list below:\n";
1225 if (
nm.BeginsWith(
"/"))
nm.Remove(0,1);
1226 msg +=
Form(
" %s -> TProof::Process(\"%s#%s\",...)\n",
1241 const char *objname = 0;
1242 const char *dir = 0;
1254 const char *dataset = 0;
1281 if (fElements->GetSize() <= 0)
1284 Bool_t force = (opt[0] ==
'F' || opt[0] ==
'f');
1290 Info(
"ExportFileList",
"error removing dataset file: %s", fpath);
1301 TIter next(fElements);
1317 Info(
"ExportFileList",
"error creating dataset file: %s", fpath);
1338 Error(
"AddFriend",
"The friend TDSet is null!");
1343 Error(
"AddFriend",
"a friend set can only be added to a TTree TDSet");
1346 TList *thisList = GetListOfElements();
1349 Error(
"AddFriend",
"the friend dataset has %d elements while the main one has %d",
1353 TIter next(thisList);
1354 TIter next2(friendsList);
1356 if (friendsList->
GetSize() == 1)
1357 friendElem = dynamic_cast<TDSetElement*> (friendsList->
First());
1358 while(
TDSetElement*
e = dynamic_cast<TDSetElement*> (next())) {
1360 e->AddFriend(friendElem, alias);
1362 e->AddFriend(dynamic_cast<TDSetElement*> (next2()), alias);
1372 fIterator =
new TIter(fElements);
1400 gPerfStats->FileOpenEvent(file, filename, start);
1404 "cannot open file %s (type: %d, pfx: %s)", filename, typ, pfx.Data());
1409 if (!file->
cd(path)) {
1410 ::Error(
"TDSet::GetEntries",
"cannot cd to %s", path);
1437 while ((k = (
TKey *) nxk())) {
1438 if (!strcmp(k->GetClassName(),
"TTree")) {
1440 if (kn.Index(re) !=
kNPOS) {
1444 }
else if (kn != on) {
1446 "additional tree found in the file: %s", kn.Data());
1456 ::Error(
"TDSet::GetEntries",
"cannot find tree \"%s\" in %s",
1457 objname.
Data(), filename);
1471 objname = (fillname) ? on : objname;
1504 if (!IsValid() || !fElements->GetSize()) {
1505 Error(
"Draw",
"not a correctly initialized TDSet");
1513 Error(
"Draw",
"no active PROOF session");
1522 if (
gROOT->IsBatch()) {
1523 Warning(
"StartViewer",
"viewer cannot run in batch mode");
1528 Error(
"StartViewer",
"no PROOF found");
1532 Error(
"StartViewer",
"TDSet contents should be of type TTree (or subtype)");
1538 if ((h =
gROOT->GetPluginManager()->FindHandler(
"TVirtualTreeViewer"))) {
1563 TIter nextElem(GetListOfElements());
1564 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextElem())) {
1565 if (!elem->GetValid()) {
1579 if (!elem || !(((
THashList *)(GetListOfElements()))->Remove(elem)))
1592 TIter nextElem(GetListOfElements());
1593 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextElem())) {
1594 if (!elem->GetValid())
1595 elem->Validate(IsTree());
1614 TString msg(
"Looking up for exact location of files");
1617 UInt_t tot = GetListOfElements()->GetSize();
1620 TIter nextElem(GetListOfElements());
1621 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextElem())) {
1622 if (elem->GetNum() != 0) {
1624 if (!elem->GetValid())
1625 if (elem->Lookup(
kFALSE))
1626 if (removeMissing) {
1627 if (Remove(elem,
kFALSE))
1628 Error(
"Lookup",
"Error removing a missing file");
1629 if (listOfMissingFiles)
1630 (*listOfMissingFiles)->Add(elem->GetFileInfo(
fType));
1635 if (
gProof && (n > 0 && !(n % n2)))
1644 msg =
Form(
"Files with entries to be processed: %d (out of %d)\n", ng, tot);
1660 TIter nextElem(GetListOfElements());
1661 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextElem()))
1662 elem->SetLookedUp();
1676 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextOtherElem())) {
1677 if (!elem->GetValid())
continue;
1678 TString dir_file_obj = elem->GetDirectory();
1679 dir_file_obj +=
"_";
1680 dir_file_obj +=
TUrl(elem->GetFileName()).GetFileAndOptions();
1681 dir_file_obj +=
"_";
1682 dir_file_obj += elem->GetObjName();
1688 if (entries<elem->
GetFirst()+elem->GetNum()) {
1695 TNamed* named =
new TNamed(dir_file_obj, dir_file_obj);
1696 namedHolder.
Add(named);
1697 bestElements.
Add(
new TPair(named, elem));
1701 TIter nextElem(GetListOfElements());
1702 while (
TDSetElement *elem = dynamic_cast<TDSetElement*>(nextElem())) {
1703 if (!elem->GetValid()) {
1704 TString dir_file_obj = elem->GetDirectory();
1705 dir_file_obj +=
"_";
1706 dir_file_obj +=
TUrl(elem->GetFileName()).GetFileAndOptions();
1707 dir_file_obj +=
"_";
1708 dir_file_obj += elem->GetObjName();
1709 if (
TPair *p = dynamic_cast<TPair*>(bestElements.
FindObject(dir_file_obj))) {
1723 void TDSetElement::Streamer(
TBuffer &R__b)
1735 TNamed::Streamer(R__b);
1739 TObject::Streamer(R__b);
1741 R__b >> name >> title;
1763 for (FriendsList_t::iterator i = friends->begin();
1764 i != friends->end(); ++i) {
1778 TObject::Streamer(R__b);
1795 while ((p = (
TPair *)nxf()))
1814 void TDSet::Streamer(
TBuffer &R__b)
1825 TNamed::Streamer(R__b);
1830 elems.Streamer(R__b);
1849 TNamed::Streamer(R__b);
1856 if (fElements->GetSize() > 0) {
1858 TIter nxe(fElements);
1863 elems.Streamer(R__b);
1882 TIter nxe(GetListOfElements());
1901 TIter next(fElements);
1913 TIter nxds(fElements);
1915 while ((ds = (
TDSet *) nxds()))
1926 Error(
"SetEntryList",
"type of input object must be either TEntryList " 1927 "or TEventList (found: '%s' - do nothing", aList->
ClassName());
1946 TIter nxds(fElements);
1948 while ((ds = (
TDSet *) nxds()))
1956 Info(
"SplitEntryList",
"no entry- (or event-) list to split - do nothing");
1964 TIter next(fElements);
1982 TIter next(fElements);
1996 while (currPos < evl->GetN() && evl->
GetEntry(currPos) < low) {
1997 Error(
"SplitEntryList",
1998 "TEventList: event outside of the range of any of the TDSetElements");
2003 while (currPos < evl->GetN() && evl->
GetEntry((
Int_t)currPos) < high) {
2025 TIter nxds(fElements);
2027 while ((ds = (
TDSet *) nxds()))
2030 nf = fElements->GetSize();
virtual void SetEntriesToProcess(Long64_t nen)
static Bool_t CheckDataSetSrvMaps(TUrl *furl, TString &fn, TList *srvmaplist=0)
Check if the dataset server mappings apply to the url defined by 'furl'.
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
virtual Bool_t cd(const char *path=0)
Change current directory to "this" directory.
virtual void Enter(Long64_t entry)
Enter element entry into the list.
virtual const char * GetName() const
Returns name of object.
virtual void SysError(const char *method, const char *msgfmt,...) const
Issue system error message.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual Bool_t IsAbsoluteFileName(const char *dir)
Return true if dir is an absolute pathname.
TFileInfo * GetFileInfo(const char *type="TTree")
Return the content of this element in the form of a TFileInfo.
Long64_t GetTDSetOffset() const
std::list< std::pair< TDSetElement *, TString > > FriendsList_t
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual TList * GetListOfKeys() const
static Long64_t GetEntries(Bool_t isTree, const char *filename, const char *path, TString &objname)
Returns number of entries in tree or objects in file.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Long64_t GetEntries(Bool_t istree=kTRUE, Bool_t openfile=kTRUE)
Returns number of entries in tree or objects in file.
virtual Long64_t GetN() const
virtual TDSetElement * Next(Long64_t totalEntries=-1)
Returns next TDSetElement.
R__EXTERN Int_t gErrorIgnoreLevel
virtual const char * WorkingDirectory()
Return working directory.
virtual Long64_t DrawSelect(TDSet *dset, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Execute the specified drawing action on a data set (TDSet).
TDSet()
iterator on fSrvMaps
void SetLookedUp()
Flag all the elements as looked-up, so to avoid opening the files if the functionality is not support...
Collectable string class.
virtual Long64_t Process(TSelector *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0, TObject *enl=0)
Process TDSet on currently active PROOF session.
This class represents a WWW compatible URL.
TString & ReplaceAll(const TString &s1, const TString &s2)
void Print(Option_t *option="") const
Print TDSet basic or full data. When option="a" print full data.
void SetWriteV3(Bool_t on=kTRUE)
Set/Reset the 'OldStreamer' bit in this instance and its elements.
const char * GetProtocol() const
This class implements a data set to be used for PROOF processing.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
Int_t GetNumOfFiles()
Return the number of files in the dataset.
void SetUrl(const char *url, Bool_t defaultIsFile=kFALSE)
Parse url character string and split in its different subcomponents.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
TList * GetOutputList()
Get list with all object created during processing (see Process()).
virtual void AddFirst(TObject *obj)
Add object at the beginning of the list.
virtual TList * GetListOfFriends() const
Buffer base class used for serializing objects.
Regular expression class.
const char * GetFileAndOptions() const
Return the file and its options (the string specified behind the ?).
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
void AddAssocObj(TObject *assocobj)
Add an associated object to the list.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Long64_t GetFirst() const
Int_t LoadPlugin()
Load the plugin library for this handler.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
const char * GetOptions() const
Type GetType(const std::string &Name)
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
TObject * FindObject(const char *name) const
Find object using its name.
A TChainElement describes a component of a TChain.
virtual void SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title).
TString & Insert(Ssiz_t pos, const char *s)
Int_t ExportFileList(const char *filepath, Option_t *opt="")
Export TDSetElements files as list of TFileInfo objects in file 'fpath'.
TList * GetListOfElements() const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
virtual TObject * FindObject(const char *name) const
Delete a TObjLink object.
Int_t Lookup(Bool_t force=kFALSE)
Resolve end-point URL for this element Return 0 on success and -1 otherwise.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=1, Int_t netopt=0)
Create / open a file.
TList * GetOutputList()
Get list with all object created during processing (see Process()).
Manages an element of a TDSet.
static struct mg_connection * fc(struct mg_context *ctx)
virtual int Unlink(const char *name)
Unlink, i.e. remove, a file.
TObjArray * GetListOfFiles() const
virtual const char * ClassName() const
Returns name of class to which the object belongs.
void SetEntries(Long64_t ent)
void Validate(Bool_t isTree)
Validate by opening the file.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
Bool_t AddMetaData(TObject *meta)
Add's a meta data object to the file info object.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
The TNamed class is the base class for all named ROOT classes.
TUrl * GetFirstUrl() const
virtual Long64_t GetEntry(Int_t index) const
Return value of entry at index in the list.
static EFileType GetType(const char *name, Option_t *option="", TString *prefix=0)
Resolve the file type as a function of the protocol field in 'name'.
virtual Int_t GetN() const
virtual ~TDSetElement()
Clean up the element.
const char * GetDirectory() const
Return directory where to look for object.
virtual const char * PrependPathName(const char *dir, TString &name)
Concatenate a directory and a file name.
void Validate()
Validate the TDSet by opening files.
const char * GetAnchor() const
Book space in a file, create I/O buffers, to fill them, (un)compress them.
void SetDirectory(const char *dir)
Set/change directory.
void SetSrvMaps(TList *srvmaps=0)
Set (or unset) the list for mapping servers coordinate for files.
virtual void DeleteFriends()
Deletes the list of friends and all the friends on the list.
A specialized string object used for TTree selections.
const char * GetObjName() const
TFileInfoMeta * GetMetaData(const char *meta=0) const
Get meta data object with specified name.
Bool_t ElementsValid()
Check if all elements are valid.
void SendAsynMessage(const char *msg, Bool_t lf=kTRUE)
Send an asychronous message to the master / client .
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st)
Send or notify data set status.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
void Reset()
Reset TDSet element.
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
R__EXTERN TSystem * gSystem
write collection with single key
Int_t Compare(const TObject *obj) const
Compare elements by filename (and the fFirst).
Long_t ExecPlugin(int nargs, const T &... params)
virtual TObject * Remove(TObject *obj)
Remove object from the list.
TObject * Remove(TObject *obj)
Remove object from the list.
Collection abstract base class.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
ERunStatus GetRunStatus() const
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
char * Form(const char *fmt,...)
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing (see Process()).
A TEventList object is a list of selected events (entries) in a TTree.
The ROOT global object gROOT contains a list of all defined classes.
virtual Long64_t Draw(const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Draw expression varexp for specified entries.
virtual Long64_t Process(TDSet *dset, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Process a data set (TDSet) using the specified selector (.C) file or Tselector object Entry- or event...
Bool_t HasBeenLookedUp() const
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
Bool_t InheritsFrom(const char *cl) const
Return kTRUE if this class inherits from a class with name "classname".
Int_t MergeElement(TDSetElement *elem)
Check if 'elem' is overlapping or subsequent and, if the case, return a merged element.
TDSetElement()
Default constructor.
static constexpr double nm
void Print(Option_t *options="") const
Print a TDSetElement. When option="a" print full data.
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
virtual TTree * GetTreeHeader(TProof *proof)
Returns a tree header containing the branches' structure of the dataset.
void ClearInput()
Clear input object list.
TString & Remove(Ssiz_t pos)
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
R__EXTERN TProof * gProof
Class used by TMap to store (key,value) pairs.
Version_t GetClassVersion() const
void Add(THist< DIMENSIONS, PRECISION_TO, STAT_TO... > &to, const THist< DIMENSIONS, PRECISION_FROM, STAT_FROM... > &from)
Add two histograms.
void SetAnchor(const char *anchor)
virtual TKey * GetKey(const char *, Short_t=9999) const
void SetObjName(const char *objname)
Set/change object name.
void ClearInput()
Clear input object list.
Describe directory structure in memory.
virtual void SetEntryList(TObject *aList)
Set entry (or event) list for this data set.
The TTimeStamp encapsulates seconds and ns since EPOCH.
This class controls a Parallel ROOT Facility, PROOF, cluster.
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing (see Process()).
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
static constexpr double s
void SetNum(Long64_t num)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
static TFileStager * Open(const char *stager)
Open a stager, after having loaded the relevant plug-in.
virtual void Reset()
Reset or initialize access to the elements.
const char * GetFileName() const
virtual void Add(TObject *obj)=0
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
const Long64_t kMaxLong64
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.
virtual void AddFriend(TDSetElement *friendElement, const char *alias)
Add friend TDSetElement to this set. The friend element will be copied to this object.
const char * GetType() const
virtual Long64_t GetEntries() const
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
void SetEntryList(TObject *aList, Long64_t first=-1, Long64_t num=-1)
Set entry (or event) list for this element.
Mother of all ROOT objects.
void Lookup(Bool_t removeMissing=kFALSE, TList **missingFiles=0)
Resolve the end-point URL for the current elements of this data set If the removeMissing option is se...
void SplitEntryList()
for browsing purposes
TClassRef is used to implement a permanent reference to a TClass object.
TObject * GetAssocObj(Long64_t i, Bool_t isentry=kFALSE)
Get i-th associated object.
virtual Bool_t Add(const char *file, const char *objname=0, const char *dir=0, Long64_t first=0, Long64_t num=-1, const char *msd=0)
Add file to list of files to be analyzed.
virtual Bool_t cd(const char *path=0)
Change current directory to "this" directory.
R__EXTERN TProofServ * gProofServ
virtual void Add(TObject *obj)
const char * GetMsd() const
A TFriendElement TF describes a TTree object TF in a file.
A chain is a collection of files containing TTree objects.
void SetOptions(const char *opt)
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...
Int_t Atoi() const
Return integer value of string.
virtual Bool_t Matches(const char *s)
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
A TTree object has a header with a name and a title.
Class describing a generic file including meta information.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual Int_t Locate(const char *u, TString &f)
Just check if the file exists locally.
virtual const char * GetName() const
Returns name of object.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
virtual void AddFriend(TDSet *friendset, const char *alias)
Add friend dataset to this set.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
A List of entry numbers in a TTree or TChain.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write all objects in this collection.
static constexpr Long64_t kMaxEntries
TList * GetMetaDataList() const
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
virtual const char * GetTitle() const
Returns title of object.
virtual void StartViewer()
Start the TTreeViewer on this TTree.
virtual void Close(Option_t *option="")
Close a file.
Int_t Remove(TDSetElement *elem, Bool_t deleteElem=kTRUE)
Remove TDSetElement 'elem' from the list.
const char * Data() const
const char * GetClass() const