Belle II Software  release-05-01-25
CDCAxialStereoFusion.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2014 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/eventdata/utils/DriftLengthEstimator.h>
13 
14 #include <tracking/trackFindingCDC/geometry/HelixParameters.h>
15 
16 namespace Belle2 {
21  namespace TrackFindingCDC {
22  class CDCSegmentPair;
23  class CDCSegment3D;
24  class CDCSegment2D;
25  class CDCTrajectory3D;
26  class CDCTrajectory2D;
27 
32  class CDCAxialStereoFusion {
33 
34  public:
36  explicit CDCAxialStereoFusion(bool reestimateDriftLength = true)
37  : m_reestimateDriftLength(reestimateDriftLength)
38  {
39  }
40 
41  public:
46  void reconstructFuseTrajectories(const CDCSegmentPair& segmentPair);
47 
53  void fusePreliminary(const CDCSegmentPair& segmentPair);
54 
59  const CDCSegment2D& toSegment2D);
60 
66  CDCTrajectory3D fusePreliminary(const CDCSegment2D& fromSegment2D,
67  const CDCSegment2D& toSegment2D);
68 
71  const CDCSegment2D& toSegment2D,
72  const CDCTrajectory3D& preliminaryTrajectory3D);
73 
74  public:
80  const CDCTrajectory2D& trajectory2D);
81 
82 
83  private:
86 
89  };
90  }
92 }
Belle2::TrackFindingCDC::CDCSegmentPair
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
Definition: CDCSegmentPair.h:44
Belle2::TrackFindingCDC::CDCAxialStereoFusion::CDCAxialStereoFusion
CDCAxialStereoFusion(bool reestimateDriftLength=true)
Constructor setting up the options of the fit.
Definition: CDCAxialStereoFusion.h:44
Belle2::TrackFindingCDC::CDCAxialStereoFusion::reconstructFuseTrajectories
void reconstructFuseTrajectories(const CDCSegmentPair &segmentPair)
Combine the two trajectories of the segments in the pair and assign the resulting three dimensional t...
Definition: CDCAxialStereoFusion.cc:43
Belle2::TrackFindingCDC::CDCSegment3D
A segment consisting of three dimensional reconstructed hits.
Definition: CDCSegment3D.h:36
Belle2::TrackFindingCDC::CDCTrajectory2D
Particle trajectory as it is seen in xy projection represented as a circle.
Definition: CDCTrajectory2D.h:46
Belle2::TrackFindingCDC::CDCAxialStereoFusion::m_reestimateDriftLength
bool m_reestimateDriftLength
Swtich to reestimate the drift length.
Definition: CDCAxialStereoFusion.h:93
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::CDCAxialStereoFusion::calcAmbiguity
PerigeeHelixAmbiguity calcAmbiguity(const CDCSegment3D &segment3D, const CDCTrajectory2D &trajectory2D)
Calculate the ambiguity of the helix parameters relative to the three circle parameters given the hit...
Definition: CDCAxialStereoFusion.cc:172
Belle2::TrackFindingCDC::CDCSegment2D
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:40
Belle2::TrackFindingCDC::CDCAxialStereoFusion::fusePreliminary
void fusePreliminary(const CDCSegmentPair &segmentPair)
Fit the given segment pair using the preliminary helix fit without proper covariance matrix.
Definition: CDCAxialStereoFusion.cc:65
Belle2::TrackFindingCDC::PlainMatrix
A matrix implementation to be used as an interface typ through out the track finder.
Definition: PlainMatrix.h:50
Belle2::TrackFindingCDC::DriftLengthEstimator
Helper construct implementing the (re)estimation of the drift length for various hit objects.
Definition: DriftLengthEstimator.h:38
Belle2::TrackFindingCDC::CDCTrajectory3D
Particle full three dimensional trajectory.
Definition: CDCTrajectory3D.h:47
Belle2::TrackFindingCDC::CDCAxialStereoFusion::m_driftLengthEstimator
DriftLengthEstimator m_driftLengthEstimator
Helper object to carry out the drift length estimation.
Definition: CDCAxialStereoFusion.h:96