ROOT logo
ROOT » PROOF » PROOFPLAYER » TProofPlayerRemote

class TProofPlayerRemote: public TProofPlayer


TProofPlayer

 This internal class and its subclasses steer the processing in PROOF.
Instances of the TProofPlayer class are created on the worker nodes
per session and do the processing.
Instances of its subclass - TProofPlayerRemote are created per each
query on the master(s) and on the client. On the master(s),
TProofPlayerRemote coordinate processing, check the dataset, create
the packetizer and take care of merging the results of the workers.
The instance on the client collects information on the input
(dataset and selector), it invokes the Begin() method and finalizes
the query by calling Terminate().


Function Members (Methods)

public:
TProofPlayerRemote(TProof* proof = 0)
virtual~TProofPlayerRemote()
voidTObject::AbstractMethod(const char* method) const
virtual voidTProofPlayer::AddEventsProcessed(Long64_t ev)
virtual voidTProofPlayer::AddInput(TObject* inp)
virtual voidAddOutput(TList* out)
virtual Int_tAddOutputObject(TObject* obj)
virtual voidTProofPlayer::AddQueryResult(TQueryResult* q)
virtual voidTObject::AppendPad(Option_t* option = "")
static Bool_tTQObject::AreAllSignalsBlocked()
Bool_tTQObject::AreSignalsBlocked() const
static Bool_tTQObject::BlockAllSignals(Bool_t b)
Bool_tTQObject::BlockSignals(Bool_t b)
virtual voidTObject::Browse(TBrowser* b)
virtual voidTQObject::ChangedBy(const char* method)SIGNAL
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidTProofPlayer::ClearInput()
virtual TObject*TObject::Clone(const char* newname = "") const
voidTQObject::CollectClassSignalLists(TList& list, TClass* cls)
virtual Int_tTObject::Compare(const TObject* obj) const
Bool_tTQObject::Connect(const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(TQObject* sender, const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(const char* sender_class, const char* signal, const char* receiver_class, void* receiver, const char* slot)
virtual voidTQObject::Connected(const char*)
virtual voidTObject::Copy(TObject& object) const
static TVirtualProofPlayer*TVirtualProofPlayer::Create(const char* player, TProof* p, TSocket* s = 0)
virtual TDrawFeedback*TProofPlayer::CreateDrawFeedback(TProof* p)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidTProofPlayer::DeleteDrawFeedback(TDrawFeedback* f)
virtual voidTQObject::Destroyed()SIGNAL
Bool_tTQObject::Disconnect(const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(TQObject* sender, const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(const char* class_name, const char* signal, void* receiver = 0, const char* slot = 0)
virtual voidTQObject::Disconnected(const char*)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual Long64_tDrawSelect(TDSet* set, const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0)
virtual voidTObject::Dump() constMENU
voidTQObject::Emit(const char* signal)
voidTQObject::Emit(const char* signal, Long_t* paramArr)
voidTQObject::Emit(const char* signal, const char* params)
voidTQObject::Emit(const char* signal, Double_t param)
voidTQObject::Emit(const char* signal, Long_t param)
voidTQObject::Emit(const char* signal, Long64_t param)
voidTQObject::Emit(const char* signal, Bool_t param)
voidTQObject::Emit(const char* signal, Char_t param)
voidTQObject::Emit(const char* signal, UChar_t param)
voidTQObject::Emit(const char* signal, Short_t param)
voidTQObject::Emit(const char* signal, UShort_t param)
voidTQObject::Emit(const char* signal, Int_t param)
voidTQObject::Emit(const char* signal, UInt_t param)
voidTQObject::Emit(const char* signal, ULong_t param)
voidTQObject::Emit(const char* signal, ULong64_t param)
voidTQObject::Emit(const char* signal, Float_t param)
voidTQObject::EmitVA(const char* signal, Int_t nargs)
voidTQObject::EmitVA(const char* signal, Int_t nargs, va_list va)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidFeedback(TList* objs)SIGNAL
voidTProofPlayer::FeedBackCanvas(const char* name, Bool_t create)
virtual Long64_tFinalize(TQueryResult* qr)
virtual Long64_tFinalize(Bool_t force = kFALSE, Bool_t sync = kFALSE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Long64_tTProofPlayer::GetCacheSize()
virtual TQueryResult*TProofPlayer::GetCurrentQuery() const
virtual Int_tTProofPlayer::GetDrawArgs(const char* var, const char* sel, Option_t* opt, TString& selector, TString& objname)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Long64_tTProofPlayer::GetEventsProcessed() const
virtual TVirtualProofPlayer::EExitStatusTProofPlayer::GetExitStatus() const
virtual const char*TObject::GetIconName() const
virtual TList*TProofPlayer::GetInputList() const
virtual Int_tTProofPlayer::GetLearnEntries()
TList*TQObject::GetListOfClassSignals() const
TList*TQObject::GetListOfConnections() const
virtual TList*TProofPlayer::GetListOfResults() const
TList*TQObject::GetListOfSignals() const
virtual const char*TObject::GetName() const
virtual TDSetElement*GetNextPacket(TSlave* slave, TMessage* r)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TObject*TProofPlayer::GetOutput(const char* name) const
virtual TList*TProofPlayer::GetOutputList() const
virtual TVirtualPacketizer*GetPacketizer() const
virtual TProofProgressStatus*TProofPlayer::GetProgressStatus() const
virtual TQueryResult*TProofPlayer::GetQueryResult(const char* ref)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual voidTProofPlayer::HandleGetTreeHeader(TMessage* mess)
TObject*HandleHistogram(TObject* obj, Bool_t& merged)
virtual voidTProofPlayer::HandleRecvHisto(TMessage* mess)
virtual Bool_tTQObject::HasConnection(const char* signal_name) const
virtual ULong_tTObject::Hash() const
virtual voidTQObject::HighPriority(const char* signal_name, const char* slot_name = 0)
Bool_tHistoSameAxis(TH1* h0, TH1* h1)
Int_tIncorporate(TObject* obj, TList* out, Bool_t& merged)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tIsClient() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
static voidTQObject::LoadRQ_OBJECT()
virtual voidTQObject::LowPriority(const char* signal_name, const char* slot_name = 0)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidMergeOutput()
virtual voidTQObject::Message(const char* msg)SIGNAL
virtual Bool_tTObject::Notify()
virtual Int_tTQObject::NumberOfConnections() const
virtual Int_tTQObject::NumberOfSignals() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Long64_tProcess(TDSet* set, const char* selector, Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0)
virtual voidProgress(TProofProgressInfo* pi)SIGNAL
virtual voidProgress(Long64_t total, Long64_t processed)SIGNAL
virtual voidProgress(TSlave*, TProofProgressInfo* pi)SIGNAL
virtual voidProgress(TSlave*, Long64_t total, Long64_t processed)
virtual voidProgress(Long64_t total, Long64_t processed, Long64_t bytesread, Float_t initTime, Float_t procTime, Float_t evtrti, Float_t mbrti)SIGNAL
virtual voidProgress(TSlave*, Long64_t total, Long64_t processed, Long64_t bytesread, Float_t initTime, Float_t procTime, Float_t evtrti, Float_t mbrti)SIGNAL
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRedirectOutput(Bool_t on = kTRUE)
virtual Int_tTProofPlayer::ReinitSelector(TQueryResult* qr)
virtual voidTProofPlayer::RemoveQueryResult(const char* ref)
voidTObject::ResetBit(UInt_t f)
virtual voidTProofPlayer::RestorePreviousQuery()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTProofPlayer::SetCurrentQuery(TQueryResult* q)
virtual voidTProofPlayer::SetDispatchTimer(Bool_t on = kTRUE)
virtual voidTProofPlayer::SetDrawFeedbackOption(TDrawFeedback* f, Option_t* opt)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetInitTime()
virtual voidTProofPlayer::SetMaxDrawQueries(Int_t max)
static voidTObject::SetObjectStat(Bool_t stat)
voidTProofPlayer::SetProcessing(Bool_t on = kTRUE)
virtual voidTProofPlayer::SetStopTimer(Bool_t on = kTRUE, Bool_t abort = kFALSE, Int_t timeout = 0)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStopProcess(Bool_t abort, Int_t timeout = -1)
virtual voidStoreFeedback(TObject* slave, TList* out)
virtual voidStoreOutput(TList* out)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTProofPlayer::UpdateAutoBin(const char* name, Double_t& xmin, Double_t& xmax, Double_t& ymin, Double_t& ymax, Double_t& zmin, Double_t& zmax)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
static Int_tTQObject::CheckConnectArgs(TQObject* sender, TClass* sender_class, const char* signal, TClass* receiver_class, const char* slot)
Bool_tTProofPlayer::CheckMemUsage(Long64_t& mfreq, Bool_t& w80r, Bool_t& w80v, TString& wmsg)
static Bool_tTQObject::ConnectToClass(TQObject* sender, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::ConnectToClass(const char* sender_class, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual Int_tTProofPlayer::DrawCanvas(TObject* obj)
TProof*GetProof() const
virtual void*TProofPlayer::GetSender()
virtual const char*TQObject::GetSenderClassName() const
virtual Bool_tHandleTimer(TTimer* timer)
Int_tInitPacketizer(TDSet* dset, Long64_t nentries, Long64_t first, const char* defpackunit, const char* defpackdata)
voidTObject::MakeZombie()
voidTProofPlayer::MapOutputListToDataMembers() const
TList*MergeFeedback()
Bool_tMergeOutputFiles()
voidNotifyMemory(TObject* obj)
virtual Bool_tSendSelector(const char* selector_file)
voidSetLastMergingMsg(TObject* obj)
voidSetSelectorDataMembersFromOutputList()
virtual voidSetupFeedback()
virtual voidStopFeedback()

Data Members

public:
enum TProofPlayer::EStatusBits { kDispatchOneEvent
kIsProcessing
};
enum TVirtualProofPlayer::EStatusBits { kIsSubmerger
};
enum TVirtualProofPlayer::EExitStatus { kFinished
kStopped
kAborted
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TDSet*fDSet!tdset for current processing
TTimer*TProofPlayer::fDispatchTimerDispatch pending events while processing
Int_tTProofPlayer::fDrawQueriesNumber of Draw queries in the list
void*fErrorHandlerStore previous handler when redirecting output
TEventIter*TProofPlayer::fEvIter! iterator on events or objects
TVirtualProofPlayer::EExitStatusTProofPlayer::fExitStatusexit status
TList*fFeedbackreference for use on master
TList*fFeedbackListsintermediate results
Long_tTProofPlayer::fFeedbackPeriod! period (ms) for sending intermediate results
TTimer*TProofPlayer::fFeedbackTimer! timer for sending intermediate results
TList*TProofPlayer::fInput-> list with input objects
TList*TQObject::fListOfConnections! list of connections to this object
TList*TQObject::fListOfSignals! list of signals from this object
Int_tTProofPlayer::fMaxDrawQueriesMax number of Draw queries kept
Bool_tfMergeFilesis True when merging output files centrally is needed
TList*TProofPlayer::fOutputlist with output objects
TList*fOutputListsresults returned by slaves
TVirtualPacketizer*fPacketizertransform TDSet into packets for slaves
TQueryResult*TProofPlayer::fPreviousQueryPrevious instance of TQueryResult processed
TProofProgressStatus*TProofPlayer::fProgressStatusthe progress status object;
TProof*fProoflink to associated PROOF session
TQueryResult*TProofPlayer::fQueryInstance of TQueryResult currently processed
TList*TProofPlayer::fQueryResultsList of TQueryResult
TStatus*TProofPlayer::fSelStatus! status of query in progress
TSelector*TProofPlayer::fSelector! the latest selector
TClass*TProofPlayer::fSelectorClass! class of the latest selector
Bool_tTQObject::fSignalsBlocked! flag used for suppression of signals
TTimer*TProofPlayer::fStopTimerTimer associated with a stop request
TMutex*TProofPlayer::fStopTimerMtxTo protect the stop timer
Long64_tTProofPlayer::fTotalEventsnumber of events requested
Bool_tfUseTH1MergeIf kTRUE forces use of TH1::Merge [kFALSE]
static Bool_tTQObject::fgAllSignalsBlockedflag used for suppression of all signals
static THashList*TProofPlayer::fgDrawInputParsList of input parameters to be kept on drawing actions

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

~TProofPlayerRemote()
 Destructor.
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 Process(TDSet* set, const char* selector, Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0)
 Process specified TDSet on PROOF.
 This method is called on client and on the PROOF master.
 The return value is -1 in case of an error and TSelector::GetStatus() in
 in case of success.
Bool_t MergeOutputFiles()
 Merge output in files
void SetSelectorDataMembersFromOutputList()
 Set the selector's data members:
 find the mapping of data members to otuput list entries in the output list
 and apply it.
Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE)
Long64_t Finalize(TQueryResult* qr)
 Finalize the results of a query already processed.
Bool_t SendSelector(const char* selector_file)
 Send the selector file(s) to master or worker nodes.
void MergeOutput()
 Merge objects in output the lists.
void Progress(Long64_t total, Long64_t processed)
 Progress signal.
void Progress(Long64_t total, Long64_t processed, Long64_t bytesread, Float_t initTime, Float_t procTime, Float_t evtrti, Float_t mbrti)
 Progress signal.
void Progress(TProofProgressInfo* pi)
 Progress signal.
void Feedback(TList* objs)
 Feedback signal.
void StopProcess(Bool_t abort, Int_t timeout = -1)
 Stop process after this event.
Int_t AddOutputObject(TObject* obj)
 Incorporate the received object 'obj' into the output list fOutput.
 The latter is created if not existing.
 This method short cuts 'StoreOutput + MergeOutput' optimizing the memory
 consumption.
 Returns -1 in case of error, 1 if the object has been merged into another
 one (so that its ownership has not been taken and can be deleted), and 0
 otherwise.
void RedirectOutput(Bool_t on = kTRUE)
 Control output redirection to TProof::fLogFileW
void AddOutput(TList* out)
 Incorporate the content of the received output list 'out' into the final
 output list fOutput. The latter is created if not existing.
 This method short cuts 'StoreOutput + MergeOutput' limiting the memory
 consumption.
void NotifyMemory(TObject* obj)
 Printout the memory record after merging object 'obj'
 This record is used by the memory monitor
void SetLastMergingMsg(TObject* obj)
 Set the message to be notified in case of exception
Int_t Incorporate(TObject* obj, TList* out, Bool_t& merged)
 Incorporate object 'newobj' in the list 'outlist'.
 The object is merged with an object of the same name already existing in
 the list, or just added.
 The boolean merged is set to kFALSE when the object is just added to 'outlist';
 this happens if the Merge() method does not exist or if a object named as 'obj'
 is not already in the list. If the obj is not 'merged' than it should not be
 deleted, unless outlist is not owner of its objects.
 Return 0 on success, -1 on error.
TObject * HandleHistogram(TObject* obj, Bool_t& merged)
 Low statistic histograms need a special treatment when using autobin
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.e. if they can be just Add-ed for merging).
void StoreOutput(TList* out)
 Store received output list.
TList * MergeFeedback()
 Merge feedback lists.
void StoreFeedback(TObject* slave, TList* out)
 Store feedback results from the specified slave.
void SetupFeedback()
 Setup reporting of feedback objects.
void StopFeedback()
 Stop reporting of feedback objects.
Bool_t HandleTimer(TTimer* timer)
 Send feedback objects to client.
TDSetElement * GetNextPacket(TSlave* slave, TMessage* r)
 Get next packet for specified slave.
Bool_t IsClient() const
 Is the player running on the client?
Long64_t DrawSelect(TDSet* set, const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0)
 Draw (support for TChain::Draw()).
 Returns -1 in case of error or number of selected events in case of success.
void SetInitTime()
 Set init time
TVirtualPacketizer * GetPacketizer() const
{ return 0; }
void Progress(Long64_t total, Long64_t processed)
void Progress(TSlave* , Long64_t total, Long64_t processed)
{ Progress(total, processed); }
void Progress(Long64_t total, Long64_t processed, Long64_t bytesread, Float_t initTime, Float_t procTime, Float_t evtrti, Float_t mbrti)
TProof * GetProof() const
{ return fProof; }
TProofPlayerRemote(TProof* proof = 0)
{ fProgressStatus = new TProofProgressStatus(); }