public class HelicalTrackFitter extends Object
Modifier and Type | Class and Description |
---|---|
static class |
HelicalTrackFitter.FitStatus
Status of the HelicalTrackFit.
|
Modifier and Type | Field and Description |
---|---|
private CircleFit |
_cfit |
private CircleFitter |
_cfitter |
private HelicalTrackFit |
_fit |
private SlopeInterceptLineFit |
_lfit |
private SlopeInterceptLineFitter |
_lfitter |
private double |
_tolerance |
private ZSegmentFit |
_zfit |
private ZSegmentFitter |
_zfitter |
Constructor and Description |
---|
HelicalTrackFitter()
Creates a new instance of HelicalTrackFitter.
|
Modifier and Type | Method and Description |
---|---|
private CircleFit |
CircleFix(CircleFit oldfit)
Check if the circle finder picks a "backwards" solution with the
charged particle travelling in the wrong direction (e.g.
|
HelicalTrackFitter.FitStatus |
fit(double[] x,
double[] y,
double[] z,
double[] drphi,
double[] dz,
int np)
Perform a helix fit using the specified coordinates and uncertainties.
|
HelicalTrackFitter.FitStatus |
fit(List<HelicalTrackHit> hitcol)
Perform a helix fit of the specified HelicalTrackHits.
|
HelicalTrackFitter.FitStatus |
fit(List<HelicalTrackHit> hitcol,
Map<HelicalTrackHit,MultipleScatter> msmap,
HelicalTrackFit oldhelix)
Perform a helix fit of the specified HelicalTrackHits, taking into account
multiple scattering errors.
|
CircleFit |
getCircleFit()
Return the circle fit for the most recent helix fit.
|
HelicalTrackFit |
getFit()
Return the results of the most recent helix fit.
|
SlopeInterceptLineFit |
getLineFit()
Return the s-z line fit for the most recent helix fit.
|
private Map<HelicalTrackHit,Double> |
getPathLengths(List<HelicalTrackHit> hits)
Find the x-y path lengths for a list of hits.
|
double |
getTolerance()
Return the tolerance being used to extend axial strips for ZSegmentFits.
|
ZSegmentFit |
getZSegmentFit()
Return the ZSegmentFit for the most recent helix fit.
|
private SymmetricMatrix |
MakeCov(Hep3Vector pos,
double drphi,
double dr,
double dz)
Create a Cartesian covariance matrix given uncertainties in polar
coordinates.
|
private double |
MissedStripPenalty(List<HelicalTrackHit> hitcol,
double[] par,
SymmetricMatrix cov,
Map<HelicalTrackHit,Double> smap,
Map<HelicalTrackHit,MultipleScatter> msmap)
Calculate a chisq penalty if any axial strip hits lie outside the strip
boundaries in z.
|
void |
setReferencePoint(double x,
double y) |
void |
setTolerance(double tolerance)
Specify tolerance used in extending axial strips for ZSegmentFits to account
for multiple scattering.
|
private CircleFitter _cfitter
private SlopeInterceptLineFitter _lfitter
private ZSegmentFitter _zfitter
private CircleFit _cfit
private SlopeInterceptLineFit _lfit
private ZSegmentFit _zfit
private HelicalTrackFit _fit
private double _tolerance
public HelicalTrackFitter()
public HelicalTrackFitter.FitStatus fit(double[] x, double[] y, double[] z, double[] drphi, double[] dz, int np)
x
- array of x coordinatesy
- array of y coordinatesz
- array of z coordinatesdrphi
- error in r-phi hit positiondz
- error in z coordinate (negative for an axial strip of length |dz|*sqrt(12))np
- number of pointspublic HelicalTrackFitter.FitStatus fit(List<HelicalTrackHit> hitcol)
hitcol
- HelicalTrackHits to be fitpublic HelicalTrackFitter.FitStatus fit(List<HelicalTrackHit> hitcol, Map<HelicalTrackHit,MultipleScatter> msmap, HelicalTrackFit oldhelix)
hitcol
- HelicalTrackHits to be fitmsmap
- map giving multiple scattering errors for the hitsoldhelix
- approximate HelicalTrackFit (used to estimate track slope)public HelicalTrackFit getFit()
public CircleFit getCircleFit()
public SlopeInterceptLineFit getLineFit()
public ZSegmentFit getZSegmentFit()
public void setTolerance(double tolerance)
tolerance
- tolerancepublic double getTolerance()
public void setReferencePoint(double x, double y)
private SymmetricMatrix MakeCov(Hep3Vector pos, double drphi, double dr, double dz)
pos
- hit positiondrphi
- uncertainty in the r*phi coordinatedr
- uncertainty in the r coordinatedz
- uncertainty in the z coordinateprivate CircleFit CircleFix(CircleFit oldfit)
oldfit
- circle fit to be checkedhitlist
- list of hits used for the circle fitprivate Map<HelicalTrackHit,Double> getPathLengths(List<HelicalTrackHit> hits)
hits
- list of hitsprivate double MissedStripPenalty(List<HelicalTrackHit> hitcol, double[] par, SymmetricMatrix cov, Map<HelicalTrackHit,Double> smap, Map<HelicalTrackHit,MultipleScatter> msmap)
hitcol
- list of hits to checksmap
- map of x-y path lengthsmsmap
- map of multiple scatter uncertaintiesCopyright © 2016 Linear Collider Detector (LCD). All rights reserved.