 |
Belle II Software
release-05-01-25
|
12 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
13 #include <tracking/trackFindingCDC/numerics/ESign.h>
23 namespace TrackFindingCDC {
27 class CDCTrajectory2D;
34 struct AxialTrackUtil {
39 const std::vector<const CDCWireHit*>& allAxialWireHits,
40 std::vector<CDCTrack>& axialTracks,
41 bool withPostprocessing =
true);
69 const std::vector<const CDCWireHit*>& allAxialWireHits,
70 double minimalDistance = 0.2);
113 double minimal_probability_for_good_fit = 0.4);
116 static void deleteShortTracks(std::vector<CDCTrack>& axialTracks,
double minimal_size = 5);
120 static std::vector<ISuperLayer>
getSLayerHoles(
const std::array<int, ISuperLayerUtil::c_N>& nHitsBySLayer);
static int getArmSignVote(const CDCTrack &track, const Vector2D ¢er)
Calculate the sum of right and left votes for the hits relative to the center.
Class representing a three dimensional reconstructed hit.
Class representing a sequence of three dimensional reconstructed hits.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
static std::vector< CDCRecoHit3D > splitBack2BackTrack(CDCTrack &track)
Tries to split back-to-back tracks into two different tracks.
static void deleteTracksWithLowFitProbability(std::vector< CDCTrack > &axialTracks, double minimal_probability_for_good_fit=0.4)
Check an (improper) p-values of the tracks. If they are below the given value, delete the track from ...
static bool isBack2BackTrack(CDCTrack &track)
Checks whether the track has hits on both arms as seen from the origin.
static ESign getArmSign(const CDCRecoHit3D &hit, const Vector2D ¢er)
Calculate whether the hits is to the right or to the left relative to the line from origin to the giv...
ESign
Enumeration for the distinct sign values of floating point variables.
static void removeHitsAfterSuperLayerBreak(CDCTrack &track)
Searches for a break in the super layer chain and remove all hits that come after that.
static bool postprocessTrack(CDCTrack &track, const std::vector< const CDCWireHit * > &allAxialWireHits)
Perform all track postprocessing - return whether the track is considered good after the postprocessi...
static ISuperLayer getFirstOccupiedISuperLayer(const std::array< int, ISuperLayerUtil::c_N > &nHitsBySLayer)
Helper function to extract the first filled entry in the array of super layers ( = the start superlay...
Particle trajectory as it is seen in xy projection represented as a circle.
static void assignNewHitsToTrack(CDCTrack &track, const std::vector< const CDCWireHit * > &allAxialWireHits, double minimalDistance=0.2)
Assign new hits to the track basing on the distance from the hit to the track.
static std::vector< ISuperLayer > getSLayerHoles(const std::array< int, ISuperLayerUtil::c_N > &nHitsBySLayer)
Helper function getting the empty axial! super layers that appear in the chain of super layers that i...
static void addCandidateFromHits(const std::vector< const CDCWireHit * > &foundAxialWireHits, const std::vector< const CDCWireHit * > &allAxialWireHits, std::vector< CDCTrack > &axialTracks, bool withPostprocessing=true)
Create CDCTrack using CDCWireHit hits and store it in the list. Then call the postprocessing on it.
Abstract base class for different kinds of events.
static bool checkTrackQuality(const CDCTrack &track)
Check track quality – currently based on number of hits only.
static void deleteHitsFarAwayFromTrajectory(CDCTrack &track, double maximumDistance=0.2)
Postprocessing: Delete axial hits that do not "match" to the given track.
static void deleteShortTracks(std::vector< CDCTrack > &axialTracks, double minimal_size=5)
Remove tracks that are shorter than the given number of hits.
static void updateRecoHit3D(const CDCTrajectory2D &trajectory2D, CDCRecoHit3D &hit)
update given CDCRecoHit3D with given trajectory
static ESign getMajorArmSign(const CDCTrack &track, const Vector2D ¢er)
Calculate whether the majority of hits is to the right or to the left relative to the line from origi...
static void normalizeTrack(CDCTrack &track)
Refit and resort the track. Unmask all hits.
static ISuperLayer getLastOccupiedISuperLayer(const std::array< int, ISuperLayerUtil::c_N > &nHitsBySLayer)
Helper function to extract the last filled entry in the array of super layers ( = the final superlaye...