349 void plotNtuple(
TProof *p,
const char *ds,
const char *ntptitle);
350 void SavePerfTree(
TProof *proof,
const char *fn);
353 const char *pythia8dir = 0;
354 const char *pythia8data = 0;
356 void runProof(
const char *
what =
"simple",
357 const char *masterurl =
"proof://localhost:40000",
361 Printf(
"runProof: this script can only be executed via ACliC:");
362 Printf(
"runProof: root [] .x <path>/runProof.C+");
363 Printf(
"runProof: or root [] .L <path>/runProof.C+");
364 Printf(
"runProof: root [] runProof(...)");
372 if (!u.IsNull() && u !=
"lite://") {
374 TString uopts(uu.GetOptions());
375 if ((!strcmp(uu.GetHost(),
"localhost") && !uopts.Contains(
"external")) ||
377 isProofLocal =
kTRUE;
380 if (!u.BeginsWith(uu.GetProtocol())) uu.SetProtocol(
"proof");
381 uopts.ReplaceAll(
"external",
"");
382 uu.SetOptions(uopts.Data());
385 const char *url = u.Data();
394 Printf(
"runProof: could not get user info");
398 if (!tmpdir.EndsWith(us.
Data())) tmpdir += us;
401 Printf(
"runProof: unable to get a writable tutorial directory (tried: %s)"
402 " - cannot continue", tmpdir.Data());
405 TString tutdir =
Form(
"%s/.proof-tutorial", tmpdir.Data());
407 Printf(
"runProof: creating the temporary directory"
408 " for the tutorial (%s) ... ", tutdir.
Data());
410 Printf(
"runProof: could not assert / create the temporary directory"
411 " for the tutorial (%s)", tutdir.
Data());
418 if (
what && !strncmp(
what,
"pythia8", 7)) {
421 if (!pythia8dir || strlen(pythia8dir) <= 0) {
422 Printf(
"runProof: pythia8: environment variable PYTHIA8 undefined:"
423 " it must contain the path to pythia81xx root directory (local and remote) !");
427 if (!pythia8data || strlen(pythia8data) <= 0) {
430 if (!pythia8data || strlen(pythia8data) <= 0) {
431 Printf(
"runProof: pythia8: environment variable PYTHIA8DATA undefined:"
432 " it one must contain the path to pythia81xx/xmldoc"
433 " subdirectory (local and remote) !");
437 TString env =
Form(
"echo export PYTHIA8=%s; export PYTHIA8DATA=%s",
438 pythia8dir, pythia8data);
447 Printf(
"runProof: could not start/attach a PROOF session");
452 if (proof->IsLite()) isProofLocal =
kTRUE;
455 if (isProofLocal &&
what && !strcmp(
what,
"ntuple", 6)) {
457 Printf(
"runProof: the 'ntuple' example needs to run xrootd to receive the output file, \n"
458 " but xrootd is not supported on Windows - cannot continue");
465 FILE *fs = fopen(proofsessions.Data(),
"a");
467 Printf(
"runProof: could not create files for sessions tags");
469 fprintf(fs,
"session-%s\n", proof->GetSessionTag());
473 Printf(
"runProof: could not start/attach a PROOF session");
480 proof->SetParallel(nwrks);
485 Printf(
"runProof: root.exe not found: please check the environment!");
490 TString tutorials(
Form(
"%s/tutorials", rootsys.Data()));
495 args.ReplaceAll(
"(",
" ");
496 args.ReplaceAll(
")",
" ");
497 args.ReplaceAll(
",",
" ");
500 if (!args.Tokenize(act, from,
" ")) {
502 Printf(
"runProof: action not found: check your arguments (%s)",
what);
511 Printf(
"runProof: %s: ACLiC mode: '%s'", act.
Data(), aMode.
Data());
514 TString aNevt, aFirst, aNwrk, opt, sel, punzip(
"off"), aCache, aOutFile,
515 aH1Src(
"http://root.cern.ch/files/h1"),
516 aDebug, aDebugEnum, aRateEst, aPerfTree(
"perftree.root"),
517 aFeedback(
"fb=stats");
521 while (args.Tokenize(tok, from,
" ")) {
527 if ((icol = aDebug.Index(
":")) !=
kNPOS) {
528 aDebugEnum = aDebug(0, icol);
529 aDebug.Remove(0, icol+1);
531 if (!aDebug.IsDigit()) {
532 Printf(
"runProof: %s: error parsing the 'debug=' option (%s) - ignoring", act.
Data(), tok.
Data());
541 if (!aNevt.IsDigit()) {
542 Printf(
"runProof: %s: error parsing the 'nevt=' option (%s) - ignoring", act.
Data(), tok.
Data());
550 if (!aFirst.IsDigit()) {
551 Printf(
"runProof: %s: error parsing the 'first=' option (%s) - ignoring", act.
Data(), tok.
Data());
562 if (!aNwrk.IsDigit()) {
563 Printf(
"runProof: %s: error parsing the 'nwrk=' option (%s) - ignoring", act.
Data(), tok.
Data());
577 if (!aCache.IsDigit()) {
578 Printf(
"runProof: %s: error parsing the 'cache=' option (%s) - ignoring", act.
Data(), tok.
Data());
601 if (!(tok.
IsNull())) aH1Src = tok;
602 Printf(
"runProof: %s: reading data files from '%s'", act.
Data(), aH1Src.Data());
607 if (!(tok.
IsNull())) aRateEst = tok;
608 Printf(
"runProof: %s: progress-bar rate estimation option: '%s'", act.
Data(), aRateEst.Data());
612 makePerfTree =
kTRUE;
615 if (!(tok.
IsNull())) aPerfTree = tok;
617 Printf(
"runProof: %s: saving performance tree to '%s'", act.
Data(), aPerfTree.Data());
623 if (!(tok.
IsNull())) aOutFile = tok;
625 Printf(
"runProof: %s: output file: '%s'", act.
Data(), aOutFile.Data());
630 if (tok ==
"off" || tok ==
"OFF" || tok ==
"0") {
632 }
else if (!(tok.
IsNull())) {
637 aFeedback.
Form(
"fb=%s", tok.
Data());
640 Printf(
"runProof: %s: feedback: '%s'", act.
Data(), aFeedback.Data());
643 Long64_t nevt = (aNevt.IsNull()) ? -1 : aNevt.Atoi();
644 Long64_t first = (aFirst.IsNull()) ? 0 : aFirst.Atoi();
645 Long64_t nwrk = (aNwrk.IsNull()) ? -1 : aNwrk.Atoi();
650 if (proof->GetParallel() < nwrk) {
651 Printf(
"runProof: %s: request for a number of workers larger then available - ignored", act.
Data());
653 proof->SetParallel(nwrk);
658 if (!aDebug.IsNull()) {
659 Int_t dbg = aDebug.Atoi();
661 if (!aDebugEnum.IsNull()) scope = getDebugEnum(aDebugEnum.Data());
662 proof->SetLogLevel(dbg, scope);
663 Printf(
"runProof: %s: verbose mode for '%s'; level: %d", act.
Data(), aDebugEnum.Data(), dbg);
668 if (aRateEst ==
"average")
669 proof->SetParameter(
"PROOF_RateEstimation", aRateEst);
672 if (punzip ==
"on") {
673 proof->SetParameter(
"PROOF_UseParallelUnzip", (
Int_t)1);
674 Printf(
"runProof: %s: parallel unzip enabled", act.
Data());
676 proof->SetParameter(
"PROOF_UseParallelUnzip", (
Int_t)0);
680 if (!aCache.IsNull()) {
681 Long64_t cachesz = aCache.Atoi() * suf;
683 proof->SetParameter(
"PROOF_UseTreeCache", (
Int_t)0);
684 Printf(
"runProof: %s: disabling tree cache", act.
Data());
686 proof->SetParameter(
"PROOF_UseTreeCache", (
Int_t)1);
687 proof->SetParameter(
"PROOF_CacheSize", cachesz);
688 Printf(
"runProof: %s: setting cache size to %lld", act.
Data(), cachesz);
692 proof->DeleteParameters(
"PROOF_UseTreeCache");
693 proof->DeleteParameters(
"PROOF_CacheSize");
698 proof->SetParameter(
"PROOF_UseMergers", aSubMg);
700 Printf(
"runProof: %s: enabling merging via %d sub-mergers", act.
Data(), aSubMg);
702 Printf(
"runProof: %s: enabling merging via sub-mergers (optimal number)", act.
Data());
705 proof->DeleteParameters(
"PROOF_UseMergers");
710 proof->SetParameter(
"PROOF_StatsHist",
"");
711 proof->SetParameter(
"PROOF_StatsTrace",
"");
712 proof->SetParameter(
"PROOF_SlaveStatsTrace",
"");
716 if (ins && ins->GetSize() > 0) {
719 while ((oin = nxo())) { proof->AddInput(oin); }
723 proof->GetInputList()->Print();
726 if (act ==
"simple") {
732 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
733 " - ignored", act.
Data());
736 nevt = (nevt < 0) ? 100000 : nevt;
739 while (args.Tokenize(tok, from,
" ")) {
745 Printf(
"runProof: error parsing the 'nhist=' option (%s) - ignoring", tok.
Data());
752 Printf(
"runProof: error parsing the 'nhist3=' option (%s) - ignoring", tok.
Data());
759 Printf(
"\nrunProof: running \"simple\" with nhist= %d, nhist3=%d and nevt= %lld\n", nhist, nhist3, nevt);
762 proof->SetParameter(
"ProofSimple_NHist", (
Long_t)nhist);
764 if (nhist3 > 0) proof->SetParameter(
"ProofSimple_NHist3", (
Long_t)nhist3);
766 sel.Form(
"%s/proof/ProofSimple.C%s", tutorials.Data(), aMode.
Data());
770 proof->Process(sel.Data(), nevt, xopt);
772 }
else if (act ==
"h1") {
787 TString eln(
"elist"), elfn(
"elist.root");
789 Printf(
"\nrunProof: asked to use an entry list but '%s' not found or not readable", elfn.Data());
790 Printf(
"\nrunProof: did you forget to run with 'fillList=%s'?\n", elfn.Data());
799 Printf(
"\nrunProof: could not find entry-list '%s' in file '%s': ignoring",
800 eln.Data(), elfn.Data());
803 Printf(
"\nrunProof: requested entry-list file '%s' not existing (or not readable):"
804 " ignoring", elfn.Data());
809 sel.Form(
"%s/tree/h1analysis.C%s", tutorials.Data(), aMode.
Data());
811 Printf(
"\nrunProof: running \"h1\"\n");
819 while ((o = nxi())) {
820 if (!strncmp(o->GetName(),
"elist", 5)) {
826 }
else if (act ==
"pythia8") {
829 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
830 " - ignored", act.
Data());
835 Printf(
"runProof: pythia8: PYTHIA8DATA directory (%s) must"
836 " contain the Index.xml file !", pythia8data);
841 Printf(
"runProof: pythia8: par file not found (tried %s)", pythia8par.
Data());
844 proof->UploadPackage(pythia8par);
845 proof->EnablePackage(
"pythia8");
847 proof->ShowEnabledPackages();
848 Printf(
"runProof: pythia8: check settings:");
849 proof->Exec(
".!echo hostname = `hostname`; echo \"ls pythia8:\"; ls pythia8");
852 Printf(
"runProof: pythia8: libEG not found \n");
856 Printf(
"runProof: pythia8: libEGPythia8 not found \n");
860 nevt = (nevt < 0) ? 100 : nevt;
861 Printf(
"\nrunProof: running \"Pythia01\" nevt= %lld\n", nevt);
863 sel.Form(
"%s/proof/ProofPythia.C%s", tutorials.Data(), aMode.
Data());
866 proof->Process(sel.Data(), nevt, xopt);
868 }
else if (act ==
"event") {
872 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
873 " - ignored", act.
Data());
877 Printf(
"runProof: event: par file not found (tried %s)", eventpar.Data());
881 proof->UploadPackage(eventpar);
882 proof->EnablePackage(
"event");
883 Printf(
"Enabled packages...\n");
884 proof->ShowEnabledPackages();
887 nevt = (nevt < 0) ? 100 : nevt;
888 Printf(
"\nrunProof: running \"event\" nevt= %lld\n", nevt);
890 sel.Form(
"%s/proof/ProofEvent.C%s", tutorials.Data(), aMode.
Data());
893 proof->Process(sel.Data(), nevt, xopt);
895 }
else if (act ==
"eventproc") {
900 Printf(
"runProof: eventproc: par file not found (tried %s)", eventpar.
Data());
904 proof->UploadPackage(eventpar);
905 proof->EnablePackage(
"event");
906 Printf(
"Enabled packages...\n");
907 proof->ShowEnabledPackages();
913 Printf(
"runProof: eventproc: ProcFileElements.C not found (tried %s)", pfelem.
Data());
918 pfelem +=
TString::Format(
",%s/proof/EmptyInclude.h", tutorials.Data());
924 TString aFiles, aDataSrc(
"http://root.cern.ch/files/data"), aPartitions;
925 proof->SetParameter(
"ProofEventProc_Read",
"optimized");
926 while (args.Tokenize(tok, from,
" ")) {
932 Printf(
"runProof: error parsing the 'files=' option (%s) - ignoring", tok.
Data());
938 Printf(
"runProof: error parsing the 'datasrc=' option (%s) - ignoring", tok.
Data());
941 Printf(
"runProof: reading files from: %s", aDataSrc.Data());
943 }
else if (tok ==
"readall") {
944 proof->SetParameter(
"ProofEventProc_Read",
"readall");
945 Printf(
"runProof: eventproc: reading the full event");
946 }
else if (tok ==
"uneven") {
951 Printf(
"runProof: error parsing the 'partitions=' option (%s) - ignoring", tok.
Data());
954 Printf(
"runProof: partitions: %s included in packetizer operations", aPartitions.
Data());
959 Printf(
"runProof: found aFiles: '%s', nFiles: %d", aFiles.
Data(), nFiles);
961 Printf(
"runProof: max number of files is 50 - resizing request");
980 TObjArray *dsrcs = aDataSrc.Tokenize(
"|");
986 for (i = 1; i <= nFiles; i++) {
1009 proof->SetParameter(
"PROOF_ValidateByFile", 1);
1012 if (!aPartitions.
IsNull()) {
1014 proof->SetParameter(
"PROOF_PacketizerPartitions", aPartitions);
1018 sel.
Form(
"%s/proof/ProofEventProc.C%s", tutorials.Data(), aMode.
Data());
1020 Printf(
"\nrunProof: running \"eventproc\"\n");
1024 }
else if (act ==
"ntuple") {
1031 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
1032 " - ignored", act.
Data());
1035 nevt = (nevt < 0) ? 1000 : nevt;
1036 Printf(
"\nrunProof: running \"ntuple\" with nevt= %lld\n", nevt);
1040 while (args.Tokenize(tok, from,
" ")) {
1041 if (tok ==
"inputrndm") {
1046 if (usentprndm)
Printf(
"runProof: taking randoms from input ntuple\n");
1050 if (fout.IsNull()) {
1055 if (!isProofLocal) {
1059 while (port < 9010) {
1060 if (checkXrootdAt(port) != 1) {
1069 Printf(
"runProof: could not start basic xrootd on ports 9000-9009 - cannot continue");
1074 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE_LOCATION",
"LOCAL"));
1077 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE", fout.Data()));
1084 proof->SetInputDataFile(fnr);
1086 proof->SetParameter(
"PROOF_USE_NTP_RNDM",
"yes");
1088 Printf(
"runProof: taking randoms from '%s'", fnr.
Data());
1092 sel.Form(
"%s/proof/ProofNtuple.C%s", tutorials.Data(), aMode.
Data());
1096 proof->Process(sel.Data(), nevt, xopt);
1100 proof->DeleteParameters(
"PROOF_USE_NTP_RNDM");
1101 proof->SetInputDataFile(0);
1104 }
else if (act ==
"dataset") {
1113 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
1114 " - ignored", act.
Data());
1117 nevt = (nevt < 0) ? 1000000 : nevt;
1118 Printf(
"\nrunProof: running \"dataset\" with nevt= %lld\n", nevt);
1122 proof->SetParameter(
"SimpleNtuple.root",
"testNtuple");
1125 proof->SetParameter(
"PROOF_NTUPLE_DONT_PLOT",
"");
1128 sel.Form(
"%s/proof/ProofNtuple.C%s", tutorials.Data(), aMode.
Data());
1132 proof->Process(sel.Data(), nevt, xopt);
1135 if (proof->GetOutputList()->FindObject(
"testNtuple")) {
1138 plotNtuple(proof,
"testNtuple",
"proof ntuple from dataset");
1141 Printf(
"runProof: dataset 'testNtuple' not found in the output list");
1144 proof->DeleteParameters(
"PROOF_NTUPLE_DONT_PLOT");
1145 proof->DeleteParameters(
"SimpleNtuple.root");
1147 }
else if (act ==
"friends") {
1155 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
1156 " - ignored", act.
Data());
1160 while (args.Tokenize(tok, from,
" ")) {
1162 if (tok ==
"samefile") {
1169 TList *wrks = proof->GetListOfSlaveInfos();
1171 Printf(
"runProof: could not get the list of information about the workers");
1177 files->
SetName(
"PROOF_FilesToProcess");
1192 proof->AddInput(files);
1194 Printf(
"runProof: friend tree stored in the same file as the main tree");
1195 proof->SetParameter(
"ProofAux_Action",
"GenerateTreesSameFile");
1197 proof->SetParameter(
"ProofAux_Action",
"GenerateTrees");
1200 nevt = (nevt < 0) ? 10000 : nevt;
1201 proof->SetParameter(
"ProofAux_NEvents", (
Long64_t)nevt);
1203 proof->SetParameter(
"PROOF_Packetizer",
"TPacketizerFile");
1205 sel.Form(
"%s/proof/ProofAux.C%s", tutorials.Data(), aMode.
Data());
1206 proof->Process(sel.Data(), 1);
1208 proof->DeleteParameters(
"PROOF_Packetizer");
1213 if (proof->GetOutputList()) {
1214 TIter nxo(proof->GetOutputList());
1217 while ((o = nxo())) {
1219 if (l && !strncmp(l->
GetName(),
"MainList-", 9)) {
1226 while ((o = nxo())) {
1228 if (l && !strncmp(l->
GetName(),
"FriendList-", 11)) {
1237 sel.Form(
"%s/proof/ProofFriends.C%s", tutorials.Data(), aMode.
Data());
1243 }
else if (act ==
"simplefile") {
1251 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
1252 " - ignored", act.
Data());
1255 nevt = (nevt < 0) ? 1000000 : nevt;
1258 while (args.Tokenize(tok, from,
" ")) {
1264 Printf(
"runProof: error parsing the 'nhist=' option (%s) - ignoring", tok.
Data());
1270 Printf(
"\nrunProof: running \"simplefile\" with nhist= %d and nevt= %lld\n", nhist, nevt);
1273 proof->SetParameter(
"ProofSimple_NHist", (
Long_t)nhist);
1277 if (fout.IsNull()) {
1282 if (!isProofLocal) {
1286 while (port < 9010) {
1287 if (checkXrootdAt(port) != 1) {
1296 Printf(
"runProof: could not start basic xrootd on ports 9000-9009 - cannot continue");
1301 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE_LOCATION",
"LOCAL"));
1304 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE", fout.Data()));
1307 sel.Form(
"%s/proof/ProofSimpleFile.C%s", tutorials.Data(), aMode.
Data());
1311 proof->Process(sel.Data(), nevt, xopt);
1313 }
else if (act ==
"stdvec") {
1320 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial"
1321 " - ignored", act.
Data());
1324 nevt = (nevt < 0) ? 50000 * proof->GetParallel() : nevt;
1325 Printf(
"\nrunProof: running \"stdvec\" with nevt= %lld\n", nevt);
1328 sel.Form(
"%s/proof/ProofStdVect.C%s", tutorials.Data(), aMode.
Data());
1332 xopt.
Form(
"%s %s create", aFeedback.Data(), opt.Data());
1333 proof->Process(sel.Data(), nevt, xopt);
1336 if (proof->ExistsDataSet(
"TestStdVect")) {
1339 xopt.
Form(
"%s %s", aFeedback.Data(), opt.Data());
1340 proof->Process(
"TestStdVect", sel.Data(), xopt);
1343 Printf(
"runProof: dataset 'TestStdVect' not available!");
1348 Printf(
"runProof: unknown tutorial: %s",
what);
1353 SavePerfTree(proof, aPerfTree.Data());
1362 void plotNtuple(
TProof *p,
const char *ds,
const char *ntptitle)
1388 p->
DrawSelect(ds,
"1.3*px+2",
"(px^2+py^2>4) && py>0",
"same");
1394 p->
DrawSelect(ds,
"pz:py:px",
"(pz<10 && pz>6)+(pz<4 && pz>3)");
1396 p->
DrawSelect(ds,
"pz:py:px",
"pz<6 && pz>4",
"same");
1398 p->
DrawSelect(ds,
"pz:py:px",
"pz<4 && pz>3",
"same");
1402 l2->
AddText(
"You can interactively rotate this view in 2 ways:");
1403 l2->
AddText(
" - With the RotateCube in clicking in this pad");
1404 l2->
AddText(
" - Selecting View with x3d in the View menu");
1417 void SavePerfTree(
TProof *proof,
const char *fn)
1422 Printf(
"PROOF must be run to save output performance information");;
1426 Printf(
"PROOF outputlist undefined or empty");;
1432 Printf(
"ERROR: could not open file '%s' for writing", fn);;
1437 while ((obj = nxo())) {
1438 TString objname(obj->GetName());
1439 if (objname.BeginsWith(
"PROOF_")) {
1442 if (objname ==
"PROOF_PerfStats" ||
1443 objname ==
"PROOF_PacketsHist" ||
1444 objname ==
"PROOF_EventsHist" ||
1445 objname ==
"PROOF_NodeHist" ||
1446 objname ==
"PROOF_LatencyHist" ||
1447 objname ==
"PROOF_ProcTimeHist" ||
1448 objname ==
"PROOF_CpuTimeHist")
const char * GetName() const
Returns name of object.
virtual Bool_t cd(const char *path=0)
Change current directory to "this" directory.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
virtual const char * WorkingDirectory()
Return working directory.
virtual const char * GetName() const
Return name of this collection.
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).
Attaches to a PROOF session, possibly at the indicated URL.
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)
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time.
This class implements a data set to be used for PROOF processing.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
void SetParameter(const char *par, const char *value)
Set input list parameter.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
TVirtualPad * cd(Int_t subpadnumber=0)
Set current canvas & pad.
TList * GetOutputList()
Get list with all object created during processing (see Process()).
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle.
void Add(TObject *obj)
This function may not be used (but we need to provide it since it is a pure virtual in TCollection)...
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
const char * GetOrdinal() const
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
virtual const char * DirName(const char *pathname)
Return the directory name in pathname.
virtual char * Which(const char *search, const char *file, EAccessMode mode=kFileExists)
Find location of file in a search path.
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
Bool_t R_ISREG(Int_t mode)
virtual int mkdir(const char *name, Bool_t recursive=kFALSE)
Make a file system directory.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=0)
Set the value of a resource or create a new resource.
virtual void SetDirectory(TDirectory *dir)
Add reference to directory dir. dir can be 0.
virtual Int_t AddFileInfoList(TCollection *list, Long64_t nfiles=TTree::kMaxEntries)
Add all files referenced in the list to the chain.
const char * Data() const
static struct mg_connection * fc(struct mg_context *ctx)
virtual int Unlink(const char *name)
Unlink, i.e. remove, a file.
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
virtual void ls(Option_t *option="") const
List the chain.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
TFrame * GetFrame()
Get frame.
The TNamed class is the base class for all named ROOT classes.
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)
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 const char * Getenv(const char *env)
Get environment variable.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
Int_t Atoi() const
Return integer value of string.
virtual void RedrawAxis(Option_t *option="")
Redraw the frame axis Redrawing axis may be necessary in case of superimposed histograms when one or ...
Int_t getProof(const char *where, Int_t verbose=1)
Open a PROOF session at gUrl.
virtual void SetTextAlign(Short_t align=11)
virtual void Setenv(const char *name, const char *value)
Set environment variable.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
R__EXTERN TSystem * gSystem
virtual void SetFillColor(Color_t fcolor)
virtual TObject * Remove(TObject *obj)
Remove object from the list.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
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).
The most important graphics class in the ROOT system.
char * Form(const char *fmt,...)
static void AddEnvVar(const char *name, const char *value)
Add an variable to the list of environment variables passed to proofserv on the master and slaves...
void SetName(const char *name)
virtual Int_t AddFile(const char *name, Long64_t nentries=TTree::kMaxEntries, const char *tname="")
Add a new file to this chain.
void ClearInputData(TObject *obj=0)
Remove obj form the input data list; if obj is null (default), clear the input data info...
TString & Remove(Ssiz_t pos)
TList * GetInputList()
Get input list.
R__EXTERN TProof * gProof
virtual Int_t GetSize() const
A Pave (see TPave) with text, lines or/and boxes inside.
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
virtual const char * HostName()
Return the system's host name.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
This class controls a Parallel ROOT Facility, PROOF, cluster.
Int_t GetEntries() const
Return the number of objects in array (i.e.
virtual Int_t GetUid(const char *user=0)
Returns the user's id. If user = 0, returns current user's id.
const char * GetName() const
Returns name of object.
Mother of all ROOT objects.
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
virtual TVirtualPad * GetPad(Int_t subpadnumber) const
Get a pointer to subpadnumber of this pad.
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 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 Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
Automatic pad generation by division.
virtual void Add(TObject *obj)
Class that contains a list of TFileInfo's and accumulated meta data information about its entries...
A chain is a collection of files containg TTree objects.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual void Update()
Update canvas pad buffers.
virtual void AddFriend(TDSet *friendset, const char *alias)
Add friend dataset to this set.
A List of entry numbers in a TTree or TChain.
virtual Int_t Add(TChain *chain)
Add all files referenced by the passed chain to this chain.
virtual void Close(Option_t *option="")
Close a file.
virtual void SetLogy(Int_t value=1)
Set Lin/Log scale for Y.