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/trackingUtilities/geometry/HelixParameters.h>
13
14namespace Belle2 {
19 namespace TrackingUtilities {
20 class CDCTrajectory3D;
21 class CDCTrajectory2D;
22 class CDCSegmentPair;
23 class CDCSegment3D;
24 class CDCSegment2D;
25 }
26 namespace TrackFindingCDC {
27
33
34 public:
36 explicit CDCAxialStereoFusion(bool reestimateDriftLength = true)
37 : m_reestimateDriftLength(reestimateDriftLength)
38 {
39 }
40
41 public:
47
54
59 const TrackingUtilities::CDCSegment2D& toSegment2D);
60
67 const TrackingUtilities::CDCSegment2D& toSegment2D);
68
71 const TrackingUtilities::CDCSegment2D& toSegment2D,
72 const TrackingUtilities::CDCTrajectory3D& preliminaryTrajectory3D);
73
74 public:
79 TrackingUtilities::PerigeeHelixAmbiguity calcAmbiguity(const TrackingUtilities::CDCSegment3D& segment3D,
80 const TrackingUtilities::CDCTrajectory2D& trajectory2D);
81
82
83 private:
86
89 };
90 }
92}
DriftLengthEstimator m_driftLengthEstimator
Helper object to carry out the drift length estimation.
bool m_reestimateDriftLength
Switch to re-estimate the drift length.
void reconstructFuseTrajectories(const TrackingUtilities::CDCSegmentPair &segmentPair)
Combine the two trajectories of the segments in the pair and assign the resulting three dimensional t...
TrackingUtilities::PerigeeHelixAmbiguity calcAmbiguity(const TrackingUtilities::CDCSegment3D &segment3D, const TrackingUtilities::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.
void fusePreliminary(const TrackingUtilities::CDCSegmentPair &segmentPair)
Fit the given segment pair using the preliminary helix fit without proper covariance matrix.
A reconstructed sequence of two dimensional hits in one super layer.
A segment consisting of three dimensional reconstructed hits.
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.
Abstract base class for different kinds of events.
Helper construct implementing the (re)estimation of the drift length for various hit objects.