首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从rootpy访问数学函数

从rootpy访问数学函数
EN

Stack Overflow用户
提问于 2014-04-17 12:39:51
回答 2查看 373关注 0票数 1

我目前正在尝试从rootpy访问数学函数(如DeltaR ),但我不确定这是如何实现的。我在文档或任何例子中都没有看到任何东西。C++的等价物应该类似于:

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

但是我找不到一个根或者甚至是根的等价物。如果我试着用

代码语言:javascript
复制
import ROOT as r
r.Math.VectorUtil.DeltaR(jets[i],partons[i])

我知道错误:

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

当它非常清楚的时候,除非我不能正确理解“属性”是什么意思。无论如何,我不想在这里问pyroot问题:)我只是把这归结为pyroot处理这些事情的方式上的一个怪癖,这就是为什么我认为我应该尝试一下rootpy。不过,我不确定这是否可能。

干杯,约瑟夫

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-17 12:50:09

来自ROOT::Math::VectorUtil的函数都在libGenVector中,它既不自动加载CINT,也不加载PyROOT。手动加载它(就像您在root_logon.C中所做的那样)使函数可用。

代码语言:javascript
复制
import ROOT as r
r.gSystem.Load('libGenVector')

# ...

r.Math.VectorUtil.DeltaR(jets[i],partons[i])
票数 4
EN

Stack Overflow用户

发布于 2014-10-13 17:40:46

如果喷气式飞机和部件是TLorentzVectors,那么您应该能够:

代码语言:javascript
复制
from ROOT import *
dR = jet.DeltaR(parton)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23133375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档