EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
a local straight line track representation More...
#include <EicRoot/blob/master/GenfitTools/trackrep/LSLtrackRep/LSLTrackRep.h>
Public Member Functions | |
LSLTrackRep () | |
LSLTrackRep (double z, double x, double y, double dxdz, double dydz, double invp, double sigx, double sigy, double sigdxdz, double sigdydz, double siginvp, GFAbsBField *field) | |
LSLTrackRep (const LSLTrackRep &rep) | |
virtual | ~LSLTrackRep () |
virtual GFAbsTrackRep * | clone () const |
virtual GFAbsTrackRep * | prototype () const |
void | init (const TVector3 &pos, double dxdz, double dydz, double invp, double sigx, double sigy, double sigdxdz, double sigdydz, double siginvp, GFAbsBField *field) |
void | SetBField (GFAbsBField *b) |
void | setData (const TMatrixT< double > &st, const GFDetPlane &pl, const TMatrixT< double > *cov=NULL) |
void | setRungeKuttaAcc (double acc) |
void | setRungeKuttaAdaptive (bool f) |
virtual double | extrapolate (const GFDetPlane &, TMatrixT< double > &statePred) |
returns the tracklength spanned in this extrapolation | |
virtual double | extrapolate (const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred) |
Extrapolates the track to the given detectorplane. | |
virtual void | extrapolateToPoint (const TVector3 &, TVector3 &poca, TVector3 &normVec) |
This method is to extrapolate the track to point of closest approach to a point in space. | |
virtual void | stepalong (double h) |
virtual TVector3 | getPos (const GFDetPlane &) |
virtual TVector3 | getMom (const GFDetPlane &) |
virtual void | getPosMom (const GFDetPlane &, TVector3 &pos, TVector3 &mom) |
virtual TVectorT< double > | getGlobal () |
virtual TMatrixT< double > | getGlobalCov () |
virtual double | getCharge () const |
virtual void | switchDirection () |
Public Member Functions inherited from GFAbsTrackRep | |
GFAbsTrackRep () | |
GFAbsTrackRep (int) | |
virtual | ~GFAbsTrackRep () |
virtual void | extrapolateToLine (const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &normVec, TVector3 &poca_onwire) |
This method extrapolates to the point of closest approach to a line. | |
virtual double | stepalong (double h, TVector3 &point, TVector3 &dir) |
make step of h cm along the track | |
double | extrapolate (const GFDetPlane &plane) |
This changes the state and cov and plane of the rep. | |
unsigned int | getDim () const |
returns dimension of state vector | |
virtual void | Print (const Option_t *="") const |
TMatrixT< double > | getState () const |
TMatrixT< double > | getCov () const |
double | getStateElem (int i) const |
double | getCovElem (int i, int j) const |
virtual void | getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< double > &cov) |
method which gets position, momentum and 6x6 covariance matrix | |
virtual int | getPDG () |
method which gets pdg particle code | |
TVector3 | getPos () |
TVector3 | getMom () |
void | getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixT< double > &c) |
TMatrixT< double > | getFirstState () const |
TMatrixT< double > | getFirstCov () const |
GFDetPlane | getFirstPlane () const |
TMatrixT< double > | getLastState () const |
TMatrixT< double > | getLastCov () const |
GFDetPlane | getLastPlane () const |
double | getChiSqu () const |
double | getForwardChiSqu () const |
double | getRedChiSqu () const |
returns chi2/ndf | |
double | getPVal () const |
unsigned int | getNDF () const |
double | getXX0 () const |
X/X0 (total fraction of radiation length passed), cumulated during last extrapolation. The fitter has to reset XX0 via resetXX0() | |
virtual void | setData (const TMatrixT< double > &st, const GFDetPlane &pl, const TMatrixT< double > *cov=NULL, const TMatrixT< double > *aux=NULL) |
Puts the track representation in a given state. | |
void | setCov (const TMatrixT< double > &aCov) |
void | setFirstState (const TMatrixT< double > &aState) |
void | setFirstCov (const TMatrixT< double > &aCov) |
void | setFirstPlane (const GFDetPlane &aPlane) |
void | setLastState (const TMatrixT< double > &aState) |
void | setLastCov (const TMatrixT< double > &aCov) |
void | setLastPlane (const GFDetPlane &aPlane) |
virtual void | setPosMomCov (const TVector3 &pos, const TVector3 &mom, const TMatrixT< double > &cov) |
method which sets position, momentum and 6x6 covariance matrix | |
const GFDetPlane & | getReferencePlane () const |
void | setChiSqu (double aChiSqu) |
void | setForwardChiSqu (double aChiSqu) |
void | setNDF (unsigned int n) |
void | addChiSqu (double aChiSqu) |
void | addForwardChiSqu (double aChiSqu) |
void | addNDF (unsigned int n) |
void | setStatusFlag (int _val) |
bool | setInverted (bool f=true) |
Deprecated. Should be removed soon. | |
bool | getStatusFlag () |
virtual void | reset () |
virtual bool | hasAuxInfo () |
See if the track representation has auxillary information stored. | |
virtual const TMatrixT< double > * | getAuxInfo (const GFDetPlane &) |
Get auxillary information from the track representation. | |
void | resetXX0 () |
Private Member Functions | |
void | Jacobian (const GFDetPlane &pl, const TMatrixT< double > &statePred, TMatrixT< double > &jacResult) |
Private Attributes | |
double | s |
double | _acc |
bool | _adaptive |
AbsNystromEQM * | _eqm |
Friends | |
std::ostream & | operator<< (std::ostream &s, const LSLTrackRep &me) |
Additional Inherited Members | |
Protected Attributes inherited from GFAbsTrackRep | |
unsigned int | fDimension |
Dimensionality of track representation. | |
TMatrixT< double > | fState |
The vector of track parameters. | |
TMatrixT< double > | fCov |
The covariance matrix. | |
double | fChiSqu |
chiSqu of the track fit | |
double | fForwardChiSqu |
unsigned int | fNdf |
int | fStatusFlag |
status of track representation: 0 means everything's OK | |
bool | fInverted |
specifies the direction of flight of the particle | |
TMatrixT< double > | fFirstState |
state, cov and plane for first and last point in fit | |
TMatrixT< double > | fFirstCov |
TMatrixT< double > | fLastState |
TMatrixT< double > | fLastCov |
GFDetPlane | fFirstPlane |
GFDetPlane | fLastPlane |
GFDetPlane | fRefPlane |
double | fXX0 |
a local straight line track representation
The parameterization for the local straight line track representation is:
The free parameter is z (in global coordinates)
The LSLTrackRep can only extrapolate to detector planes perpendicular to the z-axis and as such does not fulfill the general genfit criteria.
If no BField is specified through GFAbsBFieldIfc a constant field of B=(0,0,2T) is hardcoded.
LSLTrackRep uses a simple Nystrom-type integrator to extrapolate the track parameters in the BField.
Material effects are NOT taken into account.
Definition at line 63 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 63 of file LSLTrackRep.h
LSLTrackRep::LSLTrackRep | ( | ) |
Definition at line 32 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 32 of file LSLTrackRep.cxx
References _eqm, and GFAbsTrackRep::fRefPlane.
Referenced by clone(), and prototype().
LSLTrackRep::LSLTrackRep | ( | double | z, |
double | x, | ||
double | y, | ||
double | dxdz, | ||
double | dydz, | ||
double | invp, | ||
double | sigx, | ||
double | sigy, | ||
double | sigdxdz, | ||
double | sigdydz, | ||
double | siginvp, | ||
GFAbsBField * | field | ||
) |
Definition at line 41 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 41 of file LSLTrackRep.cxx
References _eqm, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, s, sigx, sigy, x, y, and z.
LSLTrackRep::LSLTrackRep | ( | const LSLTrackRep & | rep | ) |
Definition at line 67 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 67 of file LSLTrackRep.cxx
|
virtual |
Definition at line 77 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 77 of file LSLTrackRep.cxx
References _eqm.
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 79 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 79 of file LSLTrackRep.h
References LSLTrackRep().
|
virtual |
returns the tracklength spanned in this extrapolation
There is a default implementation in GFAbsTrackRep.cxx which just drops the predicted covaraiance. If your trackrep has a way to extrapolate without giving a correct cov (that would be faster probably), please overwrite it. This method does NOT alter the state of the object!
Reimplemented from GFAbsTrackRep.
Definition at line 118 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 118 of file LSLTrackRep.cxx
References _acc, _adaptive, _eqm, GFAbsTrackRep::fDimension, GFAbsTrackRep::fState, GFDetPlane::getO(), Nystrom::propagate(), s, Nystrom::setAccuracy(), Nystrom::setAdaptive(), and Acts::UnitConstants::u.
Referenced by extrapolate(), extrapolateToPoint(), getMom(), getPos(), getPosMom(), and Jacobian().
|
virtual |
Extrapolates the track to the given detectorplane.
Results are put into statePred and covPred This method does NOT alter the state of the object!
Implements GFAbsTrackRep.
Definition at line 184 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 184 of file LSLTrackRep.cxx
References extrapolate(), GFAbsTrackRep::fCov, GFAbsTrackRep::fDimension, and Jacobian().
|
virtual |
This method is to extrapolate the track to point of closest approach to a point in space.
There is an empty implementation of this method in GFAbsTrackRep.cxx, which will just abort with an error message. One can overwrite this method if one wishes to implement a track representation, which should have this feature. An example of an experiment in which you would not need this feature would be track fitting (not so much vertexing) in an experiment with only planar trackers like silicons or planar wire chambers and such. An example where you would need it, would be a TPC where you have to fit the track to space points, or other drift chambers with complicated hit topology. This method does NOT alter the state of the object!
Reimplemented from GFAbsTrackRep.
Definition at line 202 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 202 of file LSLTrackRep.cxx
References Acts::Test::dim, extrapolate(), GFAbsTrackRep::getDim(), GFDetPlane::getO(), Acts::PrimitivesView3DTest::plane, GFDetPlane::setO(), GFDetPlane::setU(), and GFDetPlane::setV().
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 126 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 126 of file LSLTrackRep.h
References GFAbsTrackRep::fInverted, and GFAbsTrackRep::fState.
Referenced by getGlobalCov().
|
virtual |
Definition at line 296 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 296 of file LSLTrackRep.cxx
References GFAbsTrackRep::getMom(), GFAbsTrackRep::getPos(), charm_jet_coverage::mom, and pos().
|
virtual |
Definition at line 307 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 307 of file LSLTrackRep.cxx
References GFAbsTrackRep::fCov, GFAbsTrackRep::fState, getCharge(), Acts::IntegrationTest::L, and p.
|
virtual |
Implements GFAbsTrackRep.
Definition at line 261 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 261 of file LSLTrackRep.cxx
References extrapolate(), GFAbsTrackRep::fInverted, GFAbsTrackRep::fState, GFDetPlane::getO(), p, and z.
|
virtual |
Implements GFAbsTrackRep.
Definition at line 251 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 251 of file LSLTrackRep.cxx
References extrapolate(), GFAbsTrackRep::fState, GFDetPlane::getO(), p, and z.
|
virtual |
Implements GFAbsTrackRep.
Definition at line 279 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 279 of file LSLTrackRep.cxx
References extrapolate(), GFAbsTrackRep::fInverted, GFAbsTrackRep::fState, GFDetPlane::getO(), charm_jet_coverage::mom, p, and z.
void LSLTrackRep::init | ( | const TVector3 & | pos, |
double | dxdz, | ||
double | dydz, | ||
double | invp, | ||
double | sigx, | ||
double | sigy, | ||
double | sigdxdz, | ||
double | sigdydz, | ||
double | siginvp, | ||
GFAbsBField * | field | ||
) |
Definition at line 83 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 83 of file LSLTrackRep.cxx
References _eqm, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, s, sigx, and sigy.
|
private |
Definition at line 227 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 227 of file LSLTrackRep.cxx
References Acts::UnitConstants::e, extrapolate(), GFAbsTrackRep::fState, and Acts::UnitConstants::h.
Referenced by extrapolate().
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 81 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 81 of file LSLTrackRep.h
References LSLTrackRep().
void LSLTrackRep::SetBField | ( | GFAbsBField * | b | ) |
Definition at line 111 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 111 of file LSLTrackRep.cxx
References _eqm.
|
inline |
Definition at line 96 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 96 of file LSLTrackRep.h
References Acts::Test::cov, GFDetPlane::getO(), s, and GFAbsTrackRep::setData().
|
inline |
Definition at line 100 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 100 of file LSLTrackRep.h
References _acc.
|
inline |
Definition at line 101 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 101 of file LSLTrackRep.h
References _adaptive.
|
virtual |
Definition at line 219 of file LSLTrackRep.cxx.
View newest version in sPHENIX GitHub at line 219 of file LSLTrackRep.cxx
References GFAbsTrackRep::extrapolate(), GFAbsTrackRep::fRefPlane, GFDetPlane::getO(), and GFDetPlane::setO().
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 129 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 129 of file LSLTrackRep.h
|
friend |
|
private |
Definition at line 143 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 143 of file LSLTrackRep.h
Referenced by extrapolate(), LSLTrackRep(), and setRungeKuttaAcc().
|
private |
Definition at line 144 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 144 of file LSLTrackRep.h
Referenced by extrapolate(), LSLTrackRep(), and setRungeKuttaAdaptive().
|
private |
Definition at line 146 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 146 of file LSLTrackRep.h
Referenced by extrapolate(), init(), LSLTrackRep(), SetBField(), and ~LSLTrackRep().
|
private |
Definition at line 129 of file LSLTrackRep.h.
View newest version in sPHENIX GitHub at line 129 of file LSLTrackRep.h
Referenced by extrapolate(), init(), LSLTrackRep(), and setData().