-
Notifications
You must be signed in to change notification settings - Fork 15
Writing JUNO_ROOT output fails with uproot>=5.6.7 #68
Copy link
Copy link
Open
Description
Full error message
> sntools ~/.astropy/cache/snewpy/models/Fornax_2021/lum_spec_22M_r10000_dat.h5 --format SNEWPY-Fornax_2021 --detector JUNO -o outfile-Fornax_2021.root -m ROOT_JUNO --end 200 --randomseed 314 --channel ps --distance 100
[ps] Generated 4 particles (expected: 3.92 particles)
[ps] Generated 4 particles (expected: 3.91 particles)
[ps] Generated 3 particles (expected: 3.80 particles)
[ps] Generated 4 particles (expected: 3.16 particles)
Traceback (most recent call last):
File "/opt/miniconda3/envs/snewpy/bin/sntools", line 7, in <module>
sys.exit(main())
~~~~^^
File "/opt/miniconda3/envs/snewpy/lib/python3.13/site-packages/sntools/genevts.py", line 86, in main
root_outfile.mktree("SNEvents",{"nparticles": "uint64", "origPDGID":"int32", "nuE":"double", "pdgid": ("int32",(2,)),"t": ("float64",(2,)),
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"px": ("float64",(2,)),"py":("float64",(2,)),"pz":("float64",(2,)),"m":("float64",(2,)), "channel": "int64"})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/miniconda3/envs/snewpy/lib/python3.13/site-packages/uproot/writing/writable.py", line 1300, in mktree
tree = self.mktree(
name,
...<5 lines>...
resize_factor=resize_factor,
)
File "/opt/miniconda3/envs/snewpy/lib/python3.13/site-packages/uproot/writing/writable.py", line 1328, in mktree
directory._cascading.add_tree(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
directory._file.sink,
^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
resize_factor,
^^^^^^^^^^^^^^
),
^
File "/opt/miniconda3/envs/snewpy/lib/python3.13/site-packages/uproot/writing/_cascade.py", line 1714, in add_tree
tree = uproot.writing._cascadetree.Tree(
self,
...<7 lines>...
resize_factor,
)
File "/opt/miniconda3/envs/snewpy/lib/python3.13/site-packages/uproot/writing/_cascadetree.py", line 290, in __init__
raise TypeError(
f"cannot write Awkward Array type to ROOT file:\n\n {branch_datashape!s}"
)
TypeError: cannot write Awkward Array type to ROOT file:
union[string, (int64)]Minimal example:
import uproot
f = uproot.recreate("foo.root")
f.mktree("SNEvents",{"pdgid": ("int32",(2,))})This succeeds using uproot 5.6.6 but raises a TypeError: cannot write Awkward Array type to ROOT file: union[string, (int64)] on uproot 5.6.7 and later.
According to uproot docs, the second argument to mktree should be of type dict of str → NumPy dtype/Awkward type; it looks like ("int32", (2,)) is not seen a valid NumPy/Awkward type specification.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels