diff --git a/km3buu/output.py b/km3buu/output.py index 31766f0b30178cd19141ff6ca4e866d3393a516b..2e1f3056768bb76dc7ee8070ef4af3431eb5958e 100644 --- a/km3buu/output.py +++ b/km3buu/output.py @@ -27,6 +27,7 @@ from scipy.optimize import curve_fit import mendeleev from datetime import datetime +from .physics import visible_energy_fraction from .jobcard import Jobcard, read_jobcard, PDGID_LOOKUP from .geometry import DetectorVolume, CanVolume from .config import Config, read_default_media_compositions @@ -561,10 +562,14 @@ class GiBUUOutput: zip(GIBUU_FIELDNAMES, len(GIBUU_FIELDNAMES) * [float])))) # Calculate additional information + counts = ak.num(retval.E) retval["xsec"] = self._event_xsec(retval) retval["Bx"] = GiBUUOutput.bjorken_x(retval) retval["By"] = GiBUUOutput.bjorken_y(retval) retval["Q2"] = GiBUUOutput.Qsquared(retval) + visEfrac = visible_energy_fraction(ak.flatten(retval.barcode), + ak.flatten(retval.E)) + retval["visEfrac"] = ak.unflatten(visEfrac, counts) return retval @property diff --git a/km3buu/physics.py b/km3buu/physics.py index d47ac14504f2bc331c1afd574643f3fe16530786..fd295706204f582c0158d69f1cb23a76a6b89807 100644 --- a/km3buu/physics.py +++ b/km3buu/physics.py @@ -98,7 +98,7 @@ HE_PARAMS = { "Mkref": 2.698, } - +@np.vectorize def visible_energy_fraction(pdgid, energy): """ Returns the visible energy fraction in the one particle approximation (OPA)