ctapipe is not stable yet, so expect large and rapid changes to structure and functionality as we explore various design choices before the 1.0 release.

HillasIntersection#

class ctapipe.reco.HillasIntersection(**kwargs: Any)[source]#

Bases: HillasGeometryReconstructor

This class is a simple re-implementation of Hillas parameter based event reconstruction. See algorithm I of [HJK+99].

In this case the Hillas parameters are all constructed in the shared angular (Nominal) system. Direction reconstruction is performed by extrapolation of the major axes of the Hillas parameters in the nominal system and the weighted average of the crossing points is taken. Core reconstruction is performed by performing the same procedure in the tilted ground system.

The height of maximum is reconstructed by the projection of the image centroid onto the shower axis, taking the weighted average of all images.

Uncertainties on the positions are provided by taking the spread of the crossing points, however this means that no uncertainty can be provided for multiplicity 2 events.

Attributes Summary

property

weighting

Weighting Method name

Methods Summary

__call__(event)

Perform stereo reconstruction on event.

intersect_lines(xp1, yp1, phi1, xp2, yp2, phi2)

Perform intersection of two lines.

reconstruct_h_max(source_x, source_y, ...)

Geometrical depth of shower maximum reconstruction, assuming the shower maximum lies at the image centroid

reconstruct_nominal(hillas_parameters)

Perform event reconstruction by simple Hillas parameter intersection in the nominal system

reconstruct_tilted(hillas_parameters, tel_x, ...)

Core position reconstruction by image axis intersection in the tilted system

weight_konrad(p1, p2)

weight_sin(phi1, phi2)

Attributes Documentation

property = 2#
weighting#

Weighting Method name

Methods Documentation

__call__(event)[source]#

Perform stereo reconstruction on event.

Parameters:
eventArrayEventContainer

The event, needs to have dl1 parameters. Will be filled with the corresponding dl2 containers, reconstructed stereo geometry and telescope-wise impact position.

static intersect_lines(xp1, yp1, phi1, xp2, yp2, phi2)[source]#

Perform intersection of two lines. This code is borrowed from read_hess.

Parameters:
xp1: ndarray

X position of first image

yp1: ndarray

Y position of first image

phi1: ndarray

Rotation angle of first image

xp2: ndarray

X position of second image

yp2: ndarray

Y position of second image

phi2: ndarray

Rotation angle of second image

Returns:
ndarray of x and y crossing points for all pairs
reconstruct_h_max(source_x, source_y, core_x, core_y, hillas_parameters, tel_x, tel_y, zen)[source]#

Geometrical depth of shower maximum reconstruction, assuming the shower maximum lies at the image centroid

Parameters:
source_x: float

Source X position in nominal system

source_y: float

Source Y position in nominal system

core_x: float

Core X position in nominal system

core_y: float

Core Y position in nominal system

hillas_parameters: dict

Dictionary of hillas parameters objects

tel_x: dict

Dictionary of telescope X positions in tilted frame

tel_y: dict

Dictionary of telescope Y positions in tilted frame

zen: float

Zenith angle of shower

Returns:
float:

Estimated depth of shower maximum

reconstruct_nominal(hillas_parameters)[source]#

Perform event reconstruction by simple Hillas parameter intersection in the nominal system

Parameters:
hillas_parameters: dict

Hillas parameter objects

Returns:
Reconstructed event position in the horizon system
reconstruct_tilted(hillas_parameters, tel_x, tel_y)[source]#

Core position reconstruction by image axis intersection in the tilted system

Parameters:
hillas_parameters: dict

Hillas parameter objects

tel_x: dict

Telescope X positions, tilted system

tel_y: dict

Telescope Y positions, tilted system

Returns:
(float, float, float, float):

core position X, core position Y, core uncertainty X, core uncertainty X

static weight_konrad(p1, p2)[source]#
static weight_sin(phi1, phi2)[source]#