NuRadioReco.modules.channelTimeOffsetCalculator module

class NuRadioReco.modules.channelTimeOffsetCalculator.channelTimeOffsetCalculator[source]

Bases: object

Determines the difference in signal arrival times between channels, the ray types and the signal arrival direction from the vertex position.

The module uses either the vertex position stored in one of the sim showers or it assumes that some vertex reconstruction module was already run and stored the vertex position either in the vertex_2D_fit (for the neutrino2DVertexReconstructor module) of the nu_vertex station parameter.

The module then calculates the expected difference in travel times between channels for this vertex position, shifts the channel voltages by that time difference and calculates the correlation with a template. By adding up the correlations for all channels, we can determine the correct raytracing solution: If the solution is correctd, the correlations will have their maxima at the same position, resulting in a larger maximum of their sum. Thus, we can determine the correct raytracing solutions and store the corresponding properties in the channel parameters.

This module assumes that the ray path type for all channels is the same, e.g. each channel sees a direct ray. Therefore it should only be used for channels that are relatively close to each other.

Methods

begin(electric_field_template, medium[, use_sim])

Setup method for the module

run(event, station, det, channel_ids, passband)

Run the module on a station

begin(electric_field_template, medium, use_sim=False)[source]

Setup method for the module

Parameters:
electric_field_template: NuRadioReco.framework.base_trace.BaseTrace object (or child of BaseTrace class)

An electric field waveform to be used as a template. It will be folded with the antenna and amplifier response to get a voltage template, which is then used to estimate timing differences between channels.

medium: NuRadioMC.utilities.medium.Medium object

The index of refraction profile of the ice.

use_sim: Boolean (default: False)

If true, the simulated vertex is used, otherwise it is assumed that the vertex is stored on either the vertex_2D_fit (for the neutrino2DVertexReconstructor) or the nu_vertex station parameter

run(event, station, det, channel_ids, passband)[source]

Run the module on a station

Parameters:
event: NuRadioReco.framework.event.Event object

The event the module should be run on

station: NuRadioReco.framework.station.Station object

The station the module should be run on

det: NuRadioReco.detector.detector.Detector object of child object

The detector description

channel_ids: array of int

IDs of the channels the module should be run on

passband: array of float

Lower and upper bound of the bandpass filter that is applied to the channel waveforms when determining correlation to the template. Can be used to filter out frequencies that are dominated by noise.