|
CbmRoot
|
The class describes the particle's trajectory along its entire length. More...
#include <KfTrajectory.h>
Classes | |
| class | Node |
| The class represent a node on the trajectory. More... | |
Public Member Functions | |
| Trajectory ()=default | |
| Default constructor. | |
| Trajectory (std::shared_ptr< const Setup< T > > kfSetup) | |
| ~Trajectory ()=default | |
| Destructor. | |
| Trajectory (const Trajectory &other)=default | |
| Copy constructor. | |
| Trajectory & | operator= (const Trajectory &other)=default |
| Assignment operator. | |
| Trajectory (Trajectory &&other) noexcept=default | |
| Move constructor. | |
| Trajectory & | operator= (Trajectory &&other) noexcept=default |
| Move assignment operator. | |
| void | SetKfSetup (std::shared_ptr< const Setup< T > > kfSetup) |
| Set Kalman Filter setup. | |
| size_t | GetNofNodes () const |
| Get number of nodes on the trajectory. | |
| const Node & | GetNode (const size_t index) const |
| Get const reference to the node by its index. | |
| const std::vector< Node > & | GetNodes () const |
| Get reference to the vector of nodes. | |
| const std::array< int, 10 > & | GetNodeUserReferences (const size_t index) const |
| Get user reference of the node by its index. | |
| std::array< int, 10 > & | GetNodeUserReferences (const size_t index) |
| Get reference to the user references of the node by its index. | |
| int | GetFirstMeasurementNodeId () const |
| Get index of the first node with measurement. | |
| int | GetLastMeasurementNodeId () const |
| Get index of the last node with measurement. | |
| const Node & | GetFirstMeasurementNode () const |
| Get reference to the first node with measurement. | |
| const Node & | GetLastMeasurementNode () const |
| Get reference to the last node with measurement. | |
| int | GetNofMeasurements () const |
| Get number of nodes with measurements. | |
| bool | IsFitted () const |
| Check if the trajectory is fitted. | |
| bool | IsFullyExtrapolated () const |
| Check if the trajectory is extrapolated beyond the first and last measurements. | |
| double | GetQaChi2Downstream () const |
| Get chi2 from the downstream fit iteration, needed for QA. | |
| void | Clear () |
| Clear the trajectory. | |
| void | AddNode (const Node &node) |
| Add a node to the trajectory. | |
| void | AddNodes (const std::vector< Node > &nodes) |
| Add multiple nodes to the trajectory. | |
| void | DisableMeasurementAtNode (const size_t index) |
| Disable measurement at the given node. | |
| void | ModifyNode (const size_t index, const Node &node) |
| Modify node at the given index. | |
Protected Member Functions | |
| void | MakeConsistent () |
| sort the nodes in Z, add missing material layers and set fFirstMeasureNode and fLastMeasureNode | |
| Node & | GetNodeReference (const size_t index) |
| Get reference to the node by its index. | |
Protected Attributes | |
| std::shared_ptr< const Setup< T > > | fKfSetup {} |
| Kalman Filter setup. | |
| std::vector< Node > | fNodes {} |
| nodes on the trajectory | |
| int | fFirstMeasurementNodeId {-1} |
| index of the first node with measurement | |
| int | fLastMeasurementNodeId {-1} |
| index of the last node with measurement | |
| int | fNmeasurements {-1} |
| number of nodes with measurements | |
| bool | fIsFitted |
| true if the trajectory at all the nodes between the first and the last measurements are fitted | |
| bool | fIsFullyExtrapolated |
| true if the trajectory is successfully extrapolated beyond the first and last measurements | |
| T | fQaChi2Downstream {-1.} |
| chi2 from the downstream fit iteration, needed for QA | |
Friends | |
| template<cbm::algo::kf::DoFitTime> | |
| class | ::CbmKfTrackFitter |
| class | ::CbmBbaAlignTask |
| class | ::CbmBbaAlignmentMcbmTask |
The class describes the particle's trajectory along its entire length.
The trajectory is split into continuous segments between breakpoints (nodes).
The nodes are points on the trajectory where the track parameters are:
a) measured and / or b) scattered in the material (breakpoints) and / or c) need to be estimated
Each node contains the fitted track parameters before and after the breakpoint, measurements, and material information.
The nodes are expected to be ordered by increasing Z.
It can be done via the OrderNodesInZ() method.
To be used together with the kf::TrajectoryFitter class
Definition at line 49 of file KfTrajectory.h.
|
default |
Default constructor.
Referenced by operator=(), operator=(), Trajectory(), and Trajectory().
|
inline |
| kfSetup | Kalman Filter setup |
Definition at line 109 of file KfTrajectory.h.
References fKfSetup.
|
default |
Destructor.
|
default |
Copy constructor.
References Trajectory().
|
defaultnoexcept |
Move constructor.
References Trajectory().
|
inline |
Add a node to the trajectory.
Definition at line 189 of file KfTrajectory.h.
References fNodes, and MakeConsistent().
|
inline |
Add multiple nodes to the trajectory.
Definition at line 196 of file KfTrajectory.h.
References fNodes, and MakeConsistent().
Referenced by CbmRecoQaTask::Exec().
|
inline |
Clear the trajectory.
Definition at line 177 of file KfTrajectory.h.
References fFirstMeasurementNodeId, fIsFitted, fIsFullyExtrapolated, fLastMeasurementNodeId, fNmeasurements, fNodes, and fQaChi2Downstream.
Referenced by CbmKfTrackFitter< FlagFitTime >::CreateFromGlobalTrack(), and CbmKfTrackFitter< FlagFitTime >::CreateFromMvdStsTrack().
|
inline |
Disable measurement at the given node.
Definition at line 206 of file KfTrajectory.h.
References fFirstMeasurementNodeId, fLastMeasurementNodeId, fNmeasurements, and fNodes.
Referenced by CbmRecoQaTask::Exec().
|
inline |
Get reference to the first node with measurement.
Definition at line 151 of file KfTrajectory.h.
References fFirstMeasurementNodeId, and fNodes.
Referenced by CbmBbaAlignmentMcbmTask::Exec().
|
inline |
Get index of the first node with measurement.
Definition at line 145 of file KfTrajectory.h.
References fFirstMeasurementNodeId.
Referenced by CbmKfTrackFitter< FlagFitTime >::FitTrajectory().
|
inline |
Get reference to the last node with measurement.
Definition at line 158 of file KfTrajectory.h.
References fLastMeasurementNodeId, and fNodes.
|
inline |
Get index of the last node with measurement.
Definition at line 148 of file KfTrajectory.h.
References fLastMeasurementNodeId.
Referenced by CbmKfTrackFitter< FlagFitTime >::FitTrajectory().
|
inline |
Get const reference to the node by its index.
Definition at line 133 of file KfTrajectory.h.
References fNodes.
Referenced by CbmBbaAlignmentMcbmTask::Exec(), CbmRecoQaTask::Exec(), and CbmBbaAlignTask::SelectTracks().
|
inlineprotected |
Get reference to the node by its index.
Definition at line 246 of file KfTrajectory.h.
References fNodes.
Referenced by CbmBbaAlignTask::SelectTracks().
|
inline |
Get reference to the vector of nodes.
Definition at line 136 of file KfTrajectory.h.
References fNodes.
Referenced by CbmRecoQaTask::FilterTrack().
|
inline |
Get reference to the user references of the node by its index.
Definition at line 142 of file KfTrajectory.h.
References fNodes.
|
inline |
Get user reference of the node by its index.
Definition at line 139 of file KfTrajectory.h.
References fNodes.
|
inline |
Get number of nodes with measurements.
Definition at line 165 of file KfTrajectory.h.
References fNmeasurements.
Referenced by CbmKfFitTracksTask::Exec(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryDownstream(), and CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream().
|
inline |
Get number of nodes on the trajectory.
Definition at line 130 of file KfTrajectory.h.
References fNodes.
Referenced by CbmBbaAlignmentMcbmTask::Exec(), CbmRecoQaTask::Exec(), and CbmBbaAlignTask::SelectTracks().
|
inline |
Get chi2 from the downstream fit iteration, needed for QA.
Definition at line 174 of file KfTrajectory.h.
References fQaChi2Downstream.
|
inline |
Check if the trajectory is fitted.
Definition at line 168 of file KfTrajectory.h.
References fIsFitted.
Referenced by CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryDownstream(), and CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream().
|
inline |
Check if the trajectory is extrapolated beyond the first and last measurements.
Definition at line 171 of file KfTrajectory.h.
References fIsFullyExtrapolated.
Referenced by CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryDownstream(), and CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream().
|
inlineprotected |
sort the nodes in Z, add missing material layers and set fFirstMeasureNode and fLastMeasureNode
Definition at line 14 of file KfTrajectory.cxx.
References fFirstMeasurementNodeId, fIsFitted, fIsFullyExtrapolated, fKfSetup, fLastMeasurementNodeId, fNmeasurements, fNodes, fQaChi2Downstream, cbm::algo::kf::Trajectory< T >::Node::materialLayer, and cbm::algo::kf::Trajectory< T >::Node::z.
Referenced by AddNode(), AddNodes(), CbmKfTrackFitter< FlagFitTime >::CreateFromGlobalTrack(), and ModifyNode().
|
inline |
Modify node at the given index.
Definition at line 235 of file KfTrajectory.h.
References fNodes, and MakeConsistent().
Referenced by CbmBbaAlignmentMcbmTask::Exec().
|
default |
Assignment operator.
References Trajectory().
|
defaultnoexcept |
Move assignment operator.
References Trajectory().
|
inline |
|
friend |
Definition at line 56 of file KfTrajectory.h.
|
friend |
Definition at line 55 of file KfTrajectory.h.
|
friend |
Definition at line 53 of file KfTrajectory.h.
|
protected |
index of the first node with measurement
Definition at line 253 of file KfTrajectory.h.
Referenced by Clear(), CbmKfTrackFitter< FlagFitTime >::CreateFromGlobalTrack(), DisableMeasurementAtNode(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryDownstream(), GetFirstMeasurementNode(), GetFirstMeasurementNodeId(), and MakeConsistent().
|
protected |
true if the trajectory at all the nodes between the first and the last measurements are fitted
Definition at line 257 of file KfTrajectory.h.
Referenced by Clear(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), IsFitted(), and MakeConsistent().
|
protected |
true if the trajectory is successfully extrapolated beyond the first and last measurements
Definition at line 260 of file KfTrajectory.h.
Referenced by Clear(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), IsFullyExtrapolated(), and MakeConsistent().
|
protected |
Kalman Filter setup.
Definition at line 249 of file KfTrajectory.h.
Referenced by MakeConsistent(), SetKfSetup(), and Trajectory().
|
protected |
index of the last node with measurement
Definition at line 254 of file KfTrajectory.h.
Referenced by Clear(), CbmKfTrackFitter< FlagFitTime >::CreateFromGlobalTrack(), DisableMeasurementAtNode(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream(), GetLastMeasurementNode(), GetLastMeasurementNodeId(), and MakeConsistent().
|
protected |
number of nodes with measurements
Definition at line 255 of file KfTrajectory.h.
Referenced by Clear(), DisableMeasurementAtNode(), GetNofMeasurements(), and MakeConsistent().
|
protected |
nodes on the trajectory
Definition at line 251 of file KfTrajectory.h.
Referenced by AddNode(), AddNodes(), Clear(), CbmKfTrackFitter< FlagFitTime >::CreateFromGlobalTrack(), DisableMeasurementAtNode(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryDownstream(), CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream(), GetFirstMeasurementNode(), GetLastMeasurementNode(), GetNode(), GetNodeReference(), GetNodes(), GetNodeUserReferences(), GetNodeUserReferences(), GetNofNodes(), MakeConsistent(), and ModifyNode().
|
protected |
chi2 from the downstream fit iteration, needed for QA
Definition at line 263 of file KfTrajectory.h.
Referenced by Clear(), CbmKfTrackFitter< FlagFitTime >::FitTrajectory(), GetQaChi2Downstream(), and MakeConsistent().