我正在尝试使用 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 的东西?