Skip to content
This repository was archived by the owner on Jan 7, 2023. It is now read-only.

Conversation

@raymondEhlers
Copy link
Contributor

See discussion in #365. I followed the suggestions there to regenerate these files with cython and it seemed to work. As noted there, I haven't been able to test on other python / ROOT versions other than python 3.7 with ROOT 6.14.

@coveralls
Copy link

Coverage Status

Coverage remained the same at ?% when pulling 433cf7e on raymondEhlers:py3.7Cython into e0dd589 on scikit-hep:master.

@ralphbird
Copy link

Is there an update on the status of this pull request? With some services removing support for python 3.5 it would be very useful to have a 3.7 compatible version of root_numpy.

@kratsg
Copy link
Collaborator

kratsg commented Oct 8, 2018

Is there an update on the status of this pull request? With some services removing support for python 3.5 it would be very useful to have a 3.7 compatible version of root_numpy.

You should definitely note that the build failed in python 2.7 and ROOT6. I might also ask what you're using root_numpy for as things are most likely slowly moving to support uproot instead.

@raymondEhlers
Copy link
Contributor Author

For what it's worth, I believe the python 2.7 with root 6 tests were failing before these changes

@kratsg
Copy link
Collaborator

kratsg commented Oct 8, 2018

Right, so I don't mind merging this in, but can you test on python 2.7? Virtualenvironments on your machine should make this easy.

@ralphbird
Copy link

I have just been using it to read into a root tree and convert it into an array, from the looks of uproot that should do the same, I will give that a test. Thank you.

@raymondEhlers
Copy link
Contributor Author

Beyond opening files (which uproot can handle), I also convert some existing histograms after projections. root_numpy has the functionality to convert existing histograms, but as far as I know, this isn't yet possible in uproot.

In any case, since PyROOT depends on the python version, just using a virtualenv isn't sufficient. However, I now have a python 2.7 + ROOT 6.10.08 docker container (that I didn't have when I created this PR). I just ran the tests (log below) and they looks fine to me:

root@892b078399f6:/opt/test# root -b --version
   ------------------------------------------------------------
  | Welcome to ROOT 6.10/08                http://root.cern.ch |
  |                               (c) 1995-2017, The ROOT Team |
  | Built for linuxx8664gcc                                    |
  | From tag v6-10-08, 16 October 2017                         |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

