NuRadioReco.framework package

Submodules

NuRadioReco.framework.base_shower module

class NuRadioReco.framework.base_shower.BaseShower(shower_id=0)

Bases: object

deserialize(data_pkl)
get_id()
get_parameter(key)
has_parameter(key)
serialize()
set_parameter(key, value)

NuRadioReco.framework.base_station module

class NuRadioReco.framework.base_station.BaseStation(station_id)

Bases: object

add_electric_field(electric_field)
deserialize(data_pkl)
get_ARIANNA_parameter(key)
get_ARIANNA_parameters()
get_electric_fields()
get_electric_fields_for_channels(channel_ids=None, ray_path_type=None)
get_id()
get_parameter(key)
get_parameter_error(key)
get_parameters()
get_station_time()
get_trigger(name)
get_triggers()

returns a dictionary of the triggers. key is the trigger name, value is a trigger object

has_ARIANNA_parameter(key)
has_parameter(key)
has_trigger(trigger_name)

checks if station has a trigger with a certain name

trigger_name: string

the name of the trigger

Returns bool

has_triggered(trigger_name=None)

convenience function.

trigger_name: string or None (default None)
  • if None: The function returns False if not trigger was set. If one or multiple triggers were set,

    it returns True if any of those triggers triggered

  • if trigger name is set: return if the trigger with name ‘trigger_name’ has a trigger

is_cosmic_ray()
is_neutrino()
remove_parameter(key)
remove_triggers()
serialize(save_efield_traces)
set_ARIANNA_parameter(key, value)
set_electric_fields(electric_fields)
set_is_cosmic_ray()

set station type to cosmic rays (relevant e.g. for refraction into the snow)

set_is_neutrino()

set station type to neutrino

set_parameter(key, value)
set_parameter_error(key, value)
set_station_time(time)
set_trigger(trigger)
set_triggered(triggered=True)

convenience function to set a simple trigger. The recommended interface is to set triggers through the set_trigger() interface.

NuRadioReco.framework.base_trace module

class NuRadioReco.framework.base_trace.BaseTrace

Bases: object

add_trace_start_time(start_time)
apply_time_shift(delta_t)

Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.

delta_t: float

Time by which the trace should be shifted

deserialize(data_pkl)
get_frequencies()
get_frequency_spectrum()
get_hilbert_envelope()
get_hilbert_envelope_mag()
get_number_of_samples()

returns the number of samples in the time domain

Return: int

number of samples in time domain

get_sampling_rate()

returns the sampling rate of the trace

Return: float

sampling rate, i.e., the inverse of the bin width

get_times()
get_trace()

returns the time trace. If the frequency spectrum was modified before, an ifft is performed automatically to have the time domain representation up to date.

Returns: 1 or N dimensional np.array of floats

the time trace

get_trace_start_time()
serialize()
set_frequency_spectrum(frequency_spectrum, sampling_rate)
set_trace(trace, sampling_rate)

sets the time trace

trace: np.array of floats

the time series

sampling_rate: float

the sampling rage of the trace, i.e., the inverse of the bin width

set_trace_start_time(start_time)

NuRadioReco.framework.channel module

class NuRadioReco.framework.channel.Channel(channel_id)

Bases: NuRadioReco.framework.base_trace.BaseTrace

deserialize(data_pkl)
get_id()
get_parameter(key)
get_parameters()
has_parameter(key)
serialize(save_trace)
set_parameter(key, value)

NuRadioReco.framework.electric_field module

class NuRadioReco.framework.electric_field.ElectricField(channel_ids, position=None, shower_id=None, ray_tracing_id=None)

Bases: NuRadioReco.framework.base_trace.BaseTrace

deserialize(data_pkl)
get_channel_ids()
get_parameter(key)
get_parameter_error(key)
get_parameters()
get_position()

get position of the electric field relative to station position

get_ray_tracing_solution_id()
get_shower_id()
get_unique_identifier()

returns a unique identifier consisting of the tuple channel_ids, shower_id and ray_tracing_id

has_channel_ids(channel_ids)
has_parameter(key)
has_parameter_error(key)
serialize(save_trace)
set_channel_ids(channel_ids)
set_parameter(key, value)
set_parameter_error(key, value)
set_position(position)

set position of the electric field relative to station position

NuRadioReco.framework.event module

class NuRadioReco.framework.event.Event(run_number, event_id)

Bases: object

add_shower(shower)

Adds a radio shower to the event

shower: RadioShower object

The shower to be added to the event

add_sim_shower(sim_shower)

Add a simulated shower to the event

sim_shower: RadioShower object

