16void fill_tree(
const char *treeName,
const char *fileName)
20 d.Define(
"b1", [&i]() {
return i; })
27 .Snapshot(treeName, fileName);
34 auto fileName =
"df006_ranges.root";
35 auto treeName =
"myTree";
36 fill_tree(treeName, fileName);
43 auto c_all =
d.Count();
46 auto d_0_30 =
d.Range(30);
47 auto c_0_30 = d_0_30.Count();
50 auto d_15_end =
d.Range(15, 0);
51 auto c_15_end = d_15_end.Count();
54 auto d_15_end_3 =
d.Range(15, 0, 3);
55 auto c_15_end_3 = d_15_end_3.Count();
59 auto d_0_50 =
d.Range(50);
60 auto c_0_50_odd_b1 = d_0_50.Filter(
"1 == b1 % 2").Count();
65 auto c_0_3_after_even_b1 =
d.Filter(
"0 == b1 % 2").Range(0, 3).Count();
68 cout <<
"Usage of ranges:\n"
69 <<
" - All entries: " << *c_all << endl
70 <<
" - Entries from 0 to 30: " << *c_0_30 << endl
71 <<
" - Entries from 15 onwards: " << *c_15_end << endl
72 <<
" - Entries from 15 onwards in steps of 3: " << *c_15_end_3 << endl
73 <<
" - Entries from 0 to 50, odd only: " << *c_0_50_odd_b1 << endl
74 <<
" - First three entries of all even entries: " << *c_0_3_after_even_b1 << endl;
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...