From 72fd94bd5d5718b3224b432d4924ec89b7aeeba2 Mon Sep 17 00:00:00 2001 From: Maximilian Linhoff Date: Fri, 25 Nov 2022 16:03:50 +0100 Subject: [PATCH] Better docs and default value --- ctapipe/instrument/trigger.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ctapipe/instrument/trigger.py b/ctapipe/instrument/trigger.py index 9d08e551226..686d12b0396 100644 --- a/ctapipe/instrument/trigger.py +++ b/ctapipe/instrument/trigger.py @@ -11,9 +11,17 @@ class SoftwareTrigger(TelescopeComponent): CTA and still handle the LST hardware stereo trigger and the normal stereo trigger correctly. - LSTs have a hardware trigger, that requires at least two LSTs to have a trigger - in each event. Thus, after selecting a subarray, it is needed to - - Remove single LST telescope events from events + When selecting subarrays from simulations that contain many more telescopes, + as is done in all major CTA productions to date, the stereo trigger is not + correctly simulated as in that after selecting a realistic subarray, events + are still in the data stream where only one telescope of the selected subarray + triggered, which would in reality not trigger the stereo trigger. + + An additional complexity is the LST hardware stereo trigger, that forces that + an array event has always to contain no or at least two LST telescope events. + + This means that after selectig a subarray, we need to: + - Remove LST telescope events from the subarray if only one LST triggered - Ignore events with only 1 telescope after this has been applied """ @@ -26,7 +34,7 @@ class SoftwareTrigger(TelescopeComponent): ).tag(config=True) min_telescopes_of_type = IntTelescopeParameter( - default_value=1, + default_value=0, help=( "Minimum number of telescopes required for a specific type." " In events with fewer telescopes of that type" @@ -63,7 +71,7 @@ def __call__(self, event: ArrayEventContainer) -> bool: min_tels = self.min_telescopes_of_type.tel[tel_type_str] # no need to check telescopes for which we have no min requirement - if min_tels == 1: + if min_tels == 0: continue tels_with_trigger = set(event.trigger.tels_with_trigger)