Skip to content

Commit 1e98b11

Browse files
committed
Fix application of multiplicity cut in irf tool
1 parent 8598bfb commit 1e98b11

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

src/ctapipe/tools/compute_irf.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,9 @@ def calculate_selections(self, reduced_events: dict) -> dict:
356356
operator.ge,
357357
)
358358
reduced_events["gammas"]["selected"] = reduced_events["gammas"]["selected_gh"]
359+
reduced_events["gammas"]["selected_gh_multiplicity"] = reduced_events["gammas"][
360+
"selected_gh"
361+
]
359362
if self.spatial_selection_applied:
360363
reduced_events["gammas"]["selected_theta"] = evaluate_binned_cut(
361364
reduced_events["gammas"]["theta"],
@@ -377,6 +380,9 @@ def calculate_selections(self, reduced_events: dict) -> dict:
377380
reduced_events["gammas"]["selected"] &= reduced_events["gammas"][
378381
"selected_multiplicity"
379382
]
383+
reduced_events["gammas"]["selected_gh_multiplicity"] &= reduced_events[
384+
"gammas"
385+
]["selected_multiplicity"]
380386

381387
if self.do_background:
382388
backgrounds = (
@@ -439,7 +445,11 @@ def _make_signal_irf_hdus(self, hdus, sim_info):
439445
)
440446
)
441447
hdus.append(
442-
self.psf_maker(events=self.signal_events[self.signal_events["selected_gh"]])
448+
self.psf_maker(
449+
events=self.signal_events[
450+
self.signal_events["selected_gh_multiplicity"]
451+
]
452+
)
443453
)
444454
if self.spatial_selection_applied:
445455
# TODO: Support fov binning
@@ -474,7 +484,9 @@ def _make_benchmark_hdus(self, hdus):
474484
)
475485
hdus.append(
476486
self.angular_resolution_maker(
477-
events=self.signal_events[self.signal_events["selected_gh"]],
487+
events=self.signal_events[
488+
self.signal_events["selected_gh_multiplicity"]
489+
],
478490
)
479491
)
480492
if self.do_background:
@@ -488,7 +500,7 @@ def _make_benchmark_hdus(self, hdus):
488500
self.sensitivity_maker(
489501
signal_events=self.signal_events[self.signal_events["selected"]],
490502
background_events=self.background_events[
491-
self.background_events["selected_gh"]
503+
self.background_events["selected"]
492504
],
493505
spatial_selection_table=self.opt_result.spatial_selection_table,
494506
gamma_spectrum=self.gamma_target_spectrum,
@@ -617,15 +629,15 @@ def start(self):
617629
if self.do_background:
618630
hdus.append(
619631
self.background_maker(
620-
self.background_events[self.background_events["selected_gh"]],
632+
self.background_events[self.background_events["selected"]],
621633
self.obs_time,
622634
)
623635
)
624636
if "protons" in reduced_events.keys():
625637
hdus.append(
626638
self.effective_area_maker(
627639
events=reduced_events["protons"][
628-
reduced_events["protons"]["selected_gh"]
640+
reduced_events["protons"]["selected"]
629641
],
630642
spatial_selection_applied=self.spatial_selection_applied,
631643
signal_is_point_like=False,
@@ -637,7 +649,7 @@ def start(self):
637649
hdus.append(
638650
self.effective_area_maker(
639651
events=reduced_events["electrons"][
640-
reduced_events["electrons"]["selected_gh"]
652+
reduced_events["electrons"]["selected"]
641653
],
642654
spatial_selection_applied=self.spatial_selection_applied,
643655
signal_is_point_like=False,

0 commit comments

Comments
 (0)