Definition at line 84 of file TDFNodes.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...
|
|
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 InitTDFValues 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/TDFNodes.hxx>
◆ Callback_t
◆ TDataSource
◆ ELoopType
Enumerator |
---|
kROOTFiles | |
kROOTFilesMT | |
kNoFiles | |
kNoFilesMT | |
kDataSource | |
kDataSourceMT | |
Definition at line 86 of file TDFNodes.hxx.
◆ TLoopManager() [1/4]
TLoopManager::TLoopManager |
( |
TTree * |
tree, |
|
|
const ColumnNames_t & |
defaultBranches |
|
) |
| |
◆ TLoopManager() [2/4]
TLoopManager::TLoopManager |
( |
ULong64_t |
nEmptyEntries | ) |
|
◆ TLoopManager() [3/4]
TLoopManager::TLoopManager |
( |
std::unique_ptr< TDataSource > |
ds, |
|
|
const ColumnNames_t & |
defaultBranches |
|
) |
| |
◆ TLoopManager() [4/4]
ROOT::Detail::TDF::TLoopManager::TLoopManager |
( |
const TLoopManager & |
| ) |
|
|
delete |
◆ AddColumnAlias()
void ROOT::Detail::TDF::TLoopManager::AddColumnAlias |
( |
const std::string & |
alias, |
|
|
const std::string & |
colName |
|
) |
| |
|
inline |
◆ AddDataSourceColumn()
◆ Book() [1/5]
◆ Book() [2/5]
◆ Book() [3/5]
◆ Book() [4/5]
void TLoopManager::Book |
( |
const std::shared_ptr< bool > & |
branchPtr | ) |
|
◆ Book() [5/5]
◆ CheckFilters()
bool TLoopManager::CheckFilters |
( |
int |
, |
|
|
unsigned |
int |
|
) |
| |
◆ CleanUpNodes()
void TLoopManager::CleanUpNodes |
( |
| ) |
|
|
private |
Perform clean-up operations. To be called at the end of each event loop.
Definition at line 328 of file TDFNodes.cxx.
◆ CleanUpTask()
void TLoopManager::CleanUpTask |
( |
unsigned int |
slot | ) |
|
|
private |
Perform clean-up operations. To be called at the end of each task execution.
Definition at line 354 of file TDFNodes.cxx.
◆ EvalChildrenCounts()
void TLoopManager::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 TLoopManager. 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 380 of file TDFNodes.cxx.
◆ GetAliasMap()
const std::map<std::string, std::string>& ROOT::Detail::TDF::TLoopManager::GetAliasMap |
( |
| ) |
const |
|
inline |
◆ GetBookedBranch()
◆ GetBookedColumns()
const std::map<std::string, TCustomColumnBasePtr_t>& ROOT::Detail::TDF::TLoopManager::GetBookedColumns |
( |
| ) |
const |
|
inline |
◆ GetCustomColumnNames()
const ColumnNames_t& ROOT::Detail::TDF::TLoopManager::GetCustomColumnNames |
( |
| ) |
const |
|
inline |
◆ GetDataSource()
TDataSource* ROOT::Detail::TDF::TLoopManager::GetDataSource |
( |
| ) |
const |
|
inline |
◆ GetDefaultColumnNames()
const ColumnNames_t & TLoopManager::GetDefaultColumnNames |
( |
| ) |
const |
Return the list of default columns – empty if none was provided when constructing the TDataFrame.
Definition at line 413 of file TDFNodes.cxx.
◆ GetDefinedDataSourceColumns()
const ColumnNames_t& ROOT::Detail::TDF::TLoopManager::GetDefinedDataSourceColumns |
( |
| ) |
const |
|
inline |
◆ GetDirectory()
◆ GetImplPtr()
◆ GetNEmptyEntries()
ULong64_t ROOT::Detail::TDF::TLoopManager::GetNEmptyEntries |
( |
| ) |
const |
|
inline |
◆ GetNSlots()
unsigned int ROOT::Detail::TDF::TLoopManager::GetNSlots |
( |
| ) |
const |
|
inline |
◆ GetSharedPtr()
std::shared_ptr<TLoopManager> ROOT::Detail::TDF::TLoopManager::GetSharedPtr |
( |
| ) |
|
|
inline |
◆ GetTree()
TTree * TLoopManager::GetTree |
( |
| ) |
const |
◆ IncrChildrenCount()
void ROOT::Detail::TDF::TLoopManager::IncrChildrenCount |
( |
| ) |
|
|
inline |
◆ InitNodes()
void TLoopManager::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 316 of file TDFNodes.cxx.
◆ InitNodeSlots()
Build TTreeReaderValues for all nodes This method loops over all filters, actions and other booked objects and calls their InitTDFValues
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 303 of file TDFNodes.cxx.
◆ Jit()
void ROOT::Detail::TDF::TLoopManager::Jit |
( |
const std::string & |
s | ) |
|
|
inline |
◆ JitActions()
void TLoopManager::JitActions |
( |
| ) |
|
|
private |
Jit all actions that required runtime column type inference, and clean the fToJit
member variable.
Definition at line 362 of file TDFNodes.cxx.
◆ MustRunNamedFilters()
bool ROOT::Detail::TDF::TLoopManager::MustRunNamedFilters |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ PartialReport()
void ROOT::Detail::TDF::TLoopManager::PartialReport |
( |
| ) |
const |
|
inline |
End of recursive chain of calls, does nothing.
Definition at line 192 of file TDFNodes.hxx.
◆ RegisterCallback()
void TLoopManager::RegisterCallback |
( |
ULong64_t |
everyNEvents, |
|
|
std::function< void(unsigned int)> && |
f |
|
) |
| |
◆ Report()
void TLoopManager::Report |
( |
| ) |
const |
Call PrintReport
on all booked filters.
Definition at line 472 of file TDFNodes.cxx.
◆ Run()
void TLoopManager::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 388 of file TDFNodes.cxx.
◆ RunAndCheckFilters()
void TLoopManager::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 291 of file TDFNodes.cxx.
◆ RunDataSource()
void TLoopManager::RunDataSource |
( |
| ) |
|
|
private |
Run event loop over data accessed through a DataSource, in sequence.
Definition at line 235 of file TDFNodes.cxx.
◆ RunDataSourceMT()
void TLoopManager::RunDataSourceMT |
( |
| ) |
|
|
private |
Run event loop over data accessed through a DataSource, in parallel.
Definition at line 257 of file TDFNodes.cxx.
◆ RunEmptySource()
void TLoopManager::RunEmptySource |
( |
| ) |
|
|
private |
Run event loop with no source files, in sequence.
Definition at line 189 of file TDFNodes.cxx.
◆ RunEmptySourceMT()
void TLoopManager::RunEmptySourceMT |
( |
| ) |
|
|
private |
Run event loop with no source files, in parallel.
Definition at line 151 of file TDFNodes.cxx.
◆ RunTreeProcessorMT()
void TLoopManager::RunTreeProcessorMT |
( |
| ) |
|
|
private |
Run event loop over one or multiple ROOT files, in parallel.
Definition at line 198 of file TDFNodes.cxx.
◆ RunTreeReader()
void TLoopManager::RunTreeReader |
( |
| ) |
|
|
private |
Run event loop over one or multiple ROOT files, in sequence.
Definition at line 220 of file TDFNodes.cxx.
◆ SetTree()
void ROOT::Detail::TDF::TLoopManager::SetTree |
( |
const std::shared_ptr< TTree > & |
tree | ) |
|
|
inline |
◆ StopProcessing()
void ROOT::Detail::TDF::TLoopManager::StopProcessing |
( |
| ) |
|
|
inline |
◆ fAliasColumnNameMap
std::map<std::string, std::string> ROOT::Detail::TDF::TLoopManager::fAliasColumnNameMap |
|
private |
ColumnNameAlias-columnName pairs.
Definition at line 146 of file TDFNodes.hxx.
◆ fBookedActions
◆ fBookedCustomColumns
◆ fBookedFilters
◆ fBookedNamedFilters
Contains a subset of fBookedFilters, i.e. only the named filters.
Definition at line 127 of file TDFNodes.hxx.
◆ fBookedRanges
◆ fCallbacks
std::vector<TCallback> ROOT::Detail::TDF::TLoopManager::fCallbacks |
|
private |
◆ fCallbacksOnce
Registered callbacks to invoke just once before running the loop.
Definition at line 148 of file TDFNodes.hxx.
◆ fCustomColumnNames
ColumnNames_t ROOT::Detail::TDF::TLoopManager::fCustomColumnNames |
|
private |
Contains names of all custom columns defined in the functional graph.
Definition at line 129 of file TDFNodes.hxx.
◆ fDataSource
const std::unique_ptr<TDataSource> ROOT::Detail::TDF::TLoopManager::fDataSource |
|
private |
Owning pointer to a data-source object. Null if no data-source.
Definition at line 144 of file TDFNodes.hxx.
◆ fDefaultColumns
const ColumnNames_t ROOT::Detail::TDF::TLoopManager::fDefaultColumns |
|
private |
◆ fDefinedDataSourceColumns
ColumnNames_t ROOT::Detail::TDF::TLoopManager::fDefinedDataSourceColumns |
|
private |
List of data-source columns that have been Define
d so far.
Definition at line 145 of file TDFNodes.hxx.
◆ fDirPtr
::TDirectory* const ROOT::Detail::TDF::TLoopManager::fDirPtr {nullptr} |
|
private |
◆ fLoopType
const ELoopType ROOT::Detail::TDF::TLoopManager::fLoopType |
|
private |
The kind of event loop that is going to be run (e.g. on ROOT files, on no files)
Definition at line 142 of file TDFNodes.hxx.
◆ fMustRunNamedFilters
bool ROOT::Detail::TDF::TLoopManager::fMustRunNamedFilters {true} |
|
private |
◆ fNChildren
unsigned int ROOT::Detail::TDF::TLoopManager::fNChildren {0} |
|
private |
Number of nodes of the functional graph hanging from this object.
Definition at line 140 of file TDFNodes.hxx.
◆ fNEmptyEntries
const ULong64_t ROOT::Detail::TDF::TLoopManager::fNEmptyEntries {0} |
|
private |
◆ fNSlots
const unsigned int ROOT::Detail::TDF::TLoopManager::fNSlots {1} |
|
private |
◆ fNStopsReceived
unsigned int ROOT::Detail::TDF::TLoopManager::fNStopsReceived {0} |
|
private |
Number of times that a children node signaled to stop processing entries.
Definition at line 141 of file TDFNodes.hxx.
◆ fResProxyReadiness
std::vector<std::shared_ptr<bool> > ROOT::Detail::TDF::TLoopManager::fResProxyReadiness |
|
private |
◆ fToJit
std::string ROOT::Detail::TDF::TLoopManager::fToJit |
|
private |
string containing all BuildAndBook
actions that should be jitted before running
Definition at line 143 of file TDFNodes.hxx.
◆ fTree
std::shared_ptr<TTree> ROOT::Detail::TDF::TLoopManager::fTree {nullptr} |
|
private |
[legend]