ROOT
6.14/05
Reference Guide
tutorials
dataframe
df010_trivialDataSource.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_dataframe
3
/// \notebook
4
/// This tutorial illustrates how use the RDataFrame in combination with a
5
/// RDataSource. In this case we use a TTrivialDS, which is nothing more
6
/// than a simple generator: it does not interface to any existing dataset.
7
/// The TTrivialDS has a single column, col0, which has value n for entry n.
8
///
9
/// \macro_code
10
///
11
/// \date September 2017
12
/// \author Danilo Piparo
13
14
int
df010_trivialDataSource
()
15
{
16
auto
nEvents = 128U;
17
auto
d_s =
ROOT::RDF::MakeTrivialDataFrame
(nEvents);
18
19
/// Now we have a regular RDataFrame: the ingestion of data is delegated to
20
/// the RDataSource. At this point everything works as before.
21
auto
h_s = d_s.Define(
"x"
,
"1./(1. + col0)"
).Histo1D({
"h_s"
,
"h_s"
, 128, 0, .6},
"x"
);
22
23
/// Now we redo the same with a RDF from scratch and we draw the two histograms
24
ROOT::RDataFrame
d
(nEvents);
25
26
/// This lambda redoes what the TTrivialDS provides
27
auto
g
= []() {
28
static
ULong64_t
i = 0;
29
return
i++;
30
};
31
auto
h
=
d
.Define(
"col0"
,
g
).Define(
"x"
,
"1./(1. + col0)"
).Histo1D({
"h"
,
"h"
, 128, 0, .6},
"x"
);
32
33
auto
c_s =
new
TCanvas
();
34
c_s->SetLogy();
35
h_s->DrawClone();
36
37
auto
c
=
new
TCanvas
();
38
c
->SetLogy();
39
h
->DrawClone();
40
41
return
0;
42
}
g
#define g(i)
Definition:
RSha256.hxx:105
h
#define h(i)
Definition:
RSha256.hxx:106
ROOT::RDataFrame
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTrees, CSV's and other data formats.
Definition:
RDataFrame.hxx:42
TCanvas
The Canvas class.
Definition:
TCanvas.h:31
d
#define d(i)
Definition:
RSha256.hxx:102
ROOT::RDF::MakeTrivialDataFrame
RDataFrame MakeTrivialDataFrame(ULong64_t size, bool skipEvenEntries=false)
Definition:
RTrivialDS.cxx:86
df010_trivialDataSource
Definition:
df010_trivialDataSource.py:1
ULong64_t
unsigned long long ULong64_t
Definition:
RtypesCore.h:70
c
#define c(i)
Definition:
RSha256.hxx:101