gpt4 book ai didi

python - 从根读取Python中的指针

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:53 24 4
gpt4 key购买 nike

我不确定这个问题是否实际上与指针有关,因为我不太确定它们是什么,但我必须使用 python 读取一些 .root 文件。下面是该文件的屏幕截图。

enter image description here

我设法读取了数字,但无法读取向量(或指针 - 我不确定它们是什么)。我是 root 新手。这是代码的读取部分,其中 t1 是文件内的 TTree。

a.append(root.TChain("t1"))

for chain in a:
chain.Add(input)
entries = a[0].GetEntries()

这是一些数字变量的读取(不是图中的变量):

import pandas as pd
entries = chain[0].GetEntries()

xp_pri = []
yp_pri = []
X_shower = []
Y_shower = []

for k in range(entries):
for a in chain:
a.LoadTree(k)
a.GetEntry(k)

xp_pri = xp_pri + [chain[0].xp_pri]
yp_pri = yp_pri + [chain[0].yp_pri]
X_shower = X_shower + [chain[0].X_shower/10**10]
Y_shower = Y_shower + [chain[0].Y_shower/10**10]

所以我的问题是如何读取向量,因为如果我使用相同的过程:chain[0].xp_pri,程序将停止工作?

最佳答案

创建

myvec = ROOT.std.vector('float')()

myvec = ROOT.std.vector('int')()

然后:

chain.SetBranchAddress("the_branch_name",myvec)

之后:

chain.GetEntry(some_entry_number)

myvec 将包含事件编号 some_entry_number 的值。

您的另一个选择是使用 root_numpy 它也能够检索向量。

关于python - 从根读取Python中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38252399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com