MarlinTPC  1.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
marlintpc::TrackFitterSimpleChiSquare Class Reference

Simple $\chi^2$ implementation of a track fitter. More...

#include <TrackFitterSimpleChiSquare.h>

Inheritance diagram for marlintpc::TrackFitterSimpleChiSquare:
marlintpc::TrackFitterBase marlintpc::TrackFitterSimpleChiSquarePads

Public Member Functions

 TrackFitterSimpleChiSquare (double transDefocussing, double longDefocussing, double transDiffusion, double longDiffusion, double zAnode)
 Constructor for $\chi^2$ fitter, initializes the track fitter with the initial values.
 
virtual std::string getRevision () const
 returns the revision of this implementation and of the TrackFitterBase it is derrived from
 
virtual IMPL::TrackImpl * fitTrack (EVENT::Track const *seedTrack) const
 The actual fitter. Not implemented yet, thows gear::NotImplementedException. More...
 
virtual unsigned char getFitterType () const
 returns "SimpleChiSquare"
 
virtual double getTransDefocussing () const
 The transverse defocussing in the readout structure $\sigma_{0,{\mathrm trans}}$ (in mm)
 
virtual double getLongDefocussing () const
 The longitudinal defocussing in the readout structure $\sigma_{0,{\mathrm long}}$ (in mm)
 
virtual double getTransDiffusionCoef () const
 The transverse diffusion coefficient (in mm/ $\sqrt{\mathrm mm}$)
 
virtual double getLongDiffusionCoef () const
 The longitudinal diffusion coefficient (in mm/ $\sqrt{\mathrm mm}$)
 
virtual double getZAnode () const
 The z coordinate of the readout anode (termination of drift volume)
 
- Public Member Functions inherited from marlintpc::TrackFitterBase
 TrackFitterBase ()
 The Constructor. More...
 
virtual EVENT::DoubleVec calculateResiduals (EVENT::Track const *testTrack, unsigned int testHitNumber, EVENT::Track const *referenceTrack=NULL) const
 Return the distance of the hit testHitNumber of the testTrack to the point of closest approach on the referenceTrack wrt. the hit. More...
 
virtual EVENT::DoubleVec calculateResiduals (EVENT::TrackerHit const *testHit, EVENT::Track const *trackWithoutTestHit) const
 Return the distance of the given hit to the test track where this hit has been removed. More...
 
void setD0Start (double d0)
 Set a d0 start value for the fit. More...
 
void setPhiStart (double phi)
 Set a phi start value for the fit. More...
 
void setOmegaStart (double omega)
 Set a omega start value for the fit. More...
 
void setTanLambdaStart (double tanLambda)
 Set a tanLambda start value for the fit. More...
 
void setZ0Start (double z0)
 Set a z0 start value for the fit. More...
 
void setNoZFitFlag (bool noZFit=true)
 Switch to turn off the fitting in z. More...
 
bool getNoZFitFlag () const
 Get the noZFit flag.
 
void fixD0 (bool fix=true)
 Fix or release d0.
 
void fixPhi (bool fix=true)
 Fix or release phi.
 
void fixOmega (bool fix=true)
 Fix or release omega.
 
void fixTanLambda (bool fix=true)
 Fix or release tanLambda.
 
void fixZ0 (bool fix=true)
 Fix or release z0.
 

Static Public Member Functions

static TrackFitterBasegetInstance (LCParameters const *parameters)
 Well defined interface to create a new instance of the track fitter.
 
- Static Public Member Functions inherited from marlintpc::TrackFitterBase
static void setTrackFitterType (unsigned char type, IMPL::TrackImpl *track)
 Convenience function to set bits 16-23 to be the track type.
 
static unsigned char getFitterTypeFromTrack (int trackTypeWord)
 Convenicene function to get the tracker type out of the trackType word.
 

Protected Attributes

double _transDefocussing
 The defocussing and diffusion coefficients.
 
double _longDefocussing
 
double _transDiffusion
 
double _longDiffusion
 
double _zAnode
 The z coordinate of the readout anode.
 
- Protected Attributes inherited from marlintpc::TrackFitterBase
double _d0Start
 The start value for the fit and a flag whether to apply d0Start or the value from the seed track.
 
bool _useD0Start
 
double _phiStart
 The start value for the fit and a flag whether to apply phiStart or the value from the seed track.
 
bool _usePhiStart
 
double _omegaStart
 The start value for the fit and a flag whether to apply omegaStart or the value from the seed track.
 
bool _useOmegaStart
 
double _tanLambdaStart
 The start value for the fit and a flag whether to apply tanLambdaStart or the value from the seed track.
 
bool _useTanLambdaStart
 
double _z0Start
 The start value for the fit and a flag whether to apply z0Start or the value from the seed track.
 
bool _useZ0Start
 
bool _noZFit
 flag whether to perform a 2D or a 3D fit
 
bool _fixD0
 flags whether to fix a fit parameter
 
bool _fixPhi
 
bool _fixOmega
 
bool _fixTanLambda
 
bool _fixZ0
 

Additional Inherited Members

- Static Public Attributes inherited from marlintpc::TrackFitterBase
static const unsigned char FITFAILEDBIT = 30
 Bit 30 in the TrackType word is fit failed.
 
- Protected Member Functions inherited from marlintpc::TrackFitterBase
double distanceOnCircle (double phi1, double phi2) const
 Calculate the angular distance on a circle. More...
 

Detailed Description

Simple $\chi^2$ implementation of a track fitter.

It uses the getResiduals functions derrived from TrackFitterBase. The error of each hit are calculated according to
$\displaystyle \sigma_{\mathrm trans} = \sqrt{\sigma_{0,{\mathrm trans}}^2 + (D_{\mathrm trans} \sqrt{z})^2}$
$\displaystyle \sigma_{\mathrm long} = \sqrt{\sigma_{0,{\mathrm long}}^2 + (D_{\mathrm long} \sqrt{z})^2}$

The function minimised is $\displaystyle \chi^2 = \frac{res_{xy}^2}{\sigma_{\mathrm trans}} + \frac{res_{z}^2}{\sigma_{\mathrm long}}$

Member Function Documentation

IMPL::TrackImpl * marlintpc::TrackFitterSimpleChiSquare::fitTrack ( EVENT::Track const *  seedTrack) const
virtual

The documentation for this class was generated from the following files: