问题标签 [pyroot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 PyROOT 读取值
我正在尝试使用 PyROOT 从 ROOT 文件中读取值,但遇到了这个问题。任何帮助表示赞赏。
我的代码基于此链接。我想我正在遵循该示例中给出的所有内容。然而,我没有像预期的那样读出动量值,而是得到一个恒定的零输出。我的树结构如图所示,由 TBrowser 给出。
谢谢!
pyroot - 安装 rootpy 时出错:无法导入 ROOT。是否在启用 PyROOT 的情况下安装了 ROOT?
我是 10.13.4 Mac 用户,我通过运行从https://root.cern.ch/content/release-61400下载的 dmg 文件安装了 ROOT 6.14.00 。然后我尝试通过
sudo pip install rootpy
它给了我错误
ROOT 无法导入。是否在启用 PyROOT 的情况下安装了 ROOT?
命令“python setup.py egg_info”在 /private/tmp/pip-install-Idx6tf/rootpy/ 中失败,错误代码为 1
我不知道发生了什么,但我看到 root_v6.14.00 位于 Application/ 文件夹中(我看到文档说 pyROOT 默认处于打开状态),并且我的 Mac 上安装了 python 2.7.10。似乎没有在线文档可以解决此问题。我想知道是否有人知道发生了什么,或者我最好在虚拟机上的 ubuntu 上安装 rootpy?
python - 将 C++ 转换为 pyroot:如何从 pyroot 中的文件中获取文件对象?
我正在做中微子研究,需要我通过叠加直方图来进行数据分析。我们正在使用ROOT。我目前正在尝试将以下代码从 C++ 转换为 pyroot:
/li>这是我到目前为止的代码,用python重新编写:
/li>我对 Python 的接触有限。上面的 Python 代码主要是通过查看各种在线示例创建的,所以我什至不确定我到目前为止所写的内容是否正确。
我最需要的,也是我在网上找不到的,是如何将 C++ 中的以下行转换为 Python 中的等价行。
/li>
如何做到这一点?
- 此外,如果您发现我到目前为止编写的 Python 代码有任何问题,请告诉我我做错了什么以及如何修复它。谢谢你。
jupyter-notebook - Jupyter Notebook中的Kernel在导入ROOT框架时没有响应
我希望通过将它集成到 Jupyter 笔记本中来使用由 CERN 开发的数据分析框架 pyRoot。也就是说,我相信我在我的 macOS 10 上正确安装了 ROOT。
当我使用以下命令启动 ROOT Jupyter 笔记本时,它会正确启动:
我得到了 Jupyter 笔记本编辑器。但是,每当我通过以下方式启动笔记本时:
该命令不断加载一个弹出通知,告诉我:
python - 将多个(CERN)ROOT 文件读入 NumPy 数组 - 使用 n 个节点,例如 2n 个 GPU
我正在使用循环读取许多(比如 1k)CERN ROOT 文件并将一些数据存储到嵌套的 NumPy 数组中。循环的使用使其成为串行任务,每个文件都需要相当长的时间才能完成该过程。由于我正在研究深度学习模型,因此我必须创建一个足够大的数据集——但读取时间本身需要很长时间(读取 835 个事件大约需要 21 分钟)。谁能建议是否可以使用多个 GPU 来读取数据,以便读取所需的时间更少?如果是这样,怎么做?
添加更多细节:我将程序推送到 GitHub,以便可以看到(如果不允许发布 GitHub 链接,请告诉我,在这种情况下,我将在此处发布相关部分):
https://github.com/Kolahal/SupervisedCounting/blob/master/read_n_train.py
我将程序运行为:
其中参数是一个文本文件,其中包含带有地址的文件列表。我在read_data_into_list()
函数的循环中打开 ROOT 文件。但正如我所提到的,这个串行任务非常耗时。不仅如此,我注意到随着我们读取越来越多的数据,读取速度越来越差。
同时我尝试使用 slurmpy 包https://github.com/brentp/slurmpy 有了这个,我可以将作业分配到例如 N 个工作节点。在这种情况下,单个读取程序将读取分配给它的文件并返回相应的列表。只是最后,我需要添加列表。我想不出办法来做到这一点。
非常感谢任何帮助。
问候, 科拉哈尔
python - 获取“TypeError:静态方法不可调用”
我收到有关 TypeError 的错误:“staticmethod”对象不可调用。基本上,您的输入是一个映射,并且假设您提供了一对浮点数 (pt,eta),代码应该返回特定值所在的 bin 的 Y 值。
我已经尝试过相关的线程(尽可能重复),但似乎没有得到我正在寻找的答案。
当然,如果有人对如何改进代码有任何建议,那当然会受到欢迎。
python - 从函数内部调用多个函数
我正在尝试从函数内部调用函数,而前者调用更多函数等。
我想调用 get_ScaleFactor() 依次调用 get_EfficiencyMC() 等,但我曾经尝试调用前者,我得到 TypeError: 'NoneType' object is not callable
python - 在通过 Python 使用 Root 中创建带有分支的 TTree
我正在尝试通过 python 在根目录中创建一个带有分支的树。我有一个 .root 文件,我正在尝试创建作为 .root 文件的变量(或数据点)的分支。这是我的尝试:
这只是给了我:
我明白为什么,因为我没有定义我的变量。因此,我正在查看一个示例https://www.niser.ac.in/sercehep2017/notes/RootTutorial_TTree.pdf(幻灯片 3),并尝试将应包含在 .root 文件中的变量定义为:
但是,我最终得到了这个错误:
有没有办法用python写这个?写作:
也没有工作。
如何修复语法。最终,我试图将 .root 文件中使用的字典加载到我的树中,然后对字典中的项目进行一些计算。换句话说,如何从 .root 文件中提取字典?
当我输入:
当我输入 gFile->ls() 时,我得到
TFile** rdata.root TFile* rdata.root KEY: TH1F mass;1 mass KEY: TNtuple tnt;1 tnt
python - 根据 for 循环中的位置将直方图存储在一个大数组中
我正在尝试将直方图存储在一个充满嵌套数组的数组中,这些嵌套数组是在多个循环中创建的。
我得到的错误是:' TH1F
'对象没有属性'append'
这是代码如何工作的示例(简化版本):
我正在尝试将所有这些不同的直方图存储在这个大数组中,以便我稍后可以通过简单地使用索引在代码中使用它们。但我得到了错误
'TH1F' object has no attribute 'append'
我不知道如何解决。有什么解决办法吗?
代码在这一行崩溃:
提前致谢!