NuRadioReco.modules.neutrinoVertexReconstructor.neutrino2DVertexReconstructor module

class NuRadioReco.modules.neutrinoVertexReconstructor.neutrino2DVertexReconstructor.neutrino2DVertexReconstructor(lookup_table_location)[source]

Bases: object

Constructor for the vertex reconstructor

Parameters:
lookup_table_location: string

path to the folder in which the lookup tables for the signal travel times are stored

Methods

begin(station_id, channel_ids, detector[, ...])

General settings for vertex reconstruction

find_ray_type(station, ch1)

Calculate the most likely ray type (direct, reflected or refracted) of the signal that reached the detector.

get_correlation_array_2d(x, z)

Returns the correlations corresponding to the different signal travel times between channels for the given positions.

get_correlation_for_pos(d_hor, z)

Returns the correlations corresponding to the different signal travel times between channels for the given positions.

get_signal_travel_time(d_hor, z, ray_type, ...)

Calculate the signal travel time between a position and the channel

run(event, station, max_distance, z_width, ...)

Execute the 2D vertex reconstruction

find_receiving_zenith

begin(station_id, channel_ids, detector, passband=None, template=None, output_path=None)[source]

General settings for vertex reconstruction

Parameters:
station_id: integer

ID of the station to be used for the reconstruction

channel_ids: array of integers

IDs of the channels to be used for the reconstruction

detector: Detector or GenericDetector

Detector description for the detector used in the reconstruction

passband: array of float or None

Passband of the filter that should be applied to channel traces before calculating the correlation. If None is passed, no filter is applied

template: array of float or none

Waveform template with which the channel waveforms are correlated to determine the timing differences. If None is passed, the channels are correlated directly with each other

output_path: string or None

Location where plots of the reconstruction are saved. If None is passed, no plots are created.

run(event, station, max_distance, z_width, grid_spacing, direction_guess=None, debug=False, use_dnr=False)[source]

Execute the 2D vertex reconstruction

Parameters:
station: Station

The station for which the vertex shall be reconstructed

max_distance: number

Maximum distance up to which the vertex position shall be searched

z_width: number

Vertical size of the search area. If direction_guess is specified, a stripe of z_width to each side of the initial direction will be searched. If direction_guess is not specified, z_width is the maximum depth up to which the vertex will be searched.

grid_spacing: number

Distance between two points of the grid on which the vertex is searched

direction_guess: number, defaults to None

Zenith for an initial guess of the vertex direction. If specified, a strip if width 2*z_width around the guessed direction will be searched

debug: boolean

If True, debug plots will be produced

use_dnr: boolean

If True, DnR pulses are included in the reconstruction by correlating the channel waveforms with themselves.

get_correlation_array_2d(x, z)[source]

Returns the correlations corresponding to the different signal travel times between channels for the given positions. This is done by correcting for the distance of the channels from the station center and then calling self.get_correlation_for_pos, which does the actual work.

Parameters:
x, z: array

Coordinates of the points for which calculations are to be calculated. Correspond to the (r, z) pair of cylindrical coordinates.

get_correlation_for_pos(d_hor, z)[source]

Returns the correlations corresponding to the different signal travel times between channels for the given positions.

Parameters:
d_hor, z: array

Coordinates of the points for which calculations are to be calculated. Correspond to the (r, z) pair of cylindrical coordinates.

get_signal_travel_time(d_hor, z, ray_type, channel_id)[source]

Calculate the signal travel time between a position and the channel

Parameters:
d_hor, z: numbers or arrays of numbers

Coordinates of the point from which to calculate the signal travel times. Correspond to (r, z) coordinates in cylindrical coordinates.

ray_type: string

Ray type for which to calculate the travel times. Options are direct, reflected and refracted

channel_id: int

ID of the channel to which the travel time shall be calculated

find_ray_type(station, ch1)[source]

Calculate the most likely ray type (direct, reflected or refracted) of the signal that reached the detector. This is done by taking the reconstructed vertex position, calculating the expected time offset between channels and checking for which ray type scenario the correlation between channels is largest.

Parameters:
station: station object

The station on which this reconstruction was run

ch1: channel object

The channel for which the ray type shall be determined

find_receiving_zenith(station, ray_type, channel_id)[source]