27 #include <type_traits> 39 using ColumnNames_t = std::vector<std::string>;
42 class RCustomColumnBase;
59 struct IsVector_t :
public std::false_type {};
61 template <
typename T,
typename A>
62 struct IsVector_t<
std::vector<T, A>> :
public std::true_type {};
69 bool isCustomColumn,
bool extraConversions =
true);
76 template <
bool MustRemove,
typename TypeList>
77 struct RemoveFirstParameterIf {
81 template <
typename TypeList>
82 struct RemoveFirstParameterIf<true,
TypeList> {
83 using type = RemoveFirstParameter_t<TypeList>;
86 template <
bool MustRemove,
typename TypeList>
87 struct RemoveFirstTwoParametersIf {
91 template <
typename TypeList>
92 struct RemoveFirstTwoParametersIf<true,
TypeList> {
99 struct IsRVec_t :
public std::false_type {};
101 template <
typename T>
102 struct IsRVec_t<
ROOT::VecOps::RVec<T>> :
public std::true_type {};
108 using value_type =
typename T::value_type;
111 template <
typename T>
112 struct ValueType<
T, false> {
113 using value_type =
T;
116 template <
typename T>
117 struct ValueType<ROOT::VecOps::RVec<T>, false> {
118 using value_type =
T;
TTreeReader is a simple, robust and fast interface to read values from a TTree, TChain or TNtuple...
Namespace for new ROOT classes and functions.
std::string TypeID2TypeName(const std::type_info &id)
Returns the name of a type starting from its type_info An empty string is returned in case of failure...
std::vector< std::string > ReplaceDotWithUnderscore(const std::vector< std::string > &columnNames)
Replace occurrences of '.
char TypeName2ROOTTypeName(const std::string &b)
Convert type name (e.g.
Lightweight storage for a collection of types.
std::string ColumnName2ColumnTypeName(const std::string &colName, unsigned int namespaceID, TTree *tree, RDataSource *ds, bool isCustomColumn, bool vector2tvec)
Return a string containing the type of the given branch.
const std::type_info & TypeName2TypeID(const std::string &name)
Return the type_info associated to a name.
ROOT type_traits extensions.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
A TTree object has a header with a name and a title.
RDataSource defines an API that RDataFrame can use to read arbitrary data formats.