Belle II Software  release-05-02-19
TrackQualityTools.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <vector>
13 
14 namespace Belle2 {
20  namespace TrackFindingCDC {
21  class CDCTrack;
22 
27  class TrackQualityTools {
28  public:
30  TrackQualityTools() = delete;
31 
33  TrackQualityTools(const TrackQualityTools& copy) = delete;
34 
37 
42  static void normalizeHitsAndResetTrajectory(CDCTrack& track);
43 
50  static void removeHitsAfterCDCWall(CDCTrack& track, double outerCylindricalRFactor = 1.1);
51 
53  static void removeHitsIfSmall(CDCTrack& track, unsigned int minimalHits = 7);
54 
60  static void removeHitsAfterLayerBreak(CDCTrack& track, double m_maximumArcLength2DDistance = 10);
61 
67  static void removeHitsAfterLayerBreak2(CDCTrack& track);
68 
70  static void removeHitsInTheBeginningIfAngleLarge(CDCTrack& track, double maximalAngle = 0.7);
71 
73  static void removeHitsIfOnlyOneSuperLayer(CDCTrack& track);
74 
76  static void removeHitsOnTheWrongSide(CDCTrack& track);
77 
79  static void removeArcLength2DHoles(CDCTrack& track, double m_maximumArcLength2DDistance = 10);
80 
85  static void splitSecondHalfOfTrack(CDCTrack& track, std::vector<CDCTrack>& tracks);
86 
88  static void moveToNextAxialLayer(CDCTrack& track);
89  };
90  }
92 }
Belle2::TrackFindingCDC::TrackQualityTools::removeArcLength2DHoles
static void removeArcLength2DHoles(CDCTrack &track, double m_maximumArcLength2DDistance=10)
Remove all hits that come after a large hole in the two dimensional arc length.
Definition: TrackQualityTools.cc:339
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsOnTheWrongSide
static void removeHitsOnTheWrongSide(CDCTrack &track)
Remove all hits that are on the wrong side of the detector (so to say: "beyond the IP").
Definition: TrackQualityTools.cc:323
Belle2::TrackFindingCDC::TrackQualityTools::operator=
TrackQualityTools & operator=(const TrackQualityTools &)=delete
Static class only.
Belle2::TrackFindingCDC::TrackQualityTools::splitSecondHalfOfTrack
static void splitSecondHalfOfTrack(CDCTrack &track, std::vector< CDCTrack > &tracks)
Trasan did output curlers in split two halves - this method can be used to mimic this.
Definition: TrackQualityTools.cc:27
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterCDCWall
static void removeHitsAfterCDCWall(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:118
Belle2::TrackFindingCDC::TrackQualityTools::normalizeHitsAndResetTrajectory
static void normalizeHitsAndResetTrajectory(CDCTrack &track)
Update all hits to have a positive perpS, a taken flag and no background flag Also set the trajectory...
Definition: TrackQualityTools.cc:55
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterLayerBreak
static void removeHitsAfterLayerBreak(CDCTrack &track, double m_maximumArcLength2DDistance=10)
Delete all hits after a large layer break.
Definition: TrackQualityTools.cc:198
Belle2::TrackFindingCDC::TrackQualityTools::moveToNextAxialLayer
static void moveToNextAxialLayer(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:16
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsAfterLayerBreak2
static void removeHitsAfterLayerBreak2(CDCTrack &track)
Delete all hits after a large layer break.
Definition: TrackQualityTools.cc:154
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsIfSmall
static void removeHitsIfSmall(CDCTrack &track, unsigned int minimalHits=7)
Delete a track fully of the number of hits is below minimalHits.
Definition: TrackQualityTools.cc:264
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsIfOnlyOneSuperLayer
static void removeHitsIfOnlyOneSuperLayer(CDCTrack &track)
Remove the whole track if it only consists of one superlayer.
Definition: TrackQualityTools.cc:301
Belle2::TrackFindingCDC::TrackQualityTools::TrackQualityTools
TrackQualityTools()=delete
Static class only.
Belle2::TrackFindingCDC::TrackQualityTools::removeHitsInTheBeginningIfAngleLarge
static void removeHitsInTheBeginningIfAngleLarge(CDCTrack &track, double maximalAngle=0.7)
If the angle between two following hits is larger than maximalAngle, delete all hits before (!...
Definition: TrackQualityTools.cc:275