11#ifndef ROOT_RDFNODES_UTILS
12#define ROOT_RDFNODES_UTILS
53template <
typename RDFValueTuple, std::size_t...
S>
61 std::array<bool,
sizeof...(S)> isTmpColumn;
62 for (
auto i = 0u; i < isTmpColumn.size(); ++i)
63 isTmpColumn[i] = customCols.
HasName(bn.at(i));
69 int expander[] = {(isTmpColumn[
S]
70 ? std::get<S>(valueTuple).SetTmpColumn(slot, customCols.
GetColumns().at(bn.at(
S)).get())
71 : std::get<S>(valueTuple).MakeProxy(
r, bn.at(
S)),
typedef void((*Func_t)())
Encapsulates the columns defined by the user.
bool HasName(std::string name) const
Check if the provided name is tracked in the names list.
RCustomColumnBasePtrMap_t GetColumns() const
Returns the list of the pointers to the defined columns.
A "std::vector"-like collection of values implementing handy operation to analyse them.
An interface for reading collections stored in ROOT columnar datasets.
An interface for reading values stored in ROOT columnar datasets.
A simple, robust and fast interface to read values from ROOT colmnar datasets such as TTree,...
void InitRDFValues(unsigned int slot, RDFValueTuple &valueTuple, TTreeReader *r, const ColumnNames_t &bn, const RBookedCustomColumns &customCols, std::index_sequence< S... >)
Initialize a tuple of RColumnValues.
typename TReaderValueOrArray< T >::Proxy_t ReaderValueOrArray_t
Namespace for new ROOT classes and functions.
ROOT::Detail::RDF::ColumnNames_t ColumnNames_t
RooArgSet S(const RooAbsArg &v1)
Choose between TTreeReader{Array,Value} depending on whether the branch type T is a RVec<T> or any ot...