8#include <tracking/trackFindingCDC/filters/segmentPair/FitSegmentPairVarSet.h>
10#include <tracking/trackFindingCDC/fitting/CDCAxialStereoFusion.h>
12#include <tracking/trackingUtilities/eventdata/tracks/CDCSegmentPair.h>
13#include <tracking/trackingUtilities/eventdata/trajectories/CDCTrajectory3D.h>
14#include <tracking/trackingUtilities/geometry/HelixParameters.h>
15#include <tracking/trackingUtilities/geometry/Vector3D.h>
18using namespace TrackFindingCDC;
19using namespace TrackingUtilities;
29 if (not ptrSegmentPair)
return false;
40 Vector3D support3D = fit.getSupport();
46 finitevar<
named(
"curv")>() = fit.isFitted() ? fit.getCurvatureXY() : NAN;
Utility class implementing the Kalmanesk combination of to two dimensional trajectories to one three ...
void reconstructFuseTrajectories(const TrackingUtilities::CDCSegmentPair &segmentPair)
Combine the two trajectories of the segments in the pair and assign the resulting three dimensional t...
void fusePreliminary(const TrackingUtilities::CDCSegmentPair &segmentPair)
Fit the given segment pair using the preliminary helix fit without proper covariance matrix.
TrackingUtilities::VarSet< FitSegmentPairVarNames > Super
Type of the base class.
bool extract(const TrackingUtilities::CDCSegmentPair *ptrSegmentPair) final
Generate and assign the contained variables.
FitSegmentPairVarSet(bool preliminaryFit=false)
Construct the varset with a switch to only do the prelimiary axial stereo fusion fit.
bool m_preliminaryFit
Indicator that only the prelimiary fit should be used.
std::vector< Named< Float_t * > > getNamedVariables()
Getter for the named references to the individual variables.
Class representing a pair of one reconstructed axial segment and one stereo segment in adjacent super...
CDCTrajectory3D & getTrajectory3D() const
Getter for the three dimensional trajectory.
Particle full three dimensional trajectory.
AssignFinite< Float_t > finitevar()
static constexpr int named(const char *name)
double z() const
Getter for the z coordinate.
HepGeom::Vector3D< double > Vector3D
3D Vector
Namespace to hide the contained enum constants.
Abstract base class for different kinds of events.