Namespaces | |
namespace | Experimental |
namespace | Internal |
Classes | |
class | RArrowDS |
RDataFrame data source class to interface with Apache Arrow. More... | |
class | RCsvDS |
RDataFrame data source class for reading CSV files. More... | |
class | RCutFlowReport |
class | RDataSource |
RDataSource defines an API that RDataFrame can use to read arbitrary data formats. More... | |
class | RDFDescription |
A DFDescription contains useful information about a given RDataFrame computation graph. More... | |
class | RDFTypeNameGetter |
Helper to get the contents of a given column. More... | |
class | RDisplay |
This class is the textual representation of the content of a columnar dataset. More... | |
class | RInterface |
The public interface to the RDataFrame federation of classes. More... | |
class | RLazyDS |
A RDataSource implementation which is built on top of result proxies. More... | |
class | RResultHandle |
class | RResultPtr |
Smart pointer for the return type of actions. More... | |
class | RSampleInfo |
This type represents a sample identifier, to be used in conjunction with RDataFrame features such as DefinePerSample() and per-sample callbacks. More... | |
struct | RSnapshotOptions |
A collection of options to steer the creation of the dataset on file. More... | |
class | RSqliteDS |
RSqliteDS is an RDF data source implementation for SQL result sets from sqlite3 files. More... | |
class | RTrivialDS |
A simple data-source implementation, for demo purposes. More... | |
class | RVariationsDescription |
A descriptor for the systematic variations known to a given RDataFrame node. More... | |
class | TCutInfo |
class | TH1DModel |
A struct which stores the parameters of a TH1D. More... | |
class | TH2DModel |
A struct which stores the parameters of a TH2D. More... | |
class | TH3DModel |
A struct which stores the parameters of a TH3D. More... | |
class | THnDModel |
A struct which stores the parameters of a THnD. More... | |
class | TProfile1DModel |
A struct which stores the parameters of a TProfile. More... | |
class | TProfile2DModel |
A struct which stores the parameters of a TProfile2D. More... | |
class | VerifyValidColumnType |
Helper to determine if a given Column is a supported type. More... | |
Typedefs | |
using | ColumnNames_t = std::vector< std::string > |
using | RNode = RInterface<::ROOT::Detail::RDF::RNodeBase, void > |
using | SampleCallback_t = std::function< void(unsigned int, const ROOT::RDF::RSampleInfo &)> |
The type of a data-block callback, registered with a RDataFrame computation graph via e.g. | |
template<typename T > | |
using | TResultProxy = RResultPtr< T > |
Functions | |
template<typename NodeType > | |
RNode | AsRNode (NodeType node) |
Cast a RDataFrame node to the common type ROOT::RDF::RNode. | |
template<typename T > | |
std::shared_ptr< arrow::ChunkedArray > | getData (T p) |
int | getNRecords (std::shared_ptr< arrow::Table > &table, std::vector< std::string > &columnNames) |
RDataFrame | MakeArrowDataFrame (std::shared_ptr< arrow::Table > table, std::vector< std::string > const &columns) |
Factory method to create a Apache Arrow RDataFrame. | |
RDataFrame | MakeCsvDataFrame (std::string_view fileName, bool readHeaders=true, char delimiter=',', Long64_t linesChunkSize=-1LL) |
Factory method to create a CSV RDataFrame. | |
template<typename... ColumnTypes> | |
RDataFrame | MakeLazyDataFrame (std::pair< std::string, RResultPtr< std::vector< ColumnTypes > > > &&... colNameProxyPairs) |
Factory method to create a Lazy RDataFrame. | |
RDataFrame | MakeSqliteDataFrame (std::string_view fileName, std::string_view query) |
Factory method to create a SQlite RDataFrame. | |
RInterface< RDFDetail::RLoopManager > | MakeTrivialDataFrame () |
Make a RDF wrapping a RTrivialDS with infinite entries, for demo purposes. | |
RInterface< RDFDetail::RLoopManager > | MakeTrivialDataFrame (ULong64_t size, bool skipEvenEntries=false) |
Make a RDF wrapping a RTrivialDS with the specified amount of entries. | |
template<typename F , typename Args = typename ROOT::TypeTraits::CallableTraits<std::decay_t<F>>::arg_types_nodecay, typename Ret = typename ROOT::TypeTraits::CallableTraits<std::decay_t<F>>::ret_type> | |
auto | Not (F &&f) -> decltype(RDFInternal::NotHelper(Args(), std::forward< F >(f))) |
Given a callable with signature bool(T1, T2, ...) return a callable with same signature that returns the negated result. | |
template<class T1 , class T2 > | |
bool | operator!= (const RResultPtr< T1 > &lhs, const RResultPtr< T2 > &rhs) |
template<class T1 > | |
bool | operator!= (const RResultPtr< T1 > &lhs, std::nullptr_t rhs) |
template<class T1 > | |
bool | operator!= (std::nullptr_t lhs, const RResultPtr< T1 > &rhs) |
std::ostream & | operator<< (std::ostream &os, const RDFDescription &description) |
template<class T1 , class T2 > | |
bool | operator== (const RResultPtr< T1 > &lhs, const RResultPtr< T2 > &rhs) |
template<class T1 > | |
bool | operator== (const RResultPtr< T1 > &lhs, std::nullptr_t rhs) |
template<class T1 > | |
bool | operator== (std::nullptr_t lhs, const RResultPtr< T1 > &rhs) |
template<std::size_t N, typename T , typename F > | |
auto | PassAsVec (F &&f) -> RDFInternal::PassAsVecHelper< std::make_index_sequence< N >, T, F > |
PassAsVec is a callable generator that allows passing N variables of type T to a function as a single collection. | |
void | RunGraphs (std::vector< RResultHandle > handles) |
Trigger the event loop of multiple RDataFrames concurrently. | |
template<typename NodeType > | |
std::string | SaveGraph (NodeType node) |
Create a graphviz representation of the dataframe computation graph, return it as a string. | |
template<typename NodeType > | |
void | SaveGraph (NodeType node, const std::string &outputFile) |
Create a graphviz representation of the dataframe computation graph, write it to the specified file. | |
void | splitInEqualRanges (std::vector< std::pair< ULong64_t, ULong64_t > > &ranges, int nRecords, unsigned int nSlots) |
using ROOT::RDF::ColumnNames_t = typedef std::vector<std::string> |
Definition at line 57 of file InterfaceUtils.hxx.
using ROOT::RDF::SampleCallback_t = typedef std::function<void(unsigned int, const ROOT::RDF::RSampleInfo &)> |
The type of a data-block callback, registered with a RDataFrame computation graph via e.g.
DefinePerSample() or by certain actions (e.g. Snapshot()).
Definition at line 84 of file RSampleInfo.hxx.
using ROOT::RDF::TResultProxy = typedef RResultPtr<T> |
Definition at line 18 of file TResultProxy.hxx.
RNode ROOT::RDF::AsRNode | ( | NodeType | node | ) |
Cast a RDataFrame node to the common type ROOT::RDF::RNode.
[in] | node | Any node of a RDataFrame graph |
Definition at line 158 of file RDFHelpers.hxx.
std::shared_ptr< arrow::ChunkedArray > ROOT::RDF::getData | ( | T | p | ) |
Definition at line 542 of file RArrowDS.cxx.
int ROOT::RDF::getNRecords | ( | std::shared_ptr< arrow::Table > & | table, |
std::vector< std::string > & | columnNames | ||
) |
Definition at line 535 of file RArrowDS.cxx.
RDataFrame ROOT::RDF::MakeArrowDataFrame | ( | std::shared_ptr< arrow::Table > | table, |
std::vector< std::string > const & | columnNames | ||
) |
Factory method to create a Apache Arrow RDataFrame.
Creates a RDataFrame using an arrow::Table as input.
[in] | table | an apache::arrow table to use as a source. |
[in] | table | the arrow Table to observe. |
[in] | columnNames | the name of the columns to use In case columnNames is empty, we use all the columns found in the table |
Definition at line 604 of file RArrowDS.cxx.
RDataFrame ROOT::RDF::MakeCsvDataFrame | ( | std::string_view | fileName, |
bool | readHeaders = true , |
||
char | delimiter = ',' , |
||
Long64_t | linesChunkSize = -1LL |
||
) |
Factory method to create a CSV RDataFrame.
[in] | fileName | Path of the CSV file. |
[in] | readHeaders | true if the CSV file contains headers as first row, false otherwise (default true ). |
[in] | delimiter | Delimiter character (default ','). |
Definition at line 475 of file RCsvDS.cxx.
RDataFrame ROOT::RDF::MakeLazyDataFrame | ( | std::pair< std::string, RResultPtr< std::vector< ColumnTypes > > > &&... | colNameProxyPairs | ) |
Factory method to create a Lazy RDataFrame.
[in] | colNameProxyPairs | the series of pairs to describe the columns of the data source, first element of the pair is the name of the column and the second is the RResultPtr to the column in the parent data frame. |
Definition at line 29 of file RLazyDS.hxx.
RDataFrame ROOT::RDF::MakeSqliteDataFrame | ( | std::string_view | fileName, |
std::string_view | query | ||
) |
Factory method to create a SQlite RDataFrame.
[in] | fileName | Path of the sqlite file. |
[in] | query | SQL query that defines the data set. |
Definition at line 546 of file RSqliteDS.cxx.
RInterface< RDFDetail::RLoopManager > ROOT::RDF::MakeTrivialDataFrame | ( | ) |
Make a RDF wrapping a RTrivialDS with infinite entries, for demo purposes.
Definition at line 131 of file RTrivialDS.cxx.
RInterface< RDFDetail::RLoopManager > ROOT::RDF::MakeTrivialDataFrame | ( | ULong64_t | size, |
bool | skipEvenEntries = false |
||
) |
Make a RDF wrapping a RTrivialDS with the specified amount of entries.
Constructing an RDataFrame as RDataFrame(nEntries)
is a superior alternative.
Definition at line 124 of file RTrivialDS.cxx.
auto ROOT::RDF::Not | ( | F && | f | ) | -> decltype(RDFInternal::NotHelper(Args(), std::forward<F>(f))) |
Given a callable with signature bool(T1, T2, ...) return a callable with same signature that returns the negated result.
The callable must have one single non-template definition of operator(). This is a limitation with respect to std::not_fn, required for interoperability with RDataFrame.
Definition at line 83 of file RDFHelpers.hxx.
bool ROOT::RDF::operator!= | ( | const RResultPtr< T1 > & | lhs, |
const RResultPtr< T2 > & | rhs | ||
) |
Definition at line 393 of file RResultPtr.hxx.
bool ROOT::RDF::operator!= | ( | const RResultPtr< T1 > & | lhs, |
std::nullptr_t | rhs | ||
) |
Definition at line 411 of file RResultPtr.hxx.
bool ROOT::RDF::operator!= | ( | std::nullptr_t | lhs, |
const RResultPtr< T1 > & | rhs | ||
) |
Definition at line 417 of file RResultPtr.hxx.
std::ostream & ROOT::RDF::operator<< | ( | std::ostream & | os, |
const RDFDescription & | description | ||
) |
Definition at line 33 of file RDFDescription.cxx.
bool ROOT::RDF::operator== | ( | const RResultPtr< T1 > & | lhs, |
const RResultPtr< T2 > & | rhs | ||
) |
Definition at line 387 of file RResultPtr.hxx.
bool ROOT::RDF::operator== | ( | const RResultPtr< T1 > & | lhs, |
std::nullptr_t | rhs | ||
) |
Definition at line 399 of file RResultPtr.hxx.
bool ROOT::RDF::operator== | ( | std::nullptr_t | lhs, |
const RResultPtr< T1 > & | rhs | ||
) |
Definition at line 405 of file RResultPtr.hxx.
auto ROOT::RDF::PassAsVec | ( | F && | f | ) | -> RDFInternal::PassAsVecHelper<std::make_index_sequence<N>, T, F> |
PassAsVec is a callable generator that allows passing N variables of type T to a function as a single collection.
PassAsVec<N, T>(func) returns a callable that takes N arguments of type T, passes them down to function func
as an initializer list {t1, t2, t3,..., tN}
and returns whatever f({t1, t2, t3, ..., tN}) returns.
Note that for this to work with RDataFrame the type of all columns that the callable is applied to must be exactly T. Example usage together with RDataFrame ("varX" columns must all be float
variables):
Definition at line 103 of file RDFHelpers.hxx.
void ROOT::RDF::RunGraphs | ( | std::vector< RResultHandle > | handles | ) |
Trigger the event loop of multiple RDataFrames concurrently.
[in] | handles | A vector of RResultHandles |
This function triggers the event loop of all computation graphs which relate to the given RResultHandles. The advantage compared to running the event loop implicitly by accessing the RResultPtr is that the event loops will run concurrently. Therefore, the overall computation of all results is generally more efficient. It should be noted that user-defined operations (e.g., Filters and Defines) of the different RDataFrame graphs are assumed to be safe to call concurrently.
Definition at line 23 of file RDFHelpers.cxx.
std::string ROOT::RDF::SaveGraph | ( | NodeType | node | ) |
Create a graphviz representation of the dataframe computation graph, return it as a string.
[in] | node | any node of the graph. Called on the head (first) node, it prints the entire graph. Otherwise, only the branch the node belongs to. |
The output can be displayed with a command akin to dot -Tpng output.dot > output.png && open output.png
.
Note that "hanging" Defines, i.e. Defines without downstream nodes, will not be displayed by SaveGraph as they are effectively optimized away from the computation graph.
Note that SaveGraph is not thread-safe and must not be called concurrently from different threads.
Definition at line 120 of file RDFHelpers.hxx.
void ROOT::RDF::SaveGraph | ( | NodeType | node, |
const std::string & | outputFile | ||
) |
Create a graphviz representation of the dataframe computation graph, write it to the specified file.
[in] | node | any node of the graph. Called on the head (first) node, it prints the entire graph. Otherwise, only the branch the node belongs to. |
[in] | outputFile | file where to save the representation. |
The output can be displayed with a command akin to dot -Tpng output.dot > output.png && open output.png
.
Note that "hanging" Defines, i.e. Defines without downstream nodes, will not be displayed by SaveGraph as they are effectively optimized away from the computation graph.
Note that SaveGraph is not thread-safe and must not be called concurrently from different threads.
Definition at line 139 of file RDFHelpers.hxx.