The shower to be added to the event

deserialize(data_pkl)
get_first_shower(ids=None)

Returns only the first shower stored in the event. Useful in cases when there is only one shower in the event.

ids: list of integers

A list of station IDs. The first shower that is associated with all stations in the list is returned

get_first_sim_shower(ids=None)

Returns only the first sim shower stored in the event. Useful in cases when there is only one shower in the event.

ids: list of integers

A list of station IDs. The first shower that is associated with all stations in the list is returned

get_hybrid_information()

Get information about hybrid detector data stored in the event.

get_id()
get_parameter(key)
get_run_number()
get_shower(shower_id)

returns a specific shower identified by its unique id

get_showers(ids=None)

Returns an iterator over the showers stored in the event

ids: list of integers

A list of station IDs. Only showers that are associated with all stations in the list are returned

get_sim_shower(shower_id)

returns a specific shower identified by its unique id

get_sim_showers()

Get an iterator over all simulated showers in the event

get_station(station_id)
get_stations()
has_parameter(key)
has_shower(shower_id=None)

Returns true if at least one shower is stored in the event

If shower_id is given, it checks if this particular shower exists

has_sim_shower(shower_id=None)

Returns true if at least one simulated shower is stored in the event

If shower_id is given, it checks if this particular shower exists

iter_modules(station_id=None)

returns an interator that loops over all modules. If a station id is provided it loops over all modules that are applied on event or station level (on this particular station). If no station_id is provided, the loop is only over the event modules. The order follows the sequence these modules were applied

register_module_event(instance, name, kwargs)

registers modules applied to this event

instance: module instance

the instance of the module that should be registered

name: module name

the name of the module

kwargs:

the key word arguments of the run method

register_module_station(station_id, instance, name, kwargs)

registers modules applied to this event

station_id: int

the station id

instance: module instance

the instance of the module that should be registered

name: module name

the name of the module

kwargs:

the key word arguments of the run method

serialize(mode)
set_id(evt_id)
set_parameter(key, value)
set_station(station)

NuRadioReco.framework.hybrid_information module

class NuRadioReco.framework.hybrid_information.HybridInformation

Bases: object

add_hybrid_shower(hybrid_shower)
deserialize(data_pkl)
get_hybrid_shower(name)
get_hybrid_showers()
serialize()

NuRadioReco.framework.hybrid_shower module

class NuRadioReco.framework.hybrid_shower.HybridShower(name)

Bases: NuRadioReco.framework.base_shower.BaseShower

deserialize(data_pkl)
get_hybrid_detector()
get_name()
serialize()
set_hybrid_detector(hybrid_detector)

NuRadioReco.framework.parameter_serialization module

NuRadioReco.framework.parameter_serialization.deserialize(target_object, parameter_enum)
NuRadioReco.framework.parameter_serialization.serialize(target_object)

NuRadioReco.framework.parameters module

class NuRadioReco.framework.parameters.ARIANNAParameters(*args, **kwds)

Bases: aenum.Enum

comm_duration = 5
comm_period = 4
internal_clock_time = 8
l1_supression_value = 7
seq_num = 3
seq_start_time = 1
seq_stop_time = 2
trigger_thresholds = 6
class NuRadioReco.framework.parameters.channelParameters(*args, **kwds)

Bases: aenum.Enum

P2P_amplitude = 7
SNR = 5
azimuth = 2
cr_xcorrelations = 8
maximum_amplitude = 4
maximum_amplitude_envelope = 6
nu_xcorrelations = 9
signal_time = 10
zenith = 1
class NuRadioReco.framework.parameters.electricFieldParameters(*args, **kwds)

Bases: aenum.Enum

azimuth = 8
cr_spectrum_quadratic_term = 16
cr_spectrum_slope = 5
max_amp_antenna = 12
max_amp_antenna_envelope = 13
nu_vertex_distance = 10
nu_viewing_angle = 11
polarization_angle = 2
polarization_angle_expectation = 3
ray_path_type = 1
reflection_coefficient_phi = 15
reflection_coefficient_theta = 14
signal_energy_fluence = 4
signal_time = 9
zenith = 7
class NuRadioReco.framework.parameters.eventParameters(*args, **kwds)

Bases: aenum.Enum

hash_NuRadioMC = 3
hash_NuRadioReco = 2
sim_config = 1
class NuRadioReco.framework.parameters.showerParameters(*args, **kwds)

Bases: aenum.Enum

