问题标签 [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.

0 投票
2 回答
4499 浏览

python - 在 PyRoot 中声明 TTree 分支

我正在尝试使用 python 简单地定义一个 Root TTree 并给它一个 Tbranch。听起来很合理,对吧?我试过了:

这会因错误而崩溃:

我怀疑 AddressOf() 的参数可能需要像 Int_t 这样的 Root 类型,但我不认为 python 数据类型需要明确 - 而且我不知道如何强制数据类型int 为 Int_t。最后,如果您执行相同的操作,只是将 'int' 替换为 'TString' 并将 '/I' 替换为 '/S',则不会崩溃。任何建议表示赞赏。

0 投票
2 回答
362 浏览

python - 从 rootpy 访问数学函数

我目前正在尝试从 rootpy 访问数学函数,例如 DeltaR,但我不确定这是如何完成的。我在文档或任何示例中都没有看到任何内容。C++ 等价物类似于:

double dR = ROOT::Math::VectorUtil::DeltaR((jets)[i],(partons)[i]);

但是我找不到可以工作的 rootpy 甚至 pyroot 等效项。如果我尝试使用 pyroot

我得到错误:

AttributeError: type object 'ROOT::Math' has no attribute 'VectorUtil'

当它很清楚应该时,除非我不正确理解“属性”的含义。无论如何,我不想在这里问 pyroot 问题 :) 我只是把它归结为 pyroot 处理此类事情的方式的一个怪癖,这就是为什么我想我会尝试 rootpy。但是,我不确定这是否可能。

干杯,约瑟夫

0 投票
1 回答
944 浏览

python - 在 pycharm 中使用 pyROOT

我想在 pycharm IDE 下的软件中使用 pyROOT 模块。我的问题是 IDE 无法识别任何根模块。你能告诉我我应该怎么做才能解决这个问题吗?

0 投票
1 回答
549 浏览

python - pyroot Ntuple 处理程序

我想创建类来处理 TTree:

但是调用函数 getEntry i 发生错误:

如何强制 python 记住 NtupleHandler.tree 的类型?

0 投票
0 回答
210 浏览

python - Python C API:省略变量赋值导致意外行为

在将 python 与 pyroot(一个名为ROOT的 CERN 数据分析包的 python 接口)一起使用时,我遇到了以下奇怪的行为:

输出None,而看似语义等价的代码

输出预期的<ROOT.THashList object ("THashList") at 0x13f0fa0>.

虽然这不是我在使用 ROOT 时遇到的第一个错误,但这次我很困惑 python 允许这个错误发生。

我认为不知何故,TFile 对象的引用计数在第一个示例中出错了,并且在实际调用 GetListOfKeys 之前它被删除了。(设置ROOT.TFile.__del__为一些打印命令后,确实会发生这种情况。)

我看到它的方式,在 ROOT.TFile(fname) 被执行之后,但在 GetListOfKeys() 被调用之前,指向 TFile 对象的指针在堆栈上。因此,引用计数不应为零,并且在 GetListOfKeys() 返回之前不应调用析构函数。

任何人都可以解释为什么会这样吗?

在相关的说明中,有没有办法del仅仅因为引用计数变为零就禁止 python 隐式地访问我的对象?我尝试了 gc.disable(),并没有改变结果。有没有比将对象附加到一些全局定义的只写列表更优雅的解决方案?

0 投票
1 回答
353 浏览

python - 如何腌制从 TLorentzVector 继承的类?

这里使用 PyROOT (ROOT) 和酸洗。下面是一个非常简单的例子。我尝试使用如何腌制从 A 继承的 B 类(具有许多变量)的对象,该对象定义了 __setstate__ 和 __getstate__作为示例。

这输出

知道如何正确腌制我的对象吗?特别是,我不介意不从 TLorentzVector 继承并自己重载我正在使用的一些属性。但是我仍然不清楚为什么我根本不能让它工作,因为它不保留对象属性。

0 投票
1 回答
1240 浏览

python - 如何在 PyROOT 中使用 TTreeReader

我正在尝试使用 TTreeReader 方法启动并运行以在 PyROOT 中读取 TTree。作为指导,我正在使用 ROOT 6 Analysis Workshop ( http://root.cern.ch/drupal/content/7-using-ttreereader ) 及其相关的 ROOT 文件 ( http://root.cern.ch/root /files/tutorials/mockupx.root)。

在这之后,我有点失落。我尝试使用 TTreeReader 对象访问变量信息,但它不太有效:

我在哪里错了?

0 投票
1 回答
1431 浏览

python - 如何读取 pyroot 中的分支并制作绘图?

我对 Python 和 pyroot 完全陌生,我想在 pyroot 中编写一个小脚本作为练习。我的根文件有一个子目录,您可以在其中找到一些树,其中一些包含一些分支。我想要做的是绘制变量图。假设分支是 tree1 中的 x、y、z,并且想要绘制 x 与 z 的图。example.root-->sub_dir-->tree3,tree2,tree1-->x,y,z 等

这是我到目前为止但不起作用的内容:

希望我能够澄清。

0 投票
1 回答
550 浏览

python - 导入 (py)ROOT 时,Py.Test 中止

我有一个问题单元测试 Python 代码,它使用 (py)ROOT 包。import ROOT当其中一个脚本中有一行时,它只是中止收集测试。

有人知道发生了什么吗?

0 投票
2 回答
5473 浏览

python - 启用 PyROOT Ubuntu 14.04

我下载了 madpgraph5,但是当我运行它时,出现以下错误:

当我尝试locate ROOT.pyandlocate ROOT.pyc时,我什么也没得到。

我安装了root 5.34,它运行顺利。我还安装了python 2.7.6

我下载了 rootpy,但不知道如何包含和启用PyROOT。我进行了搜索,我想我必须编辑一些与bashrc中的路径有关的东西,但在我这样做之前,我需要确定我在做什么。

任何人都可以帮忙吗?