NuRadioReco.modules.trigger.multiHighLowThreshold module

NuRadioReco.modules.trigger.multiHighLowThreshold.get_high_triggers(trace, threshold)[source]
NuRadioReco.modules.trigger.multiHighLowThreshold.get_low_triggers(trace, threshold)[source]
NuRadioReco.modules.trigger.multiHighLowThreshold.get_multiple_high_low_trigger(trace, high_threshold, low_threshold, n_high_lows, time_coincidence=10, dt=1)[source]

calculats a multiple high low threshold crossings in a time coincidence window

Parameters:
trace: array of floats

the signal trace

high_threshold: float

the high threshold

low_threshold: float

the low threshold

n_high_lows: int

the required number of high or low crossings in a given coincidence window

time_coincidence: float

the time coincidence window between the high or low threshold crossings

dt: float

the width of a time bin (inverse of sampling rate)

Returns:
triggered bins: array of bools

the bins where the trigger condition is satisfied

class NuRadioReco.modules.trigger.multiHighLowThreshold.triggerSimulator[source]

Bases: object

Calculates the trigger of an event. Uses the ARIANNA trigger logic, that a single antenna needs to cross a high and a low threshold value, and then coincidences between antennas can be required.

Methods

run(evt, station, det[, threshold_high, ...])

simulate ARIANNA trigger logic

begin

end

begin()[source]
run(evt, station, det, threshold_high=0.06, threshold_low=-0.06, high_low_window=5, n_high_lows=5, coinc_window=200, number_concidences=2, triggered_channels=None, trigger_name='default_high_low', set_not_triggered=False)[source]

simulate ARIANNA trigger logic

Parameters:
evt: Event

Event to run the module on

station: Station

Station to run the module on

det: Detector

The detector description

threshold_high: float or dict of floats

the threshold voltage that needs to be crossed on a single channel on the high side a dict can be used to specify a different threshold per channel where the key is the channel id

threshold_low: float or dict of floats

the threshold voltage that needs to be crossed on a single channel on the low side a dict can be used to specify a different threshold per channel where the key is the channel id

high_low_window: float

time window in which a high+low crossing needs to occur to trigger a channel

n_high_lows: int

the required number of high or low crossings in a given coincidence window

coinc_window: float

time window in which number_concidences channels need to trigger

number_concidences: int

number of channels that are requried in coincidence to trigger a station

triggered_channels: array of ints or None

channels ids that are triggered on, if None trigger will run on all channels

trigger_name: string

a unique name of this particular trigger

set_not_triggered: bool (default: False)

if True not trigger simulation will be performed and this trigger will be set to not_triggered

end()[source]