From 0aaff96d0be7db37fc2e193ce208a5579af6858f Mon Sep 17 00:00:00 2001 From: Johannes Schumann <jschumann@km3net.de> Date: Tue, 13 Oct 2020 15:02:06 +0200 Subject: [PATCH] Add secondary lepton to output particles in pandas df --- km3buu/output.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/km3buu/output.py b/km3buu/output.py index 87f66b4..d526173 100644 --- a/km3buu/output.py +++ b/km3buu/output.py @@ -182,6 +182,19 @@ class GiBUUOutput: df.columns = [col[0] for col in df.columns] df["By"] = 1 - df.lepOut_E / df.lepIn_E df["xsec_wgt"] = self._event_weights(df) + # Add secondary lepton to particle list + sec_df = df[df.index.get_level_values(1) == 0] + sec_df.loc[:, "E"] = sec_df.lepOut_E + sec_df.loc[:, "Px"] = sec_df.lepOut_Px + sec_df.loc[:, "Py"] = sec_df.lepOut_Py + sec_df.loc[:, "Pz"] = sec_df.lepOut_Pz + sec_pdgid = ( + PDGID_LOOKUP[self.jobcard["neutrino_induced"]["flavor_id"]] - + 1) * np.sign(self.jobcard["neutrino_induced"]["process_id"]) + sec_df.loc[:, "barcode"] = sec_pdgid + sec_df.index = pd.MultiIndex.from_tuples( + zip(*np.unique(df.index.get_level_values(0), return_counts=True))) + df = df.append(sec_df) return df -- GitLab