Definition at line 89 of file RDFNodes.hxx.
|
void | CleanUpNodes () |
| Perform clean-up operations. To be called at the end of each event loop. More...
|
|
void | CleanUpTask (unsigned int slot) |
| Perform clean-up operations. To be called at the end of each task execution. More...
|
|
void | EvalChildrenCounts () |
| Trigger counting of number of children nodes for each node of the functional graph. More...
|
|
unsigned int | GetNextID () const |
|
void | InitNodes () |
| Initialize all nodes of the functional graph before running the event loop. More...
|
|
void | InitNodeSlots (TTreeReader *r, unsigned int slot) |
| Build TTreeReaderValues for all nodes This method loops over all filters, actions and other booked objects and calls their InitRDFValues methods. More...
|
|
void | JitActions () |
| Jit all actions that required runtime column type inference, and clean the fToJit member variable. More...
|
|
void | RunAndCheckFilters (unsigned int slot, Long64_t entry) |
| Execute actions and make sure named filters are called for each event. More...
|
|
void | RunDataSource () |
| Run event loop over data accessed through a DataSource, in sequence. More...
|
|
void | RunDataSourceMT () |
| Run event loop over data accessed through a DataSource, in parallel. More...
|
|
void | RunEmptySource () |
| Run event loop with no source files, in sequence. More...
|
|
void | RunEmptySourceMT () |
| Run event loop with no source files, in parallel. More...
|
|
void | RunTreeProcessorMT () |
| Run event loop over one or multiple ROOT files, in parallel. More...
|
|
void | RunTreeReader () |
| Run event loop over one or multiple ROOT files, in sequence. More...
|
|
#include <ROOT/RDFNodes.hxx>
◆ Callback_t
◆ RDataSource
◆ ELoopType
Enumerator |
---|
kROOTFiles | |
kROOTFilesMT | |
kNoFiles | |
kNoFilesMT | |
kDataSource | |
kDataSourceMT | |
Definition at line 91 of file RDFNodes.hxx.
◆ RLoopManager() [1/4]
RLoopManager::RLoopManager |
( |
TTree * |
tree, |
|
|
const ColumnNames_t & |
defaultBranches |
|
) |
| |
◆ RLoopManager() [2/4]
RLoopManager::RLoopManager |
( |
ULong64_t |
nEmptyEntries | ) |
|
◆ RLoopManager() [3/4]
RLoopManager::RLoopManager |
( |
std::unique_ptr< RDataSource > |
ds, |
|
|
const ColumnNames_t & |
defaultBranches |
|
) |
| |
◆ RLoopManager() [4/4]
ROOT::Detail::RDF::RLoopManager::RLoopManager |
( |
const RLoopManager & |
| ) |
|
|
delete |
◆ AddColumnAlias()
void ROOT::Detail::RDF::RLoopManager::AddColumnAlias |
( |
const std::string & |
alias, |
|
|
const std::string & |
colName |
|
) |
| |
|
inline |
◆ AddCustomColumnName()
◆ AddDataSourceColumn()
◆ Book() [1/5]
◆ Book() [2/5]
◆ Book() [3/5]
◆ Book() [4/5]
void RLoopManager::Book |
( |
const std::shared_ptr< bool > & |
branchPtr | ) |
|
◆ Book() [5/5]
◆ CheckFilters()
bool RLoopManager::CheckFilters |
( |
int |
, |
|
|
unsigned |
int |
|
) |
| |
◆ CleanUpNodes()
void RLoopManager::CleanUpNodes |
( |
| ) |
|
|
private |
Perform clean-up operations. To be called at the end of each event loop.
Definition at line 432 of file RDFNodes.cxx.
◆ CleanUpTask()
void RLoopManager::CleanUpTask |
( |
unsigned int |
slot | ) |
|
|
private |
Perform clean-up operations. To be called at the end of each task execution.
Definition at line 458 of file RDFNodes.cxx.
◆ EvalChildrenCounts()
void RLoopManager::EvalChildrenCounts |
( |
| ) |
|
|
private |
Trigger counting of number of children nodes for each node of the functional graph.
This is done once before starting the event loop. Each action sends an increase children count
signal upstream, which is propagated until RLoopManager. Each time a node receives the signal, in increments its children counter. Each node only propagates the signal once, even if it receives it multiple times. Named filters also send an increase children count
signal, just like actions, as they always execute during the event loop so the graph branch they belong to must count as active even if it does not end in an action.
Definition at line 487 of file RDFNodes.cxx.
◆ GetAliasMap()
const std::map<std::string, std::string>& ROOT::Detail::RDF::RLoopManager::GetAliasMap |
( |
| ) |
const |
|
inline |
◆ GetBookedColumns()
const std::map<std::string, RCustomColumnBasePtr_t>& ROOT::Detail::RDF::RLoopManager::GetBookedColumns |
( |
| ) |
const |
|
inline |
◆ GetCustomColumnNames()
const ColumnNames_t& ROOT::Detail::RDF::RLoopManager::GetCustomColumnNames |
( |
| ) |
const |
|
inline |
◆ GetDataSource()
RDataSource* ROOT::Detail::RDF::RLoopManager::GetDataSource |
( |
| ) |
const |
|
inline |
◆ GetDefaultColumnNames()
const ColumnNames_t & RLoopManager::GetDefaultColumnNames |
( |
| ) |
const |
Return the list of default columns – empty if none was provided when constructing the RDataFrame.
Definition at line 529 of file RDFNodes.cxx.
◆ GetDefinedDataSourceColumns()
const ColumnNames_t& ROOT::Detail::RDF::RLoopManager::GetDefinedDataSourceColumns |
( |
| ) |
const |
|
inline |
◆ GetDirectory()
◆ GetID()
unsigned int ROOT::Detail::RDF::RLoopManager::GetID |
( |
| ) |
const |
|
inline |
◆ GetLoopManagerUnchecked()
◆ GetNEmptyEntries()
ULong64_t ROOT::Detail::RDF::RLoopManager::GetNEmptyEntries |
( |
| ) |
const |
|
inline |
◆ GetNextID()
unsigned int RLoopManager::GetNextID |
( |
| ) |
const |
|
private |
◆ GetNSlots()
unsigned int ROOT::Detail::RDF::RLoopManager::GetNSlots |
( |
| ) |
const |
|
inline |
◆ GetTree()
TTree * RLoopManager::GetTree |
( |
| ) |
const |
◆ IncrChildrenCount()
void ROOT::Detail::RDF::RLoopManager::IncrChildrenCount |
( |
| ) |
|
|
inline |
◆ InitNodes()
void RLoopManager::InitNodes |
( |
| ) |
|
|
private |
Initialize all nodes of the functional graph before running the event loop.
This method is called once per event-loop and performs generic initialization operations that do not depend on the specific processing slot (i.e. operations that are common for all threads).
Definition at line 418 of file RDFNodes.cxx.
◆ InitNodeSlots()
Build TTreeReaderValues for all nodes This method loops over all filters, actions and other booked objects and calls their InitRDFValues
methods.
It is called once per node per slot, before running the event loop. It also informs each node of the TTreeReader that a particular slot will be using.
Definition at line 401 of file RDFNodes.cxx.
◆ JitActions()
void RLoopManager::JitActions |
( |
| ) |
|
|
private |
Jit all actions that required runtime column type inference, and clean the fToJit
member variable.
Definition at line 469 of file RDFNodes.cxx.
◆ MustRunNamedFilters()
bool ROOT::Detail::RDF::RLoopManager::MustRunNamedFilters |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ PartialReport()
End of recursive chain of calls, does nothing.
Definition at line 201 of file RDFNodes.hxx.
◆ RegisterCallback()
void RLoopManager::RegisterCallback |
( |
ULong64_t |
everyNEvents, |
|
|
std::function< void(unsigned int)> && |
f |
|
) |
| |
◆ Report()
Call FillReport
on all booked filters.
Definition at line 581 of file RDFNodes.cxx.
◆ Run()
void RLoopManager::Run |
( |
| ) |
|
Start the event loop with a different mechanism depending on IMT/no IMT, data source/no data source.
Also perform a few setup and clean-up operations (jit actions if necessary, clear booked actions after the loop...).
Definition at line 504 of file RDFNodes.cxx.
◆ RunAndCheckFilters()
void RLoopManager::RunAndCheckFilters |
( |
unsigned int |
slot, |
|
|
Long64_t |
entry |
|
) |
| |
|
private |
Execute actions and make sure named filters are called for each event.
Named filters must be called even if the analysis logic would not require it, lest they report confusing results.
Definition at line 386 of file RDFNodes.cxx.
◆ RunDataSource()
void RLoopManager::RunDataSource |
( |
| ) |
|
|
private |
Run event loop over data accessed through a DataSource, in sequence.
Definition at line 328 of file RDFNodes.cxx.
◆ RunDataSourceMT()
void RLoopManager::RunDataSourceMT |
( |
| ) |
|
|
private |
Run event loop over data accessed through a DataSource, in parallel.
Definition at line 351 of file RDFNodes.cxx.
◆ RunEmptySource()
void RLoopManager::RunEmptySource |
( |
| ) |
|
|
private |
Run event loop with no source files, in sequence.
Definition at line 281 of file RDFNodes.cxx.
◆ RunEmptySourceMT()
void RLoopManager::RunEmptySourceMT |
( |
| ) |
|
|
private |
Run event loop with no source files, in parallel.
Definition at line 243 of file RDFNodes.cxx.
◆ RunTreeProcessorMT()
void RLoopManager::RunTreeProcessorMT |
( |
| ) |
|
|
private |
Run event loop over one or multiple ROOT files, in parallel.
Definition at line 290 of file RDFNodes.cxx.
◆ RunTreeReader()
void RLoopManager::RunTreeReader |
( |
| ) |
|
|
private |
Run event loop over one or multiple ROOT files, in sequence.
Definition at line 312 of file RDFNodes.cxx.
◆ SetTree()
void ROOT::Detail::RDF::RLoopManager::SetTree |
( |
const std::shared_ptr< TTree > & |
tree | ) |
|
|
inline |
◆ StopProcessing()
void ROOT::Detail::RDF::RLoopManager::StopProcessing |
( |
| ) |
|
|
inline |
◆ ToJit()
void ROOT::Detail::RDF::RLoopManager::ToJit |
( |
const std::string & |
s | ) |
|
|
inline |
◆ fAliasColumnNameMap
std::map<std::string, std::string> ROOT::Detail::RDF::RLoopManager::fAliasColumnNameMap |
|
private |
ColumnNameAlias-columnName pairs.
Definition at line 153 of file RDFNodes.hxx.
◆ fBookedActions
◆ fBookedCustomColumns
◆ fBookedFilters
◆ fBookedNamedFilters
Contains a subset of fBookedFilters, i.e. only the named filters.
Definition at line 134 of file RDFNodes.hxx.
◆ fBookedRanges
◆ fCallbacks
std::vector<TCallback> ROOT::Detail::RDF::RLoopManager::fCallbacks |
|
private |
◆ fCallbacksOnce
Registered callbacks to invoke just once before running the loop.
Definition at line 155 of file RDFNodes.hxx.
◆ fCustomColumnNames
ColumnNames_t ROOT::Detail::RDF::RLoopManager::fCustomColumnNames |
|
private |
Contains names of all custom columns defined in the functional graph.
Definition at line 136 of file RDFNodes.hxx.
◆ fDataSource
const std::unique_ptr<RDataSource> ROOT::Detail::RDF::RLoopManager::fDataSource |
|
private |
Owning pointer to a data-source object. Null if no data-source.
Definition at line 151 of file RDFNodes.hxx.
◆ fDefaultColumns
const ColumnNames_t ROOT::Detail::RDF::RLoopManager::fDefaultColumns |
|
private |
◆ fDefinedDataSourceColumns
ColumnNames_t ROOT::Detail::RDF::RLoopManager::fDefinedDataSourceColumns |
|
private |
List of data-source columns that have been Define
d so far.
Definition at line 152 of file RDFNodes.hxx.
◆ fDirPtr
::TDirectory* const ROOT::Detail::RDF::RLoopManager::fDirPtr {nullptr} |
|
private |
◆ fID
const unsigned int ROOT::Detail::RDF::RLoopManager::fID = GetNextID() |
|
private |
A unique ID that identifies the computation graph that starts with this RLoopManager.
Used, for example, to jit objects in a namespace reserved for this computation graph
Definition at line 158 of file RDFNodes.hxx.
◆ fLoopType
const ELoopType ROOT::Detail::RDF::RLoopManager::fLoopType |
|
private |
The kind of event loop that is going to be run (e.g. on ROOT files, on no files)
Definition at line 149 of file RDFNodes.hxx.
◆ fMustRunNamedFilters
bool ROOT::Detail::RDF::RLoopManager::fMustRunNamedFilters {true} |
|
private |
◆ fNChildren
unsigned int ROOT::Detail::RDF::RLoopManager::fNChildren {0} |
|
private |
Number of nodes of the functional graph hanging from this object.
Definition at line 147 of file RDFNodes.hxx.
◆ fNEmptyEntries
const ULong64_t ROOT::Detail::RDF::RLoopManager::fNEmptyEntries {0} |
|
private |
◆ fNSlots
const unsigned int ROOT::Detail::RDF::RLoopManager::fNSlots {1} |
|
private |
◆ fNStopsReceived
unsigned int ROOT::Detail::RDF::RLoopManager::fNStopsReceived {0} |
|
private |
Number of times that a children node signaled to stop processing entries.
Definition at line 148 of file RDFNodes.hxx.
◆ fResProxyReadiness
std::vector<std::shared_ptr<bool> > ROOT::Detail::RDF::RLoopManager::fResProxyReadiness |
|
private |
◆ fToJit
std::string ROOT::Detail::RDF::RLoopManager::fToJit |
|
private |
string containing all BuildAndBook
actions that should be jitted before running
Definition at line 150 of file RDFNodes.hxx.
◆ fTree
std::shared_ptr<TTree> ROOT::Detail::RDF::RLoopManager::fTree {nullptr} |
|
private |
[legend]