16 void fill_tree(
const char *treeName,
const char *fileName)
18 ROOT::RDataFrame d(25000);
19 d.Define(
"px", []() {
return gRandom->Gaus(); })
20 .Define(
"py", []() {
return gRandom->Gaus(); })
21 .Define(
"pz", [](
double px,
double py) {
return sqrt(px * px + py * py); }, {
"px",
"py"})
22 .Snapshot(treeName, fileName);
28 auto fileName =
"df003_profiles.root";
29 auto treeName =
"myTree";
30 fill_tree(treeName, fileName);
33 ROOT::RDataFrame d(treeName, fileName, {
"px",
"py",
"pz"});
36 auto hprof1d = d.Profile1D({
"hprof1d",
"Profile of pz versus px", 64, -4, 4});
37 auto hprof2d = d.Profile2D({
"hprof2d",
"Profile of pz versus px and py", 40, -4, 4, 40, -4, 4, 0, 20});
40 auto c1 =
new TCanvas(
"c1",
"Profile histogram example", 200, 10, 700, 500);
42 auto c2 =
new TCanvas(
"c2",
"Profile2D histogram example", 200, 10, 700, 500);
43 hprof2d->DrawClone(
"BOX");