atmospheric_model = 101
azimuth = 2
charge_excess_profile_id = 105
core = 3
distance_shower_maximum_geometric = 10
distance_shower_maximum_grammage = 11
electromagnetic_energy = 5
electromagnetic_radiation_energy = 7
energy = 4
flavor = 111
interaction_type = 109
k_L = 110
magnetic_field_rotation = 102
magnetic_field_vector = 103
observation_level = 104
primary_particle = 8
radiation_energy = 6
refractive_index_at_ground = 100
shower_maximum = 9
type = 106
vertex = 107
vertex_time = 108
zenith = 1
class NuRadioReco.framework.parameters.stationParameters(*args, **kwds)

Bases: aenum.Enum

azimuth = 14
ccnc = 5
channels_max_amplitude = 12
chi2_efield_time_direction_fit = 26
cr_azimuth = 11
cr_energy = 9
cr_energy_em = 24
cr_xcorrelations = 19
cr_xmax = 28
cr_zenith = 10
inelasticity = 7
ndf_efield_time_direction_fit = 27
nu_azimuth = 2
nu_energy = 3
nu_flavor = 4
nu_inttype = 25
nu_vertex = 6
nu_xcorrelations = 20
nu_zenith = 1
station_time = 21
triggered = 8
zenith = 13
zenith_cr_templatefit = 15
zenith_nu_templatefit = 16

NuRadioReco.framework.radio_shower module

class NuRadioReco.framework.radio_shower.RadioShower(shower_id=0, station_ids=None)

Bases: NuRadioReco.framework.base_shower.BaseShower

deserialize(data_pkl)
get_station_ids()
has_station_ids(ids)
serialize()

NuRadioReco.framework.sim_station module

class NuRadioReco.framework.sim_station.SimStation(station_id)

Bases: NuRadioReco.framework.base_station.BaseStation

add_channel(channel)

adds a NuRadioReco.framework.channel ot the SimStation object

deserialize(data_pkl)
get_channel(unique_identifier)

returns channel identified by the triple (channel_id, shower_id, ray_tracing_id)

get_magnetic_field_vector()
get_simulation_weight()
iter_channels()
serialize(save_channel_traces, save_efield_traces)
set_magnetic_field_vector(magnetic_field_vector)
set_simulation_weight(simulation_weight)

NuRadioReco.framework.station module

class NuRadioReco.framework.station.Station(station_id)

Bases: NuRadioReco.framework.base_station.BaseStation

add_channel(channel)
deserialize(data_pkl)
get_channel(channel_id)
get_magnetic_field_vector(time=None)
get_number_of_channels()
get_reference_direction()
get_reference_reconstruction()
get_sim_station()
has_sim_station()
iter_channels(use_channels=None)
serialize(mode)
set_reference_reconstruction(reference)
set_sim_station(sim_station)

NuRadioReco.framework.trigger module

class NuRadioReco.framework.trigger.EnvelopePhasedTrigger(name, threshold_factor, power_mean, power_std, triggered_channels=None, phasing_angles=None, trigger_delays=None, output_passband=(None, None))

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.EnvelopeTrigger(name, passband, order, threshold, number_of_coincidences=2, channel_coincidence_window=None, channels=None)

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.HighLowTrigger(name, threshold_high, threshold_low, high_low_window, channel_coincidence_window, channels=None, number_of_coincidences=1)

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.IntegratedPowerTrigger(name, threshold, channel_coincidence_window, channels=None, number_of_coincidences=1, power_mean=None, power_std=None, integration_window=None)

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.SimplePhasedTrigger(name, threshold, channels=None, secondary_channels=None, primary_angles=None, secondary_angles=None, trigger_delays=None, sec_trigger_delays=None)

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.SimpleThresholdTrigger(name, threshold, channels=None, number_of_coincidences=1, channel_coincidence_window=None)

Bases: NuRadioReco.framework.trigger.Trigger

class NuRadioReco.framework.trigger.Trigger(name, channels=None, trigger_type='default')

Bases: object

base class to store different triggers

deserialize(data_pkl)
get_name()

get trigger name

get_trigger_settings()
get_trigger_time()

get the trigger time (time with respect to beginning of trace)

get_trigger_times()

get the trigger times (time with respect to beginning of trace)

get_triggered_channels()

get IDs of channels that have triggered

get_type()

get trigger type

has_triggered()

returns true if station has trigger, false otherwise

serialize()
set_trigger_time(time)

set the trigger time

time: float

the trigger time from the beginning of the trace

set_trigger_times(times)

set the trigger times

times: array

all trigger times

set_triggered(triggered=True)

set the trigger to True or False

set_triggered_channels(triggered_channels)
NuRadioReco.framework.trigger.deserialize(triggers_pkl)

Module contents