Just like an RAction, but it has N action helpers and N previous nodes (N is the number of variations).
Definition at line 40 of file RVariedAction.hxx.
Public Member Functions | |
RVariedAction (const RVariedAction &)=delete | |
RVariedAction (std::vector< Helper > &&helpers, const ColumnNames_t &columns, std::shared_ptr< PrevNode > prevNode, const RColumnRegister &colRegister) | |
~RVariedAction () | |
template<typename... ColTypes, std::size_t... ReaderIdxs> | |
void | CallExec (unsigned int slot, unsigned int varIdx, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< ReaderIdxs... >) |
std::unique_ptr< RActionBase > | CloneAction (void *typeErasedResults) final |
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. | |
std::shared_ptr< RDFGraphDrawing::GraphNode > | GetGraph (std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > &visitedMap) final |
std::unique_ptr< RMergeableValueBase > | GetMergeableValue () const final |
Retrieve a container holding the names and values of the variations. | |
ROOT::RDF::SampleCallback_t | GetSampleCallback () final |
Return a callback that in turn runs the callbacks of each variation's helper. | |
template<typename ColType > | |
auto | GetValueChecked (unsigned int slot, unsigned int varIdx, std::size_t readerIdx, Long64_t entry) -> ColType & |
void | Initialize () final |
void | InitSlot (TTreeReader *r, unsigned int slot) final |
std::unique_ptr< RActionBase > | MakeVariedAction (std::vector< void * > &&) final |
RVariedAction & | operator= (const RVariedAction &)=delete |
void * | PartialUpdate (unsigned int slot) final |
Return the partially-updated value connected to the first variation. | |
void | Run (unsigned int slot, Long64_t entry) final |
void | TriggerChildrenCount () final |
Public Member Functions inherited from ROOT::Internal::RDF::RActionBase | |
RActionBase (const RActionBase &)=delete | |
RActionBase (RLoopManager *lm, const ColumnNames_t &colNames, const RColumnRegister &colRegister, const std::vector< std::string > &prevVariations) | |
virtual | ~RActionBase () |
RColumnRegister & | GetColRegister () |
const ColumnNames_t & | GetColumnNames () const |
RLoopManager * | GetLoopManager () |
unsigned int | GetNSlots () const |
const std::vector< std::string > & | GetVariations () const |
virtual bool | HasRun () const |
RActionBase & | operator= (const RActionBase &)=delete |
virtual void | SetHasRun () |
Private Types | |
using | PrevNodeType = std::conditional_t< std::is_same< PrevNode, RJittedFilter >::value, RFilterBase, PrevNode > |
using | TypeInd_t = std::make_index_sequence< ColumnTypes_t::list_size > |
Private Member Functions | |
RVariedAction (std::vector< Helper > &&helpers, const ColumnNames_t &columns, const std::vector< std::shared_ptr< PrevNodeType > > &prevNodes, const RColumnRegister &colRegister) | |
This constructor takes in input a vector of previous nodes, motivated by the CloneAction logic. | |
std::vector< std::shared_ptr< PrevNodeType > > | MakePrevFilters (std::shared_ptr< PrevNode > nominal) const |
Creates new filter nodes, one per variation, from the upstream nominal one. | |
void * | PartialUpdateImpl (...) |
template<typename H = Helper> | |
auto | PartialUpdateImpl (unsigned int slot) -> decltype(std::declval< H >().PartialUpdate(slot),(void *)(nullptr)) |
void | SetupClass () |
Private Attributes | |
std::vector< Helper > | fHelpers |
Action helpers per variation. | |
std::vector< std::vector< std::array< RColumnReaderBase *, ColumnTypes_t::list_size > > > | fInputValues |
Column readers per slot (outer dimension), per variation and per input column (inner dimension, std::array). | |
std::array< bool, ColumnTypes_t::list_size > | fIsDefine |
The nth flag signals whether the nth input column is a custom column or not. | |
std::vector< std::shared_ptr< PrevNodeType > > | fPrevNodes |
Owning pointers to upstream nodes for each systematic variation. | |
Additional Inherited Members | |
Protected Attributes inherited from ROOT::Internal::RDF::RActionBase | |
const ColumnNames_t | fColumnNames |
RLoopManager * | fLoopManager |
A raw pointer to the RLoopManager at the root of this functional graph. | |
#include <ROOT/RDF/RVariedAction.hxx>
|
private |
Definition at line 44 of file RVariedAction.hxx.
|
private |
Definition at line 41 of file RVariedAction.hxx.
|
inlineprivate |
This constructor takes in input a vector of previous nodes, motivated by the CloneAction logic.
Definition at line 101 of file RVariedAction.hxx.
|
inline |
Definition at line 112 of file RVariedAction.hxx.
|
delete |
|
inline |
Definition at line 125 of file RVariedAction.hxx.
|
inline |
Definition at line 157 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 254 of file RVariedAction.hxx.
|
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 186 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Clean-up operations to be performed at the end of a task.
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 178 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 215 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Retrieve a container holding the names and values of the variations.
It knows how to merge with others of the same type.
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 237 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Return a callback that in turn runs the callbacks of each variation's helper.
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 196 of file RVariedAction.hxx.
|
inline |
Definition at line 144 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 127 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 132 of file RVariedAction.hxx.
|
inlineprivate |
Creates new filter nodes, one per variation, from the upstream nominal one.
nominal | The nominal filter |
The nominal filter is not included in the return value.
Definition at line 61 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 249 of file RVariedAction.hxx.
|
delete |
|
inlinefinalvirtual |
Return the partially-updated value connected to the first variation.
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 193 of file RVariedAction.hxx.
|
inlineprivate |
Definition at line 280 of file RVariedAction.hxx.
|
inlineprivate |
Definition at line 274 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 164 of file RVariedAction.hxx.
|
inlineprivate |
Definition at line 84 of file RVariedAction.hxx.
|
inlinefinalvirtual |
Implements ROOT::Internal::RDF::RActionBase.
Definition at line 172 of file RVariedAction.hxx.
|
private |
Action helpers per variation.
Definition at line 46 of file RVariedAction.hxx.
|
private |
Column readers per slot (outer dimension), per variation and per input column (inner dimension, std::array).
Definition at line 51 of file RVariedAction.hxx.
|
private |
The nth flag signals whether the nth input column is a custom column or not.
Definition at line 54 of file RVariedAction.hxx.
|
private |
Owning pointers to upstream nodes for each systematic variation.
Definition at line 48 of file RVariedAction.hxx.