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",
366 if (!u.IsNull() && u !=
"lite://") {
368 TString uopts(uu.GetOptions());
369 if ((!strcmp(uu.GetHost(),
"localhost") && !uopts.Contains(
"external")) ||
371 isProofLocal =
kTRUE;
374 if (!u.BeginsWith(uu.GetProtocol())) uu.SetProtocol(
"proof");
375 uopts.ReplaceAll(
"external",
"");
376 uu.SetOptions(uopts.Data());
379 const char *url = u.Data();
388 Printf(
"runProof: could not get user info");
392 if (!tmpdir.EndsWith(us.
Data())) tmpdir +=
us;
395 Printf(
"runProof: unable to get a writable tutorial directory (tried: %s)" 396 " - cannot continue", tmpdir.Data());
399 TString tutdir =
Form(
"%s/.proof-tutorial", tmpdir.Data());
401 Printf(
"runProof: creating the temporary directory" 402 " for the tutorial (%s) ... ", tutdir.
Data());
404 Printf(
"runProof: could not assert / create the temporary directory" 405 " for the tutorial (%s)", tutdir.
Data());
412 if (what && !strncmp(what,
"pythia8", 7)) {
415 if (!pythia8dir || strlen(pythia8dir) <= 0) {
416 Printf(
"runProof: pythia8: environment variable PYTHIA8 undefined:" 417 " it must contain the path to pythia81xx root directory (local and remote) !");
421 if (!pythia8data || strlen(pythia8data) <= 0) {
424 if (!pythia8data || strlen(pythia8data) <= 0) {
425 Printf(
"runProof: pythia8: environment variable PYTHIA8DATA undefined:" 426 " it one must contain the path to pythia81xx/xmldoc" 427 " subdirectory (local and remote) !");
431 TString env =
Form(
"echo export PYTHIA8=%s; export PYTHIA8DATA=%s",
432 pythia8dir, pythia8data);
441 Printf(
"runProof: could not start/attach a PROOF session");
446 if (proof->IsLite()) isProofLocal =
kTRUE;
449 if (isProofLocal && what && !strcmp(what,
"ntuple", 6)) {
451 Printf(
"runProof: the 'ntuple' example needs to run xrootd to receive the output file, \n" 452 " but xrootd is not supported on Windows - cannot continue");
459 FILE *fs = fopen(proofsessions.Data(),
"a");
461 Printf(
"runProof: could not create files for sessions tags");
463 fprintf(fs,
"session-%s\n", proof->GetSessionTag());
467 Printf(
"runProof: could not start/attach a PROOF session");
474 proof->SetParallel(nwrks);
479 Printf(
"runProof: root.exe not found: please check the environment!");
484 TString tutorials(
Form(
"%s/tutorials", rootsys.Data()));
489 args.ReplaceAll(
"(",
" ");
490 args.ReplaceAll(
")",
" ");
491 args.ReplaceAll(
",",
" ");
494 if (!args.Tokenize(act, from,
" ")) {
496 Printf(
"runProof: action not found: check your arguments (%s)", what);
505 Printf(
"runProof: %s: ACLiC mode: '%s'", act.
Data(), aMode.
Data());
508 TString aNevt, aFirst, aNwrk, opt, sel, punzip(
"off"), aCache, aOutFile,
509 aH1Src(
"http://root.cern.ch/files/h1"),
510 aDebug, aDebugEnum, aRateEst, aPerfTree(
"perftree.root"),
511 aFeedback(
"fb=stats");
515 while (args.Tokenize(tok, from,
" ")) {
521 if ((icol = aDebug.Index(
":")) !=
kNPOS) {
522 aDebugEnum = aDebug(0, icol);
523 aDebug.Remove(0, icol+1);
525 if (!aDebug.IsDigit()) {
526 Printf(
"runProof: %s: error parsing the 'debug=' option (%s) - ignoring", act.
Data(), tok.
Data());
535 if (!aNevt.IsDigit()) {
536 Printf(
"runProof: %s: error parsing the 'nevt=' option (%s) - ignoring", act.
Data(), tok.
Data());
544 if (!aFirst.IsDigit()) {
545 Printf(
"runProof: %s: error parsing the 'first=' option (%s) - ignoring", act.
Data(), tok.
Data());
556 if (!aNwrk.IsDigit()) {
557 Printf(
"runProof: %s: error parsing the 'nwrk=' option (%s) - ignoring", act.
Data(), tok.
Data());
571 if (!aCache.IsDigit()) {
572 Printf(
"runProof: %s: error parsing the 'cache=' option (%s) - ignoring", act.
Data(), tok.
Data());
595 if (!(tok.
IsNull())) aH1Src = tok;
596 Printf(
"runProof: %s: reading data files from '%s'", act.
Data(), aH1Src.Data());
601 if (!(tok.
IsNull())) aRateEst = tok;
602 Printf(
"runProof: %s: progress-bar rate estimation option: '%s'", act.
Data(), aRateEst.Data());
606 makePerfTree =
kTRUE;
609 if (!(tok.
IsNull())) aPerfTree = tok;
611 Printf(
"runProof: %s: saving performance tree to '%s'", act.
Data(), aPerfTree.Data());
617 if (!(tok.
IsNull())) aOutFile = tok;
619 Printf(
"runProof: %s: output file: '%s'", act.
Data(), aOutFile.Data());
624 if (tok ==
"off" || tok ==
"OFF" || tok ==
"0") {
626 }
else if (!(tok.
IsNull())) {
631 aFeedback.
Form(
"fb=%s", tok.
Data());
634 Printf(
"runProof: %s: feedback: '%s'", act.
Data(), aFeedback.Data());
637 Long64_t nevt = (aNevt.IsNull()) ? -1 : aNevt.Atoi();
639 Long64_t nwrk = (aNwrk.IsNull()) ? -1 : aNwrk.Atoi();
644 if (proof->GetParallel() < nwrk) {
645 Printf(
"runProof: %s: request for a number of workers larger then available - ignored", act.
Data());
647 proof->SetParallel(nwrk);
652 if (!aDebug.IsNull()) {
653 Int_t dbg = aDebug.Atoi();
655 if (!aDebugEnum.IsNull()) scope = getDebugEnum(aDebugEnum.Data());
656 proof->SetLogLevel(dbg, scope);
657 Printf(
"runProof: %s: verbose mode for '%s'; level: %d", act.
Data(), aDebugEnum.Data(), dbg);
662 if (aRateEst ==
"average")
663 proof->SetParameter(
"PROOF_RateEstimation", aRateEst);
666 if (punzip ==
"on") {
667 proof->SetParameter(
"PROOF_UseParallelUnzip", (
Int_t)1);
668 Printf(
"runProof: %s: parallel unzip enabled", act.
Data());
670 proof->SetParameter(
"PROOF_UseParallelUnzip", (
Int_t)0);
674 if (!aCache.IsNull()) {
675 Long64_t cachesz = aCache.Atoi() * suf;
677 proof->SetParameter(
"PROOF_UseTreeCache", (
Int_t)0);
678 Printf(
"runProof: %s: disabling tree cache", act.
Data());
680 proof->SetParameter(
"PROOF_UseTreeCache", (
Int_t)1);
681 proof->SetParameter(
"PROOF_CacheSize", cachesz);
682 Printf(
"runProof: %s: setting cache size to %lld", act.
Data(), cachesz);
686 proof->DeleteParameters(
"PROOF_UseTreeCache");
687 proof->DeleteParameters(
"PROOF_CacheSize");
692 proof->SetParameter(
"PROOF_UseMergers", aSubMg);
694 Printf(
"runProof: %s: enabling merging via %d sub-mergers", act.
Data(), aSubMg);
696 Printf(
"runProof: %s: enabling merging via sub-mergers (optimal number)", act.
Data());
699 proof->DeleteParameters(
"PROOF_UseMergers");
704 proof->SetParameter(
"PROOF_StatsHist",
"");
705 proof->SetParameter(
"PROOF_StatsTrace",
"");
706 proof->SetParameter(
"PROOF_SlaveStatsTrace",
"");
710 if (ins && ins->GetSize() > 0) {
713 while ((oin = nxo())) { proof->AddInput(oin); }
717 proof->GetInputList()->Print();
720 if (act ==
"simple") {
726 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 727 " - ignored", act.
Data());
730 nevt = (nevt < 0) ? 100000 : nevt;
733 while (args.Tokenize(tok, from,
" ")) {
739 Printf(
"runProof: error parsing the 'nhist=' option (%s) - ignoring", tok.
Data());
746 Printf(
"runProof: error parsing the 'nhist3=' option (%s) - ignoring", tok.
Data());
753 Printf(
"\nrunProof: running \"simple\" with nhist= %d, nhist3=%d and nevt= %lld\n", nhist, nhist3, nevt);
756 proof->SetParameter(
"ProofSimple_NHist", (
Long_t)nhist);
758 if (nhist3 > 0) proof->SetParameter(
"ProofSimple_NHist3", (
Long_t)nhist3);
760 sel.Form(
"%s/proof/ProofSimple.C%s", tutorials.Data(), aMode.
Data());
764 proof->Process(sel.Data(), nevt, xopt);
766 }
else if (act ==
"h1") {
781 TString eln(
"elist"), elfn(
"elist.root");
783 Printf(
"\nrunProof: asked to use an entry list but '%s' not found or not readable", elfn.Data());
784 Printf(
"\nrunProof: did you forget to run with 'fillList=%s'?\n", elfn.Data());
787 if (!(
f.IsZombie())) {
793 Printf(
"\nrunProof: could not find entry-list '%s' in file '%s': ignoring",
794 eln.Data(), elfn.Data());
797 Printf(
"\nrunProof: requested entry-list file '%s' not existing (or not readable):" 798 " ignoring", elfn.Data());
803 sel.Form(
"%s/tree/h1analysis.C%s", tutorials.Data(), aMode.
Data());
805 Printf(
"\nrunProof: running \"h1\"\n");
807 chain->
Process(sel.Data(),xopt,nevt,first);
813 while ((o = nxi())) {
814 if (!strncmp(o->GetName(),
"elist", 5)) {
820 }
else if (act ==
"pythia8") {
823 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 824 " - ignored", act.
Data());
829 Printf(
"runProof: pythia8: PYTHIA8DATA directory (%s) must" 830 " contain the Index.xml file !", pythia8data);
835 Printf(
"runProof: pythia8: par file not found (tried %s)", pythia8par.
Data());
838 proof->UploadPackage(pythia8par);
839 proof->EnablePackage(
"pythia8");
841 proof->ShowEnabledPackages();
842 Printf(
"runProof: pythia8: check settings:");
843 proof->Exec(
".!echo hostname = `hostname`; echo \"ls pythia8:\"; ls pythia8");
846 Printf(
"runProof: pythia8: libEG not found \n");
850 Printf(
"runProof: pythia8: libEGPythia8 not found \n");
854 nevt = (nevt < 0) ? 100 : nevt;
855 Printf(
"\nrunProof: running \"Pythia01\" nevt= %lld\n", nevt);
857 sel.Form(
"%s/proof/ProofPythia.C%s", tutorials.Data(), aMode.
Data());
860 proof->Process(sel.Data(), nevt, xopt);
862 }
else if (act ==
"event") {
866 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 867 " - ignored", act.
Data());
871 Printf(
"runProof: event: par file not found (tried %s)", eventpar.Data());
875 proof->UploadPackage(eventpar);
876 proof->EnablePackage(
"event");
877 Printf(
"Enabled packages...\n");
878 proof->ShowEnabledPackages();
881 nevt = (nevt < 0) ? 100 : nevt;
882 Printf(
"\nrunProof: running \"event\" nevt= %lld\n", nevt);
884 sel.Form(
"%s/proof/ProofEvent.C%s", tutorials.Data(), aMode.
Data());
887 proof->Process(sel.Data(), nevt, xopt);
889 }
else if (act ==
"eventproc") {
894 Printf(
"runProof: eventproc: par file not found (tried %s)", eventpar.
Data());
898 proof->UploadPackage(eventpar);
899 proof->EnablePackage(
"event");
900 Printf(
"Enabled packages...\n");
901 proof->ShowEnabledPackages();
907 Printf(
"runProof: eventproc: ProcFileElements.C not found (tried %s)", pfelem.
Data());
912 pfelem +=
TString::Format(
",%s/proof/EmptyInclude.h", tutorials.Data());
918 TString aFiles, aDataSrc(
"http://root.cern.ch/files/data"), aPartitions;
919 proof->SetParameter(
"ProofEventProc_Read",
"optimized");
920 while (args.Tokenize(tok, from,
" ")) {
926 Printf(
"runProof: error parsing the 'files=' option (%s) - ignoring", tok.
Data());
932 Printf(
"runProof: error parsing the 'datasrc=' option (%s) - ignoring", tok.
Data());
935 Printf(
"runProof: reading files from: %s", aDataSrc.Data());
937 }
else if (tok ==
"readall") {
938 proof->SetParameter(
"ProofEventProc_Read",
"readall");
939 Printf(
"runProof: eventproc: reading the full event");
940 }
else if (tok ==
"uneven") {
945 Printf(
"runProof: error parsing the 'partitions=' option (%s) - ignoring", tok.
Data());
948 Printf(
"runProof: partitions: %s included in packetizer operations", aPartitions.
Data());
953 Printf(
"runProof: found aFiles: '%s', nFiles: %d", aFiles.
Data(), nFiles);
955 Printf(
"runProof: max number of files is 50 - resizing request");
974 TObjArray *dsrcs = aDataSrc.Tokenize(
"|");
980 for (i = 1; i <= nFiles; i++) {
1003 proof->SetParameter(
"PROOF_ValidateByFile", 1);
1006 if (!aPartitions.
IsNull()) {
1008 proof->SetParameter(
"PROOF_PacketizerPartitions", aPartitions);
1012 sel.
Form(
"%s/proof/ProofEventProc.C%s", tutorials.Data(), aMode.
Data());
1014 Printf(
"\nrunProof: running \"eventproc\"\n");
1016 c->
Process(sel.Data(), xopt, nevt, first);
1018 }
else if (act ==
"ntuple") {
1025 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 1026 " - ignored", act.
Data());
1029 nevt = (nevt < 0) ? 1000 : nevt;
1030 Printf(
"\nrunProof: running \"ntuple\" with nevt= %lld\n", nevt);
1034 while (args.Tokenize(tok, from,
" ")) {
1035 if (tok ==
"inputrndm") {
1040 if (usentprndm)
Printf(
"runProof: taking randoms from input ntuple\n");
1044 if (fout.IsNull()) {
1049 if (!isProofLocal) {
1053 while (port < 9010) {
1054 if (checkXrootdAt(port) != 1) {
1063 Printf(
"runProof: could not start basic xrootd on ports 9000-9009 - cannot continue");
1068 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE_LOCATION",
"LOCAL"));
1071 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE", fout.Data()));
1078 proof->SetInputDataFile(fnr);
1080 proof->SetParameter(
"PROOF_USE_NTP_RNDM",
"yes");
1082 Printf(
"runProof: taking randoms from '%s'", fnr.
Data());
1086 sel.Form(
"%s/proof/ProofNtuple.C%s", tutorials.Data(), aMode.
Data());
1090 Printf(
"runProof: selector file '%s', options: '%s'", sel.Data(), xopt.
Data());
1091 proof->Process(sel.Data(), nevt, xopt);
1095 proof->DeleteParameters(
"PROOF_USE_NTP_RNDM");
1096 proof->SetInputDataFile(0);
1099 }
else if (act ==
"dataset") {
1108 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 1109 " - ignored", act.
Data());
1112 nevt = (nevt < 0) ? 1000000 : nevt;
1113 Printf(
"\nrunProof: running \"dataset\" with nevt= %lld\n", nevt);
1117 proof->SetParameter(
"SimpleNtuple.root",
"testNtuple");
1120 proof->SetParameter(
"PROOF_NTUPLE_DONT_PLOT",
"");
1123 sel.Form(
"%s/proof/ProofNtuple.C%s", tutorials.Data(), aMode.
Data());
1127 proof->Process(sel.Data(), nevt, xopt);
1130 if (proof->GetOutputList()->FindObject(
"testNtuple")) {
1133 plotNtuple(proof,
"testNtuple",
"proof ntuple from dataset");
1136 Printf(
"runProof: dataset 'testNtuple' not found in the output list");
1139 proof->DeleteParameters(
"PROOF_NTUPLE_DONT_PLOT");
1140 proof->DeleteParameters(
"SimpleNtuple.root");
1142 }
else if (act ==
"friends") {
1150 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 1151 " - ignored", act.
Data());
1155 while (args.Tokenize(tok, from,
" ")) {
1157 if (tok ==
"samefile") {
1164 TList *wrks = proof->GetListOfSlaveInfos();
1166 Printf(
"runProof: could not get the list of information about the workers");
1172 files->
SetName(
"PROOF_FilesToProcess");
1187 proof->AddInput(files);
1189 Printf(
"runProof: friend tree stored in the same file as the main tree");
1190 proof->SetParameter(
"ProofAux_Action",
"GenerateTreesSameFile");
1192 proof->SetParameter(
"ProofAux_Action",
"GenerateTrees");
1195 nevt = (nevt < 0) ? 10000 : nevt;
1196 proof->SetParameter(
"ProofAux_NEvents", (
Long64_t)nevt);
1198 proof->SetParameter(
"PROOF_Packetizer",
"TPacketizerFile");
1200 sel.Form(
"%s/proof/ProofAux.C%s", tutorials.Data(), aMode.
Data());
1201 proof->Process(sel.Data(), 1);
1203 proof->DeleteParameters(
"PROOF_Packetizer");
1208 if (proof->GetOutputList()) {
1209 TIter nxo(proof->GetOutputList());
1212 while ((o = nxo())) {
1214 if (l && !strncmp(l->
GetName(),
"MainList-", 9)) {
1221 while ((o = nxo())) {
1223 if (l && !strncmp(l->
GetName(),
"FriendList-", 11)) {
1232 sel.Form(
"%s/proof/ProofFriends.C%s", tutorials.Data(), aMode.
Data());
1238 }
else if (act ==
"simplefile") {
1246 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 1247 " - ignored", act.
Data());
1250 nevt = (nevt < 0) ? 1000000 : nevt;
1253 while (args.Tokenize(tok, from,
" ")) {
1259 Printf(
"runProof: error parsing the 'nhist=' option (%s) - ignoring", tok.
Data());
1265 Printf(
"\nrunProof: running \"simplefile\" with nhist= %d and nevt= %lld\n", nhist, nevt);
1268 proof->SetParameter(
"ProofSimple_NHist", (
Long_t)nhist);
1272 if (fout.IsNull()) {
1277 if (!isProofLocal) {
1281 while (port < 9010) {
1282 if (checkXrootdAt(port) != 1) {
1291 Printf(
"runProof: could not start basic xrootd on ports 9000-9009 - cannot continue");
1296 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE_LOCATION",
"LOCAL"));
1299 proof->AddInput(
new TNamed(
"PROOF_OUTPUTFILE", fout.Data()));
1302 sel.Form(
"%s/proof/ProofSimpleFile.C%s", tutorials.Data(), aMode.
Data());
1306 proof->Process(sel.Data(), nevt, xopt);
1308 }
else if (act ==
"stdvec") {
1315 Printf(
"runProof: %s: warning concept of 'first' meaningless for this tutorial" 1316 " - ignored", act.
Data());
1319 nevt = (nevt < 0) ? 50000 * proof->GetParallel() : nevt;
1320 Printf(
"\nrunProof: running \"stdvec\" with nevt= %lld\n", nevt);
1323 sel.Form(
"%s/proof/ProofStdVect.C%s", tutorials.Data(), aMode.
Data());
1327 xopt.
Form(
"%s %s create", aFeedback.Data(), opt.Data());
1328 proof->Process(sel.Data(), nevt, xopt);
1331 if (proof->ExistsDataSet(
"TestStdVect")) {
1334 xopt.
Form(
"%s %s", aFeedback.Data(), opt.Data());
1335 proof->Process(
"TestStdVect", sel.Data(), xopt);
1338 Printf(
"runProof: dataset 'TestStdVect' not available!");
1343 Printf(
"runProof: unknown tutorial: %s", what);
1348 SavePerfTree(proof, aPerfTree.Data());
1357 void plotNtuple(
TProof *p,
const char *ds,
const char *ntptitle)
1383 p->
DrawSelect(ds,
"1.3*px+2",
"(px^2+py^2>4) && py>0",
"same");
1389 p->
DrawSelect(ds,
"pz:py:px",
"(pz<10 && pz>6)+(pz<4 && pz>3)");
1391 p->
DrawSelect(ds,
"pz:py:px",
"pz<6 && pz>4",
"same");
1393 p->
DrawSelect(ds,
"pz:py:px",
"pz<4 && pz>3",
"same");
1397 l2->
AddText(
"You can interactively rotate this view in 2 ways:");
1398 l2->
AddText(
" - With the RotateCube in clicking in this pad");
1399 l2->
AddText(
" - Selecting View with x3d in the View menu");
1412 void SavePerfTree(
TProof *proof,
const char *fn)
1417 Printf(
"PROOF must be run to save output performance information");;
1421 Printf(
"PROOF outputlist undefined or empty");;
1427 Printf(
"ERROR: could not open file '%s' for writing", fn);;
1432 while ((obj = nxo())) {
1433 TString objname(obj->GetName());
1434 if (objname.BeginsWith(
"PROOF_")) {
1437 if (objname ==
"PROOF_PerfStats" ||
1438 objname ==
"PROOF_PacketsHist" ||
1439 objname ==
"PROOF_EventsHist" ||
1440 objname ==
"PROOF_NodeHist" ||
1441 objname ==
"PROOF_LatencyHist" ||
1442 objname ==
"PROOF_ProcTimeHist" ||
1443 objname ==
"PROOF_CpuTimeHist")
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
const char * GetName() const
Returns name of object.
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
virtual void ls(Option_t *option="") const
List the chain.
virtual TVirtualPad * GetPad(Int_t subpadnumber) const
Get a pointer to subpadnumber of this pad.
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).
Attaches to a PROOF session, possibly at the indicated URL.
Collectable string class.
static constexpr double us
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.
void Add(TObject *obj)
This function may not be used (but we need to provide it since it is a pure virtual in TCollection)...
const char * GetOrdinal() const
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
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 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.
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...
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.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
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)
Set the text alignment.
const char * GetName() const
Returns name of object.
virtual void Setenv(const char *name, const char *value)
Set environment variable.
R__EXTERN TSystem * gSystem
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual TObject * Remove(TObject *obj)
Remove object from the list.
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
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
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.
virtual Int_t GetUid(const char *user=0)
Returns the user's id. If user = 0, returns current user's id.
Mother of all ROOT objects.
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 containing TTree objects.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
Int_t Atoi() const
Return integer value of string.
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual void Update()
Update canvas pad buffers.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
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 const char * GetName() const
Return name of this collection.
virtual Int_t Add(TChain *chain)
Add all files referenced by the passed chain to this chain.
const char * Data() const
virtual void SetLogy(Int_t value=1)
Set Lin/Log scale for Y.