Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Detail::RDF::RDefinePerSample< F > Class Template Referencefinal

template<typename F>
class ROOT::Detail::RDF::RDefinePerSample< F >

Definition at line 30 of file RDefinePerSample.hxx.

Public Member Functions

 RDefinePerSample (const RDefinePerSample &)=delete
 RDefinePerSample (std::string_view name, std::string_view type, F expression, RLoopManager &lm)
 ~RDefinePerSample ()
void FinalizeSlot (unsigned int) final
 Clean-up operations to be performed at the end of a task.
std::string GetName () const
const std::type_info & GetTypeId () const final
std::string GetTypeName () const
void * GetValuePtr (unsigned int slot) final
 Return the (type-erased) address of the Define'd value for the given processing slot.
const std::vector< std::string > & GetVariations () const
RDefineBaseGetVariedDefine (const std::string &) final
 Return a clone of this Define that works with values in the variationName "universe".
void InitSlot (TTreeReader *, unsigned int) final
void MakeVariations (const std::vector< std::string > &) final
 Create clones of this Define that work with values in varied "universes".
RDefinePerSampleoperator= (const RDefinePerSample &)=delete
void Update (unsigned int slot, const ROOT::RDF::RSampleInfo &id) final
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.
void Update (unsigned int, Long64_t) final
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Protected Attributes

RDFInternal::RColumnRegister fColRegister
const ROOT::RDF::ColumnNames_t fColumnNames
ROOT::RVecB fIsDefine
 The nth flag signals whether the nth input column is a custom column or not.
std::vector< Long64_tfLastCheckedEntry
RLoopManagerfLoopManager
const std::string fName
 The name of the custom column.
const std::string fType
 The type of the custom column as a text string.
std::string fVariation
 This indicates for what variation this define evaluates values.
std::vector< std::string > fVariationDeps
 List of systematic variations that affect the value of this define.

Private Types

using RetType_t = typename CallableTraits<F>::ret_type
using ValuesPerSlot_t

Private Attributes

F fExpression
ValuesPerSlot_t fLastResults
Inheritance diagram for ROOT::Detail::RDF::RDefinePerSample< F >:
ROOT::Detail::RDF::RDefineBase

Member Typedef Documentation

◆ RetType_t

template<typename F>
using ROOT::Detail::RDF::RDefinePerSample< F >::RetType_t = typename CallableTraits<F>::ret_type
private

Definition at line 31 of file RDefinePerSample.hxx.

◆ ValuesPerSlot_t

template<typename F>
using ROOT::Detail::RDF::RDefinePerSample< F >::ValuesPerSlot_t
private
Initial value:
std::conditional_t<std::is_same<RetType_t, bool>::value, std::deque<RetType_t>, std::vector<RetType_t>>

Definition at line 34 of file RDefinePerSample.hxx.

Constructor & Destructor Documentation

◆ RDefinePerSample() [1/2]

template<typename F>
ROOT::Detail::RDF::RDefinePerSample< F >::RDefinePerSample ( std::string_view name,
std::string_view type,
F expression,
RLoopManager & lm )
inline

Definition at line 41 of file RDefinePerSample.hxx.

◆ RDefinePerSample() [2/2]

template<typename F>
ROOT::Detail::RDF::RDefinePerSample< F >::RDefinePerSample ( const RDefinePerSample< F > & )
delete

◆ ~RDefinePerSample()

template<typename F>
ROOT::Detail::RDF::RDefinePerSample< F >::~RDefinePerSample ( )
inline

Definition at line 54 of file RDefinePerSample.hxx.

Member Function Documentation

◆ FinalizeSlot()

template<typename F>
void ROOT::Detail::RDF::RDefinePerSample< F >::FinalizeSlot ( unsigned int slot)
inlinefinalvirtual

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

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 77 of file RDefinePerSample.hxx.

◆ GetName()

std::string RDefineBase::GetName ( ) const
inherited

Definition at line 42 of file RDefineBase.cxx.

◆ GetTypeId()

template<typename F>
const std::type_info & ROOT::Detail::RDF::RDefinePerSample< F >::GetTypeId ( ) const
inlinefinalvirtual

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 73 of file RDefinePerSample.hxx.

◆ GetTypeName()

std::string RDefineBase::GetTypeName ( ) const
inherited

Definition at line 47 of file RDefineBase.cxx.

