1 #ifndef SIMPLEHELIXTRACKMODEL_H
2 #define SIMPLEHELIXTRACKMODEL_H
4 #include <gearimpl/Vector3D.h>
8 #include "TMatrixDSym.h"
10 #include "EVENT/Track.h"
25 simpleHelix(
const double,
const double,
const double,
const double,
const double,
const double*,
const double);
26 simpleHelix(
const double*,
const double*,
const double);
31 bool getExpectedPlanePos(
const double*,
const double,
double&,
double&,
double&,
double&,
double&)
const;
38 void moveTo(
const double,
const double,
const double,
double*);
39 void getStateAt(
const double,
const double,
const double, TMatrixDSym&, TVectorD&, TMatrixDSym&);
85 localHelix(
const double*,
const double*,
const double);
94 gear::Vector3D _bFieldc;
102 gear::Vector3D _trackDir;
112 gear::Vector3D getBFieldc(
const double*)
const;
124 void addPoint(
double,
double,
double);
125 void addTrack(EVENT::Track
const *);
126 int fit(
double&,
int&);
128 TMatrixDSym
getCov()
const;
162 TVectorD _parameters;
164 TMatrixDSym _covariance;
174 void addPoint(
double,
double,
double);
175 int fit(
double&,
int&);
177 TMatrixDSym
getCov()
const;
197 TVectorD _parameters;
199 TMatrixDSym _covariance;
204 #endif // SIMPLEHELIXTRACKMODEL_H
const double _bzc
Z component of magnetic field (*c)
Definition: SimpleHelixTrackModel.h:49
const double _z0
Z position at distance of closest approach.
Definition: SimpleHelixTrackModel.h:59
TMatrixD perigeeToILDJacobian() const
Get transformation from perigee to L3/ILD track parameters (at reference point)
Definition: SimpleHelixTrackModel.cc:345
Simple fit in ZS.
Definition: SimpleHelixTrackModel.h:171
const double _phi0
flight direction at point of closest approach (in XY)
Definition: SimpleHelixTrackModel.h:53
simpleHelix getSimpleHelix() const
Get simple helix.
Definition: SimpleHelixTrackModel.cc:663
simpleFitXY(bool, double, double)
Constructor for simple fit in XY.
Definition: SimpleHelixTrackModel.cc:691
TMatrixD analyticalHelixJacobian(const double, const double) const
Get analytical helix propagator (in constant solenoidal magnetic field)
Definition: SimpleHelixTrackModel.cc:255
TMatrixD curvilinearToPerigeeJacobian() const
Get transformation from curivilinear to perigee track parameters (at reference point) ...
Definition: SimpleHelixTrackModel.cc:294
Simple Helix.
Definition: SimpleHelixTrackModel.h:23
TVectorD getPar() const
Get parameters vector.
Definition: SimpleHelixTrackModel.cc:829
void getStateAt(const double, const double, const double, TMatrixDSym &, TVectorD &, TMatrixDSym &)
Get state (parameters, covariance matrix) at point.
Definition: SimpleHelixTrackModel.cc:444
Local Helix.
Definition: SimpleHelixTrackModel.h:83
Simple fit in XY.
Definition: SimpleHelixTrackModel.h:121
TMatrixDSym getCov() const
Get covariance matrix.
Definition: SimpleHelixTrackModel.cc:837
TMatrixD helixToLCIOJacobian() const
Get transformation from helix to LCIO track parameters (at reference point)
Definition: SimpleHelixTrackModel.cc:384
const double _rinv
1/R
Definition: SimpleHelixTrackModel.h:51
void addPoint(double, double, double)
Add point.
Definition: SimpleHelixTrackModel.cc:704
void moveTo(const double, const double, const double, double *)
Change reference point.
Definition: SimpleHelixTrackModel.cc:403
const double _xref
X of reference point.
Definition: SimpleHelixTrackModel.h:43
void getPosAtArcLength(const double, double *) const
Get position (on helix) at arc length.
Definition: SimpleHelixTrackModel.cc:179
simpleHelix(const double, const double, const double, const double, const double, const double *, const double)
Constructor.
Definition: SimpleHelixTrackModel.cc:125
void dump() const
Dump helix.
Definition: SimpleHelixTrackModel.cc:139
localHelix(const double *, const double *, const double)
Constructor.
Definition: SimpleHelixTrackModel.cc:510
TMatrixD simplifiedHelixJacobian(const double, const double) const
Get simplified helix propagator (in constant solenoidal magnetic field)
Definition: SimpleHelixTrackModel.cc:277
const double _eps
cut off for straight line approximation (|relevant scale / R| < _eps)
Definition: SimpleHelixTrackModel.h:65
void addPoint(double, double, double)
Add point.
Definition: SimpleHelixTrackModel.cc:854
void addTrack(EVENT::Track const *)
add a complete Track.
Definition: SimpleHelixTrackModel.cc:727
TMatrixD propagateTo(const double *, const double)
Propagate stepwise (close) to point.
Definition: SimpleHelixTrackModel.cc:595
void getZSDirection(double *) const
Get ZS direction (cosLambda, sinLambda).
Definition: SimpleHelixTrackModel.cc:167
const double _xRelCenter
XY circle parameter: X position of center / R.
Definition: SimpleHelixTrackModel.h:61
void dump() const
Dump helix.
Definition: SimpleHelixTrackModel.cc:577
TMatrixD perigeeToLCIOJacobian() const
Get transformation from helix to LCIO track parameters (at reference point)
Definition: SimpleHelixTrackModel.cc:364
const double _zref
Z of reference point.
Definition: SimpleHelixTrackModel.h:47
int fit(double &, int &)
Perform fit.
Definition: SimpleHelixTrackModel.cc:871
const double _yRelCenter
XY circle parameter: Y position of center / R.
Definition: SimpleHelixTrackModel.h:63
bool getExpectedPlanePos(const double *, const double, double &, double &, double &, double &, double &) const
Get expected position (and direction) in plane.
Definition: SimpleHelixTrackModel.cc:207
double getArcLengthXY(const double *) const
Get (2D) arc length for given point.
Definition: SimpleHelixTrackModel.cc:153
const double _yref
Y of reference point.
Definition: SimpleHelixTrackModel.h:45
int fit(double &, int &)
Perform fit.
Definition: SimpleHelixTrackModel.cc:741
TVectorD getPar() const
Get parameters vector.
Definition: SimpleHelixTrackModel.cc:897
TMatrixDSym getCov() const
Get covariance matrix.
Definition: SimpleHelixTrackModel.cc:905
const double _dzds
dZ/ds
Definition: SimpleHelixTrackModel.h:57
simpleFitZS()
Constructor for simple fit in ZS.
Definition: SimpleHelixTrackModel.cc:842
const double _dca
distance of closest approach in (XY)
Definition: SimpleHelixTrackModel.h:55