root [0] .q
root@892b078399f6:/opt/test# python --version
Python 2.7.15
root@892b078399f6:/opt/test# make test
running build_ext
copying build/lib.linux-x86_64-2.7/root_numpy/_librootnumpy.so -> root_numpy
copying build/lib.linux-x86_64-2.7/root_numpy/tmva/_libtmvanumpy.so -> root_numpy/tmva
root_numpy.tmva.tests.test_tmva_methodcuts ... ok
root_numpy.tmva.tests.test_tmva_twoclass ... ok
root_numpy.tmva.tests.test_tmva_multiclass ... ok
root_numpy.tmva.tests.test_tmva_regression ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayD'>, True) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayF'>, True) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayL'>, True) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayI'>, True) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayS'>, True) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayD'>, False) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayF'>, False) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayL'>, False) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayI'>, False) ... ok
root_numpy.tests.test_array.test_array(<class 'ROOT.TArrayS'>, False) ... ok
root_numpy.tests.test_array.test_matrix(<class 'ROOT.TMatrixT<double>'>,) ... ok
root_numpy.tests.test_array.test_matrix(<class 'ROOT.TMatrixT<float>'>,) ... ok
root_numpy.tests.test_array.test_matrix(<class 'ROOT.TMatrixTSym<double>'>,) ... ok
root_numpy.tests.test_array.test_matrix(<class 'ROOT.TMatrixTSym<float>'>,) ... ok
root_numpy.tests.test_evaluate.test_evaluate_func ... ok
root_numpy.tests.test_evaluate.test_evaluate_hist ... ok
root_numpy.tests.test_evaluate.test_evaluate_graph ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1D object ("TH1D") at 0x55c6726d3450>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1D object ("TH1D") at 0x55c6726d3450>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1D object ("TH1D") at 0x55c6726d3450>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1D object ("TH1D") at 0x55c6726d3450>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1D object ("TH1D") at 0x55c6726d3450>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1F object ("TH1F") at 0x55c672866d80>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1F object ("TH1F") at 0x55c672866d80>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1F object ("TH1F") at 0x55c672866d80>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1F object ("TH1F") at 0x55c672866d80>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1F object ("TH1F") at 0x55c672866d80>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1I object ("TH1I") at 0x55c6728d94b0>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1I object ("TH1I") at 0x55c6728d94b0>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1I object ("TH1I") at 0x55c6728d94b0>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1I object ("TH1I") at 0x55c6728d94b0>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1I object ("TH1I") at 0x55c6728d94b0>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1S object ("TH1S") at 0x55c672834090>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1S object ("TH1S") at 0x55c672834090>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1S object ("TH1S") at 0x55c672834090>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1S object ("TH1S") at 0x55c672834090>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1S object ("TH1S") at 0x55c672834090>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1C object ("TH1C") at 0x55c6723d7d20>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1C object ("TH1C") at 0x55c6723d7d20>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1C object ("TH1C") at 0x55c6723d7d20>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1C object ("TH1C") at 0x55c6723d7d20>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH1C object ("TH1C") at 0x55c6723d7d20>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2D object ("TH2D") at 0x55c67270db30>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2D object ("TH2D") at 0x55c67270db30>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2D object ("TH2D") at 0x55c67270db30>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2D object ("TH2D") at 0x55c67270db30>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2D object ("TH2D") at 0x55c67270db30>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2F object ("TH2F") at 0x55c6728fa7a0>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2F object ("TH2F") at 0x55c6728fa7a0>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2F object ("TH2F") at 0x55c6728fa7a0>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2F object ("TH2F") at 0x55c6728fa7a0>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2F object ("TH2F") at 0x55c6728fa7a0>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2I object ("TH2I") at 0x55c67293bd70>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2I object ("TH2I") at 0x55c67293bd70>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2I object ("TH2I") at 0x55c67293bd70>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2I object ("TH2I") at 0x55c67293bd70>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2I object ("TH2I") at 0x55c67293bd70>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2S object ("TH2S") at 0x55c672993670>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2S object ("TH2S") at 0x55c672993670>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2S object ("TH2S") at 0x55c672993670>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2S object ("TH2S") at 0x55c672993670>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2S object ("TH2S") at 0x55c672993670>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2C object ("TH2C") at 0x55c6729f72b0>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2C object ("TH2C") at 0x55c6729f72b0>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2C object ("TH2C") at 0x55c6729f72b0>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2C object ("TH2C") at 0x55c6729f72b0>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH2C object ("TH2C") at 0x55c6729f72b0>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3D object ("TH3D") at 0x55c672a14900>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3D object ("TH3D") at 0x55c672a14900>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3D object ("TH3D") at 0x55c672a14900>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3D object ("TH3D") at 0x55c672a14900>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3D object ("TH3D") at 0x55c672a14900>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3F object ("TH3F") at 0x55c672a3a040>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3F object ("TH3F") at 0x55c672a3a040>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3F object ("TH3F") at 0x55c672a3a040>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3F object ("TH3F") at 0x55c672a3a040>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3F object ("TH3F") at 0x55c672a3a040>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3I object ("TH3I") at 0x55c6729fb230>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3I object ("TH3I") at 0x55c6729fb230>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3I object ("TH3I") at 0x55c6729fb230>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3I object ("TH3I") at 0x55c6729fb230>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3I object ("TH3I") at 0x55c6729fb230>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3S object ("TH3S") at 0x55c672a5ddc0>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3S object ("TH3S") at 0x55c672a5ddc0>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3S object ("TH3S") at 0x55c672a5ddc0>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3S object ("TH3S") at 0x55c672a5ddc0>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3S object ("TH3S") at 0x55c672a5ddc0>,) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3C object ("TH3C") at 0x55c672a2c9c0>, False, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3C object ("TH3C") at 0x55c672a2c9c0>, False, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3C object ("TH3C") at 0x55c672a2c9c0>, True, False) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3C object ("TH3C") at 0x55c672a2c9c0>, True, True) ... ok
root_numpy.tests.test_hist.test_hist2array(<ROOT.TH3C object ("TH3C") at 0x55c672a2c9c0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH1D object ("TH1D") at 0x55c672a1e420>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH1F object ("TH1F") at 0x55c6725f8bb0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH1I object ("TH1I") at 0x55c672607920>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH1S object ("TH1S") at 0x55c67260f4f0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH1C object ("TH1C") at 0x55c672a3d610>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH2D object ("TH2D") at 0x55c6723647d0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH2F object ("TH2F") at 0x55c672a2aa40>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH2I object ("TH2I") at 0x55c672a2ae50>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH2S object ("TH2S") at 0x55c672602460>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH2C object ("TH2C") at 0x55c672602870>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH3D object ("TH3D") at 0x55c672a9f220>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH3F object ("TH3F") at 0x55c672aa0110>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH3I object ("TH3I") at 0x55c672a33230>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH3S object ("TH3S") at 0x55c672aa43a0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THn(<ROOT.TH3C object ("TH3C") at 0x55c672aa4df0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH1D object ("TH1D") at 0x55c672aa69c0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH1F object ("TH1F") at 0x55c672ac2580>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH1I object ("TH1I") at 0x55c672ac3c70>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH1S object ("TH1S") at 0x55c672ac8ff0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH1C object ("TH1C") at 0x55c672bb1420>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH2D object ("TH2D") at 0x55c672bb2ad0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH2F object ("TH2F") at 0x55c672bddd30>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH2I object ("TH2I") at 0x55c672c24760>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH2S object ("TH2S") at 0x55c672c5b370>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH2C object ("TH2C") at 0x55c672cbf5e0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH3D object ("TH3D") at 0x55c672cc05c0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH3F object ("TH3F") at 0x55c672ceb270>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH3I object ("TH3I") at 0x55c672d35c00>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH3S object ("TH3S") at 0x55c672d365a0>,) ... ok
root_numpy.tests.test_hist.test_hist2array_THnSparse(<ROOT.TH3C object ("TH3C") at 0x55c672d72c60>,) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH1D object ("TH1D") at 0x55c672d73450>, 1, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672e1c540>, 1, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c6725f9eb0>, 1, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH1D object ("TH1D") at 0x55c672ac2580>, 1, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672e71900>, 1, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672a54060>, 1, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH1D object ("TH1D") at 0x55c672361010>, 1, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672e254c0>, 1, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672db16e0>, 1, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH2D object ("TH2D") at 0x55c672cbf5e0>, 2, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672ac52a0>, 2, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c67295db80>, 2, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH2D object ("TH2D") at 0x55c672e1a820>, 2, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672ac80f0>, 2, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c66d4e3db0>, 2, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH2D object ("TH2D") at 0x55c672aaa0a0>, 2, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672c25460>, 2, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672d74140>, 2, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH3D object ("TH3D") at 0x55c672a33230>, 3, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672e416b0>, 3, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672a3d610>, 3, 1) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH3D object ("TH3D") at 0x55c672d745f0>, 3, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672ac4410>, 3, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672e6bc10>, 3, 2) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.TH3D object ("TH3D") at 0x55c672e85c00>, 3, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnT<double> object at 0x55c672d36790>, 3, 5) ... ok
root_numpy.tests.test_hist.test_hist2array_edges(<ROOT.THnSparseT<TArrayD> object at 0x55c672aa1330>, 3, 5) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH1D object ("TH1D") at 0x55c672606d50>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH1F object ("TH1F") at 0x55c672e4da10>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH1I object ("TH1I") at 0x55c6724767c0>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH1S object ("TH1S") at 0x55c673110d70>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH1C object ("TH1C") at 0x55c672e22f80>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH2D object ("TH2D") at 0x55c672e67f10>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH2F object ("TH2F") at 0x55c673116920>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH2I object ("TH2I") at 0x55c673113920>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH2S object ("TH2S") at 0x55c673113d30>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH2C object ("TH2C") at 0x55c672e6e190>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH3D object ("TH3D") at 0x55c672e6ade0>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH3F object ("TH3F") at 0x55c672e4cd70>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH3I object ("TH3I") at 0x55c673111c70>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH3S object ("TH3S") at 0x55c673115160>,) ... ok
root_numpy.tests.test_hist.test_array2hist(<ROOT.TH3C object ("TH3C") at 0x55c672e4bd10>,) ... ok
root_numpy.tests.test_hist.test_fill_hist ... ok
root_numpy.tests.test_hist.test_fill_profile ... ok
root_numpy.tests.test_hist.test_fill_graph ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TF1 object ("f1") at 0x55c67283a350>,) ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TF2 object ("f2") at 0x55c672a34cc0>,) ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TF3 object ("f3") at 0x55c67313c3a0>,) ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TH1D object ("h1") at 0x55c672ac2580>,) ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TH2D object ("h2") at 0x55c672e1a820>,) ... ok
root_numpy.tests.test_sample.test_random_sample(<ROOT.TH3D object ("h3") at 0x55c672a33230>,) ... ok
root_numpy.tests.test_sample.test_random_sample_bad_input ... ok
root_numpy.tests.test_tree.test_testdata ... ok
root_numpy.tests.test_tree.test_list_trees ... ok
root_numpy.tests.test_tree.test_list_branches ... ok
root_numpy.tests.test_tree.test_list_directories ... ok
root_numpy.tests.test_tree.test_list_structures ... ok
root_numpy.tests.test_tree.test_single ... ok
root_numpy.tests.test_tree.test_chain ... ok
root_numpy.tests.test_tree.test_ntuple ... ok
root_numpy.tests.test_tree.test_root2array_single_pattern_DNE ... ok
root_numpy.tests.test_tree.test_root2array_no_filename ... ok
root_numpy.tests.test_tree.test_root2array_no_trees_in_file ... ok
root_numpy.tests.test_tree.test_root2array_single_filename_DNE ... ok
root_numpy.tests.test_tree.test_root2array_multiple_trees_and_name_not_specified ... ok
root_numpy.tests.test_tree.test_empty_branches ... ok
root_numpy.tests.test_tree.test_tree_without_branches ... ok
root_numpy.tests.test_tree.test_empty_tree ... ok
root_numpy.tests.test_tree.test_duplicate_branch_name ... ok
root_numpy.tests.test_tree.test_unsupported_branch_in_branches ... ok
root_numpy.tests.test_tree.test_no_supported_branches ... ok
root_numpy.tests.test_tree.test_preserve_branch_order ... ok
root_numpy.tests.test_tree.test_fixed_length_arrays ... ok
root_numpy.tests.test_tree.test_variable_length_arrays ... ok
root_numpy.tests.test_tree.test_single_branch ... ok
root_numpy.tests.test_tree.test_selection ... ok
root_numpy.tests.test_tree.test_expression ... ok
root_numpy.tests.test_tree.test_selection_and_expression ... ok
root_numpy.tests.test_tree.test_object_expression ... ok
root_numpy.tests.test_tree.test_variable_length_array_expression ... ok
root_numpy.tests.test_tree.test_fixed_length_array_expression ... ok
root_numpy.tests.test_tree.test_object_selection ... ok
root_numpy.tests.test_tree.test_branch_DNE ... ok
root_numpy.tests.test_tree.test_tree2array_wrong_type ... ok
root_numpy.tests.test_tree.test_specific_branch ... ok
root_numpy.tests.test_tree.test_vector ... ok
root_numpy.tests.test_tree.test_string ... ok
root_numpy.tests.test_tree.test_slice ... ok
root_numpy.tests.test_tree.test_weights ... ok
root_numpy.tests.test_tree.test_struct ... ok
root_numpy.tests.test_tree.test_truncate_impute('vector.root',) ... ok
root_numpy.tests.test_tree.test_truncate_impute('vary1.root',) ... ok
root_numpy.tests.test_tree.test_array2tree ... ok
root_numpy.tests.test_tree.test_array2tree_charstar ... ok
root_numpy.tests.test_tree.test_array2tree_fixed_length_arrays ... ok
root_numpy.tests.test_tree.test_array2root ... ok
root_numpy.tests.test_utils.test_rec2array ... ok
root_numpy.tests.test_utils.test_stack ... ok
root_numpy.tests.test_utils.test_dup_idx ... ok
root_numpy.tests.test_utils.test_stretch ... ok
root_numpy.tests.test_utils.test_blockwise_inner_join ... ok

----------------------------------------------------------------------
Ran 227 tests in 4.812s

OK
building docs for root_numpy 4.7.3.dev0
.
----------------------------------------------------------------------
Ran 1 test in 0.739s

OK

@kratsg kratsg merged commit 23cfb94 into scikit-hep:master Oct 9, 2018
@raymondEhlers
Copy link
Contributor Author

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants