|
ATLAS Offline Software
|
#include <AlignTrack.h>
|
| AlignTrack (const Track &associatedTrack) |
| constructor takes the track containing the original TrackStateOnSurface objects More...
|
|
| AlignTrack (const Track &associatedTrack, AlignTSOSCollection *alignTSOSCollection) |
| constructor takes collection of alignTSOS and the track containing the original TrackStateOnSurface objects More...
|
|
| AlignTrack (const AlignTrack &alignTrack) |
| copy constructor More...
|
|
virtual | ~AlignTrack () |
| destructor More...
|
|
AlignTrack & | operator= (const AlignTrack &alignTrack) |
| assignment operator More...
|
|
void | setAlignTSOSCollection (AlignTSOSCollection *atsosColl) |
| sets collection of AlignTSOS More...
|
|
const AlignTSOSCollection * | alignTSOSCollection () const |
| returns collection of alignTSOS More...
|
|
AlignTSOSCollection::const_iterator | firstAtsos () const |
| retrieve iterator pointer to first element in collection More...
|
|
AlignTSOSCollection::const_iterator | lastAtsos () const |
| returns iterator pointer to last element in collection More...
|
|
AlignTSOSCollection::iterator | firstAtsos () |
| retrieve non-const iterator pointer to first element in collection More...
|
|
AlignTSOSCollection::iterator | lastAtsos () |
| returns non-const iterator pointer to last element in collection More...
|
|
const Track * | originalTrack () const |
| retrieve pointer to original track More...
|
|
void | setOriginalTrack (const Track *track) |
| set pointer to original track More...
|
|
AlignTrackType | type () const |
| get and set the refit type More...
|
|
void | setType (AlignTrackType type) |
|
void | doFindPerigee () const |
| For the AlignTrack, if there is pseudo-measurement in the TSOS collection, the perigee will not alway be in the first position. More...
|
|
bool | isSLTrack () const |
| method to determine whether a straight line track or not More...
|
|
void | dump (MsgStream &msg) |
| dump align track information More...
|
|
const Amg::SymMatrixX * | localErrorMatrix () const |
| local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar() More...
|
|
const Amg::SymMatrixX * | localErrorMatrixInv () const |
| inverse local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar() More...
|
|
int | nAlignTSOSMeas () const |
| number of alignTSOS (including scatterers if included on AlignTrack More...
|
|
const std::vector< AlignModuleDerivatives > * | derivatives () const |
| The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t. More...
|
|
void | setDerivatives (std::vector< AlignModuleDerivatives > *vec) |
|
const std::vector< AlignModuleDerivatives > * | derivativeErr () const |
| The Amg::VectorX is a vector of errors in first-derivatives of the alignTSOS on the alignTrack w.r.t. More...
|
|
void | setDerivativeErr (std::vector< AlignModuleDerivatives > *vec) |
|
const std::vector< std::pair< AlignModule *, std::vector< double > > > * | actualSecondDerivatives () const |
| The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t. More...
|
|
void | setActualSecondDerivatives (std::vector< std::pair< AlignModule *, std::vector< double > > > *vec) |
|
const Amg::VectorX * | residualVector () const |
| Vector of residuals of the alignTSOS on the alignTrack, to be set by AlignTrackDresser. More...
|
|
void | setResidualVector (Amg::VectorX *vec) |
|
const Amg::SymMatrixX * | weightMatrix () const |
| Weight matrix is W from Si alignment (see Eqn. More...
|
|
void | setWeightMatrix (Amg::SymMatrixX *mat) |
|
const Amg::SymMatrixX * | weightMatrixFirstDeriv () const |
| First deriv weight matrix can be either W from Si alignment (see Eqn. More...
|
|
void | setWeightMatrixFirstDeriv (Amg::SymMatrixX *mat) |
|
double | chi2 () const |
| locally calculated chi2 More...
|
|
void | setChi2 (double chi2) |
|
double | chi2dof () const |
| locally calculated chi2 More...
|
|
void | setChi2dof (double chi2dof) |
|
const Amg::MatrixX * | derivativeMatrix () const |
| set and get derivative matrix More...
|
|
void | setDerivativeMatrix (const Amg::MatrixX *matrix) |
|
const Amg::SymMatrixX * | fullCovarianceMatrix () const |
| set and get full covariance matrix More...
|
|
void | setFullCovarianceMatrix (const Amg::SymMatrixX *matrix) |
|
double | trackAlignParamQuality (int i) const |
| set and get array (one entry per alignment parameter) of fit chi2 of chi2 vs. More...
|
|
void | setTrackAlignParamQuality (int i, double val) |
|
const Trk::Track * | trackWithoutScattering () const |
| returns track with ScatteringAngle pointers all set to zero (used for refit by iPat) More...
|
|
const AlignVertex * | getVtx () const |
| set and get pointer to the associated vertex More...
|
|
AlignVertex * | getVtx () |
|
void | setVtx (AlignVertex *const vtx) |
|
bool | refitD0 () const |
| get refit flags More...
|
|
bool | refitZ0 () const |
|
bool | refitPhi () const |
|
bool | refitTheta () const |
|
bool | refitQovP () const |
|
void | setRefitD0 (bool flag) |
| set refit flags More...
|
|
void | setRefitZ0 (bool flag) |
|
void | setRefitPhi (bool flag) |
|
void | setRefitTheta (bool flag) |
|
void | setRefitQovP (bool flag) |
|
bool | isValid () const |
| returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates More...
|
|
const FitQuality * | fitQuality () const |
| return a pointer to the fit quality const-overload More...
|
|
FitQuality * | fitQuality () |
| return a pointer to the fit quality non-const overload More...
|
|
void | setFitQuality (std::unique_ptr< FitQuality > quality) |
| set FitQuality. More...
|
|
const Trk::TrackStates * | trackStateOnSurfaces () const |
| return a pointer to a const DataVector of const TrackStateOnSurfaces. More...
|
|
Trk::TrackStates * | trackStateOnSurfaces () |
| return a pointer to a DataVector of const TrackStateOnSurfaces. More...
|
|
void | setTrackStateOnSurfaces (std::unique_ptr< Trk::TrackStates > input) |
| Set the TrackStateOnSurfaces. More...
|
|
const TrackInfo & | info () const |
| Returns a const ref to info of a const tracks. More...
|
|
TrackInfo & | info () |
| returns a ref to the info. More...
|
|
void | setInfo (const TrackInfo &input) |
| set the info. More...
|
|
const Trk::TrackSummary * | trackSummary () const |
| Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr) More...
|
|
Trk::TrackSummary * | trackSummary () |
| Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr) More...
|
|
void | setTrackSummary (std::unique_ptr< Trk::TrackSummary > input) |
| Set the track summary. More...
|
|
const Perigee * | perigeeParameters () const |
| return Perigee. More...
|
|
const DataVector< const TrackParameters > * | trackParameters () const |
| Return a pointer to a vector of TrackParameters. More...
|
|
const DataVector< const MeasurementBase > * | measurementsOnTrack () const |
| return a pointer to a vector of MeasurementBase (NOT including any that come from outliers). More...
|
|
const DataVector< const MeasurementBase > * | outliersOnTrack () const |
| return a pointer to a vector of MeasurementBase, which represent outliers (i.e. More...
|
|
void | resetCaches () |
| reset all caches More...
|
|
Definition at line 41 of file AlignTrack.h.
◆ TSoS_iterator
◆ AlignTrackType
Enumerator |
---|
Unknown | default type
|
Original | not refitted, just copy constructed from original Track
|
NormalRefitted | normally refitted, without adding any pseudo-measurement
|
BeamspotConstrained | refitted with beamspot constraint
|
VertexConstrained | refitted with vertex constraint
|
VertexMember | Refitted with 3DoF from the VTX.
|
NTrackTypes | total number of track types
|
Definition at line 45 of file AlignTrack.h.
◆ AlignTrack() [1/4]
AlignTrack::AlignTrack |
( |
const Track & |
associatedTrack | ) |
|
◆ AlignTrack() [2/4]
◆ AlignTrack() [3/4]
copy constructor
Definition at line 80 of file AlignTrack.cxx.
90 new Amg::MatrixX(*(atrack.m_derivativeMatrix)) :
nullptr)
94 new std::vector<AlignModuleDerivatives>(*(atrack.m_derivatives)) :
nullptr)
96 new std::vector<AlignModuleDerivatives>(*(atrack.m_derivativeErr)) :
nullptr)
98 new std::vector<std::pair<
AlignModule*,std::vector<double> > > (*(atrack.m_actualSecondDerivatives)) :
nullptr)
110 if (atrack.m_trackWithoutScattering) {
114 for (
int i=0;
i<6;
i++)
118 if(atrack.m_alignTSOSCollection!=
nullptr) {
120 aTSOScoll->reserve(atrack.m_alignTSOSCollection->size());
121 AlignTSOSIt itAtsos_end = atrack.m_alignTSOSCollection->end();
122 for(
AlignTSOSIt itAtsos = atrack.m_alignTSOSCollection->begin(); itAtsos!=itAtsos_end; ++itAtsos) {
125 aTSOScoll->push_back(atsos);
◆ ~AlignTrack()
AlignTrack::~AlignTrack |
( |
| ) |
|
|
virtual |
◆ AlignTrack() [4/4]
Trk::AlignTrack::AlignTrack |
( |
| ) |
|
|
private |
◆ actualSecondDerivatives()
const std::vector<std::pair<AlignModule*,std::vector<double> > >* Trk::AlignTrack::actualSecondDerivatives |
( |
| ) |
const |
|
inline |
The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 146 of file AlignTrack.h.
◆ alignTSOSCollection()
returns collection of alignTSOS
Definition at line 267 of file AlignTrack.h.
◆ chi2()
double Trk::AlignTrack::chi2 |
( |
| ) |
const |
|
inline |
◆ chi2dof()
double Trk::AlignTrack::chi2dof |
( |
| ) |
const |
|
inline |
◆ copyHelper()
Helper method to factor common part of copy ctor and copy assignment.
Definition at line 56 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
61 if (rhs.fitQuality() !=
nullptr) {
62 m_fitQuality = std::make_unique<Trk::FitQuality>(*(rhs.m_fitQuality));
65 if (rhs.trackSummary() !=
nullptr) {
66 m_trackSummary = std::make_unique<Trk::TrackSummary>(*(rhs.m_trackSummary));
70 if (rhs.m_trackStateVector !=
nullptr) {
76 itTSoS != itTSoSEnd; ++itTSoS) {
77 assert(*itTSoS !=
nullptr);
79 TrackStateOnSurface* tsos = (**itTSoS).clone();
89 if (perigee !=
nullptr) {
◆ derivativeErr()
The Amg::VectorX is a vector of errors in first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 140 of file AlignTrack.h.
◆ derivativeMatrix()
◆ derivatives()
The Amg::VectorX is a vector of first-derivatives of the alignTSOS on the alignTrack w.r.t.
a particular alignment parameter. There is one Amg::VectorX in the vector for each alignment parameter of each align module. Set by DerivCalcTool.
Definition at line 133 of file AlignTrack.h.
◆ doFindPerigee()
void Trk::AlignTrack::doFindPerigee |
( |
| ) |
const |
|
inline |
For the AlignTrack, if there is pseudo-measurement in the TSOS collection, the perigee will not alway be in the first position.
We should explicitly do the perigee finding. Fortunately, base Class already has a protected function which loop over the TSOS colleciton to do perigee search and assigin the perigee parameters at the perigee. Just call it
Definition at line 104 of file AlignTrack.h.
◆ dump()
void AlignTrack::dump |
( |
MsgStream & |
msg | ) |
|
dump align track information
Definition at line 316 of file AlignTrack.cxx.
323 for (
int iatsos=0;iatsos<natsos;iatsos++) {
324 const AlignTSOS* atsos=(*m_alignTSOSCollection)[iatsos];
325 std::vector<Residual>::const_iterator itRes = atsos->firstResidual();
326 std::vector<Residual>::const_iterator itRes_end = atsos->lastResidual();
327 for ( ; itRes != itRes_end; ++itRes,++imeas) {
328 double resNorm = itRes->residualNorm();
329 chi2 += resNorm*resNorm;
◆ dumpLessTrackInfo()
void AlignTrack::dumpLessTrackInfo |
( |
const Track & |
track, |
|
|
MsgStream & |
msg |
|
) |
| |
|
static |
dump less track information
Definition at line 276 of file AlignTrack.cxx.
279 for (
const TrackStateOnSurface* tsos : *
track.trackStateOnSurfaces()) {
280 msg<<
"ntsos "<<ntsos<<
":"<<
", type "<<tsos->dumpType();
291 msg <<
"," << ( tsos->fitQualityOnSurface() )<<
endmsg;
296 const MaterialEffectsBase* meb = tsos->materialEffectsOnTrack();
297 const MaterialEffectsOnTrack* meot =
dynamic_cast<const MaterialEffectsOnTrack*
>(meb);
301 if (meot->scatteringAngles())
309 msg <<
", hmm... no material effects on track!"<<
endmsg;
◆ dumpTrackInfo()
void AlignTrack::dumpTrackInfo |
( |
const Track & |
track, |
|
|
MsgStream & |
msg |
|
) |
| |
|
static |
dump track information
Definition at line 269 of file AlignTrack.cxx.
271 for (
const TrackStateOnSurface* tsos : *
track.trackStateOnSurfaces())
◆ findPerigee()
void Track::findPerigee |
( |
| ) |
const |
|
protectedinherited |
◆ findPerigeeImpl()
void Track::findPerigeeImpl |
( |
| ) |
const |
|
privateinherited |
find PerigeeImpl.
Assumes that Perigee parameters are currently inValid.
Definition at line 129 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
144 for (;
it != itEnd; ++
it) {
152 if (tmpPerigeeParameters !=
nullptr) {
158 if (tmpPerigeeParameters) {
◆ firstAtsos() [1/2]
retrieve non-const iterator pointer to first element in collection
Definition at line 282 of file AlignTrack.h.
◆ firstAtsos() [2/2]
retrieve iterator pointer to first element in collection
Definition at line 279 of file AlignTrack.h.
◆ fitQuality() [1/2]
return a pointer to the fit quality non-const overload
◆ fitQuality() [2/2]
return a pointer to the fit quality const-overload
◆ fullCovarianceMatrix()
set and get full covariance matrix
Definition at line 177 of file AlignTrack.h.
◆ getVtx() [1/2]
◆ getVtx() [2/2]
set and get pointer to the associated vertex
Definition at line 188 of file AlignTrack.h.
◆ info() [1/2]
returns a ref to the info.
non-const overload
◆ info() [2/2]
Returns a const ref to info of a const tracks.
◆ isSLTrack() [1/2]
bool AlignTrack::isSLTrack |
( |
| ) |
const |
method to determine whether a straight line track or not
Definition at line 263 of file AlignTrack.cxx.
◆ isSLTrack() [2/2]
static method to determine whether a track is straight line or not
Definition at line 241 of file AlignTrack.cxx.
251 for(
int i=0;
i<5;++
i )
253 for(
int i=0;
i<4;++
i )
◆ isValid()
bool Trk::Track::isValid |
( |
| ) |
const |
|
inherited |
returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates
◆ lastAtsos() [1/2]
returns non-const iterator pointer to last element in collection
Definition at line 283 of file AlignTrack.h.
◆ lastAtsos() [2/2]
returns iterator pointer to last element in collection
Definition at line 280 of file AlignTrack.h.
◆ localErrorMatrix()
◆ localErrorMatrixInv()
inverse local error matrix, calculated by AlignTrack by calling atsos->hitDistanceVar()
Definition at line 125 of file AlignTrack.h.
◆ measurementsOnTrack()
◆ nAlignTSOSMeas()
int Trk::AlignTrack::nAlignTSOSMeas |
( |
| ) |
const |
|
inline |
◆ numberOfInstantiations()
◆ operator=()
assignment operator
Definition at line 142 of file AlignTrack.cxx.
155 m_vtx = atrack.m_vtx;
162 for (
int i=0;
i<6;
i++)
167 if(atrack.m_alignTSOSCollection!=
nullptr) {
169 aTSOScoll->reserve(atrack.m_alignTSOSCollection->size());
170 AlignTSOSIt itAtsos_end = atrack.m_alignTSOSCollection->end();
171 for(
AlignTSOSIt itAtsos = atrack.m_alignTSOSCollection->begin(); itAtsos!=itAtsos_end; ++itAtsos) {
174 aTSOScoll->push_back(atsos);
186 new std::vector<AlignModuleDerivatives>(*(atrack.m_derivatives)) : nullptr;
189 new std::vector<AlignModuleDerivatives>(*(atrack.m_derivativeErr)) : nullptr;
192 new std::vector<std::pair<AlignModule*,std::vector<double> > > (*(atrack.m_actualSecondDerivatives)) : nullptr;
201 new Amg::MatrixX(*(atrack.m_derivativeMatrix)) : nullptr;
◆ originalTrack()
const Track* Trk::AlignTrack::originalTrack |
( |
| ) |
const |
|
inline |
retrieve pointer to original track
Definition at line 90 of file AlignTrack.h.
◆ outliersOnTrack()
return a pointer to a vector of MeasurementBase, which represent outliers (i.e.
measurements not used in the track fit). This DataVector is created lazily by this method and then cached.
- Returns
- Pointer to a DV of MeasurementBase, representing outliers. The MeasurementBases are not owned by the DV (it is a view)
Definition at line 210 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
224 assert(rot !=
nullptr);
225 tmpOutlierVector.push_back(rot);
◆ perigeeParameters()
return Perigee.
Can be nullptr if no perigee parameters were assigned to the Track.
This method performs lazy initialization and caches the result.
PLEASE NOTE! if there is more than one Perigee in trackStateOnSurfaces (which there shouldn't be!!), only the first one will be returned by Trk::Track::perigeeParameters Although the Perigee is just a type of TrackParameter, it has a dedicated method because of the specific physics interest
Definition at line 163 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
◆ refitD0()
bool Trk::AlignTrack::refitD0 |
( |
| ) |
const |
|
inline |
◆ refitPhi()
bool Trk::AlignTrack::refitPhi |
( |
| ) |
const |
|
inline |
◆ refitQovP()
bool Trk::AlignTrack::refitQovP |
( |
| ) |
const |
|
inline |
◆ refitTheta()
bool Trk::AlignTrack::refitTheta |
( |
| ) |
const |
|
inline |
◆ refitZ0()
bool Trk::AlignTrack::refitZ0 |
( |
| ) |
const |
|
inline |
◆ resetCaches()
void Trk::Track::resetCaches |
( |
| ) |
|
|
inherited |
◆ residualVector()
◆ setActualSecondDerivatives()
void Trk::AlignTrack::setActualSecondDerivatives |
( |
std::vector< std::pair< AlignModule *, std::vector< double > > > * |
vec | ) |
|
|
inline |
◆ setAlignParameters()
void Trk::AlignTrack::setAlignParameters |
( |
| ) |
|
|
private |
sets derivatives of alignment parameters
◆ setAlignTSOSCollection()
sets collection of AlignTSOS
Definition at line 341 of file AlignTrack.cxx.
347 for (
int iatsos=0;iatsos<natsos;iatsos++)
359 for ( ; itAtsos != itAtsos_end; ++itAtsos) {
361 std::vector<Residual>::const_iterator itRes = atsos->firstResidual();
362 std::vector<Residual>::const_iterator itRes_end = atsos->lastResidual();
363 for ( ; itRes != itRes_end; ++itRes) {
364 (*m_localErrorMat)(matrixindex,matrixindex) = itRes->errSq();
365 (*m_localErrorMatInv)(matrixindex,matrixindex) = 1./itRes->errSq();
◆ setChi2()
void Trk::AlignTrack::setChi2 |
( |
double |
chi2 | ) |
|
|
inline |
◆ setChi2dof()
void Trk::AlignTrack::setChi2dof |
( |
double |
chi2dof | ) |
|
|
inline |
◆ setDerivativeErr()
◆ setDerivativeMatrix()
◆ setDerivatives()
◆ setFitQuality()
void Trk::Track::setFitQuality |
( |
std::unique_ptr< FitQuality > |
quality | ) |
|
|
inherited |
◆ setFullCovarianceMatrix()
◆ setInfo()
◆ setOriginalTrack()
void Trk::AlignTrack::setOriginalTrack |
( |
const Track * |
track | ) |
|
|
inline |
set pointer to original track
Definition at line 93 of file AlignTrack.h.
◆ setRefitD0()
void Trk::AlignTrack::setRefitD0 |
( |
bool |
flag | ) |
|
|
inline |
◆ setRefitPhi()
void Trk::AlignTrack::setRefitPhi |
( |
bool |
flag | ) |
|
|
inline |
◆ setRefitQovP()
void Trk::AlignTrack::setRefitQovP |
( |
bool |
flag | ) |
|
|
inline |
◆ setRefitTheta()
void Trk::AlignTrack::setRefitTheta |
( |
bool |
flag | ) |
|
|
inline |
◆ setRefitZ0()
void Trk::AlignTrack::setRefitZ0 |
( |
bool |
flag | ) |
|
|
inline |
◆ setResidualVector()
void Trk::AlignTrack::setResidualVector |
( |
Amg::VectorX * |
vec | ) |
|
|
inline |
◆ setTrackAlignParamQuality()
void Trk::AlignTrack::setTrackAlignParamQuality |
( |
int |
i, |
|
|
double |
val |
|
) |
| |
|
inline |
◆ setTrackStateOnSurfaces()
void Trk::Track::setTrackStateOnSurfaces |
( |
std::unique_ptr< Trk::TrackStates > |
input | ) |
|
|
inherited |
Set the TrackStateOnSurfaces.
◆ setTrackSummary()
◆ setType()
◆ setVtx()
◆ setWeightMatrix()
◆ setWeightMatrixFirstDeriv()
◆ trackAlignParamQuality()
double Trk::AlignTrack::trackAlignParamQuality |
( |
int |
i | ) |
const |
|
inline |
set and get array (one entry per alignment parameter) of fit chi2 of chi2 vs.
alignment params (used for numerical derivatives)
Definition at line 181 of file AlignTrack.h.
◆ trackParameters()
Return a pointer to a vector of TrackParameters.
It is created Lazily by this method and then cached.
- Returns
- Pointer to a DV of TrackParameters, or 0. The TrackParameters are not owned by the DV (it is a view)
Definition at line 97 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
◆ trackStateOnSurfaces() [1/2]
return a pointer to a DataVector of const TrackStateOnSurfaces.
non-const overload
◆ trackStateOnSurfaces() [2/2]
return a pointer to a const DataVector of const TrackStateOnSurfaces.
const overload
◆ trackSummary() [1/2]
◆ trackSummary() [2/2]
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)
◆ trackWithoutScattering()
returns track with ScatteringAngle pointers all set to zero (used for refit by iPat)
Definition at line 423 of file AlignTrack.cxx.
428 if (!states)
return nullptr;
435 auto newTrackStateOnSurfaces = std::make_unique<Trk::TrackStates>();
436 newTrackStateOnSurfaces->reserve(
states->size() );
438 for (; tsit!=tsit_end ; ++tsit) {
439 auto newMeas = (*tsit)->measurementOnTrack() ? (*tsit)->measurementOnTrack()->uniqueClone() :
nullptr;
440 auto newPars = (*tsit)->trackParameters() ? (*tsit)->trackParameters()->uniqueClone() :
nullptr;
441 auto newFitQoS= (*tsit)->fitQualityOnSurface();
442 auto meb = (*tsit)->materialEffectsOnTrack() ? (*tsit)->materialEffectsOnTrack()->uniqueClone() :
nullptr;
449 std::unique_ptr<Trk::EnergyLoss> eLoss =
451 ? std::unique_ptr<Trk::EnergyLoss>(meot->energyLoss()->clone())
454 std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes> typeMaterial;
462 std::bitset<TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern;
473 newTrackStateOnSurfaces->push_back(newTsos);
480 return m_trackWithoutScattering.get();
◆ type()
get and set the refit type
Definition at line 96 of file AlignTrack.h.
◆ weightMatrix()
Weight matrix is W from Si alignment (see Eqn.
10 of INDET-PUB-2005-002).
It is related to the residual covariance matrix from TRT alignment by W= V^{-1}RV (R is defined in Eqn. 18 of ATL-INDET-PUB-2007-009).
Definition at line 156 of file AlignTrack.h.
◆ weightMatrixFirstDeriv()
First deriv weight matrix can be either W from Si alignment (see Eqn.
10 of INDET-PUB-2005-002) or the inverse local error matrix
Definition at line 161 of file AlignTrack.h.
◆ m_actualSecondDerivatives
std::vector<std::pair<AlignModule *,std::vector<double> > >* Trk::AlignTrack::m_actualSecondDerivatives |
|
private |
◆ m_alignTSOSCollection
collection of alignTSOS that make up the alignTrack
Definition at line 223 of file AlignTrack.h.
◆ m_cachedMeasurementVector
◆ m_cachedOutlierVector
◆ m_cachedParameterVector
◆ m_chi2
double Trk::AlignTrack::m_chi2 |
|
private |
◆ m_chi2dof
double Trk::AlignTrack::m_chi2dof |
|
private |
◆ m_derivativeErr
◆ m_derivativeMatrix
matrix containing derivative matrix from track fitter
Definition at line 232 of file AlignTrack.h.
◆ m_derivatives
◆ m_fitQuality
std::unique_ptr<FitQuality> Trk::Track::m_fitQuality {nullptr} |
|
protectedinherited |
◆ m_fullCovarianceMatrix
matrix containing full covariance matrix from track fitter
Definition at line 235 of file AlignTrack.h.
◆ m_localErrorMat
matrix containing local error matrices along diagonal
Definition at line 226 of file AlignTrack.h.
◆ m_localErrorMatInv
inverse matrix containing local error matrices along diagonal
Definition at line 229 of file AlignTrack.h.
◆ m_nAlignTSOSMeas
int Trk::AlignTrack::m_nAlignTSOSMeas |
|
private |
◆ m_originalTrack
◆ m_perigeeParameters
◆ m_refitD0
bool Trk::AlignTrack::m_refitD0 |
|
private |
◆ m_refitPhi
bool Trk::AlignTrack::m_refitPhi |
|
private |
◆ m_refitQovP
bool Trk::AlignTrack::m_refitQovP |
|
private |
◆ m_refitTheta
bool Trk::AlignTrack::m_refitTheta |
|
private |
◆ m_refitZ0
bool Trk::AlignTrack::m_refitZ0 |
|
private |
◆ m_residuals
◆ m_trackAlignParamQuality
double* Trk::AlignTrack::m_trackAlignParamQuality |
|
private |
◆ m_trackInfo
◆ m_trackStateVector
std::unique_ptr<TrackStates> Trk::Track::m_trackStateVector = nullptr |
|
protectedinherited |
◆ m_trackSummary
◆ m_trackWithoutScattering
describes the quality of contribution to track to alignment parameter (used by shifting derivatives)
Definition at line 259 of file AlignTrack.h.
◆ m_type
◆ m_vtx
pointer to the associated vertex
Definition at line 249 of file AlignTrack.h.
◆ m_weights
◆ m_weightsFirstDeriv
◆ s_numberOfInstantiations
The documentation for this class was generated from the following files:
void setAlignTSOSCollection(AlignTSOSCollection *atsosColl)
sets collection of AlignTSOS
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
Const iterator class for DataVector/DataList.
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
DataVector< AlignTSOS > AlignTSOSCollection
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedMeasurementVector
A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see ...
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
const Amg::SymMatrixX * m_fullCovarianceMatrix
matrix containing full covariance matrix from track fitter
@ VertexMember
Refitted with 3DoF from the VTX.
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
std::vector< std::pair< AlignModule *, std::vector< double > > > * m_actualSecondDerivatives
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Amg::SymMatrixX * m_localErrorMatInv
inverse matrix containing local error matrices along diagonal
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
CxxUtils::CachedValue< DataVector< const TrackParameters > > m_cachedParameterVector
A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters,...
Amg::VectorX * m_residuals
std::unique_ptr< T_Obj > uniqueClone(const T_Obj *obj)
const_iterator cend() const noexcept
Return a const_iterator pointing past the end of the collection.
double thicknessInX0() const
returns the actually traversed material .
double * m_trackAlignParamQuality
Trk::TrackStates::const_iterator TSoS_iterator
Amg::SymMatrixX * m_localErrorMat
matrix containing local error matrices along diagonal
bool isSLTrack() const
method to determine whether a straight line track or not
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedOutlierVector
These objects represent the "outliers" on the track.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
const Track * m_originalTrack
point to original track
std::vector< AlignModuleDerivatives > * m_derivativeErr
int m_nAlignTSOSMeas
variables
std::unique_ptr< FitQuality > m_fitQuality
A pointer to the Track's FitQuality.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
std::vector< AlignModuleDerivatives > * m_derivatives
std::unique_ptr< Trk::TrackSummary > m_trackSummary
Datamember to cache the TrackSummary.
AmgSymMatrix(5) &GXFTrackState
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
represents the full description of deflection and e-loss of a track in material.
void findPerigee() const
Find perigee in the vector of track parameters.
CxxUtils::CachedValue< const Perigee * > m_perigeeParameters
A pointer to the Track's Perigee parameters.
AlignTSOSCollection::const_iterator firstAtsos() const
retrieve iterator pointer to first element in collection
@ BeamspotConstrained
refitted with beamspot constraint
Track()=default
Default constructor Here for POOL and simple tests.
double chi2dof() const
locally calculated chi2
std::unique_ptr< TrackStates > m_trackStateVector
TrackStateOnSurface.
AlignTSOS is a TSOS with extra variables useful for alignment. It is created using an implementation ...
const Amg::MatrixX * m_derivativeMatrix
matrix containing derivative matrix from track fitter
CxxUtils::CachedUniquePtr< Trk::Track > m_trackWithoutScattering
describes the quality of contribution to track to alignment parameter (used by shifting derivatives)
Amg::MatrixX * m_weightsFirstDeriv
Trk::TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted, which properties th...
const DataVector< const TrackParameters > * trackParameters() const
Return a pointer to a vector of TrackParameters.
represents the track state (measurement, material, fit parameters and quality) at a surface.
@ InertMaterial
This represents inert material, and so will contain MaterialEffectsBase.
ParametersBase< TrackParametersDim, Charged > TrackParameters
@ EnergyLossEffects
contains energy loss corrections
AlignVertex * m_vtx
pointer to the associated vertex
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
AlignTSOSCollection * m_alignTSOSCollection
collection of alignTSOS that make up the alignTrack
DataVector< AlignTSOS >::const_iterator AlignTSOSIt
const AlignTSOSCollection * alignTSOSCollection() const
returns collection of alignTSOS
AlignTrackType m_type
refit type of this alignTrack
double chi2() const
locally calculated chi2
static std::atomic_size_t s_numberOfInstantiations
@ Original
not refitted, just copy constructed from original Track
@ NormalRefitted
normally refitted, without adding any pseudo-measurement
Track & operator=(const Track &rhs)
assignment operator
@ Scatterer
This represents a scattering point on the track, and so will contain TrackParameters and MaterialEffe...
const_iterator cbegin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
void findPerigeeImpl() const
find PerigeeImpl.
@ NTrackTypes
total number of track types
@ VertexConstrained
refitted with vertex constraint
size_type size() const noexcept
Returns the number of elements in the collection.
@ NumberOfTrackStateOnSurfaceTypes
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
AlignTSOSCollection::const_iterator lastAtsos() const
returns iterator pointer to last element in collection
AlignTrackType type() const
get and set the refit type
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > SymMatrixX