Belle II Software
development
TrackQualityTools.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 <vector>
11
12
namespace
Belle2
{
17
18
namespace
TrackingUtilities {
19
class
CDCTrack
;
20
}
21
namespace
TrackFindingCDC {
22
27
class
TrackQualityTools
{
28
public
:
30
TrackQualityTools
() =
delete
;
31
33
TrackQualityTools
(
const
TrackQualityTools
& copy) =
delete
;
34
36
TrackQualityTools
&
operator=
(
const
TrackQualityTools
&) =
delete
;
37
42
static
void
normalizeHitsAndResetTrajectory
(
TrackingUtilities::CDCTrack
& track);
43
50
static
void
removeHitsAfterCDCWall
(
TrackingUtilities::CDCTrack
& track,
double
outerCylindricalRFactor = 1.1);
51
53
static
void
removeHitsIfSmall
(
TrackingUtilities::CDCTrack
& track,
unsigned
int
minimalHits = 7);
54
60
static
void
removeHitsAfterLayerBreak
(
TrackingUtilities::CDCTrack
& track,
double
m_maximumArcLength2DDistance = 10);
61
67
static
void
removeHitsAfterLayerBreak2
(
TrackingUtilities::CDCTrack
& track);
68
70
static
void
removeHitsInTheBeginningIfAngleLarge
(
TrackingUtilities::CDCTrack
& track,
double
maximalAngle = 0.7);
71
73
static
void
removeHitsIfOnlyOneSuperLayer
(
TrackingUtilities::CDCTrack
& track);
74
76
static
void
removeHitsOnTheWrongSide
(
TrackingUtilities::CDCTrack
& track);
77
79
static
void
removeArcLength2DHoles
(
TrackingUtilities::CDCTrack
& track,
double
m_maximumArcLength2DDistance = 10);
80
85
static
void
splitSecondHalfOfTrack
(
TrackingUtilities::CDCTrack
& track, std::vector<TrackingUtilities::CDCTrack>& tracks);
86
88
static
void
moveToNextAxialLayer
(
TrackingUtilities::CDCTrack
& track);
89
};
90
}
92
}
Belle2::TrackFindingCDC::TrackQualityTools::splitSecondHalfOfTrack
static void splitSecondHalfOfTrack(TrackingUtilities::CDCTrack &track, std::vector< TrackingUtilities::CDCTrack > &tracks)
Trasan did output curlers in split two halves - this method can be used to mimic this.
Definition
TrackQualityTools.cc:36
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsIfSmall
static void removeHitsIfSmall(TrackingUtilities::CDCTrack &track, unsigned int minimalHits=7)
Delete a track fully of the number of hits is below minimalHits.
Definition
TrackQualityTools.cc:273
Belle2::TrackFindingCDC::TrackQualityTools::TrackQualityTools
TrackQualityTools(const TrackQualityTools ©)=delete
Static class only.
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsIfOnlyOneSuperLayer
static void removeHitsIfOnlyOneSuperLayer(TrackingUtilities::CDCTrack &track)
Remove the whole track if it only consists of one superlayer.
Definition
TrackQualityTools.cc:313
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterLayerBreak
static void removeHitsAfterLayerBreak(TrackingUtilities::CDCTrack &track, double m_maximumArcLength2DDistance=10)
Delete all hits after a large layer break.
Definition
TrackQualityTools.cc:207
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsInTheBeginningIfAngleLarge
static void removeHitsInTheBeginningIfAngleLarge(TrackingUtilities::CDCTrack &track, double maximalAngle=0.7)
If the angle between two following hits is larger than maximalAngle, delete all hits before (!...
Definition
TrackQualityTools.cc:284
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsOnTheWrongSide
static void removeHitsOnTheWrongSide(TrackingUtilities::CDCTrack &track)
Remove all hits that are on the wrong side of the detector (so to say: "beyond the IP").
Definition
TrackQualityTools.cc:335
Belle2::TrackFindingCDC::TrackQualityTools::moveToNextAxialLayer
static void moveToNextAxialLayer(TrackingUtilities::CDCTrack &track)
Delete hits of the first superlayer if it is a stereo one (fitting does not work very well when start...
Definition
TrackQualityTools.cc:25
Belle2::TrackFindingCDC::TrackQualityTools::removeArcLength2DHoles
static void removeArcLength2DHoles(TrackingUtilities::CDCTrack &track, double m_maximumArcLength2DDistance=10)
Remove all hits that come after a large hole in the two dimensional arc length.
Definition
TrackQualityTools.cc:351
Belle2::TrackFindingCDC::TrackQualityTools::normalizeHitsAndResetTrajectory
static void normalizeHitsAndResetTrajectory(TrackingUtilities::CDCTrack &track)
Update all hits to have a positive perpS, a taken flag and no background flag Also set the trajectory...
Definition
TrackQualityTools.cc:64
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterCDCWall
static void removeHitsAfterCDCWall(TrackingUtilities::CDCTrack &track, double outerCylindricalRFactor=1.1)
Remove all hits which can not belong to the track, as the particle can not exit and enter the CDC aga...
Definition
TrackQualityTools.cc:127
Belle2::TrackFindingCDC::TrackQualityTools::operator=
TrackQualityTools & operator=(const TrackQualityTools &)=delete
Static class only.
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterLayerBreak2
static void removeHitsAfterLayerBreak2(TrackingUtilities::CDCTrack &track)
Delete all hits after a large layer break.
Definition
TrackQualityTools.cc:163
Belle2::TrackFindingCDC::TrackQualityTools::TrackQualityTools
TrackQualityTools()=delete
Static class only.
Belle2::TrackingUtilities::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition
CDCTrack.h:39
Belle2
Abstract base class for different kinds of events.
Definition
MillepedeAlgorithm.h:17
tracking
trackFindingCDC
processing
include
TrackQualityTools.h
Generated on Wed Dec 24 2025 03:03:14 for Belle II Software by
1.13.2