79#define kPEX_STOPPED 1001
80#define kPEX_ABORTED 1002
128 if (
gDebug > 0)
printf(
"TDispatchTimer::Notify: called!\n");
157 if (
gDebug > 0)
printf(
"TProctimeTimer::Notify: called!\n");
187 :
TTimer(((to <= 0 || to > 864000) ? 10 : to * 1000),
kFALSE)
190 Info (
"TStopTimer",
"enter: %d, timeout: %d", abort, to);
207 if (
gDebug > 0)
printf(
"TStopTimer::Notify: called!\n");
227 : fAutoBins(0), fOutput(0), fSelector(0), fCreateSelObj(
kTRUE), fSelectorClass(0),
228 fFeedbackTimer(0), fFeedbackPeriod(2000),
229 fEvIter(0), fSelStatus(0),
230 fTotalEvents(0), fReadBytesRun(0), fReadCallsRun(0), fProcessedRun(0),
231 fQueryResults(0), fQuery(0), fPreviousQuery(0), fDrawQueries(0),
232 fMaxDrawQueries(1), fStopTimer(0), fDispatchTimer(0),
233 fProcTimeTimer(0), fProcTime(0),
235 fSaveMemThreshold(-1), fSavePartialResults(
kFALSE), fSaveResultsPerPacket(
kFALSE)
290 Info (
"StopProcess",
"abort: %d, timeout: %d", abort,
timeout);
295 if (abort ==
kTRUE) {
335 Info (
"SetStopTimer",
"%s timer STARTED (timeout: %d)",
336 (abort ?
"ABORT" :
"STOP"),
timeout);
339 Info (
"SetStopTimer",
"timer STOPPED");
350 Warning(
"AddQueryResult",
"query undefined - do nothing");
355 if (!(
q->IsDraw())) {
371 if (
qr->GetStartTime().Convert() <=
q->GetStartTime().Convert())
416 if (
qr->Matches(ref)) {
431 if (ref &&
strlen(ref) > 0) {
435 if (
qr->Matches(ref))
505 Info(
"ReinitSelector",
"query undefined - do nothing");
511 if (
selec.Length() <= 0) {
512 Info(
"ReinitSelector",
"selector name undefined - do nothing");
569 qr->GetSelecImp()->SaveSource(
selec);
573 qr->GetSelecHdr()->SaveSource(
seleh);
589 Info(
"ReinitSelector",
"problems locating or exporting selector files");
637 Info(
"ReinitSelector",
"compiled selector re-init failed:"
638 " automatic reload unsuccessful:"
639 " please load manually the correct library");
786 Info(
"SavePartialResults",
"partial result saving disabled");
792 Error(
"SavePartialResults",
"gProofServ undefined: something really wrong going on!!!");
796 Error(
"SavePartialResults",
"fOutput undefined: something really wrong going on!!!");
801 Info(
"SavePartialResults",
"start saving partial results {%d,%d,%d,%d}",
805 PDB(kOutput, 2)
Info(
"SavePartialResults",
"fEvIter: %p",
fEvIter);
808 PDB(kOutput, 2)
Info(
"SavePartialResults",
"list of packets: %p, sz: %d",
812 const char *
oopt =
"UPDATE";
851 while ((o =
nxo())) {
865 if (!
d || (
d && !
d->InheritsFrom(
"TFile"))) {
904 if (nm &&
oname.BeginsWith(
"ds:")) {
905 oname.Replace(0, 3,
"");
915 if (
oname.BeginsWith(
"of:"))
oname.Replace(0, 3,
"");
934 po->SetOutputFileName(
oname.Data());
957 Info(
"SavePartialResults",
"partial results saved to file");
993 Error(
"AssertSelector",
"no TSelector object define : cannot continue!");
996 Info(
"AssertSelector",
"Processing via TSelector object");
1027 PDB(kGlobal,1)
Info(
"Process",
"Enter");
1038 Error(
"Process",
"cannot assert the selector object");
1065 while ((
e =
dset->Next())) {
1105 opt =
gEnv->
GetValue(
"ProofPlayer.SavePartialResults", 0);
1118 Info(
"Process",
"memory threshold for saving objects to file set to %ld kB",
1121 Error(
"Process",
"cannot get SysInfo_t (!)");
1126 PDB(kLoop,1)
Info(
"Process",
"Call Begin(0)");
1131 PDB(kLoop,1)
Info(
"Process",
"Call Begin(0)");
1135 PDB(kLoop,1)
Info(
"Process",
"Call SlaveBegin(0)");
1150 Warning(
"Process",
"problems seetting up file-object swapping");
1159 Info(
"Process",
"Looping over Process()");
1186 TString lastMsg(
"(unfortunately no detailed info is available about current packet)");
1199 }
else if (!
wmsg.IsNull()) {
1217 if (
dset->Current()) {
1230 lastMsg =
"check logs for possible stacktrace - last cycle:";
1234 lastMsg.Form(
"while processing dset:'%s', file:'%s'"
1235 " - check logs for possible stacktrace - last event:",
dset->GetName(),
fn.Data());
1240 if (
dset->Current()->GetMaxProcTime() >= 0.)
1256 wmsg.Form(
"neither entries nor max proc time specified:"
1257 " risk of infinite loop: processing aborted");
1268 while (
refnum < 0 || num--) {
1285 Info(
"Process",
"max proc time reached (%ld msecs): packet processing stopped:\n%s",
1304 Info(
"Process",
"Call ProcessCut(%lld)",
entry);
1307 Info(
"Process",
"Call ProcessFill(%lld)",
entry);
1312 Info(
"Process",
"Call Process(%lld)",
entry);
1318 Info(
"Process",
"packet processing aborted following the"
1319 " selector settings:\n%s",
lastMsg.Data());
1340 if (!
wmsg.IsNull()) {
1365 Info(
"Process",
"received stop-process signal");
1369 Info(
"Process",
"received abort-process signal");
1415 Warning(
"Process",
"problems saving the results to file");
1425 while ((o =
nxo())) {
1431 const char *dir = of->
GetDir();
1432 if (!dir || (dir &&
strlen(dir) <= 0)) {
1434 }
else if (dir &&
strlen(dir) > 0) {
1436 if (!
strcmp(
u.GetHost(),
"localhost") || !
strcmp(
u.GetHost(),
"127.0.0.1") ||
1437 !
strcmp(
u.GetHost(),
"localhost.localdomain")) {
1450 PDB(kLoop,1)
Info(
"Process",
"Call Terminate()");
1453 PDB(kLoop,1)
Info(
"Process",
"Call SlaveTerminate()");
1456 PDB(kLoop,1)
Info(
"Process",
"Call Terminate()");
1489 Error(
"Process",
"selector object undefiend!");
1522 Info(
"CheckMemUsage|Svc",
"Memory %ld virtual %ld resident event %lld",
1529 wmsg.Form(
"using more than %d%% of allowed virtual memory (%ld kB)"
1535 wmsg.Form(
"using more than %d%% of allowed virtual memory (%ld kB)",
1543 wmsg.Form(
"using more than %d%% of allowed resident memory (%ld kB)"
1549 if (
wmsg.Length() > 0) {
1550 wmsg.Form(
"using more than %d%% of allowed both virtual and resident memory ({%ld,%ld} kB)",
1553 wmsg.Form(
"using more than %d%% of allowed resident memory (%ld kB)",
1713 Warning(
"DrawCanvas",
"can't find DrawCanvas");
1750 Warning(
"GetDrawArgs",
"can't find GetDrawArgs");
1782 Warning(
"FeedBackCanvas",
"can't find FeedBackCanvas");
1856 Error(
"Process",
"selector object undefiend!");
1920 PDB(kGlobal,1)
Info(
"Process",
"Enter");
1944 Info(
"InitPacketizer",
"using alternate packetizer: %s",
packetizer.Data());
1955 callEnv.InitWithPrototype(cl, cl->
GetName(),
"TList*,Long64_t,TList*,TProofProgressStatus*");
1957 Error(
"InitPacketizer",
1958 "cannot find correct constructor for '%s'", cl->
GetName());
1973 Error(
"InitPacketizer",
"received stop/abort request");
1990 callEnv.InitWithPrototype(cl, cl->
GetName(),
"TDSet*,TList*,Long64_t,Long64_t,TList*,TProofProgressStatus*");
1992 Error(
"InitPacketizer",
"cannot find correct constructor for '%s'", cl->
GetName());
2027 Error(
"InitPacketizer",
"received stop/abort request");
2032 if (!(
dset->GetListOfElements()) ||
2033 !(
dset->GetListOfElements()->GetSize())) {
2036 Error(
"InitPacketizer",
"No files from the data set were found - Aborting");
2050 Info(
"InitPacketizer",
"using alternate packetizer: %s",
packetizer.Data());
2061 callEnv.InitWithPrototype(cl, cl->
GetName(),
"TDSet*,TList*,Long64_t,Long64_t,TList*,TProofProgressStatus*");
2063 Error(
"InitPacketizer",
"cannot find correct constructor for '%s'", cl->
GetName());
2084 Error(
"InitPacketizer",
"cannot construct '%s'", cl->
GetName());
2090 Error(
"InitPacketizer",
2091 "instantiated packetizer object '%s' is invalid", cl->
GetName());
2111 if (!
elem->GetValid()) {
2129 if (
fi->GetCurrentUrl()) {
2130 msg =
Form(
"File not found: %s - skipping!",
2131 fi->GetCurrentUrl()->GetUrl());
2133 msg =
Form(
"File not found: %s - skipping!",
fi->GetName());
2150 msg =
Form(
" About %.2f %c of the requested files (%d out of %d) were missing or unusable; details in"
2154 " +++ About %.2f %c of the requested files (%d out of %d) are missing or unusable; details in"
2155 " the 'MissingFiles' list\n"
2178 PDB(kGlobal,1)
Info(
"Process",
"Enter");
2184 Error(
"Process",
"No progress status");
2225 PDB(kPacketizer,1)
Info(
"Process",
"Create Proxy TDSet");
2227 dset->GetDirectory() );
2232 Error(
"Process",
"cannot init the packetizer");
2260 Warning(
"Process",
"could not forward input data: %s",
emsg.Data());
2265 Warning(
"Process",
"could not attach to histogram 'PROOF_ProcPcktHist'");
2268 Info(
"Process",
"attached to histogram 'PROOF_ProcPcktHist' to record"
2269 " packets being processed");
2303 Info(
"Process",
"starting new query");
2326 while ((o =
nxi())) {
2344 PDB(kLoop,1)
Info(
"Process",
"Call Begin(0)");
2385 Warning(
"Process",
"entry lists not supported by the server");
2392 PDB(kGlobal,1)
Info(
"Process",
"Broadcast called: %d workers notified",
nb);
2405 Info(
"Process|Svc",
"Start merging Memory information");
2412 PDB(kGlobal,1)
Info(
"Process",
"Asynchronous processing:"
2413 " activating CollectInputFrom");
2422 PDB(kGlobal,1)
Info(
"Process",
"Calling Collect");
2447 PDB(kGlobal,1)
Info(
"Process",
"Synchronous processing: calling Collect");
2451 Info(
"Process",
"switching to the asynchronous mode ...");
2511 Error(
"Process",
"selector object undefined");
2536 Error(
"Process",
"Should not happen: fProcessMessage=%p fProof=%p fPacketizer=%p",
2542 Error(
"Process",
"Invalid call");
2547 Info(
"Process",
"Preparing %d new worker(s) to process",
workers->GetEntries());
2562 Info(
"Process",
"Adding new workers to the packetizer");
2564 Error(
"Process",
"Cannot add new workers to the packetizer!");
2569 Info(
"Process",
"Broadcasting process message to new workers");
2592 while ((o =
nxo())) {
2595 PDB(kOutput,2)
pf->Print();
2597 if (
pf->IsMerge()) {
2603 Error(
"MergeOutputFiles",
"file merger is null in TProofOutputFile! Protocol error?");
2608 if (!
pf->IsMerged()) {
2609 PDB(kOutput,2)
pf->Print();
2621 if (
outfile.Contains(
"<datadir>/")) {
2633 if (
pf->IsRetrieve()) {
2653 if (
uof.GetPort() > 0 &&
usrv.GetPort() > 0 &&
2675 Error(
"MergeOutputFiles",
"cannot open the output file");
2681 Error(
"MergeOutputFiles",
"cannot merge the output files");
2691 if (!
strcmp(
u.GetProtocol(),
"file")) {
2705 if (!
pf->IsMerged()) {
2714 Error(
"MergeOutputFiles",
"file collection is null in TProofOutputFile! Protocol error?");
2722 pf->ResetFileCollection();
2724 if (
pf->IsRegister()) {
2747 while((o =
nxo())) {
2754 PDB(kOutput,1)
Info(
"MergeOutputFiles",
"done!");
2771 PDB(kOutput,1)
Warning(
"SetSelectorDataMembersFromOutputList",
2772 "failed to find map object in output list!");
2794 PDB(kGlobal,1)
Info(
"Finalize",
"Calling Merge Output to finalize the output list");
2813 PDB(kOutput,1)
Info(
"Finalize",
"Calling Merge Output");
2865 Info(
"Finalize",
"problems reinitializing selector \"%s\"",
2879 status->
Add(
"Some packets were not processed! Check the the"
2880 " 'FailedPackets' list in the output list");
2889 while(
TObject* obj = next()) {
2896 Warning(
"Finalize",
"undefined output list in the selector! Protocol error?");
2908 PDB(kLoop,1)
Info(
"Finalize",
"Call Terminate()");
2930 Warning(
"Finalize",
"current TQueryResult object is undefined!");
2960 PDB(kGlobal,1)
Info(
"Process",
"exit");
2975 PDB(kGlobal,1)
Info(
"Finalize(TQueryResult *)",
"Enter");
2978 Info(
"Finalize(TQueryResult *)",
2979 "method to be executed only on the clients");
2984 Info(
"Finalize(TQueryResult *)",
"query undefined");
2988 if (
qr->IsFinalized()) {
2989 Info(
"Finalize(TQueryResult *)",
"query already finalized");
3013 Info(
"Finalize(TQueryResult *)",
"outputlist is empty");
3022 out->Add(o->
Clone());
3048 Info(
"SendSelector",
"Invalid input: selector (file) name undefined");
3054 Info(
"SendSelector",
"selector name '%s' does not contain a '.':"
3055 " nothing to send, it will be loaded from a library",
selector_file);
3074 if (!
mp.BeginsWith(
np) && !
mp.Contains(
":"+
np)) {
3075 Int_t ip = (
mp.BeginsWith(
".:")) ? 2 : 0;
3092 Info(
"SendSelector",
3093 "header file not found: tried: %s %s",
h.Data(), header.
Data());
3100 Info(
"SendSelector",
"problems sending implementation file %s",
selec.Data());
3104 Info(
"SendSelector",
"problems sending header file %s", header.
Data());
3116 PDB(kOutput,1)
Info(
"MergeOutput",
"Enter");
3124 while ( (list = (
TList *) next()) ) {
3127 obj = list->First();
3132 if ( list->IsEmpty() )
continue;
3136 callEnv.InitWithPrototype(obj->
IsA(),
"Merge",
"TCollection*");
3142 while ( (obj = list->First()) ) {
3152 PDB(kOutput,1)
Info(
"MergeOutput",
"fOutputLists empty");
3169 while ((obj =
nxo())) {
3173 PDB(kOutput,2)
Info(
"MergeOutput",
"found TProofOutputFile '%s'", obj->
GetName());
3175 PDB(kOutput,2)
Info(
"MergeOutput",
"outputfilename: '%s'", dir.
Data());
3178 PDB(kOutput,2)
Info(
"MergeOutput",
"dir: '%s'", dir.
Data());
3184 if (!
pfx.IsNull() &&
3185 (!
strcmp(
u.GetProtocol(),
"root") || !
strcmp(
u.GetProtocol(),
"xrd")))
3187 PDB(kOutput,2)
Info(
"MergeOutput",
"rawdir: '%s'", dir.
Data());
3192 key.
Form(
"PROOF_OutputFileName_%s",
pf->GetFileName());
3197 pf->SetOutputFileName(0);
3201 dir =
pf->GetFileName();
3208 pf->SetFileName(dir);
3211 pf->SetWorkerOrdinal(
"0");
3219 Printf(
"\nOutput file: %s",
pf->GetOutputFileName());
3222 PDB(kOutput,2)
Info(
"MergeOutput",
"output object '%s' is not a TProofOutputFile", obj->
GetName());
3227 if (
rmlist.GetSize() > 0) {
3229 while ((obj =
nxrm()))
3309 Warning(
"Progress",
"TProofProgressInfo object undefined!");
3347 Info(
"AddOutputObject",
"Enter: %p (%s)", obj, obj ? obj->
ClassName() :
"undef");
3351 PDB(kOutput,1)
Info(
"AddOutputObject",
"Invalid input (obj == 0x0)");
3384 Error(
"AddOutputObject",
"Found an event list for %s, but no object with"
3385 " the same name in the TDSet",
evl->GetName());
3394 for (
Int_t i = 0; i < num; i++)
3420 if (
pf->IsMerge()) {
3422 strlen(
pf->GetOutputFileName()) > 0 &&
3460 if (!of.
EndsWith(
".merger")) of +=
".merger";
3464 pf->SetOutputFileName(of);
3468 PDB(kOutput, 1)
pf->Print();
3472 Printf(
"Output file: %s",
pf->GetOutputFileName());
3509 PDB(kOutput,1)
Info(
"AddOutput",
"Enter");
3513 PDB(kOutput,1)
Info(
"AddOutput",
"Invalid input (out == 0x0)");
3523 TList *
elists =
dynamic_cast<TList *
> (out->FindObject(
"PROOF_EventListsList"));
3544 Error(
"AddOutput",
"Found an event list for %s, but no object with"
3545 " the same name in the TDSet",
evl->GetName());
3554 for (
Int_t i = 0; i < num; i++)
3575 while ((obj =
nxo())) {
3601 Info(
"NotifyMemory|Svc",
"Memory %ld virtual %ld resident after merging object %s",
3634 Info(
"Incorporate",
"enter: obj: %p (%s), list: %p",
3649 PDB(kOutput,1)
Info(
"Incorporate",
"histogram object '%s' merged",
newobj->GetName());
3651 PDB(kOutput,1)
Info(
"Incorporate",
"histogram object '%s' added to the"
3652 " appropriate list for delayed merging",
newobj->GetName());
3672 callEnv.InitWithPrototype(obj->
IsA(),
"Merge",
"TCollection*");
3697 TH1 *
h =
dynamic_cast<TH1 *
>(obj);
3712 PDB(kOutput,2)
Info(
"HandleHistogram",
"h:%s ent:%d, buffer size: %d",
3713 h->GetName(),
nent,
h->GetBufferSize());
3718 PDB(kOutput,2)
Info(
"HandleHistogram",
"create fOutputLists");
3744 if (
href->GetBuffer() &&
href->GetBufferLength() <
nent)
break;
3747 list->AddBefore(
href,
h);
3759 if (
href->GetBuffer() ||
href->GetEntries() <
nent)
break;
3762 list->AddBefore(
href,
h);
3779 Int_t hsz =
h->GetNbinsX() *
h->GetNbinsY() *
h->GetNbinsZ();
3814 if (!
h0 || !
h1)
return rc;
3819 a0 =
h0->GetXaxis();
3821 if (
a0->GetNbins() ==
a1->GetNbins())
3826 if (
h0->GetDimension() > 1) {
3828 a0 =
h0->GetYaxis();
3830 if (
a0->GetNbins() ==
a1->GetNbins())
3836 if (
h0->GetDimension() > 2) {
3838 a0 =
h0->GetZaxis();
3840 if (
a0->GetNbins() ==
a1->GetNbins())
3854 PDB(kOutput,1)
Info(
"StoreOutput",
"Enter");
3857 PDB(kOutput,1)
Info(
"StoreOutput",
"Leave (empty)");
3865 PDB(kOutput,2)
Info(
"StoreOutput",
"Create fOutputLists");
3870 TList*
lists =
dynamic_cast<TList*
> (out->FindObject(
"PROOF_EventListsList"));
3886 Error(
"StoreOutput",
"found the EventList for %s, but no object with that name "
3887 "in the TDSet",
aList->GetName());
3896 for (
int i = 0; i < num; i++)
3905 while( (obj = next()) ) {
3906 PDB(kOutput,2)
Info(
"StoreOutput",
"find list for '%s'", obj->
GetName() );
3910 PDB(kOutput,2)
Info(
"StoreOutput",
"list for '%s' not found (creating)", obj->
GetName());
3920 PDB(kOutput,1)
Info(
"StoreOutput",
"leave");
3929 Info(
"MergeFeedback",
"Enter");
3933 Info(
"MergeFeedback",
"Leave (no output)");
3943 while ( (map = (
TMap*) next()) ) {
3953#ifndef R__TH1MERGEFIXED
3957 while (
TObject *key = keys() ) {
3959 TH1 *
h =
dynamic_cast<TH1 *
>(o);
3960#ifndef R__TH1MERGEFIXED
3966 if (
h->GetNbinsX() >
nbmx) {
3967 nbmx=
h->GetNbinsX();
3976 if (
h->GetBuffer()) {
3977 if (
href->GetBuffer() &&
href->GetBufferLength() <
h->GetBufferLength())
break;
3979 if (
href->GetBuffer() ||
href->GetEntries() <
h->GetEntries())
break;
3983 list->AddBefore(
href,
h);
3993#ifdef R__TH1MERGEFIXED
4002 if ( list->IsEmpty() ) {
4010 callEnv.InitWithPrototype(obj->
IsA(),
"Merge",
"TCollection*");
4016 while ( (obj = list->First()) ) {
4026 Info(
"MergeFeedback",
"Leave (%d object(s))", fb->
GetSize());
4037 Info(
"StoreFeedback",
"Enter");
4041 Info(
"StoreFeedback",
"Leave (empty)");
4053 PDB(kFeedback,2)
Info(
"StoreFeedback",
"Create fFeedbackLists");
4064 while( (obj = next()) ) {
4070 Info(
"StoreFeedback",
"%s: map for '%s' not found (creating)",
ord, obj->
GetName());
4077 Info(
"StoreFeedback",
"%s: removing previous value",
ord);
4089 Info(
"StoreFeedback",
"Leave");
4101 PDB(kFeedback,1)
Info(
"SetupFeedback",
"\"FeedbackList\" %sfound",
4122 PDB(kFeedback,1)
Info(
"StopFeedback",
"Stop Timer");
4132 PDB(kFeedback,2)
Info(
"HandleTimer",
"Entry");
4170 PDB(kFeedback,2)
Info(
"HandleTimer",
"Sending %d objects", fb->
GetSize());
4205 Info(
"GetNextPacket",
"%s: done!",
slave->GetOrdinal());
4208 Info(
"GetNextPacket",
"%s: waiting ...",
slave->GetOrdinal());
4211 Info(
"GetNextPacket",
"%s (%s): '%s' '%s' '%s' %lld %lld",
4212 slave->GetOrdinal(),
slave->GetName(),
e->GetFileName(),
4213 e->GetDirectory(),
e->GetObjName(),
e->GetFirst(),
e->GetNum());
4253 Error(
"DrawSelect",
"parsing arguments");
4264 while ((o =
nxi())) {
4295 while ((o =
nxsi()))
4325 Info(
"SetupFeedback",
"\"FeedbackList\" found: %d objects", fb->
GetSize());
4328 Info(
"SetupFeedback",
"\"FeedbackList\" NOT found");
4331 if (fb == 0 || fb->
GetSize() == 0)
return;
4352 PDB(kFeedback,1)
Info(
"StopFeedback",
"Stop Timer");
4362 PDB(kFeedback,2)
Info(
"HandleTimer",
"Entry");
4399 if (o != 0) fb->
Add(o);
4403 PDB(kFeedback,2)
Info(
"HandleTimer",
"Sending %d objects", fb->
GetSize());
4433 PDB(kGlobal, 1)
Info(
"HandleGetTreeHeader",
"empty TDSet");
4438 t = (
TTree*)
f->Get(
e->GetObjName());
4445 while ((
e =
dset->Next()) != 0) {
4450 entries +=
t1->GetEntries();
4486 PDB(kGlobal,1)
Info(
"Process",
"Enter");
4489 if (!proof)
return -1;
4507 if (!
dset->ElementsValid()) {
4509 if (!
dset->ElementsValid()) {
4510 Error(
"Process",
"could not validate TDSet");
4547 if (
elem->GetNum()<1)
continue;
4554 if (
cur+
elem->GetNum()-1<first) {
4577 Error(
"Process",
"data requires mass storage domain '%s'"
4578 " which is not accessible in this proof session",
4583 if (elements) elements->
Add(
elem);
4600 dset->GetDirectory());
4608 elem->GetDirectory(),
elem->GetFirst(),
4612 Warning(
"Process",
"not a TDSetElement object");
4624 PDB(kGlobal,1)
Info(
"Process",
4625 "Sending TDSet with %d elements to submaster %s",
4628 sl->GetSocket()->Send(
mesg);
4654 Warning(
"Process",
"not a TSlave object");
4661 PDB(kGlobal,1)
Info(
"Process",
"Calling Collect");
4669 PDB(kGlobal,1)
Info(
"Process",
"Calling Merge Output");
4685 Warning(
"Progress",
"total events has changed for slave %s",
sl->GetName());
4706 Info(
"Progress",
"%s: %lld %lld %f %f %f %f",
sl->GetName(),
4711 Warning(
"Progress",
"total events has changed for slave %s",
sl->GetName());
4765 Info(
"Progress",
"%s: %lld %lld %lld %f %f %f %f %d %f",
wrk->GetOrdinal(),
4772 Warning(
"Progress",
"total events has changed for worker %s",
wrk->GetName());
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Int_t gErrorIgnoreLevel
Error handling routines.
ErrorHandlerFunc_t SetErrorHandler(ErrorHandlerFunc_t newhandler)
Set an errorhandler function. Returns the old handler.
R__EXTERN void Throw(int code)
If an exception context has been set (using the TRY and RETRY macros) jump back to where it was set.
static unsigned int total
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t bytes
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
const Bool_t kSortDescending
R__EXTERN TProofServ * gProofServ
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
R__EXTERN TSystem * gSystem
R__EXTERN TVirtualMonitoringWriter * gMonitoringWriter
void Set(Int_t n) override
Set size of this array to n floats.
void Set(Int_t n) override
Set size of this array to n ints.
void Set(Int_t n) override
Set size of this array to n long64s.
void GetAll(Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax, Double_t &zmin, Double_t &zmax)
TAutoBinVal(const char *name, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax)
Class to manage histogram axis.
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
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.
void ls(Option_t *option="") const override
List (ls) all objects in this collection.
void SetName(const char *name)
const char * GetName() const override
Return name of this collection.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
void Print(Option_t *option="") const override
Default print for collections, calls Print(option, 1).
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Manages an element of a TDSet.
This class implements a data set to be used for PROOF processing.
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.
TObject * GetEntryList() const
TList * GetListOfElements() const
Bool_t cd() override
Change current directory to "this" directory.
TDirectory * mkdir(const char *name, const char *title="", Bool_t returnExistingDirectory=kFALSE) override
Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".
Describe directory structure in memory.
Bool_t Notify() override
Handle expiration of the timer associated with dispatching pending events while processing.
TDispatchTimer(TProofPlayer *p)
Utility class to draw objects in the feedback list during queries.
A List of entry numbers in a TTree or TChain.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
Set the value of a resource or create a new resource.
virtual TEnvRec * Lookup(const char *n) const
Loop over all resource records and return the one with name.
virtual Long64_t GetEntryNumber(Long64_t)
virtual Int_t GetLearnEntries()=0
virtual void StopProcess(Bool_t abort)
Set flag to stop the process.
virtual Long64_t GetCacheSize()=0
static TEventIter * Create(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num)
Create and instance of the appropriate iterator.
virtual Int_t GetNextPacket(Long64_t &first, Long64_t &num)=0
virtual void InvalidatePacket()
Invalidated the current packet (if any) by setting the TDSetElement::kCorrupted bit.
<div class="legacybox"><h2>Legacy Code</h2> TEventList is a legacy interface: there will be no bug fi...
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
Class describing a generic file including meta information.
This class provides file copy and merging services.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
static Long64_t GetFileBytesRead()
Static function returning the total number of bytes read from all files.
static EFileType GetType(const char *name, Option_t *option="", TString *prefix=nullptr)
Resolve the file type as a function of the protocol field in 'name'.
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.
static Int_t GetFileReadCalls()
Static function returning the total number of read calls from all files.
1-D histogram with an int per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
static void SetLimitsFinder(THLimitsFinder *finder)
This static function can be used to specify a finder derived from THLimitsFinder.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void Clear(Option_t *option="") override
Remove all objects from the list.
TObject * Remove(TObject *obj) override
Remove object from the list.
TObject * FindObject(const char *name) const override
Find object using its name.
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
void Clear(Option_t *option="") override
Remove all objects from the list.
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
void AddLast(TObject *obj) override
Add object at the end of the list.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
This code implements the MD5 message-digest algorithm.
static TMD5 * FileChecksum(const char *file)
Returns checksum of specified file.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
void Add(TObject *obj) override
This function may not be used (but we need to provide it since it is a pure virtual in TCollection).
TObject * Remove(TObject *key) override
Remove the (key,value) pair with key from the map.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
Method or function calling interface.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Collectable string class.
Mother of all ROOT objects.
@ kOverwrite
overwrite existing object with same name
@ kSingleKey
write collection with single key
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual Bool_t HandleTimer(TTimer *timer)
Execute action in response of a timer timing out.
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
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.
void MayNotUse(const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived clas...
R__ALWAYS_INLINE Bool_t IsZombie() const
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
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 TClass * IsA() const
Set the selector's data members to the corresponding elements of the output list.
static TOutputListSelectorDataMap * FindInList(TCollection *coll)
Find a TOutputListSelectorDataMap in a collection.
Class used by TMap to store (key,value) pairs.
static void SetMemValues()
Record memory usage.
static void Setup(TList *input)
Setup the PROOF input list with requested statistics and tracing options.
static void Stop()
Terminate the PROOF statistics run.
static void GetMemValues(Long_t &vmax, Long_t &rmax)
Get memory usage.
static void Start(TList *input, TList *output)
Initialize PROOF statistics run.
Bool_t Notify() override
Handle expiration of the timer associated with dispatching pending events while processing.
TProctimeTimer(TProofPlayer *p, Long_t to)
Implement Tree drawing using PROOF.
Class to find axis limits and synchronize them between workers.
static void AutoBinFunc(TString &key, Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax, Double_t &zmin, Double_t &zmax)
Get bining information.
Int_t Unlock()
Unlock the directory.
Int_t Lock()
Locks the directory.
Class to steer the merging of files produced on the workers.
void Print(Option_t *option="") const override
Dump the class content.
const char * GetDir(Bool_t raw=kFALSE) const
void SetDir(const char *dir, Bool_t raw=kFALSE)
void SetWorkerOrdinal(const char *ordinal)
Long64_t Process(const char *selector, Long64_t nentries=-1, Option_t *option="")
Process the specified TSelector file 'nentries' times.
~TProofPlayerRemote() override
Destructor.
ErrorHandlerFunc_t fErrorHandler
tdset for current processing
Int_t InitPacketizer(TDSet *dset, Long64_t nentries, Long64_t first, const char *defpackunit, const char *defpackdata)
Init the packetizer Return 0 on success (fPacketizer is correctly initialized), -1 on failure.
Long64_t Finalize(Bool_t force=kFALSE, Bool_t sync=kFALSE) override
Finalize query (may not be used in this class).
void NotifyMemory(TObject *obj)
Printout the memory record after merging object 'obj' This record is used by the memory monitor.
Long64_t Process(TDSet *set, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0) override
Process specified TDSet on PROOF.
TObject * HandleHistogram(TObject *obj, Bool_t &merged)
Low statistic histograms need a special treatment when using autobin.
TList * MergeFeedback()
Merge feedback lists.
TVirtualPacketizer * fPacketizer
Bool_t JoinProcess(TList *workers) override
Prepares the given list of new workers to join a progressing process.
void AddOutput(TList *out) override
Incorporate the content of the received output list 'out' into the final output list fOutput.
TDSetElement * GetNextPacket(TSlave *slave, TMessage *r) override
Get next packet for specified slave.
Long64_t DrawSelect(TDSet *set, const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0) override
Draw (support for TChain::Draw()).
void RedirectOutput(Bool_t on=kTRUE)
Control output redirection to TProof::fLogFileW.
void SetInitTime() override
Set init time.
TString fSelectorFileName
Bool_t HandleTimer(TTimer *timer) override
Send feedback objects to client.
void Feedback(TList *objs) override
Feedback signal.
TMessage * fProcessMessage
Histogram with packets being processed (owned by TPerfStats)
Bool_t MergeOutputFiles()
Merge output in files.
Int_t Incorporate(TObject *obj, TList *out, Bool_t &merged)
Incorporate object 'newobj' in the list 'outlist'.
void StopProcess(Bool_t abort, Int_t timeout=-1) override
Stop process after this event.
Bool_t IsClient() const override
Is the player running on the client?
void SetSelectorDataMembersFromOutputList()
Set the selector's data members: find the mapping of data members to otuput list entries in the outpu...
void Progress(Long64_t total, Long64_t processed) override
Progress signal.
Bool_t HistoSameAxis(TH1 *h0, TH1 *h1)
Return kTRUE is the histograms 'h0' and 'h1' have the same binning and ranges on the axis (i....
TProof * GetProof() const
void StoreOutput(TList *out) override
Store received output list.
Int_t AddOutputObject(TObject *obj) override
Incorporate the received object 'obj' into the output list fOutput.
void StopFeedback() override
Stop reporting of feedback objects.
void SetLastMergingMsg(TObject *obj)
Set the message to be notified in case of exception.
void MergeOutput(Bool_t savememvalues=kFALSE) override
Merge objects in output the lists.
void SetMerging(Bool_t on=kTRUE) override
Switch on/off merge timer.
virtual Bool_t SendSelector(const char *selector_file)
Send the selector file(s) to master or worker nodes.
void SetupFeedback() override
Setup reporting of feedback objects.
void StoreFeedback(TObject *slave, TList *out) override
Store feedback results from the specified slave.
void StopFeedback() override
Stop feedback.
Bool_t HandleTimer(TTimer *timer) override
Handle timer event.
void SetupFeedback() override
Setup feedback.
void HandleGetTreeHeader(TMessage *mess) override
Handle tree header request.
Bool_t HandleTimer(TTimer *timer) override
Send progress and feedback to client.
TArrayL64 fSlaveBytesRead
void Progress(Long64_t total, Long64_t processed) override
Progress signal.
Long64_t Process(TDSet *set, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0) override
Process specified TDSet on PROOF.
void SetupFeedback() override
Setup reporting of feedback objects and progress messages.
Internal class steering processing in PROOF.
Long64_t fReadCallsRun
Bytes read in this run.
Bool_t fCreateSelObj
the latest selector
TQueryResult * GetQueryResult(const char *ref) override
Get query result instances referenced 'ref' from the list of results.
Int_t SavePartialResults(Bool_t queryend=kFALSE, Bool_t force=kFALSE) override
Save the partial results of this query to a dedicated file under the user data directory.
virtual void StopFeedback()
Stop feedback (may not be used in this class).
void DeleteDrawFeedback(TDrawFeedback *f) override
Delete draw feedback object.
virtual Int_t DrawCanvas(TObject *obj)
Draw the object if it is a canvas.
static THashList * fgDrawInputPars
void StopProcess(Bool_t abort, Int_t timeout=-1) override
Stop the process after this event.
TEventIter * fEvIter
period (ms) for sending intermediate results
void ClearInput() override
Clear input list.
TTimer * fFeedbackTimer
class of the latest selector
Bool_t JoinProcess(TList *workers) override
Not implemented: meaningful only in the remote player. Returns kFALSE.
TProofPlayer(TProof *proof=0)
Default ctor.
Int_t ReinitSelector(TQueryResult *qr) override
Reinitialize fSelector using the selector files in the query result.
Long64_t GetEventsProcessed() const override
TList * GetOutputList() const override
Get output list.
void StoreOutput(TList *out) override
Store output list (may not be used in this class).
void HandleGetTreeHeader(TMessage *mess) override
Handle tree header request.
Long64_t Process(TDSet *set, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0) override
Process specified TDSet on PROOF worker.
EExitStatus GetExitStatus() const override
Bool_t IsClient() const override
void StoreFeedback(TObject *slave, TList *out) override
Store feedback list (may not be used in this class).
void Feedback(TList *objs) override
Set feedback list (may not be used in this class).
TObject * GetOutput(const char *name) const override
Get output object by name.
TDSetElement * GetNextPacket(TSlave *slave, TMessage *r) override
Get next packet (may not be used in this class).
void AddInput(TObject *inp) override
Add object to input list.
void AddOutput(TList *out) override
Incorporate output list (may not be used in this class).
void HandleRecvHisto(TMessage *mess) override
Receive histo from slave.
EExitStatus fExitStatus
status of query in progress
Long_t fFeedbackPeriod
timer for sending intermediate results
TList * fQueryResults
Events processed in this run.
void SetDispatchTimer(Bool_t on=kTRUE) override
Enable/disable the timer to dispatch pening events while processing.
void MapOutputListToDataMembers() const
void FeedBackCanvas(const char *name, Bool_t create)
Create/destroy a named canvas for feedback.
Int_t AddOutputObject(TObject *obj) override
Incorporate output object (may not be used in this class).
void AddQueryResult(TQueryResult *q) override
Add query result to the list, making sure that there are no duplicates.
void MergeOutput(Bool_t savememvalues=kFALSE) override
Merge output (may not be used in this class).
void Progress(Long64_t total, Long64_t processed) override
Report progress (may not be used in this class).
Bool_t fSaveResultsPerPacket
Long64_t fProcessedRun
Read calls in this run.
Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, TString &selector, TString &objname) override
Parse the arguments from var, sel and opt and fill the selector and object name accordingly.
Long64_t Finalize(Bool_t force=kFALSE, Bool_t sync=kFALSE) override
Finalize query (may not be used in this class).
TProofProgressStatus * GetProgressStatus() const override
Bool_t fSavePartialResults
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt) override
Set draw feedback option.
TStatus * fSelStatus
iterator on events or objects
TClass * fSelectorClass
kTRUE when fSelector has been created locally
void SetCurrentQuery(TQueryResult *q) override
Set current query and save previous value.
void RemoveQueryResult(const char *ref) override
Remove all query result instances referenced 'ref' from the list of results.
TQueryResult * fPreviousQuery
void RestorePreviousQuery() override
Int_t GetLearnEntries() override
Return the number of entries in the learning phase.
void UpdateProgressInfo() override
Update fProgressStatus.
Long64_t GetCacheSize() override
Return the size in bytes of the cache.
Long64_t DrawSelect(TDSet *set, const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0) override
Draw (may not be used in this class).
TProofProgressStatus * fProgressStatus
virtual void SetupFeedback()
Set up feedback (may not be used in this class).
void SetStopTimer(Bool_t on=kTRUE, Bool_t abort=kFALSE, Int_t timeout=0) override
Enable/disable the timer to stop/abort processing.
TDrawFeedback * CreateDrawFeedback(TProof *p) override
Draw feedback creation proxy.
void SetProcessing(Bool_t on=kTRUE)
Set processing bit according to 'on'.
Bool_t CheckMemUsage(Long64_t &mfreq, Bool_t &w80r, Bool_t &w80v, TString &wmsg)
Check the memory usage, if requested.
void UpdateAutoBin(const char *name, Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax, Double_t &zmin, Double_t &zmax) override
Update automatic binning parameters for given object "name".
~TProofPlayer() override
Destructor.
Int_t AssertSelector(const char *selector_file)
Make sure that a valid selector object Return -1 in case of problems, 0 otherwise.
Container class for processing statistics.
void SetLastUpdate(Double_t updtTime=0)
Update time stamp either with the passed value (if > 0) or with the current time.
Double_t GetProcTime() const
void SetBytesRead(Long64_t bytesRead)
Long64_t GetEntries() const
void IncEntries(Long64_t entries=1)
void SetReadCalls(Long64_t readCalls)
Long64_t GetBytesRead() const
const char * GetOrdinal() const
Int_t GetQuerySeqNum() const
const char * GetTopSessionTag() const
static void ErrorHandler(Int_t level, Bool_t abort, const char *location, const char *msg)
The PROOF error handler function.
static void GetLocalServer(TString &dsrv)
Extract LOCALDATASERVER info in 'dsrv'.
static void SetLastEntry(Long64_t lastentry)
Set the last entry before exception.
static Float_t GetMemHWM()
MemHWM getter.
Bool_t IsParallel() const
True if in parallel mode.
static void FilterLocalroot(TString &path, const char *url="root://dum/")
If 'path' is local and 'dsrv' is Xrootd, apply 'path.Localroot' settings, if any.
static FILE * SetErrorHandlerFile(FILE *ferr)
Set the file stream where to log (default stderr).
Float_t GetEffSessions() const
static void SetLastMsg(const char *lastmsg)
Set the message to be sent back in case of exceptions.
const char * GetDataDirOpts() const
TSocket * GetSocket() const
void SendAsynMessage(const char *msg, Bool_t lf=kTRUE)
Send an asychronous message to the master / client .
const char * GetDataDir() const
Int_t GetTotSessions() const
Long64_t GetMsgSizeHWM() const
TProofLockPath * GetCacheLock()
static Long_t GetResMemMax()
ResMemMax getter.
const char * GetCacheDir() const
static Long_t GetVirtMemMax()
VirtMemMax getter.
const char * GetSessionDir() const
Int_t GetProtocol() const
const char * GetPrefix() const
static Float_t GetMemStop()
MemStop getter.
Bool_t IsTopMaster() const
Implementation of TProof controlling PROOF federated clusters.
void ValidateDSet(TDSet *dset) override
Validate a TDSet.
This class controls a Parallel ROOT Facility, PROOF, cluster.
void Activate(TList *slaves=0)
Activate slave server list.
void AddFeedback(const char *name)
Add object to feedback list.
Bool_t IsParallel() const
TObject * GetParameter(const char *par) const
Get specified parameter.
void ResetMergePrg()
Reset the merge progress notificator.
Int_t Collect(const TSlave *sl, Long_t timeout=-1, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect responses from slave sl.
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list.
void SetParameter(const char *par, const char *value)
Set input list parameter.
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
void RemoveFeedback(const char *name)
Remove object from feedback list.
ERunStatus GetRunStatus() const
TList * GetListOfActiveSlaves() const
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
Int_t SendFile(const char *file, Int_t opt=(kBinary|kForward|kCp|kCpBin), const char *rfile=0, TSlave *sl=0)
Send a file to master or slave servers.
void Feedback(TList *objs)
Get list of feedback objects.
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
virtual void SendInputDataFile()
Send the input data objects to the master; the objects are taken from the dedicated list and / or the...
TList * GetInputList()
Get input list.
A container class for query results.
void SetNumMergers(Int_t nmergers)
TMacro * GetSelecImp() const
void SetMergeTime(Float_t mergetime)
void SetRecvTime(Float_t recvtime)
virtual void SetProcessInfo(Long64_t ent, Float_t cpu=0., Long64_t siz=-1, Float_t inittime=0., Float_t proctime=0.)
Set processing info.
virtual void SetOutputList(TList *out, bool adopt=true)
Set / change the output list.
virtual void SetFinalized()
void Print(Option_t *opt="") const override
Print query content. Use opt = "F" for a full listing.
static const char * GetMacroPath()
Get macro search path. Static utility function.
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
virtual EAbort GetAbort() const
static bool IsStandardDraw(const char *selec)
Find out if this is a standard selection used for Draw actions (either TSelectorDraw,...
virtual void ProcessFill(Long64_t)
This method is called for all selected entries.
virtual int Version() const
virtual bool ProcessCut(Long64_t)
This method is called before processing entry.
virtual bool Process(Long64_t)
The Process() function is called for each entry in the tree (or possibly keyed object in the case of ...
virtual TList * GetInputList() const
TClass * IsA() const override
virtual void SlaveBegin(TTree *)
virtual void SetOption(const char *option)
virtual Long64_t GetStatus() const
virtual void SetInputList(TList *input)
virtual void Abort(const char *why, EAbort what=kAbortProcess)
Abort processing.
virtual TList * GetOutputList() const
virtual void SlaveTerminate()
virtual void Begin(TTree *)
static TSelector * GetSelector(const char *filename)
The code in filename is loaded (interpreted or compiled, see below), filename must contain a valid cl...
virtual Int_t IndexOf(const TObject *obj) const
Return index of object in collection.
Class describing a PROOF worker server.
virtual Int_t Send(const TMessage &mess)
Send a TMessage object.
A sorted doubly linked list.
This class holds the status of an ongoing operation and collects error messages.
void Add(const char *mesg)
Add an error message.
void SetMemValues(Long_t vmem=-1, Long_t rmem=-1, Bool_t master=kFALSE)
Set max memory values.
void SetExitStatus(Int_t est)
Bool_t Notify() override
Handle the signal coming from the expiration of the timer associated with an abort or stop request.
TStopTimer(TProofPlayer *p, Bool_t abort, Int_t to)
Constructor for the timer to stop/abort processing.
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
void Stop()
Stop the stopwatch.
TString & Insert(Ssiz_t pos, const char *s)
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
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)
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.
virtual Int_t RedirectOutput(const char *name, const char *mode="a", RedirectHandle_t *h=nullptr)
Redirect standard output (stdout, stderr) to the specified file.
virtual Func_t DynFindSymbol(const char *module, const char *entry)
Find specific entry point in specified library.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual const char * Getenv(const char *env)
Get environment variable.
virtual const char * GetIncludePath()
Get the list of include path.
virtual TString SplitAclicMode(const char *filename, TString &mode, TString &args, TString &io) const
This method split a filename of the form:
virtual int MakeDirectory(const char *name)
Make a directory.
virtual int GetSysInfo(SysInfo_t *info) const
Returns static system info, like OS type, CPU type, number of CPUs RAM size, etc into the SysInfo_t s...
virtual void SetIncludePath(const char *includePath)
IncludePath should contain the list of compiler flags to indicate where to find user defined header f...
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
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 ChangeDirectory(const char *path)
Change directory.
virtual int GetProcInfo(ProcInfo_t *info) const
Returns cpu and memory used by this process into the ProcInfo_t structure.
virtual void DispatchOneEvent(Bool_t pendingOnly=kFALSE)
Dispatch a single event.
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual const char * HostName()
Return the system's host name.
virtual const char * WorkingDirectory()
Return working directory.
virtual char * Which(const char *search, const char *file, EAccessMode mode=kFileExists)
Find location of file in a search path.
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
virtual int Unlink(const char *name)
Unlink, i.e.
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
char * DynamicPathName(const char *lib, Bool_t quiet=kFALSE)
Find a dynamic library called lib using the system search paths.
const char * AsString() const
Return the time as a string.
Handles synchronous and a-synchronous timer events.
virtual void Start(Long_t milliSec=-1, Bool_t singleShot=kFALSE)
Starts the timer with a milliSec timeout.
void Reset()
Reset the timer.
void SetObject(TObject *object)
Set the object to be notified at time out.
A TTree represents a columnar dataset.
virtual void SetMaxEntryLoop(Long64_t maxev=kMaxEntries)
TDirectory * GetDirectory() const
virtual void SetMaxVirtualSize(Long64_t size=0)
virtual void DropBaskets()
Remove some baskets from memory.
virtual void SetDirectory(TDirectory *dir)
Change the tree's directory.
virtual Long64_t GetEntries() const
virtual void SetAutoFlush(Long64_t autof=-30000000)
This function may be called at the start of a program to change the default value for fAutoFlush.
This class defines a UUID (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDent...
This class represents a WWW compatible URL.
const char * GetFile() const
const char * GetHostFQDN() const
Return fully qualified domain name of url host.
virtual Bool_t SendProcessingProgress(Double_t, Double_t, Bool_t=kFALSE)
virtual Bool_t SendProcessingStatus(const char *, Bool_t=kFALSE)
The packetizer is a load balancing object created for each query.
Float_t GetProcTime() const
TList * GetFailedPackets()
virtual Int_t AddWorkers(TList *workers)
Adds new workers.
TNtuple * GetProgressPerf(Bool_t steal=kFALSE)
void SetFailedPackets(TList *list)
Long64_t GetTotalEntries() const
virtual void StopProcess(Bool_t abort, Bool_t stoptimer=kFALSE)
Stop process.
Float_t GetInitTime() const
virtual void SetInitTime()
Set the initialization time.
Long64_t GetBytesRead() const
TList * GetConfigParams(Bool_t steal=kFALSE)
virtual TDSetElement * GetNextPacket(TSlave *sl, TMessage *r)
Get next packet.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.