diff --git a/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_extraction.py b/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_extraction.py index 9c6a2bae..a2b88369 100644 --- a/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_extraction.py +++ b/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_extraction.py @@ -9,13 +9,13 @@ class DelayedElectronsExtraction(ElectronExtraction): """This class is used to simulate the extraction of electrons from the sources of electron afterpulses.""" - __version__ = "0.0.2" + __version__ = "0.0.3" child_plugin = True depends_on = "delayed_electrons_at_interface" provides = "extracted_delayed_electrons" - data_kind = "delayed_individual_electrons" + data_kind = "delayed_extracted_electrons" - def compute(self, delayed_individual_electrons): - return super().compute(individual_electrons=delayed_individual_electrons) + def compute(self, delayed_extracted_electrons): + return super().compute(individual_electrons=delayed_extracted_electrons) diff --git a/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_merger.py b/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_merger.py index 1807c1c5..5a149528 100644 --- a/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_merger.py +++ b/fuse/plugins/detector_physics/delayed_electrons/delayed_electrons_merger.py @@ -37,8 +37,8 @@ class ExtractedElectronsMerger(VerticalMergerPlugin): depends_on = ("extracted_electrons", "extracted_delayed_electrons") provides = "merged_extracted_electrons" - data_kind = "individual_electrons" - __version__ = "0.0.2" + data_kind = "extracted_electrons" + __version__ = "0.0.3" @export diff --git a/fuse/plugins/detector_physics/delayed_electrons/photo_ionization_electrons.py b/fuse/plugins/detector_physics/delayed_electrons/photo_ionization_electrons.py index e148ce33..856a4a64 100644 --- a/fuse/plugins/detector_physics/delayed_electrons/photo_ionization_electrons.py +++ b/fuse/plugins/detector_physics/delayed_electrons/photo_ionization_electrons.py @@ -25,7 +25,6 @@ class PhotoIonizationElectrons(FuseBasePlugin): depends_on = ( "s2_photons_sum", - "s2_photons", "extracted_electrons", "microphysics_summary", ) @@ -177,7 +176,7 @@ def setup(self): self.photoionization_time_cutoff_mc / self.photoionization_time_constant ) - def compute(self, interactions_in_roi, individual_electrons): + def compute(self, interactions_in_roi, extracted_electrons): # Just apply this to clusters with S2 photons mask = interactions_in_roi["sum_s2_photons"] > 0 @@ -189,7 +188,7 @@ def compute(self, interactions_in_roi, individual_electrons): return np.zeros(0, self.dtype) electrons_per_interaction, unique_cluster_id = group_electrons_by_cluster_id( - individual_electrons + extracted_electrons ) matching_index = np.searchsorted(unique_cluster_id, interactions_in_roi[mask]["cluster_id"]) diff --git a/fuse/plugins/detector_physics/electron_extraction.py b/fuse/plugins/detector_physics/electron_extraction.py index 241c6fce..ef9026af 100644 --- a/fuse/plugins/detector_physics/electron_extraction.py +++ b/fuse/plugins/detector_physics/electron_extraction.py @@ -12,11 +12,11 @@ class ElectronExtraction(FuseBasePlugin): """Plugin to simulate the loss of electrons during the extraction of drifted electrons from the liquid into the gas phase.""" - __version__ = "0.3.0" + __version__ = "0.4.0" depends_on = "electrons_at_interface" provides = "extracted_electrons" - data_kind = "individual_electrons" + data_kind = "extracted_electrons" save_when = strax.SaveWhen.TARGET diff --git a/fuse/plugins/detector_physics/s2_photon_propagation.py b/fuse/plugins/detector_physics/s2_photon_propagation.py index 46c178e2..401b4c5d 100644 --- a/fuse/plugins/detector_physics/s2_photon_propagation.py +++ b/fuse/plugins/detector_physics/s2_photon_propagation.py @@ -241,25 +241,25 @@ def setup(self): self._mem_cap_bytes = int(256 * 1024**2) # ~256 MB for Ne×C scratch self._max_electrons_block = None # computed lazily per chunk - def compute(self, individual_electrons, start, end): + def compute(self, extracted_electrons, start, end): - if len(individual_electrons) == 0: + if len(extracted_electrons) == 0: yield self.chunk(start=start, end=end, data=np.zeros(0, dtype=self.dtype)) return # Downchunking (logic unchanged) - electron_time_gaps = individual_electrons["time"][1:] - individual_electrons["time"][:-1] + electron_time_gaps = extracted_electrons["time"][1:] - extracted_electrons["time"][:-1] electron_time_gaps = np.append(electron_time_gaps, 0) split_index = find_electron_split_index( - individual_electrons, + extracted_electrons, electron_time_gaps, file_size_limit=self.propagated_s2_photons_file_size_target, min_gap_length=self.min_electron_gap_length_for_splitting, mean_n_photons_per_electron=self.s2_secondary_sc_gain_mc, ) - electron_chunks = np.array_split(individual_electrons, split_index) + electron_chunks = np.array_split(extracted_electrons, split_index) n_chunks = len(electron_chunks) if n_chunks > 1: diff --git a/fuse/plugins/detector_physics/secondary_scintillation.py b/fuse/plugins/detector_physics/secondary_scintillation.py index dfc39b7a..86ede226 100644 --- a/fuse/plugins/detector_physics/secondary_scintillation.py +++ b/fuse/plugins/detector_physics/secondary_scintillation.py @@ -140,10 +140,10 @@ def setup(self): self.pmt_mask = np.array(self.gains) - def compute(self, individual_electrons, interactions_in_roi): + def compute(self, extracted_electrons, interactions_in_roi): # Just apply this to clusters with electrons - clusters_with_extracted_electrons = np.unique(individual_electrons["cluster_id"]) + clusters_with_extracted_electrons = np.unique(extracted_electrons["cluster_id"]) mask = np.in1d(interactions_in_roi["cluster_id"], clusters_with_extracted_electrons) if len(interactions_in_roi[mask]) == 0: @@ -159,7 +159,7 @@ def compute(self, individual_electrons, interactions_in_roi): } positions = np.array( - [individual_electrons["x_interface"], individual_electrons["y_interface"]] + [extracted_electrons["x_interface"], extracted_electrons["y_interface"]] ).T electron_gains = self.get_s2_light_yield(positions=positions) @@ -170,12 +170,12 @@ def compute(self, individual_electrons, interactions_in_roi): len(n_photons_per_ele), dtype=self.dtype[self.result_name_photons] ) result_photons["n_s2_photons"] = n_photons_per_ele - result_photons["time"] = individual_electrons["time"] - result_photons["endtime"] = individual_electrons["endtime"] + result_photons["time"] = extracted_electrons["time"] + result_photons["endtime"] = extracted_electrons["endtime"] # Calculate the sum of photons per interaction grouped_result_photons, unique_cluster_id = group_result_photons_by_cluster_id( - result_photons, individual_electrons["cluster_id"] + result_photons, extracted_electrons["cluster_id"] ) sum_photons_per_interaction = np.array(