11#ifndef ROOT_RCUSTOMCOLUMNBASE
12#define ROOT_RCUSTOMCOLUMNBASE
54 RLoopManager &lm,
const ColumnNames_t &columnNames,
const std::string &variationName =
"nominal");
62 virtual const std::type_info &
GetTypeId()
const = 0;
virtual void MakeVariations(const std::vector< std::string > &variations)=0
Create clones of this Define that work with values in varied "universes".
virtual void * GetValuePtr(unsigned int slot)=0
Return the (type-erased) address of the Define'd value for the given processing slot.
ROOT::RVecB fIsDefine
The nth flag signals whether the nth input column is a custom column or not.
RLoopManager * fLoopManager
std::string fVariation
This indicates for what variation this define evaluates values.
const std::string fType
The type of the custom column as a text string.
const std::vector< std::string > & GetVariations() const
std::vector< std::string > fVariationDeps
List of systematic variations that affect the value of this define.
virtual void Update(unsigned int, const ROOT::RDF::RSampleInfo &)
Update function to be called once per sample, used if the derived type is a RDefinePerSample.
std::string GetTypeName() const
virtual void Update(unsigned int slot, Long64_t entry)=0
Update the value at the address returned by GetValuePtr with the content corresponding to the given e...
virtual void InitSlot(TTreeReader *r, unsigned int slot)=0
std::string GetName() const
RDFInternal::RColumnRegister fColRegister
virtual void FinaliseSlot(unsigned int slot)=0
Clean-up operations to be performed at the end of a task.
const ROOT::RDF::ColumnNames_t fColumnNames
std::vector< Long64_t > fLastCheckedEntry
const std::string fName
The name of the custom column.
virtual const std::type_info & GetTypeId() const =0
virtual RDefineBase & GetVariedDefine(const std::string &variationName)=0
Return a clone of this Define that works with values in the variationName "universe".
RDefineBase & operator=(const RDefineBase &)=delete
RDefineBase & operator=(RDefineBase &&)=delete
The head node of a RDF computation graph.
A binder for user-defined columns and aliases.
This type represents a sample identifier, to be used in conjunction with RDataFrame features such as ...
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
std::vector< std::string > ColumnNames_t
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...