Belle II Software  release-08-01-10
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 
14 namespace 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
Swtich to reestimate 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 segement and one stereo segment in adjacent supe...
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.