11#ifndef ROOT_RDF_COLUMNREADERUTILS 
   12#define ROOT_RDF_COLUMNREADERUTILS 
   47   if (defineOrVariationReader != 
nullptr)
 
   48      return defineOrVariationReader;
 
   53   if (datasetColReader != 
nullptr)
 
   54      return datasetColReader;
 
   56   assert(
r != 
nullptr && 
"We could not find a reader for this column, this should never happen at this point.");
 
   59   auto treeColReader = std::make_unique<RTreeColumnReader<T>>(*
r, colName);
 
   75template <
typename... ColTypes>
 
   78                 const std::string &variationName = 
"nominal")
 
   87      (++i, GetColumnReader<ColTypes>(slot, colRegister.GetReader(slot, colNames[i], variationName, 
typeid(ColTypes)),
 
   88                                      lm, 
r, colNames[i]))...};
 
   93inline std::array<RDFDetail::RColumnReaderBase *, 0>
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
The head node of a RDF computation graph.
 
RColumnReaderBase * GetDatasetColumnReader(unsigned int slot, const std::string &col, const std::type_info &ti) const
 
RColumnReaderBase * AddTreeColumnReader(unsigned int slot, const std::string &col, std::unique_ptr< RColumnReaderBase > &&reader, const std::type_info &ti)
Register a new RTreeColumnReader with this RLoopManager.
 
A binder for user-defined columns, variations and aliases.
 
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
 
std::array< RDFDetail::RColumnReaderBase *, sizeof...(ColTypes)> GetColumnReaders(unsigned int slot, TTreeReader *r, TypeList< ColTypes... >, const RColumnReadersInfo &colInfo, const std::string &variationName="nominal")
Create a group of column readers, one per type in the parameter pack.
 
RDFDetail::RColumnReaderBase * GetColumnReader(unsigned int slot, RColumnReaderBase *defineOrVariationReader, RLoopManager &lm, TTreeReader *r, const std::string &colName)
 
ROOT type_traits extensions.
 
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
 
This type aggregates some of the arguments passed to GetColumnReaders.
 
RLoopManager & fLoopManager
 
RColumnRegister & fColRegister
 
const std::vector< std::string > & fColNames
 
Lightweight storage for a collection of types.