Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Internal::RDF::RVariation< F, IsSingleColumn > Class Template Referencefinal

template<typename F, bool IsSingleColumn>
class ROOT::Internal::RDF::RVariation< F, IsSingleColumn >

Definition at line 148 of file RVariation.hxx.

Public Member Functions

 RVariation (const RVariation &)=delete
 RVariation (const std::vector< std::string > &colNames, std::string_view variationName, F expression, const std::vector< std::string > &variationTags, std::string_view type, const RColumnRegister &defines, RLoopManager &lm, const ColumnNames_t &inputColNames)
 ~RVariation ()
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
const std::vector< std::string > & GetColumnNames () const
const std::type_info & GetTypeId () const final
std::string GetTypeName () const
void * GetValuePtr (unsigned int slot, const std::string &column, const std::string &variation) final
 Return the (type-erased) address of the value for the given processing slot.
const std::string & GetVariationName () const
const std::vector< std::string > & GetVariationNames () const
void InitSlot (TTreeReader *r, unsigned int slot) final
RVariationoperator= (const RVariation &)=delete
void Update (unsigned int slot, Long64_t entry) final
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Protected Attributes

std::vector< std::string > fColNames
 The names of the varied columns.
RColumnRegister fColumnRegister
ColumnNames_t fInputColumns
ROOT::RVecB fIsDefine
 The nth flag signals whether the nth input column is a custom column or not.
std::vector< Long64_tfLastCheckedEntry
RLoopManagerfLoopManager
std::string fType
 The type of the custom column as a text string.
std::string fVariationName
 The name of the systematic variation.
std::vector< std::string > fVariationNames
 The tags of the systematic variation.

Private Types

using ColumnTypes_t = typename CallableTraits<F>::arg_types
using Result_t = std::conditional_t<IsSingleColumn, ROOT::RVec<VariedCol_t>, std::vector<ROOT::RVec<VariedCol_t>>>
using Ret_t = typename CallableTraits<F>::ret_type
using TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
using VariedCol_t = ColumnType_t<IsSingleColumn, Ret_t>

Private Member Functions

template<typename ColType>
auto GetValueChecked (unsigned int slot, std::size_t readerIdx, Long64_t entry) -> ColType &
template<typename... ColTypes, std::size_t... S>
void UpdateHelper (unsigned int slot, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< S... >)

Private Attributes

F fExpression
std::vector< Result_tfLastResults
 Per-slot storage for varied column values (for one or multiple columns depending on IsSingleColumn).
std::vector< std::array< RColumnReaderBase *, ColumnTypes_t::list_size > > fValues
 Column readers per slot and per input column.

#include <ROOT/RDF/RVariation.hxx>

Inheritance diagram for ROOT::Internal::RDF::RVariation< F, IsSingleColumn >:
ROOT::Internal::RDF::RVariationBase

Member Typedef Documentation

◆ ColumnTypes_t

template<typename F, bool IsSingleColumn>
using ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::ColumnTypes_t = typename CallableTraits<F>::arg_types
private

Definition at line 149 of file RVariation.hxx.

◆ Result_t

template<typename F, bool IsSingleColumn>
using ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::Result_t = std::conditional_t<IsSingleColumn, ROOT::RVec<VariedCol_t>, std::vector<ROOT::RVec<VariedCol_t>>>
private

Definition at line 153 of file RVariation.hxx.

◆ Ret_t

template<typename F, bool IsSingleColumn>
using ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::Ret_t = typename CallableTraits<F>::ret_type
private

Definition at line 151 of file RVariation.hxx.

◆ TypeInd_t

template<typename F, bool IsSingleColumn>
using ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
private

Definition at line 150 of file RVariation.hxx.

◆ VariedCol_t

template<typename F, bool IsSingleColumn>
using ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::VariedCol_t = ColumnType_t<IsSingleColumn, Ret_t>
private

Definition at line 152 of file RVariation.hxx.

Constructor & Destructor Documentation

◆ RVariation() [1/2]

template<typename F, bool IsSingleColumn>
ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::RVariation ( const std::vector< std::string > & colNames,
std::string_view variationName,
F expression,
const std::vector< std::string > & variationTags,
std::string_view type,
const RColumnRegister & defines,
RLoopManager & lm,
const ColumnNames_t & inputColNames )
inline

Definition at line 193 of file RVariation.hxx.

◆ RVariation() [2/2]

template<typename F, bool IsSingleColumn>
ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::RVariation ( const RVariation< F, IsSingleColumn > & )
delete

◆ ~RVariation()

template<typename F, bool IsSingleColumn>
ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::~RVariation ( )
inline

Definition at line 209 of file RVariation.hxx.

Member Function Documentation

◆ FinalizeSlot()

template<typename F, bool IsSingleColumn>
void ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::FinalizeSlot ( unsigned int slot)
inlinefinalvirtual

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

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 245 of file RVariation.hxx.

