User Tools

Site Tools


root:pyroot_th1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
root:pyroot_th1 [2017/06/22 12:10] – [Filling a histogram from a tree] iwnroot:pyroot_th1 [2017/09/05 10:34] – [Handling TH1 histograms] iwn
Line 1: Line 1:
 +[[root:root|Getting started with ROOT]] -> [[root:pyroot|Useful pyROOT snippets]] → [[root:pyroot_th1|Handling TH1 histograms]]
 +
 ====== Handling TH1 histograms ====== ====== Handling TH1 histograms ======
  
-To use ''TH1D'' in ''python'', you can either do+[[https://root.cern.ch/doc/master/classTH1.html|Here]] is the class manual for ''TH1''
 + 
 + 
 +===== Importing ROOT classes ===== 
 + 
 +To use ''TH1D'' in ''python'', you can either only import a ''TH1D'' class:
 <code python> <code python>
 from ROOT import TH1D from ROOT import TH1D
 hist = TH1D("hist_name","hist_title",100,0,100) hist = TH1D("hist_name","hist_title",100,0,100)
 </code> </code>
-or+or //all// classes:
 <code python> <code python>
 from ROOT import * # loads all classes, and thus takes longer from ROOT import * # loads all classes, and thus takes longer
 hist = TH1D("hist_name","hist_title",100,0,100) hist = TH1D("hist_name","hist_title",100,0,100)
 </code> </code>
-or+or only the ''ROOT'' module:
 <code python> <code python>
 import ROOT import ROOT
Line 54: Line 61:
 tree.Draw("abs(eta) >> hist_name") tree.Draw("abs(eta) >> hist_name")
 tree.Draw("pt1*(eta1<2.4) + pt2*(eta2<2.4) >> hist_name") # boolean expressions tree.Draw("pt1*(eta1<2.4) + pt2*(eta2<2.4) >> hist_name") # boolean expressions
 +</code>
 +This also includes custom functions, which you can load into ''ROOT'' with a ''C'' file:
 +<code python>
 +from ROOT import gROOT, ...
 +gROOT.Macro("myfunctions.C+")
 +...
 +tree.Draw("deltaR(eta1,phi1,eta2,phi2) >> hist_name"   # deltaR     function defined in "myfunctions.C+"
 +tree.Draw("pt1 >> hist_name","(pt>30)*weightEta1(eta1)") # weightEta1 function defined in "myfunctions.C+"
 </code> </code>
  
Line 90: Line 105:
 [2] tree->Draw("px >> h1(100,0,100)","pt>20") [2] tree->Draw("px >> h1(100,0,100)","pt>20")
 [3] tree->Draw("px >> h1(100,0,100)","","E2") [3] tree->Draw("px >> h1(100,0,100)","","E2")
-[4] tree->Draw("py >> h2(100,0,100)","","E2 SAME"compare to px+[4] tree->Draw("py >> h2(100,0,100)","","E2 SAME"// compare to px
 </code> </code>
root/pyroot_th1.txt · Last modified: 2017/09/05 10:35 by iwn