imap_processing.hi.utils.iter_qualified_events_by_config#
- imap_processing.hi.utils.iter_qualified_events_by_config(de_ds: Dataset, cal_product_config: DataFrame, esa_energy_steps: ndarray[tuple[int, ...], dtype[int64]]) Generator[tuple[Any, Any, ndarray[tuple[int, ...], dtype[bool]]], None, None]#
Iterate over calibration config, yielding masks for qualified events.
For each (esa_energy_step, calibration_prod) combination in the config, yields a mask indicating which events qualify based on BOTH coincidence_type AND TOF window checks.
- Parameters:
de_ds (xarray.Dataset) – Direct Event dataset with coincidence_type and TOF variables. TOF variables must have FILLVAL attribute for fill value handling.
cal_product_config (pandas.DataFrame) – Config DataFrame with multi-index (calibration_prod, esa_energy_step). Must have coincidence_type_values column and TOF window columns.
esa_energy_steps (np.ndarray) – ESA energy step for each event in de_ds.
- Yields:
esa_energy (Any) – The ESA energy step value.
config_row (namedtuple) – The config row from itertuples() containing calibration product settings.
qualified_mask (np.ndarray) – Boolean mask where True = event qualifies for this (esa, cal_prod).