我有一个pyROOT脚本,其中我使用TChain::AddFriend来组合两个TTrees:
from ROOT import TFile, gDirectory
myfile = TFile("e.root")
mychain = gDirectory.Get("elec_gen")
entries = mychain.GetEntriesFast()
friendFile = TFile("mu.root")
friendChain = gDirectory.Get("muon_gen")
mychain.AddFriend("muon_gen")
elec_gen_evtNum = mychain.evtNum
muon_gen_evtNum = mychain.muon_gen.evtNum当我运行这个时,我得到:
$ python friendTest.py
Traceback (most recent call last):
File "friendTest.py", line 12, in <module>
muon_gen_evtNum = mychain.muon_gen.evtNum
AttributeError: 'TTree' object has no attribute 'muon_gen'最后一行注释完毕,它运行良好。因此,我似乎没有正确地访问朋友树(muon_gen)的叶子。我怎么才能接触到它们?
我还尝试使用以下方法组合TTrees:
mychain.AddFriend("muon_gen","mu.root")但这也会产生同样的错误。
发布于 2018-07-10 04:11:07
我有一个类似的问题,并在根论坛上找到了一个答案(好吧,解决办法):
https://root-forum.cern.ch/t/accessing-a-friend-ttree-using-pyroot/25513
虽然没有给出使用TFriend的解决方案。
相反,RobS为他自己的问题找到了一个解决办法:只分别加载两个TFile和TTree,并在每个TChain上运行LoadTree()和GetEvent()。
https://stackoverflow.com/questions/45041522
复制相似问题