我试图严格使用upROOT在Python语言中运行分析,但我发现(毫不奇怪)我必须构建许多已经在根目录中的工具。我不介意这样做,但我想确保我不会把事情搞砸。
例如,我有以下质量平方:
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的事情?
发布于 2020-12-23 00:40:26
在upROOT中有一个名为“vector”的模块,它可以用于这些目的;它是uproot4中的新功能(在笨拙的1.0中运行)。任何感兴趣的人都可以查看here。我将这个标记为已解决,因为这正是我正在寻找的,尽管需要注意的是,"vector“目前还在开发中,所以它还没有完成。
谢谢!
https://stackoverflow.com/questions/65331226
复制相似问题