回到另一个学习如何正确使用连根拔起快速问题。我正在尝试加载一个Delphes output.root文件,并尝试从使用outlot.open过渡到使用outlot.lazyarrays,以便使用剥离MC文件,当我天真地尝试这样做时,我很难从.root文件获取一些信息
我可以正确地打开任何文件与uplot.open和获得所有内容,“显示”命令列出他们所有
Track TStreamerInfo asdtype('>i4')
Track.PT TStreamerBasicType asjagged(asdtype('>f4'))
LargeJet TStreamerInfo asdtype('>i4')
LargeJet.PT TStreamerBasicType asjagged(asdtype('>f4'))
events = uproot.lazyarrays("*.root","Delphes")
print(len(events)) # correct merged event number
print(events._contents["Track.PT"]) # shows correctly
print(events._contents["LargeJet.PT"]) # shows ([] [] [] ... [])
events = uproot.open("tag_1_delphes_events.root")["Delphes"]
events = events.arrays(["LargeJet.PT"],outputtype=tuple)
print(events) # shows correctly
我希望lazyarrays能够正确地为所有内容加载,但是似乎我无法获得某些内容,而且我无法理解是哪一个以及根据什么规则加载的。我正在使用PyCharm,可以访问加载文件的内容,并查看哪些数组被加载,哪些没有
原因是什么和/或我该如何处理
目前没有回答
相关问题 更多 >
编程相关推荐