我是连根拔起的新手,我正在尝试完成一项相当简单的任务,但我不知道该怎么做。本质上,我有一个根文件,其中包含一堆直方图和一个 TTree,它由 8 个分支组成,大约有 400 万个条目。
我需要做的是,创建一个新的根文件,并将 80% 的 TTree 从原始文件复制到一个 TTree(称为训练),将剩余的 20% 复制到同一个新文件中的第二个 TTree(称为测试)。
我尝试的是在python中创建一个目录,我从原始文件分支中读取所有数据。然后我使用这个目录将数据写入两个新的 TTree。
这是一种工作,我得到了一个具有我想要的结构的文件,我并不完全满意,原因有两个:
- 肯定有更直接的方法吗?首先将数据读入python,然后将其写入文件似乎非常麻烦且占用大量内存。
- 老实说,我对 root 不是很有经验,但根据我的理解,在我的原始文件中,我有一棵树,其中包含我的 400 万个事件。每个事件的每个分支都有一个值,所以当我说“让我输入 555!”时,我得到 8 个值(每个分支 1 个)。如果我只是按照我的方式复制分支,我会丢失这个结构还是目录中所有数组的索引都会替换条目号?那么,从索引 555 的所有数组中获取值与之前返回条目 555 相同吗?
欢迎任何帮助。谢谢!