scikit-hep / uproot3-methods

Pythonic behaviors for non-I/O related ROOT classes.
BSD 3-Clause "New" or "Revised" License
21 stars 28 forks source link

angle between two vectors #91

Open wiso opened 3 years ago

wiso commented 3 years ago

Is there a reason why the angle between two vectors is not implemented?

jpivarski commented 3 years ago

You should redirect this to https://github.com/scikit-hep/vector

That's where new development is happening in spatial same Lorentz vectors.

wiso commented 3 years ago

is that mature? Is this deprecated?

jpivarski commented 3 years ago

But uproot-methods is part of the Awkward 0/Uproot 3 project, which will be replaced by Awkward 1/Uproot 4 on December 1, 2020. There are some visible deprecation warnings on some of these, but there are a lot of paths into these libraries, and it's possible that some of them haven't been covered.

Vector is not quite mature (it only has cartesian vectors, the last time I checked), but it needs to become so soon. (Actually, this transition was originally supposed to happen in April, but things happened.)

Uproot 4 doesn't have an equivalent of uproot-methods; separating this out into its own repo hasn't led to widespread community development of ROOT class functionality. Instead, Uproot 4 will have all the behavior overloads built-in (in a separate submodule, but the same repo and package), and these will mostly just have export functions: histograms have to_boost() and to_hist() for exporting to boost-histogram and hist, and TVector2D, TVector3D, TLorentzVector, and the equivalents in ROOT::TMath will be converted (internally by Uproot) into the objects in Vector, in keeping with Uproot being an I/O only library.