Logo ROOT   6.16/01
Reference Guide
df003_profiles.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_dataframe
3/// \notebook -draw
4/// This tutorial illustrates how to use TProfiles in combination with the
5/// RDataFrame. See the documentation of TProfile and TProfile2D to better
6/// understand the analogy of this code with the example one.
7///
8/// \macro_image
9/// \macro_code
10///
11/// \date February 2017
12/// \author Danilo Piparo
13
14// A simple helper function to fill a test tree: this makes the example
15// stand-alone.
16void fill_tree(const char *treeName, const char *fileName)
17{
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);
23}
24
25void df003_profiles()
26{
27 // We prepare an input tree to run on
28 auto fileName = "df003_profiles.root";
29 auto treeName = "myTree";
30 fill_tree(treeName, fileName);
31
32 // We read the tree from the file and create a RDataFrame.
33 ROOT::RDataFrame d(treeName, fileName, {"px", "py", "pz"});
34
35 // Create the profiles
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});
38
39 // And Draw
40 auto c1 = new TCanvas("c1", "Profile histogram example", 200, 10, 700, 500);
41 hprof1d->DrawClone();
42 auto c2 = new TCanvas("c2", "Profile2D histogram example", 200, 10, 700, 500);
43 hprof2d->DrawClone("BOX");
44}
#define d(i)
Definition: RSha256.hxx:102
double sqrt(double)
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTrees,...
Definition: RDataFrame.hxx:41
The Canvas class.
Definition: TCanvas.h:31
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Definition: TRandom.cxx:256
return c1
Definition: legend1.C:41
return c2
Definition: legend2.C:14