49 if (!selfile || strlen(selfile) <= 0) {
50 Error(
"MakeSelector",
"input file path or name undefined");
55 if (!strchr(
gSystem->BaseName(selfile),
'.')) {
57 Info(
"MakeSelector",
"selector name '%s' does not contain a '.':"
58 " no file to check, it will be loaded from a library", selfile);
60 Error(
"MakeSelector",
"could not create a %s selector", selfile);
85 Error(
"Process",
"selector object undefined");
113 PDB(kGlobal,1)
Info(
"Process",
"Enter");
118 Error(
"Process",
"No progress status");
150 Info(
"Process",
"starting new query");
170 while ((o = nxi())) {
171 if (!
fInput->FindObject(o)) {
174 inputtmp =
new TList;
188 PDB(kLoop,1)
Info(
"Process",
"Call Begin(0)");
192 gProof->SendInputDataFile();
195 if (
fInput->FindObject(
"PROOF_StatsHist") != 0) {
197 Warning(
"Process",
"could not attach to histogram 'PROOF_ProcPcktHist'");
200 Info(
"Process",
"attached to histogram 'PROOF_ProcPcktHist' to record"
201 " packets being processed");
205 PDB(kPacketizer,1)
Info(
"Process",
"Create Proxy TDSet");
210 fProof->SetParameter(
"PROOF_MaxSlavesPerNode", (
Long_t) 0);
212 Error(
"Process",
"cannot init the packetizer");
225 if (mrc != 0 &&
gSystem->Getenv(
"PROOF_MEMLOGFREQ")) {
227 if (clf.
IsDigit()) { memlogfreq = clf.
Atoi(); mrc = 0; }
229 if (memlogfreq == 0) {
231 if (memlogfreq <= 0) memlogfreq = 1;
233 if (mrc == 0)
fProof->SetParameter(
"PROOF_MemLogFreq", memlogfreq);
237 fProof->SetParameter(
"PROOF_QueryTag",
fProof->GetName());
239 fProof->SetParameter(
"PROOF_QuerySeqNum",
fProof->fSeqNum);
262 PDB(kGlobal,1)
Info(
"Process",
"Calling Broadcast");
265 mesg <<
set << fn <<
fInput << opt << num << fst << evl << sync << enl;
266 (*fProcessMessage) <<
set << fn <<
fInput << opt << num << fst << evl << sync << enl;
268 PDB(kGlobal,1)
Info(
"Process",
"Broadcast called: %d workers notified", nb);
278 PDB(kGlobal,1)
Info(
"Process",
"Asynchronous processing:"
279 " activating CollectInputFrom");
288 PDB(kGlobal,1)
Info(
"Process",
"Synchronous processing: calling Collect");
318 while ((o = nxi()))
fInput->Remove(o);
336 fQuery->GetName()), force);
344 Info(
"Finalize",
"query is undefined!");
360 Info(
"Finalize",
"problems reinitializing selector \"%s\"",
361 fQuery->GetSelecImp()->GetName());
379 Warning(
"Finalize",
"undefined output list in the selector! Protocol error?");
384 PDB(kLoop,1)
Info(
"Finalize",
"Call Terminate()");
389 fProof->fQuerySTW.Reset();
407 Warning(
"Finalize",
"current TQueryResult object is undefined!");
435 PDB(kGlobal,1)
Info(
"Finalize",
"exit");
491 Info(
"SetupFeedback",
"\"FeedbackList\" found: %d objects",
fFeedback->GetSize());
494 Info(
"SetupFeedback",
"\"FeedbackList\" NOT found");
514 Info(
"StoreFeedback",
"Enter (%p,%p,%d)",
fFeedbackLists, out, (out ? out->GetSize() : -1));
518 Info(
"StoreFeedback",
"Leave (empty)");
523 PDB(kFeedback,2)
Info(
"StoreFeedback",
"Create fFeedbackLists");
532 while( (obj = next()) ) {
534 Info(
"StoreFeedback",
"Find '%s'", obj->
GetName() );
539 Info(
"StoreFeedback",
"map for '%s' not found (creating)", obj->
GetName());
546 Info(
"StoreFeedback",
"removing previous value");
547 if (
map->GetValue(slave))
548 delete map->GetValue(slave);
551 map->Add(slave, obj);
556 Info(
"StoreFeedback",
"Leave");
R__EXTERN TProof * gProof
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
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
This class implements a data set to be used for PROOF processing.
const char * GetType() const
const char * GetDirectory() const
const char * GetObjName() const
A List of entry numbers in a TTree or TChain.
<div class="legacybox"><h2>Legacy Code</h2> TEventList is a legacy interface: there will be no bug fi...
TH1 is the base class of all histogram classes in ROOT.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void Add(TObject *obj) override
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Collectable string class.
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
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.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
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 Start(TList *input, TList *output)
Initialize PROOF statistics run.
This class starts a PROOF session on the local machine: no daemons, client and master merged,...
void StoreFeedback(TObject *slave, TList *out) override
Store feedback results from the specified slave.
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.
Bool_t HandleTimer(TTimer *timer) override
Send feedback objects to client.
Long64_t Finalize(Bool_t force=kFALSE, Bool_t sync=kFALSE) override
Finalize a query.
Int_t MakeSelector(const char *selfile)
Create the selector object and save the relevant files and binary information in the cache so that th...
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.
TList * MergeFeedback()
Merge feedback lists.
TVirtualPacketizer * fPacketizer
void Feedback(TList *objs) override
Feedback signal.
TMessage * fProcessMessage
Histogram with packets being processed (owned by TPerfStats)
void SetSelectorDataMembersFromOutputList()
Set the selector's data members: find the mapping of data members to otuput list entries in the outpu...
void StopFeedback() override
Stop reporting of feedback objects.
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.
Bool_t fCreateSelObj
the latest selector
virtual Int_t DrawCanvas(TObject *obj)
Draw the object if it is a canvas.
TTimer * fFeedbackTimer
class of the latest selector
Int_t ReinitSelector(TQueryResult *qr) override
Reinitialize fSelector using the selector files in the query result.
EExitStatus GetExitStatus() const override
EExitStatus fExitStatus
status of query in progress
Long_t fFeedbackPeriod
timer for sending intermediate results
TClass * fSelectorClass
kTRUE when fSelector has been created locally
TProofProgressStatus * fProgressStatus
TObject * GetParameter(const char *par) const
Get specified parameter.
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
static bool IsStandardDraw(const char *selec)
Find out if this is a standard selection used for Draw actions (either TSelectorDraw,...
static TSelector * GetSelector(const char *filename)
The code in filename is loaded (interpreted or compiled, see below), filename must contain a valid cl...
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.
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.
Handles synchronous and a-synchronous timer events.