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.

Reconstruction (reco)#

Introduction#

ctapipe.reco contains functions and classes to reconstruct physical shower parameters, using either stereo (multiple images of a shower) or mono (single telescope) information.

All shower reconstruction algorithms should be subclasses of Reconstructor which defines some common functionality.

Currently Implemented Algorithms#

Moment-based Stereo Reconstruction#

Moment-base reconstruction uses the moments of each shower image (the Hillas Parameters to estimate the shower axis for each camera, and combines them geometrically to estimate the true shower direction.

The implementation is in the HillasReconstructor class.

Machine Learning-based Reconstruction#

This module also provides Reconstructor implementations using machine learning algorithms.

At the moment, these are based on algorithms from scikit-learn and make use of DL1b and DL2 information.

Template-based Stereo Reconstruction#

Moment-base reconstruction uses the a fit of the full camera images to an expected image model to find the best fit shower axis, energy and depth of maximum. The implementation is in the ImPACTReconstructor class.

Reference/API#

ctapipe.reco Package#

Classes#

Reconstructor(**kwargs)

This is the base class from which all reconstruction algorithms should inherit from

HillasGeometryReconstructor(**kwargs)

Base class for algorithms predicting only the shower geometry using Hillas Based methods

ReconstructionProperty(value)

Primary particle properties estimated by a Reconstructor

ShowerProcessor(**kwargs)

Run the stereo event reconstruction on the input events.

HillasReconstructor(**kwargs)

class that reconstructs the direction of an atmospheric shower using a simple hillas parametrisation of the camera images it provides a direction estimate in two steps and an estimate for the shower's impact position on the ground.

ImPACTReconstructor(**kwargs)

This class is an implementation if the impact_reco Monte Carlo Template based image fitting method from parsons14.

HillasIntersection(**kwargs)

This class is a simple re-implementation of Hillas parameter based event reconstruction.

EnergyRegressor(**kwargs)

Use a scikit-learn regression model per telescope type to predict primary energy.

ParticleClassifier(**kwargs)

Predict dl2 particle classification.

DispReconstructor(**kwargs)

Predict absolute value and sign for disp origin reconstruction and convert to altitude and azimuth prediction for each telescope.

StereoCombiner(**kwargs)

Base Class for algorithms combining telescope-wise predictions to common prediction.

StereoMeanCombiner(**kwargs)

Calculate array-event prediction as (weighted) mean of telescope-wise predictions.

CrossValidator(**kwargs)

Class to train sklearn based reconstructors in a cross validation.

ctapipe.reco.reconstructor Module#

Classes#

Reconstructor(**kwargs)

This is the base class from which all reconstruction algorithms should inherit from

HillasGeometryReconstructor(**kwargs)

Base class for algorithms predicting only the shower geometry using Hillas Based methods

TooFewTelescopesException

Less valid telescope events than required in an array event.

InvalidWidthException

Hillas width is 0 or nan

ReconstructionProperty(value)

Primary particle properties estimated by a Reconstructor

ctapipe.reco.hillas_intersection Module#

TODO: - Speed tests, need to be certain the looping on all telescopes is not killing performance - Introduce new weighting schemes - Make intersect_lines code more readable

Classes#

HillasIntersection(**kwargs)

This class is a simple re-implementation of Hillas parameter based event reconstruction.

ctapipe.reco.hillas_reconstructor Module#

Line-intersection-based fitting for reconstruction of direction and core position of a shower.

Classes#

HillasReconstructor(**kwargs)

class that reconstructs the direction of an atmospheric shower using a simple hillas parametrisation of the camera images it provides a direction estimate in two steps and an estimate for the shower's impact position on the ground.

ctapipe.reco.impact Module#

Implementation of the ImPACT reconstruction algorithm

Classes#

ImPACTReconstructor(**kwargs)

This class is an implementation if the impact_reco Monte Carlo Template based image fitting method from parsons14.