◆ GetColumnNames()

const std::vector< std::string > & ROOT::Internal::RDF::RVariationBase::GetColumnNames ( ) const
inherited

Definition at line 51 of file RVariationBase.cxx.

◆ GetTypeId()

template<typename F, bool IsSingleColumn>
const std::type_info & ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::GetTypeId ( ) const
inlinefinalvirtual

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 242 of file RVariation.hxx.

◆ GetTypeName()

std::string ROOT::Internal::RDF::RVariationBase::GetTypeName ( ) const
inherited

Definition at line 66 of file RVariationBase.cxx.

◆ GetValueChecked()

template<typename F, bool IsSingleColumn>
template<typename ColType>
auto ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::GetValueChecked ( unsigned int slot,
std::size_t readerIdx,
Long64_t entry ) -> ColType &
inlineprivate

Definition at line 163 of file RVariation.hxx.

◆ GetValuePtr()

template<typename F, bool IsSingleColumn>
void * ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::GetValuePtr ( unsigned int slot,
const std::string & column,
const std::string & variation )
inlinefinalvirtual

Return the (type-erased) address of the value for the given processing slot.

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 219 of file RVariation.hxx.

◆ GetVariationName()

const std::string & ROOT::Internal::RDF::RVariationBase::GetVariationName ( ) const
inherited

Definition at line 61 of file RVariationBase.cxx.

◆ GetVariationNames()

const std::vector< std::string > & ROOT::Internal::RDF::RVariationBase::GetVariationNames ( ) const
inherited

Definition at line 56 of file RVariationBase.cxx.

◆ InitSlot()

template<typename F, bool IsSingleColumn>
void ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::InitSlot ( TTreeReader * r,
unsigned int slot )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 211 of file RVariation.hxx.

◆ operator=()

template<typename F, bool IsSingleColumn>
RVariation & ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::operator= ( const RVariation< F, IsSingleColumn > & )
delete

◆ Update()

template<typename F, bool IsSingleColumn>
void ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::Update ( unsigned int slot,
Long64_t entry )
inlinefinalvirtual

Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 233 of file RVariation.hxx.

◆ UpdateHelper()

template<typename F, bool IsSingleColumn>
template<typename... ColTypes, std::size_t... S>
void ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::UpdateHelper ( unsigned int slot,
Long64_t entry,
TypeList< ColTypes... > ,
std::index_sequence< S... >  )
inlineprivate

Definition at line 175 of file RVariation.hxx.

Member Data Documentation

◆ fColNames

std::vector<std::string> ROOT::Internal::RDF::RVariationBase::fColNames
protectedinherited

The names of the varied columns.

Definition at line 41 of file RVariationBase.hxx.

◆ fColumnRegister

RColumnRegister ROOT::Internal::RDF::RVariationBase::fColumnRegister
protectedinherited

Definition at line 46 of file RVariationBase.hxx.

◆ fExpression

template<typename F, bool IsSingleColumn>
F ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::fExpression
private

Definition at line 155 of file RVariation.hxx.

◆ fInputColumns

ColumnNames_t ROOT::Internal::RDF::RVariationBase::fInputColumns
protectedinherited

Definition at line 48 of file RVariationBase.hxx.

◆ fIsDefine

ROOT::RVecB ROOT::Internal::RDF::RVariationBase::fIsDefine
protectedinherited

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

Definition at line 50 of file RVariationBase.hxx.

◆ fLastCheckedEntry

std::vector<Long64_t> ROOT::Internal::RDF::RVariationBase::fLastCheckedEntry
protectedinherited

Definition at line 45 of file RVariationBase.hxx.

◆ fLastResults

template<typename F, bool IsSingleColumn>
std::vector<Result_t> ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::fLastResults
private

Per-slot storage for varied column values (for one or multiple columns depending on IsSingleColumn).

Definition at line 157 of file RVariation.hxx.

◆ fLoopManager

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

Definition at line 47 of file RVariationBase.hxx.

◆ fType

std::string ROOT::Internal::RDF::RVariationBase::fType
protectedinherited

The type of the custom column as a text string.

Definition at line 44 of file RVariationBase.hxx.

◆ fValues

template<typename F, bool IsSingleColumn>
std::vector<std::array<RColumnReaderBase *, ColumnTypes_t::list_size> > ROOT::Internal::RDF::RVariation< F, IsSingleColumn >::fValues
private

Column readers per slot and per input column.

Definition at line 160 of file RVariation.hxx.

◆ fVariationName

std::string ROOT::Internal::RDF::RVariationBase::fVariationName
protectedinherited

The name of the systematic variation.

Definition at line 43 of file RVariationBase.hxx.

◆ fVariationNames

std::vector<std::string> ROOT::Internal::RDF::RVariationBase::fVariationNames
protectedinherited

The tags of the systematic variation.

Definition at line 42 of file RVariationBase.hxx.


The documentation for this class was generated from the following file: