These examples show the functionalities of RDataFrame: ROOT's declarative analysis interface.
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTrees, CSV files and other data formats.
In addition, multi-threading and other low-level optimisations allow users to exploit all the resources available on their machines transparently.
In a nutshell:
Explore the examples below or go to RDataFrame user guide.
Files | |
file | df001_introduction.C |
This tutorial illustrates the basic features of the RDataFrame class, a utility which allows to interact with data stored in TTrees following a functional-chain like approach. | |
file | df001_introduction.py |
This tutorial illustrates the basic features of the RDataFrame class, a utility which allows to interact with data stored in TTrees following a functional-chain like approach. | |
file | df002_dataModel.C |
This tutorial shows the possibility to use data models which are more complex than flat ntuples with RDataFrame | |
file | df002_dataModel.py |
This tutorial shows the possibility to use data models which are more complex than flat ntuples with RDataFrame | |
file | df003_profiles.C |
This tutorial illustrates how to use TProfiles in combination with the RDataFrame. | |
file | df003_profiles.py |
This tutorial illustrates how to use TProfiles in combination with the RDataFrame. | |
file | df004_cutFlowReport.C |
This tutorial shows how to get information about the efficiency of the filters applied | |
file | df004_cutFlowReport.py |
This tutorial shows how to get information about the efficiency of the filters applied | |
file | df005_fillAnyObject.C |
This tutorial shows how to fill any object the class of which exposes a Fill method. | |
file | df006_ranges.C |
This tutorial shows how to express the concept of ranges when working with the RDataFrame. | |
file | df006_ranges.py |
This tutorial shows how to express the concept of ranges when working with the RDataFrame. | |
file | df007_snapshot.C |
This tutorial shows how to write out datasets in ROOT formatusing the RDataFrame | |
file | df007_snapshot.py |
This tutorial shows how to write out datasets in ROOT formatusing the RDataFrame | |
file | df008_createDataSetFromScratch.C |
This tutorial shows how to create a dataset from scratch with RDataFrame | |
file | df008_createDataSetFromScratch.py |
This tutorial shows how to create a dataset from scratch with RDataFrame | |
file | df009_FromScratchVSTTree.C |
This tutorial illustrates how simpler it can be to use a RDataFrame to create a dataset with respect to the usage of the TTree interfaces. | |
file | df010_trivialDataSource.C |
This tutorial illustrates how use the RDataFrame in combination with a RDataSource. | |
file | df010_trivialDataSource.py |
This tutorial illustrates how use the RDataFrame in combination with a RDataSource. | |
file | df012_DefinesAndFiltersAsStrings.C |
| |
file | df012_DefinesAndFiltersAsStrings.py |
| |
file | df013_InspectAnalysis.C |
Showcase registration of callback functions that act on partial results while the event-loop is running using OnPartialResult and OnPartialResultSlot . | |
file | df014_CSVDataSource.C |
This tutorial illustrates how use the RDataFrame in combination with a RDataSource. | |
file | df014_CSVDataSource.py |
This tutorial illustrates how use the RDataFrame in combination with a RDataSource. | |
file | df015_LazyDataSource.C |
This tutorial illustrates how to take advantage of a lazy data source creating a data frame from columns of one or multiple parent dataframe(s), delaying the creation of the columns to the actual usage of the daughter data frame. | |
file | df016_vecOps.C |
This tutorial shows the potential of the VecOps approach for treating collections stored in datasets, a situation very common in HEP data analysis. | |
file | df016_vecOps.py |
This tutorial shows the potential of the VecOps approach for treating collections stored in datasets, a situation very common in HEP data analysis. | |
file | df017_vecOpsHEP.C |
This tutorial shows how VecOps can be used to slim down the programming model typically adopted in HEP for analysis. | |
file | df017_vecOpsHEP.py |
This tutorial shows how VecOps can be used to slim down the programming model typically adopted in HEP for analysis. | |
file | df018_customActions.C |
This tutorial shows how to implement a custom action. | |
file | df019_Cache.C |
This tutorial shows how the content of a data frame can be cached in memory in form of a data frame. | |
file | df019_Cache.py |
This tutorial shows how the content of a data frame can be cached in memory in form of a data frame. | |
file | df020_helpers.C |
This tutorial shows usage of the RDF helper tools, contained in ROOT/RDFHelpers.hxx | |
file | df021_createTGraph.C |
This tutorial shows how to fill a TGraph using the Dataframe. | |
file | df021_createTGraph.py |
This tutorial shows how to fill a TGraph using the Dataframe. | |
file | df022_useKahan.C |
This tutorial shows how to implement a Kahan summation custom action. | |
file | df023_aggregate.C |
This tutorial shows how to use the Aggregate action to evaluate the product of all the elements of a column. | |
file | df024_Display.C |
This tutorial shows how to use the Display action | |
file | df024_Display.py |
This tutorial shows how to use the Display action | |
file | df025_RNode.C |
RNode is a generic type which represents any transformation node in the computation graph. | |
file | df026_AsNumpyArrays.py |
This tutorial shows how read data of a RDataFrame into Numpy arrays. | |
file | df027_SQliteDependencyOverVersion.C |
Plot the ROOT downloads based on the version reading a remote sqlite3 file with RSqliteDS. | |
file | df028_SQliteIPLocation.C |
Plot the location of ROOT downloads reading a remote sqlite3 file with RSqliteDS. | |
file | df029_SQlitePlatformDistribution.C |
| |
file | df030_SQliteVersionsOfROOT.C |
Plot the downloads of different ROOT versions reading a remote sqlite3 file with RSqliteDS. | |
file | df031_Stats.C |
Extract the statistics relative to RDataFrame columns and store them in TStatistic instances. | |
file | df031_Stats.py |
| |
file | df101_h1Analysis.C |
This tutorial illustrates how to express the H1 analysis with a RDataFrame. | |
file | df102_NanoAODDimuonAnalysis.C |
This tutorial illustrates how NanoAOD files can be processed with ROOT dataframes. | |
file | df102_NanoAODDimuonAnalysis.py |
This tutorial illustrates how NanoAOD files can be processed with ROOT dataframes. | |
file | df103_NanoAODHiggsAnalysis.C |
This tutorial is a simplified but yet complex example of an analysis reconstructing the Higgs boson decaying to two Z bosons from events with four leptons. | |
file | df103_NanoAODHiggsAnalysis.py |
This tutorial is a simplified but yet complex example of an analysis reconstructing the Higgs boson decaying to two Z bosons from events with four leptons. | |
file | df103_NanoAODHiggsAnalysis_python.h |
Header file with functions needed to execute the Python version of the NanoAOD Higgs tutorial. | |
file | df104_HiggsToTwoPhotons.py |
This tutorial is the Higgs to two photons analysis from the ATLAS Open Data release in 2020 (http://opendata.atlas.cern/release/2020/documentation/). | |
file | df105_WBosonAnalysis.py |
This tutorial is the analysis of the W boson mass taken from the ATLAS Open Data release in 2020 (http://opendata.atlas.cern/release/2020/documentation/). | |
file | df106_HiggsToFourLeptons.py |
This tutorial is the Higgs to four lepton analysis from the ATLAS Open Data release in 2020 (http://opendata.atlas.cern/release/2020/documentation/). | |