10#include <tracking/trackFindingCDC/fitting/CDCFitter2D.h>
12#include <tracking/trackFindingCDC/fitting/CDCObservations2D.h>
14#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory2D.h>
16#include <tracking/trackFindingCDC/fitting/EFitVariance.h>
17#include <tracking/trackFindingCDC/fitting/EFitPos.h>
24 namespace TrackFindingCDC {
26 template <
class AFitMethod>
34 template <
class AFitMethod>
37 template <
class AFitMethod>
43 template <
class AFitMethod>
47 update(result, observations2D);
51 template <
class AFitMethod>
58 template <
class AFitMethod>
61 AFitMethod::update(trajectory2D, observations2D);
64 template <
class AFitMethod>
70 template <
class AFitMethod>
76 template <
class AFitMethod>
82 template <
class AFitMethod>
88 template <
class AFitMethod>
94 template <
class AFitMethod>
100 template <
class AFitMethod>
107 template <
class AFitMethod>
114 template <
class AFitMethod>
121 template <
class AFitMethod>
122 template <
class AHits>
130 template <
class AFitMethod>
131 template <
class AStartHits,
class AEndHits>
140 template <
class AFitMethod>
141 template <
class AStartHits,
class AEndHits>
143 const AStartHits& startHits,
144 const AEndHits& endHits)
const
150 observations2D.
setFitPos(EFitPos::c_RecoPos);
154 observations2D.
setFitPos(EFitPos::c_RLDriftCircle);
159 observations2D.
setFitPos(EFitPos::c_RecoPos);
163 observations2D.
setFitPos(EFitPos::c_RLDriftCircle);
167 if (observations2D.
size() < 4) {
168 trajectory2D.
clear();
170 AFitMethod::update(trajectory2D, observations2D);
174 template <
class AFitMethod>
175 template <
class AHits>
183 observations2D.
setFitPos(EFitPos::c_RecoPos);
187 observations2D.
setFitPos(EFitPos::c_RLDriftCircle);
191 if (observations2D.
size() < 4) {
192 trajectory2D.
clear();
194 AFitMethod::update(trajectory2D, observations2D);
198 template <
class AFitMethod>
205 template <
class AFitMethod>
212 template <
class AFitMethod>
219 template <
class AFitMethod>
Class representing a pair of reconstructed axial segments in adjacent superlayer.
~CDCFitter2D()
Default destructor.
CDCTrajectory2D fitGeneric(const AHits &hits) const
void updateGeneric(CDCTrajectory2D &trajectory2D, const AHits &hits) const
bool m_useOrientation
Flag indicating the reference position and drift length with right left orientation shall be used in ...
CDCTrajectory2D fit(const CDCObservations2D &observations2D) const
Fits a collection of observation drift circles.
void setFitVariance(EFitVariance fitVariance)
Setup the fitter to use the given variance measure by default.
void update(CDCTrajectory2D &trajectory2D, const CDCObservations2D &observations2D) const
void useOnlyOrientation()
Setup the fitter to use only reference position and the drift length with right left orientation.
CDCFitter2D()
Default constructor.
void usePositionAndOrientation()
Setup the fitter to use both the reconstructed position and the reference position and the drift leng...
bool m_usePosition
Flag indicating the reconstructed position shall be used in the fit.
EFitVariance m_fitVariance
Default variance to be used in the fit.
void useOnlyPosition()
Setup the fitter to use only the reconstructed positions of the hits.
Class serving as a storage of observed drift circles to present to the Riemann fitter.
void setFitVariance(EFitVariance fitVariance)
Setter for the indicator that the drift variance should be used.
std::size_t appendRange(const CDCSegment2D &segment2D)
Appends all reconstructed hits from the two dimensional segment.
std::size_t size() const
Returns the number of observations stored.
void setFitPos(EFitPos fitPos)
Setter for the indicator that the reconstructed position should be favoured.
A reconstructed sequence of two dimensional hits in one super layer.
A segment consisting of three dimensional reconstructed hits.
Class representing a sequence of three dimensional reconstructed hits.
Particle trajectory as it is seen in xy projection represented as a circle.
void clear()
Clears all information from this trajectory.
A segment consisting of two dimensional reconstructed hits.
Abstract base class for different kinds of events.