diff --git a/km3buu/output.py b/km3buu/output.py index fa3c7714c27d7f2a63cafc06b5bb2dc12b73127a..26af2f2b8cf45c60fa73259f9f62fe6a3f52337c 100644 --- a/km3buu/output.py +++ b/km3buu/output.py @@ -45,8 +45,8 @@ except (ImportError, ModuleNotFoundError): warnings.warn("KM3NeT dataformat library was not loaded.", ImportWarning) EVENT_FILENAME = "FinalEvents.dat" -ROOT_PERT_FILENAME = "EventOutput.Pert.[0-9]{8}.root" -ROOT_REAL_FILENAME = "EventOutput.Real.[0-9]{8}.root" +ROOT_PERT_FILENAME = "EventOutput.Pert.*.root" +ROOT_REAL_FILENAME = "EventOutput.Real.*.root" FLUXDESCR_FILENAME = "neutrino_initialized_energyFlux.dat" XSECTION_FILENAMES = {"all": "neutrino_absorption_cross_section_ALL.dat"} @@ -61,7 +61,7 @@ EVENTINFO_COLUMNS = [ ] LHE_NU_INFO_DTYPE = np.dtype([ - ("type", np.int), + ("type", np.int64), ("weight", np.float64), ("mom_lepton_in_E", np.float64), ("mom_lepton_in_x", np.float64), @@ -576,23 +576,8 @@ class GiBUUOutput: """ GiBUU output data in awkward format """ - retval = None - for ifile in self.root_pert_files: - fobj = uproot.open(join(self.data_path, ifile)) - if retval is None: - retval = fobj["RootTuple"].arrays() - else: - tmp = fobj["RootTuple"].arrays() - retval = np.concatenate((retval, tmp)) - if retval is None or len(retval) == 0: - return ak.Array( - np.recarray(( - 0, - 0, - ), - dtype=list( - zip(GIBUU_FIELDNAMES, - len(GIBUU_FIELDNAMES) * [float])))) + path_descr = join(self.data_path, ROOT_PERT_FILENAME) + ":RootTuple" + retval = uproot.concatenate(path_descr) # Calculate additional information counts = ak.num(retval.E) retval["xsec"] = self._event_xsec(retval) diff --git a/km3buu/tests/test_output.py b/km3buu/tests/test_output.py index e469038ce0f6ce416771ebb9dbad995ae0b14157..2b7ae982e4e1d5e62fbf838af69fb87bfea54195 100644 --- a/km3buu/tests/test_output.py +++ b/km3buu/tests/test_output.py @@ -33,7 +33,7 @@ try: libpath = Config().km3net_lib_path KM3NET_LIB_AVAILABLE = (ROOT.gSystem.Load(join(libpath, "libKM3NeTROOT.so")) >= 0) -except ModuleNotFoundError: +except (ImportError, ModuleNotFoundError): KM3NET_LIB_AVAILABLE = False