我喜欢使用 PyROOT 阅读 TTree 中分支的内容。我在这里寻找解决我的问题的可能方法:Reading a TTree in root using PyRoot。但是,答案对我没有帮助,因为 PyROOT 可能不知道分支的结构。请查看底部的输出片段,并提出解决方案。
谢谢,萨迪亚
>>> import ROOT
>>> f = ROOT.TFile("../Ntuple/v0406_default_1012p2_101X_dataRun2_Express_v7_Fill6573_Ntuple.root")
>>> f.ls()
TFile** ../Ntuples/v0406_default_1012p2_101X_dataRun2_Express_v7_Fill6573_Ntuple.root
TFile* ../Ntuples/v0406_default_1012p2_101X_dataRun2_Express_v7_Fill6573_Ntuple.root
KEY: TTree trajTree;1 Trajectory measurements in the Pixel detector.
KEY: TTree eventTree;1 The event.
KEY: TTree clustTree;1 Pixel clusters.
KEY: TTree trajROCEfficiencyTree;1 ROC and module efficiencies.
>>> t = f.Get("trajTree")
>>> t.Print()
******************************************************************************
*Tree :trajTree : Trajectory measurements in the Pixel detector. *
*Entries : 42180482 : Total = 31858466801 bytes File Size = 8076610485 *
* : : Tree compression factor = 3.94 *
******************************************************************************
*............................................................................*
*Br 5 :clust_pix : pix[size][2]/F *
*Entries : 42180482 : Total Size= 1597865089 bytes File Size = 569202378 *
*Baskets : 12058 : Basket Size= 2175488 bytes Compression= 2.81 *
*............................................................................*
*Br 7 :traj : validhit/I:missing:lx/F:ly:lz:glx:gly:glz:clust_near/I:*
* | hit_near:pass_effcuts:alpha/F:beta:norm_charge:d_tr:dx_tr:dy_tr: *
* | d_cl:dx_cl:dy_cl:dx_hit:dy_hit:onedge/I:lx_err/F:ly_err/F *
*Entries :42180482 : Total Size= 4220749516 bytes File Size = 2508894561 *
*Baskets : 28411 : Basket Size= 2275840 bytes Compression= 1.68 *
*............................................................................*
>>> t.clust_pix
<read-write buffer ptr 0x7fba04428200, size 514 at 0x115e5ecf0>
>>> t.traj
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'TTree' object has no attribute 'traj'
>>> t.traj.beta
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'TTree' object has no attribute 'traj'