NuRadioReco.modules.trigger.highLowThreshold module

NuRadioReco.modules.trigger.highLowThreshold.get_high_low_triggers(trace, high_threshold, low_threshold, time_coincidence=5, dt=1)[source]

calculates a high low trigger 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

time_coincidence: float

the time coincidence window between a high + low

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

NuRadioReco.modules.trigger.highLowThreshold.get_majority_logic(tts, number_of_coincidences=2, time_coincidence=32, dt=1)[source]

calculates a majority logic trigger

Parameters:
tts: array/list of array of bools

an array of bools that indicate a single channel trigger per channel

number_of_coincidences: int (default: 2)

the number of coincidences between channels

time_coincidence: float

the time coincidence window between channels

dt: float

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

Returns:
triggerd: bool

returns True if majority logic is fulfilled

triggerd_bins: array of ints

the bins that fulfilled the trigger

triggered_times: array of floats

the trigger times

class NuRadioReco.modules.trigger.highLowThreshold.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[, use_digitization, ...])

simulate ARIANNA trigger logic

begin

end

begin(log_level=0)[source]
run(evt, station, det, use_digitization=False, threshold_high=0.06, threshold_low=-0.06, high_low_window=5, coinc_window=200, number_concidences=2, triggered_channels=None, trigger_name='default_high_low', set_not_triggered=False, Vrms=None, trigger_adc=True, clock_offset=0, adc_output='voltage')[source]

simulate ARIANNA trigger logic

Parameters:
evt: Event

The event to run the module on

station: Station

The station to run the module on

det: Detector

The detector description

use_digitization: bool

If True, traces will be digitized

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

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

Vrms: float

If supplied, overrides adc_reference_voltage as supplied in the detector description file

trigger_adc: bool

If True, the relevant ADC parameters in the config file are the ones that start with ‘trigger_’

clock_offset: float
adc_output: string

Options: * ‘voltage’ to store the ADC output as discretised voltage trace * ‘counts’ to store the ADC output in ADC counts

end()[source]