Revision 3028e1f6d0cfa2a14a4fcc3cfe4cf5de60eb7edf authored by Wouter Verkerke on 22 March 2005, 22:11:41 UTC, committed by Wouter Verkerke on 22 March 2005, 22:11:41 UTC
o RooDataHist - Import hidden plotOn() virtual functions from RooAbsData using 'using' git-svn-id: http://root.cern.ch/svn/root/trunk@11411 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent e74327f
ntuple1.rb
# ruby-root testsuite
# port of the original $ROOT/ntuple.C tutorial
# (20/01/2004) --elathan <elathan@phys.uoa.gr>
gBenchmark = TBenchmark.new.Start("ntuple1")
# Connect ROOT histogram/ntuple demonstration file
# generated by example hsimple.C.
f1 = TFile.new("hsimple.root")
# Create a canvas, with 4 pads
c1 = TCanvas.new("c1","The Ntuple canvas",200,10,700,780)
pad1 = TPad.new("pad1","This is pad1",0.02,0.52,0.48,0.98,21)
pad2 = TPad.new("pad2","This is pad2",0.52,0.52,0.98,0.98,21)
pad3 = TPad.new("pad3","This is pad3",0.02,0.02,0.48,0.48,21)
pad4 = TPad.new("pad4","This is pad4",0.52,0.02,0.98,0.48,1)
pad1.Draw
pad2.Draw
pad3.Draw
pad4.Draw
# Change default style for the statistics box
gStyle.SetStatW(0.30)
gStyle.SetStatH(0.20)
gStyle.SetStatColor(42)
# Display a function of one ntuple column imposing a condition
# on another column.
pad1.cd
pad1.SetGrid
pad1.SetLogy
pad1.GetFrame.SetFillColor(15)
ntuple = f1.Get("ntuple").as("TNtuple")
ntuple.SetLineColor(1)
ntuple.SetFillStyle(1001)
ntuple.SetFillColor(45)
ntuple.Draw("3*px+2","px**2+py**2>1")
ntuple.SetFillColor(38)
ntuple.Draw("2*px+2","pz>2","same")
ntuple.SetFillColor(5)
ntuple.Draw("1.3*px+2","(px^2+py^2>4) && py>0","same")
pad1.RedrawAxis
# Display the profile of two columns
# The profile histogram produced is saved in the current directory with
# the name hprofs
pad2.cd
pad2.SetGrid
pad2.GetFrame.SetFillColor(32)
ntuple.Draw("pz:px>>hprofs","","goffprofs")
hprofs = gDirectory.Get("hprofs").as("TProfile")
hprofs.SetMarkerColor(5)
hprofs.SetMarkerSize(0.7)
hprofs.SetMarkerStyle(21)
hprofs.Fit("pol2")
# Get pointer to fitted function and modify its attributes
fpol2 = hprofs.GetFunction("pol2")
fpol2.SetLineWidth(4)
fpol2.SetLineColor(2)
# Display a scatter plot of two columns with a selection.
# Superimpose the result of another cut with a different marker color
pad3.cd
pad3.GetFrame.SetFillColor(38)
pad3.GetFrame.SetBorderSize(8)
ntuple.SetMarkerColor(1)
ntuple.Draw("py:px","pz>1")
ntuple.SetMarkerColor(2)
ntuple.Draw("py:px","pz<1","same")
# Display a 3-D scatter plot of 3 columns. Superimpose a different selection.
pad4.cd
ntuple.Draw("pz:py:px","(pz<10 && pz>6)+(pz<4 && pz>3)")
ntuple.SetMarkerColor(4)
ntuple.Draw("pz:py:px","pz<6 && pz>4","same")
ntuple.SetMarkerColor(5)
ntuple.Draw("pz:py:px","pz<4 && pz>3","same")
l4 = TPaveText.new(-0.9,0.5,0.9,0.95)
l4.SetFillColor(42)
l4.SetTextAlign(12)
l4.AddText("You can interactively rotate this view in 2 ways:")
l4.AddText(" - With the RotateCube in clicking in this pad")
l4.AddText(" - Selecting View with x3d in the View menu")
l4.Draw
c1.cd
c1.Update
gStyle.SetStatColor(19)
gBenchmark.Show("ntuple1")
gApplication.Run
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...