20def fill_tree(treeName, fileName):
22 d.Define(
"px",
"gRandom->Gaus()")\
23 .Define(
"py",
"gRandom->Gaus()")\
24 .Define(
"pz",
"sqrt(px * px + py * py)")\
25 .Snapshot(treeName, fileName)
28fileName =
"df003_profiles_py.root"
30fill_tree(treeName, fileName)
33columns = ROOT.vector(
'string')()
34columns.push_back(
"px")
35columns.push_back(
"py")
36columns.push_back(
"pz")
40hprof1d = d.Profile1D((
"hprof1d",
"Profile of pz versus px", 64, -4, 4))
41hprof2d = d.Profile2D((
"hprof2d",
"Profile of pz versus px and py", 40, -4, 4, 40, -4, 4, 0, 20))
44c1 = ROOT.TCanvas(
"c1",
"Profile histogram example", 200, 10, 700, 500)
46c1.SaveAs(
"df003_c1.png")
48c2 = ROOT.TCanvas(
"c2",
"Profile2D histogram example", 200, 10, 700, 500)
50c2.SaveAs(
"df003_c2.png")
52print(
"Saved figures to df003_*.png")
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTree,...