Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMPWorkerTreeFunc< F > Class Template Reference

template<class F>
class TMPWorkerTreeFunc< F >

Templated derivation of TMPWorkerTree handlign generic function tree processing.

Definition at line 79 of file TMPWorkerTree.h.

Public Member Functions

 TMPWorkerTreeFunc (F procFunc, const std::vector< std::string > &fileNames, TEntryList *entries, const std::string &treeName, UInt_t nWorkers, ULong64_t maxEntries, ULong64_t firstEntry)
 
 TMPWorkerTreeFunc (F procFunc, TTree *tree, TEntryList *entries, UInt_t nWorkers, ULong64_t maxEntries, ULong64_t firstEntry)
 
 ~TMPWorkerTreeFunc () override
 
- Public Member Functions inherited from TMPWorkerTree
 TMPWorkerTree ()
 Class constructors.
 
 TMPWorkerTree (const std::vector< std::string > &fileNames, TEntryList *entries, const std::string &treeName, UInt_t nWorkers, ULong64_t maxEntries, ULong64_t firstEntry)
 
 TMPWorkerTree (const TMPWorkerTree &)=delete
 
 TMPWorkerTree (TTree *tree, TEntryList *entries, UInt_t nWorkers, ULong64_t maxEntries, ULong64_t firstEntry)
 
 ~TMPWorkerTree () override
 
TMPWorkerTreeoperator= (const TMPWorkerTree &)=delete
 
- Public Member Functions inherited from TMPWorker
 TMPWorker ()
 
 TMPWorker (const TMPWorker &)=delete
 
 TMPWorker (unsigned nWorkers, ULong64_t maxEntries)
 
virtual ~TMPWorker ()
 
unsigned GetNWorker () const
 
pid_t GetPid ()
 
TSocketGetSocket ()
 
virtual void Init (int fd, unsigned workerN)
 This method is called by children processes right after forking.
 
TMPWorkeroperator= (const TMPWorker &)=delete
 
void Run ()
 

Private Member Functions

void Process (UInt_t code, MPCodeBufPair &msg) override
 
void SendResult () override
 Generic function processing SendResult and Process overload.
 

Private Attributes

bool fCanReduce
 true if fReducedResult can be reduced with a new result, false until we have produced one result
 
F fProcFunc
 copy the function to be executed
 
ROOT::TypeTraits::InvokeResult_t< F, std::reference_wrapper< TTreeReader > > fReducedResult
 the results of the executions of fProcFunc merged together
 

Additional Inherited Members

- Protected Member Functions inherited from TMPWorkerTree
void CloseFile ()
 Handle file closing.
 
ULong64_t EvalMaxEntries (ULong64_t maxEntries)
 Max entries evaluation.
 
void HandleInput (MPCodeBufPair &msg) override
 Execute instructions received from a MP client.
 
void Init (int fd, UInt_t workerN) override
 Init overload defining max entries.
 
Int_t LoadTree (UInt_t code, MPCodeBufPair &msg, Long64_t &start, Long64_t &finish, TEntryList **enl, std::string &errmsg)
 Load the required tree and evaluate the processing range.
 
TFileOpenFile (const std::string &fileName)
 Handle file opening.
 
TTreeRetrieveTree (TFile *fp)
 Retrieve a tree from an open file.
 
void Setup ()
 Auxiliary method for common initialization.
 
void SetupTreeCache (TTree *tree)
 Tree cache handling.
 
- Protected Member Functions inherited from TMPWorker
void SendError (const std::string &errmsg, unsigned int code=MPCode::kError)
 Error sender.
 
- Protected Attributes inherited from TMPWorkerTree
TEntryListfEntryList
 entrylist
 
TFilefFile
 last open file
 
std::vector< std::string > fFileNames
 the files to be processed by all workers
 
ULong64_t fFirstEntry
 first entry to br processed
 
TTreefTree
 pointer to the tree to be processed. It is only used if the tree is directly passed to TProcessExecutor::Process as argument
 
std::string fTreeName
 the name of the tree to be processed
 
- Protected Attributes inherited from TMPWorker
std::string fId
 identifier string in the form W<nwrk>|P<proc id>
 
ULong64_t fMaxNEntries
 the maximum number of entries to be processed by this worker
 
unsigned fNWorkers
 the number of workers spawned
 
ULong64_t fProcessedEntries
 the number of entries processed by this worker so far
 

#include <TMPWorkerTree.h>

Inheritance diagram for TMPWorkerTreeFunc< F >:
[legend]

Constructor & Destructor Documentation

◆ TMPWorkerTreeFunc() [1/2]

template<class F >
TMPWorkerTreeFunc< F >::TMPWorkerTreeFunc ( F  procFunc,
const std::vector< std::string > &  fileNames,
TEntryList entries,
const std::string &  treeName,
UInt_t  nWorkers,
ULong64_t  maxEntries,
ULong64_t  firstEntry 
)
inline

Definition at line 81 of file TMPWorkerTree.h.

◆ TMPWorkerTreeFunc() [2/2]

template<class F >
TMPWorkerTreeFunc< F >::TMPWorkerTreeFunc ( F  procFunc,
TTree tree,
TEntryList entries,
UInt_t  nWorkers,
ULong64_t  maxEntries,
ULong64_t  firstEntry 
)
inline

Definition at line 87 of file TMPWorkerTree.h.

◆ ~TMPWorkerTreeFunc()

template<class F >
TMPWorkerTreeFunc< F >::~TMPWorkerTreeFunc ( )
inlineoverride

Definition at line 93 of file TMPWorkerTree.h.

Member Function Documentation

◆ Process()

template<class F >
void TMPWorkerTreeFunc< F >::Process ( UInt_t  code,
MPCodeBufPair msg 
)
overrideprivatevirtual

Reimplemented from TMPWorkerTree.

Definition at line 189 of file TMPWorkerTree.h.

◆ SendResult()

template<class F >
void TMPWorkerTreeFunc< F >::SendResult
overrideprivatevirtual

Generic function processing SendResult and Process overload.

Reimplemented from TMPWorkerTree.

Definition at line 182 of file TMPWorkerTree.h.

Member Data Documentation

◆ fCanReduce

template<class F >
bool TMPWorkerTreeFunc< F >::fCanReduce
private

true if fReducedResult can be reduced with a new result, false until we have produced one result

Definition at line 103 of file TMPWorkerTree.h.

◆ fProcFunc

template<class F >
F TMPWorkerTreeFunc< F >::fProcFunc
private

copy the function to be executed

Definition at line 99 of file TMPWorkerTree.h.

◆ fReducedResult

template<class F >
ROOT::TypeTraits::InvokeResult_t<F, std::reference_wrapper<TTreeReader> > TMPWorkerTreeFunc< F >::fReducedResult
private

the results of the executions of fProcFunc merged together

Definition at line 101 of file TMPWorkerTree.h.

  • tree/treeplayer/inc/TMPWorkerTree.h