Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t > Class Template Referenceabstract

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
class ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >

A RDataFrame node that produces a result.

Template Parameters
HelperThe action helper type, which implements the concrete action logic (e.g. FillHelper, SnapshotHelper)
PrevNodeThe type of the parent node in the computation graph
ColumnTypes_tA TypeList with the types of the input columns

Definition at line 53 of file RAction.hxx.

Public Member Functions

 RAction (const RAction &)=delete
 RAction (Helper &&h, const ColumnNames_t &columns, std::shared_ptr< PrevNode > pd, const RColumnRegister &colRegister)
 ~RAction ()
template<typename... ColTypes, std::size_t... S>
void CallExec (unsigned int slot, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< S... >)
std::unique_ptr< RActionBaseCloneAction (void *newResult) final
 Returns a new action with a cloned helper.
void Finalize () final
 Clean-up and finalize the action result (e.g.
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
RColumnRegisterGetColRegister ()
const ColumnNames_tGetColumnNames () const
std::shared_ptr< RDFGraphDrawing::GraphNode > GetGraph (std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > &visitedMap) final
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNodeGetGraph (std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > &visitedMap)=0
RLoopManagerGetLoopManager ()
std::unique_ptr< RDFDetail::RMergeableValueBase > GetMergeableValue () const final
 Retrieve a wrapper to the result of the action that knows how to merge with others of the same type.
unsigned int GetNSlots () const
template<typename ColType>
auto GetValueChecked (unsigned int slot, std::size_t readerIdx, Long64_t entry) -> ColType &
const std::vector< std::string > & GetVariations () const
virtual bool HasRun () const
void Initialize () final
void InitSlot (TTreeReader *r, unsigned int slot) final
std::unique_ptr< RActionBaseMakeVariedAction (std::vector< void * > &&results) final
RActionoperator= (const RAction &)=delete
void * PartialUpdate (unsigned int slot) final
 This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback.
void Run (unsigned int slot, Long64_t entry) final
virtual void SetHasRun ()
void TriggerChildrenCount () final

Protected Attributes

const ColumnNames_t fColumnNames
RLoopManagerfLoopManager
 A raw pointer to the RLoopManager at the root of this functional graph.

Private Types

using TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>

Private Member Functions

ROOT::RDF::SampleCallback_t GetSampleCallback () final

Private Attributes

RColumnRegister fColRegister
bool fHasRun = false
Helper fHelper
std::array< bool, ColumnTypes_t::list_size > fIsDefine
 The nth flag signals whether the nth input column is a custom column or not.
const unsigned int fNSlots
 Number of thread slots used by this node.
PrevNode & fPrevNode
const std::shared_ptr< PrevNode > fPrevNodePtr
std::vector< std::array< RColumnReaderBase *, ColumnTypes_t::list_size > > fValues
 Column readers per slot and per input column.
std::vector< std::string > fVariations
 List of systematic variations that affect the result of this action ("nominal" excluded).
Inheritance diagram for ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >:
ROOT::Internal::RDF::RActionBase

Member Typedef Documentation

◆ TypeInd_t

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
using ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
private

Definition at line 54 of file RAction.hxx.

Constructor & Destructor Documentation

◆ RAction() [1/2]

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::RAction ( Helper && h,
const ColumnNames_t & columns,
std::shared_ptr< PrevNode > pd,
const RColumnRegister & colRegister )
inline

Definition at line 66 of file RAction.hxx.

◆ RAction() [2/2]

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::RAction ( const RAction< Helper, PrevNode, ColumnTypes_t > & )
delete

◆ ~RAction()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::~RAction ( )
inline

Definition at line 80 of file RAction.hxx.

Member Function Documentation

◆ CallExec()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
template<typename... ColTypes, std::size_t... S>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::CallExec ( unsigned int slot,
Long64_t entry,
TypeList< ColTypes... > ,
std::index_sequence< S... >  )
inline

Definition at line 115 of file RAction.hxx.

◆ CloneAction()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RActionBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::CloneAction ( void * newResult)
inlinefinalvirtual

Returns a new action with a cloned helper.

Parameters
[in]newResultThe result to be filled by the new action (needed to clone the helper).
Returns
A unique pointer to the new action.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 191 of file RAction.hxx.

◆ Finalize()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Finalize ( )
inlinefinalvirtual

Clean-up and finalize the action result (e.g.

merging slot-local results). It invokes the helper's Finalize method.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 140 of file RAction.hxx.

◆ FinalizeSlot()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::FinalizeSlot ( unsigned int slot)
inlinefinalvirtual

Clean-up operations to be performed at the end of a task.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 132 of file RAction.hxx.

◆ GetColRegister()

RColumnRegister & ROOT::Internal::RDF::RActionBase::GetColRegister ( )
inlineinherited

Definition at line 63 of file RActionBase.hxx.

◆ GetColumnNames()

const ColumnNames_t & ROOT::Internal::RDF::RActionBase::GetColumnNames ( ) const
inlineinherited

Definition at line 62 of file RActionBase.hxx.

◆ GetGraph() [1/2]

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::shared_ptr< RDFGraphDrawing::GraphNode > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetGraph ( std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > & visitedMap)
inlinefinal

Definition at line 147 of file RAction.hxx.

◆ GetGraph() [2/2]

virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > ROOT::Internal::RDF::RActionBase::GetGraph ( std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > & visitedMap)
pure virtualinherited

◆ GetLoopManager()

RLoopManager * ROOT::Internal::RDF::RActionBase::GetLoopManager ( )
inlineinherited

Definition at line 64 of file RActionBase.hxx.

◆ GetMergeableValue()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RDFDetail::RMergeableValueBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetMergeableValue ( ) const
inlinefinalvirtual

Retrieve a wrapper to the result of the action that knows how to merge with others of the same type.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 86 of file RAction.hxx.

◆ GetNSlots()

unsigned int ROOT::Internal::RDF::RActionBase::GetNSlots ( ) const
inlineinherited

Definition at line 65 of file RActionBase.hxx.

◆ GetSampleCallback()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::RDF::SampleCallback_t ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetSampleCallback ( )
inlinefinalprivatevirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 198 of file RAction.hxx.

◆ GetValueChecked()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
template<typename ColType>
auto ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetValueChecked ( unsigned int slot,
std::size_t readerIdx,
Long64_t entry ) -> ColType &
inline

Definition at line 102 of file RAction.hxx.

◆ GetVariations()

const std::vector< std::string > & ROOT::Internal::RDF::RActionBase::GetVariations ( ) const
inlineinherited

Definition at line 91 of file RActionBase.hxx.

◆ HasRun()

virtual bool ROOT::Internal::RDF::RActionBase::HasRun ( ) const
inlinevirtualinherited

Reimplemented in RJittedAction, and ROOT::Internal::RDF::RJittedAction.

Definition at line 77 of file RActionBase.hxx.

◆ Initialize()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Initialize ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 91 of file RAction.hxx.

◆ InitSlot()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::InitSlot ( TTreeReader * r,
unsigned int slot )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 93 of file RAction.hxx.

◆ MakeVariedAction()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RActionBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::MakeVariedAction ( std::vector< void * > && results)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 169 of file RAction.hxx.

◆ operator=()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
RAction & ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::operator= ( const RAction< Helper, PrevNode, ColumnTypes_t > & )
delete

◆ PartialUpdate()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void * ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::PartialUpdate ( unsigned int slot)
inlinefinalvirtual

This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 167 of file RAction.hxx.

◆ Run()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Run ( unsigned int slot,
Long64_t entry )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 122 of file RAction.hxx.

◆ SetHasRun()

virtual void ROOT::Internal::RDF::RActionBase::SetHasRun ( )
inlinevirtualinherited

Reimplemented in RJittedAction, and ROOT::Internal::RDF::RJittedAction.

Definition at line 78 of file RActionBase.hxx.

◆ TriggerChildrenCount()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::TriggerChildrenCount ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 129 of file RAction.hxx.

Member Data Documentation

◆ fColRegister

RColumnRegister ROOT::Internal::RDF::RActionBase::fColRegister
privateinherited

Definition at line 53 of file RActionBase.hxx.

◆ fColumnNames

const ColumnNames_t ROOT::Internal::RDF::RActionBase::fColumnNames
protectedinherited

Definition at line 45 of file RActionBase.hxx.

◆ fHasRun

bool ROOT::Internal::RDF::RActionBase::fHasRun = false
privateinherited

Definition at line 49 of file RActionBase.hxx.

◆ fHelper

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
Helper ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fHelper
private

Definition at line 56 of file RAction.hxx.

◆ fIsDefine

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::array<bool, ColumnTypes_t::list_size> ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fIsDefine
private

The nth flag signals whether the nth input column is a custom column or not.

Definition at line 63 of file RAction.hxx.

◆ fLoopManager

RLoopManager* ROOT::Internal::RDF::RActionBase::fLoopManager
protectedinherited

A raw pointer to the RLoopManager at the root of this functional graph.

Never null: children nodes have shared ownership of parent nodes in the graph.

Definition at line 44 of file RActionBase.hxx.

◆ fNSlots

const unsigned int ROOT::Internal::RDF::RActionBase::fNSlots
privateinherited

Number of thread slots used by this node.

Definition at line 48 of file RActionBase.hxx.

◆ fPrevNode

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
PrevNode& ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fPrevNode
private

Definition at line 58 of file RAction.hxx.

◆ fPrevNodePtr

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
const std::shared_ptr<PrevNode> ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fPrevNodePtr
private

Definition at line 57 of file RAction.hxx.

◆ fValues

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::vector<std::array<RColumnReaderBase *, ColumnTypes_t::list_size> > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fValues
private

Column readers per slot and per input column.

Definition at line 60 of file RAction.hxx.

◆ fVariations

std::vector<std::string> ROOT::Internal::RDF::RActionBase::fVariations
privateinherited

List of systematic variations that affect the result of this action ("nominal" excluded).

Definition at line 51 of file RActionBase.hxx.