如何在PyROOT中使用TTreeReader

2024-06-09 10:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用TTreeReader方法来阅读PyROOT中的ttree。作为指导,我将使用根6分析工作坊(http://root.cern.ch/drupal/content/7-using-ttreereader)及其关联的根文件(http://root.cern.ch/root/files/tutorials/mockupx.root)。在

from ROOT import *
fileName = "mockupx.root"
file = TFile(fileName)
tree = file.Get("MyTree")
treeReader = TTreeReader("MyTree", file)

在这之后,我有点迷路了。我试图使用TTreeReader对象访问变量信息,但效果不佳:

^{pr2}$

我在这里哪里做错了?在


Tags: 方法httprootchfilenamefilecern指导
1条回答
网友
1楼 · 发布于 2024-06-09 10:44:31

TTreeReaderValue是一个模板类,如^{}文档中的示例所示,因此需要指定模板类型。在

你可以用

rvMissingET = ROOT.TTreeReaderValue(ROOT.Double)(treeReader, "missingET")

Python built-ins可用于int和{}类型,例如

^{pr2}$

还要注意using ^{} in PyROOT is not recommended。(如果您在Python中寻找更快的ntuple分支访问,可以查看我编写的^{}类。)

相关问题 更多 >