Belle II Software development
CDCAxialStereoFusion.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/eventdata/utils/DriftLengthEstimator.h>
11
12#include <tracking/trackFindingCDC/geometry/HelixParameters.h>
13
14namespace Belle2 {
19 namespace TrackFindingCDC {
20 class CDCSegmentPair;
21 class CDCSegment3D;
22 class CDCSegment2D;
23 class CDCTrajectory3D;
24 class CDCTrajectory2D;
25
31
32 public:
34 explicit CDCAxialStereoFusion(bool reestimateDriftLength = true)
35 : m_reestimateDriftLength(reestimateDriftLength)
36 {
37 }
38
39 public:
44 void reconstructFuseTrajectories(const CDCSegmentPair& segmentPair);
45
51 void fusePreliminary(const CDCSegmentPair& segmentPair);
52
57 const CDCSegment2D& toSegment2D);
58
64 CDCTrajectory3D fusePreliminary(const CDCSegment2D& fromSegment2D,
65 const CDCSegment2D& toSegment2D);
66
69 const CDCSegment2D& toSegment2D,
70 const CDCTrajectory3D& preliminaryTrajectory3D);
71
72 public:
78 const CDCTrajectory2D& trajectory2D);
79
80
81 private:
84
87 };
88 }
90}
Utility class implementing the Kalmanesk combination of to two dimensional trajectories to one three ...
DriftLengthEstimator m_driftLengthEstimator
Helper object to carry out the drift length estimation.
void fusePreliminary(const CDCSegmentPair &segmentPair)
Fit the given segment pair using the preliminary helix fit without proper covariance matrix.
void reconstructFuseTrajectories(const CDCSegmentPair &segmentPair)
Combine the two trajectories of the segments in the pair and assign the resulting three dimensional t...
bool m_reestimateDriftLength
Switch to re-estimate the drift length.
PerigeeHelixAmbiguity calcAmbiguity(const CDCSegment3D &segment3D, const CDCTrajectory2D &trajectory2D)
Calculate the ambiguity of the helix parameters relative to the three circle parameters given the hit...
CDCAxialStereoFusion(bool reestimateDriftLength=true)
Constructor setting up the options of the fit.
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:39
A segment consisting of three dimensional reconstructed hits.
Definition: CDCSegment3D.h:26
Class representing a pair of one reconstructed axial segment and one stereo segment in adjacent super...
Particle trajectory as it is seen in xy projection represented as a circle.
Particle full three dimensional trajectory.
A matrix implementation to be used as an interface typ through out the track finder.
Definition: PlainMatrix.h:40
Abstract base class for different kinds of events.
Helper construct implementing the (re)estimation of the drift length for various hit objects.