#!/usr/bin/env python # coding: utf-8 # # df010_trivialDataSource # Use the "trivial data source", an example data source implementation. # # This tutorial illustrates how use the RDataFrame in combination with a # RDataSource. In this case we use a RTrivialDS, which is nothing more # than a simple generator: it does not interface to any existing dataset. # The RTrivialDS has a single column, col0, which has value n for entry n. # # Note that RTrivialDS is only a demo data source implementation and superior alternatives # typically exist for production use (e.g. constructing an empty RDataFrame as `RDataFrame(nEntries)`). # # # # # **Author:** Danilo Piparo (CERN) # This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Wednesday, April 17, 2024 at 11:07 AM. # In[1]: import ROOT # Create the data frame # In[2]: MakeTrivialDataFrame = ROOT.RDF.MakeTrivialDataFrame nEvents = 128 d_s = MakeTrivialDataFrame(nEvents) # Now we have a regular RDataFrame: the ingestion of data is delegated to # the RDataSource. At this point everything works as before. # In[3]: h_s = d_s.Define("x", "1./(1. + col0)").Histo1D(("h_s", "h_s", 128, 0, .6), "x") c = ROOT.TCanvas() c.SetLogy() h_s.Draw() c.SaveAs("df010_trivialDataSource.png") print("Saved figure to df010_trivialDataSource.png") # Draw all canvases # In[4]: from ROOT import gROOT gROOT.GetListOfCanvases().Draw()