SoftwareTrigger

class ctapipe.instrument.SoftwareTrigger(**kwargs: Any)[source]

Bases: ctapipe.core.telescope_component.TelescopeComponent

A stereo trigger that can remove telescope events from subarray events.

This class is needed to correctly handle super-arrays as simulated for CTA and still handle the LST hardware stereo trigger and the normal stereo trigger correctly.

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

With the default settings, this class is a no-op. To get the correct behavior for CTA simulations, use the following configuration:

Attributes Summary

min_telescopes

Minimum number of telescopes required globally.

min_telescopes_of_type

Minimum number of telescopes required for a specific type.

Methods Summary

__call__(event)

Remove telescope events that have not the required number of telescopes of a given type from the subarray event and decide if the event would have triggered the stereo trigger.

Attributes Documentation

min_telescopes

Minimum number of telescopes required globally. Events with fewer telescopes will be filtered out completely.

min_telescopes_of_type

Minimum number of telescopes required for a specific type. In events with fewer telescopes of that type , those telescopes will be removed from the array event. This might result in the event not fullfilling min_telescopes anymore and thus being filtered completely.

Methods Documentation

__call__(event: ctapipe.containers.ArrayEventContainer)bool[source]

Remove telescope events that have not the required number of telescopes of a given type from the subarray event and decide if the event would have triggered the stereo trigger.

Data is cleared from events that did not trigger.

Returns
triggeredbool

Whether or not this event would have triggered the stereo trigger