PyROOTのTips
pyrootを起動したときにもrootlogon.Cとかを読む
別にrootlogon.Cじゃなくても多分任意のCルートマクロを読めると思う。
ROOT.gROOT.Macro(os.path.expanduser("~/soft/root/tutorials/rootlogon.C"))
TreeのBranchを自動で全部イテレートする
f = ROOT.TFile("treefile.root") t = f.Get("tree") oa = t.GetListOfBranches() namelst = [] for i in range(oa.GetEntries()): namelst.append(oa.At(i).GetName()) for i in range(10): print "--- entry %(i)d ---"%locals() t.GetEntry(i) for name in namelst: print name, " = ", getattr(t, name)
TreeのBranchが"x","xerr"とかだったら
--- entry 0 --- x = 0.5 xerr = 0.1 --- entry 1 --- x = 1.5 xerr = 0.2 --- entry 2 --- ...
とか出る。