Logo ROOT  
Reference Guide
No Matches
df003_profiles.C File Reference

Detailed Description

View in nbviewer Open in SWAN
Use TProfiles with RDataFrame.

This tutorial illustrates how to use TProfiles in combination with the RDataFrame. See the documentation of TProfile and TProfile2D to better understand the analogy of this code with the example one.

// A simple helper function to fill a test tree: this makes the example
// stand-alone.
void fill_tree(const char *treeName, const char *fileName)
d.Define("px", []() { return gRandom->Gaus(); })
.Define("py", []() { return gRandom->Gaus(); })
.Define("pz", [](double px, double py) { return sqrt(px * px + py * py); }, {"px", "py"})
.Snapshot(treeName, fileName);
// We prepare an input tree to run on
auto fileName = "df003_profiles.root";
auto treeName = "myTree";
fill_tree(treeName, fileName);
// We read the tree from the file and create a RDataFrame.
ROOT::RDataFrame d(treeName, fileName);
// Create the profiles
auto hprof1d = d.Profile1D({"hprof1d", "Profile of py versus px", 64, -4, 4}, "px", "py");
auto hprof2d =
d.Profile2D({"hprof2d", "Profile of pz versus px and py", 40, -4, 4, 40, -4, 4, 0, 20}, "px", "py", "pz");
// And Draw
auto c1 = new TCanvas("c1", "Profile histogram example", 200, 10, 700, 500);
auto c2 = new TCanvas("c2", "Profile2D histogram example", 200, 10, 700, 500);
#define d(i)
Definition RSha256.hxx:102
R__EXTERN TRandom * gRandom
Definition TRandom.h:62
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
The Canvas class.
Definition TCanvas.h:23
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:274
return c1
Definition legend1.C:41
return c2
Definition legend2.C:14
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)
February 2017
Danilo Piparo (CERN)

Definition in file df003_profiles.C.