PyUp Safety actively tracks 266,622 Python packages for vulnerabilities and notifies you when to upgrade.
PRs 69, 70, 71, 72, 74, 75, 77.
PR 66: support the new `__awkward_serialize__` so that Lorentz vectors, 2-D and 3-D vectors can be serialized.
Real release with lazy array profile `"cms.nanoaod"`.
First lazy array profile: `"cms.nanoaod"`.
PR 57 (fixes for LPC HATS), specifically writing 2-D histograms and working with lazy TLorentzVectorArrays.
Added PR 55 and 56: * conversion and writing 2-dimensional histograms to ROOT files; * preparation for uproot lazy arrays: awkward>=0.10.0 and experiment-specific profiles registry.
PR 51, generalizing the applicability of histogram methods from TH1 to TH.
Semi-major release; first to depend on awkward 0.9.0. * Includes PR 50, which is paired with scikit-hep/awkward122 to move "jagged wrapping" into the base library.
Deploy release candidate to test dependency chain.
Accepted PR 48, which makes the types generated by composing TLorentzVectors with JaggedArrays more stable.
Accept classes named `TH1` and not just `uproot_methods.classes.TH1`.
PR 47: Give TLorentzVectorArray, TVector3Array, TVector2Array `__awkward_persist__` methods so that they can be saved to and read from files.
Added type checks to `TLorentzVector*`, `TVector3*`, `TVector2*` constructor arguments to prevent common mistakes. Also fixed a bug related that prevented TLorentzVectorArray + TLorentzVectorArray in some cases. (Nested within a JaggedArray, the class identity of TLorentzVectorArray sometimes wasn't carried through.)
Merged PR 42, which implements TH3. It also introduces the following **breaking changes** in TH2: * `xedges`, `yedges` are swapped (to their correct order) * `.numpy()` returns a nested structure, like `numpy.histogramdd`, unlike `numpy.histogram2d`: python bin_content, (xedges, yedges) = th2.numpy() for consistency with python bin_content, (xedges, yedges, zedges) = th3.numpy()
lgray introduced `PtEtaPhiMassLorentzVector` and `PtEtaPhiMassLorentzVectorArray`, which internally represent Lorentz vectors in cylindrical/kinematic coordinates, rather than cartesian. This avoids unnecessary conversions to cartesian if your data source is cylindrical/kinematic and you never need cartesian coordinates. Also, guitargeek fixed a bug in TLorentzVector caching for cases in which `array.content != array.flatten()` (non-trivial physical structure for a given logical structure of jagged array).
Strings are now recognized for writing to ROOT files in Python 2 as well.
Now requires awkward 0.8.0 and all access to the awkward library goes through `ROOTMethods.awkward`.
Remove README from data_files
Includes PR 32: fixes `TH2.edges` and adds `TH2.allnumpy`.
Fixed 24, 27, 28, and 30.
Cleaning up the histogram interface to be more mature.
Minimum version for awkward is now 0.7.0. Histograms now return Numpy arrays instead of lists of numbers for `values`, `allvalues`, `variances`, `allvariances`. Added `edges`, `alledges`, `bins`, and `allbins`.
pt`, `eta`, `phi`, and `mass` caching on `TLorentzVector.ArrayMethods` now happens only at the deepest level of `JaggedArray` nesting. That means that short-lived views (projecting through a jagged table, for instance) won't invalidate that cache.
* Faster `eta` calculation. * Some properties are memoized and constructing a TLorentzVector from `pt`, `eta`, `phi`, `mass` preloads the memo (so that `mass` from the TLorentzVector is _exactly_ the same as the given `mass`, for instance).
sum()` may now be used on physics vector arrays regardless of whether they're jagged or not.
Classmethod constructors for TLorentzVectorArray, TVector3Array, and TVector2Array (such as `TLorentzVector.from_cartesian`) accept jagged arrays as arguments, which result in JaggedArrayMethods of these arrays. Methods can be used at the jagged level, at the flat array level, or at the Python object level.
PR 9 fixed a bug in `TVector3.cross` (and added a test).