TRF++ Fitting Classes (package trffit)

22may01 1040
Code version 0.63

An introduction to TRF++ may be found at http://www-d0.fnal.gov/~dladams/trf.


Links to code

The description below includes links to the code contained in this package. This version of the code may not be the most recent.

Description

TRF++ package trffit provides classes for track fitting.

The physical components include:

Their dependencies are illustrated in the physical dependency diagram.

The (not up-to-date) class diagram shows some of the classes and their relationships.

This package depends on the following external packages:

The classes defined in the above components are described below. Each class is defined in a component of the same name unless otherwise indicated. The descriptions are brief. See the header files for details.


Tracks

Class HTrack describes a track as a list of hits plus a fit (ETrack object and chi-square). This is the input to the fitters described below. Component MTrack contains a class of the same name which inherits from HTrack and adds a list of misses and maintains the relative ordering of the hit and miss lists.

RTrack represents a reconstructed track. It is a typedef to MTrack.

TrackMatch

Class TrackMatch inherits from the trfutil Match class. It provides a method to match a list of Monte Carlo tracks to a list of reconstructed tracks. The matching is based on track kinematics.

Add fitters

Abstract base class AddFitter is an algorithm class. It adds a hit to a track and refits. A concrete implementation is provided in class AddFitKalman which uses a Kalman filter to update the track fit. Class AddFitStarter also inherits from AddFitter. Instead of directly providing fitting code, it maintains a registry of add fitters and calls the appropriate one depending on the list of hits on the input track.

AddFitNull provides an implementation which can be used where the fitter is not expected to be called. It will throw an assertion or return failure if a fit is attempted.

Full fitters

Abstract base class FullFitter also inherits from Algorithm. A full fitter refits a track using all of its hits. The concrete implmentation in class FullFitKalman applies AddFitKalman to each hit in turn.

Generator

Class HTrackGenerator maintains an internal list of HitGenerators and uses them to randomly generate HTrack objects from VTrack objects.

Tuple

Abstract base class TrackNtuple defines the interface for filling an ntuple from a collection of MonteCarlo and reconstructed tracks.

Register types

The component register_trffit_types registers all types for this package with ObjTable.


Questions or comments to dladams@fnal.gov.