ROOT 在 upROOT 中的功能?

ROOT functions in upROOT?

我尝试使用 upROOT 在 Python 中严格地 运行 分析,但我发现(不出所料)我必须构建很多已经在 ROOT 中的工具。我不介意这样做,但我想确保我不会把事情搞砸。

例如,我有以下质量平方:

m_squared = np.divide(np.multiply(p_squared, g_squared), b_squared)

其中“p_squared”是全局动量大小(平方),“g_squared”是反伽马平方,“b_squared”是贝塔平方。

我还有以下 phi:

add_pi = np.hstack(np.where((oX < 0.0) & (oY > 0.0)))
subtract_pi = np.hstack(np.where((oX < 0.0) & (oY < 0.0)))
Phi = np.arctan(np.divide(oY, oX))
Phi[add_pi] = Phi[add_pi] + np.pi
Phi[subtract_pi] = Phi[subtract_pi] - np.pi

其中“oX”和“oY”分别是轨道的 x 和 y 原点坐标。

upROOT 中是否内置了某些功能来执行此操作?或者这只是 PyROOT 的东西?

upROOT 中有一个名为“vector”的模块可用于这些目的;它是 uproot4 中的新功能(运行 awkward1.0)。有兴趣的可以看看here。我将其标记为已解决,因为这正是我正在寻找的,但应该注意的是,“vector”目前正在开发中,因此尚未完成。

谢谢!