◆ GetValuePtr()

template<typename F>
void * ROOT::Detail::RDF::RDefinePerSample< F >::GetValuePtr ( unsigned int slot)
inlinefinalvirtual

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

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 57 of file RDefinePerSample.hxx.

◆ GetVariations()

const std::vector< std::string > & ROOT::Detail::RDF::RDefineBase::GetVariations ( ) const
inlineinherited

Definition at line 72 of file RDefineBase.hxx.

◆ GetVariedDefine()

template<typename F>
RDefineBase & ROOT::Detail::RDF::RDefinePerSample< F >::GetVariedDefine ( const std::string & variationName)
inlinefinalvirtual

Return a clone of this Define that works with values in the variationName "universe".

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 82 of file RDefinePerSample.hxx.

◆ InitSlot()

template<typename F>
void ROOT::Detail::RDF::RDefinePerSample< F >::InitSlot ( TTreeReader * ,
unsigned int  )
inlinefinalvirtual

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 75 of file RDefinePerSample.hxx.

◆ MakeVariations()

template<typename F>
void ROOT::Detail::RDF::RDefinePerSample< F >::MakeVariations ( const std::vector< std::string > & variations)
inlinefinalvirtual

Create clones of this Define that work with values in varied "universes".

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 80 of file RDefinePerSample.hxx.

◆ operator=()

template<typename F>
RDefinePerSample & ROOT::Detail::RDF::RDefinePerSample< F >::operator= ( const RDefinePerSample< F > & )
delete

◆ Update() [1/2]

template<typename F>
void ROOT::Detail::RDF::RDefinePerSample< F >::Update ( unsigned int slot,
const ROOT::RDF::RSampleInfo & id )
inlinefinalvirtual

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

Reimplemented from ROOT::Detail::RDF::RDefineBase.

Definition at line 68 of file RDefinePerSample.hxx.

◆ Update() [2/2]

template<typename F>
void ROOT::Detail::RDF::RDefinePerSample< F >::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::Detail::RDF::RDefineBase.

Definition at line 62 of file RDefinePerSample.hxx.

Member Data Documentation

◆ fColRegister

RDFInternal::RColumnRegister ROOT::Detail::RDF::RDefineBase::fColRegister
protectedinherited

Definition at line 44 of file RDefineBase.hxx.

◆ fColumnNames

const ROOT::RDF::ColumnNames_t ROOT::Detail::RDF::RDefineBase::fColumnNames
protectedinherited

Definition at line 46 of file RDefineBase.hxx.

◆ fExpression

template<typename F>
F ROOT::Detail::RDF::RDefinePerSample< F >::fExpression
private

Definition at line 37 of file RDefinePerSample.hxx.

◆ fIsDefine

ROOT::RVecB ROOT::Detail::RDF::RDefineBase::fIsDefine
protectedinherited

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

Definition at line 48 of file RDefineBase.hxx.

◆ fLastCheckedEntry

std::vector<Long64_t> ROOT::Detail::RDF::RDefineBase::fLastCheckedEntry
protectedinherited

Definition at line 43 of file RDefineBase.hxx.

◆ fLastResults

template<typename F>
ValuesPerSlot_t ROOT::Detail::RDF::RDefinePerSample< F >::fLastResults
private

Definition at line 38 of file RDefinePerSample.hxx.

◆ fLoopManager

RLoopManager* ROOT::Detail::RDF::RDefineBase::fLoopManager
protectedinherited

Definition at line 45 of file RDefineBase.hxx.

◆ fName

const std::string ROOT::Detail::RDF::RDefineBase::fName
protectedinherited

The name of the custom column.

Definition at line 41 of file RDefineBase.hxx.

◆ fType

const std::string ROOT::Detail::RDF::RDefineBase::fType
protectedinherited

The type of the custom column as a text string.

Definition at line 42 of file RDefineBase.hxx.

◆ fVariation

std::string ROOT::Detail::RDF::RDefineBase::fVariation
protectedinherited

This indicates for what variation this define evaluates values.

Definition at line 50 of file RDefineBase.hxx.

◆ fVariationDeps

std::vector<std::string> ROOT::Detail::RDF::RDefineBase::fVariationDeps
protectedinherited

List of systematic variations that affect the value of this define.

Definition at line 49 of file RDefineBase.hxx.