 |
Belle II Software
release-05-01-25
|
12 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
14 #include <tracking/trackFindingCDC/numerics/WithWeight.h>
15 #include <tracking/trackFindingCDC/utilities/MayBePtr.h>
26 namespace TrackFindingCDC {
29 class CDCTrajectory2D;
32 class AxialTrackMerger :
public Findlet<CDCTrack&, const CDCWireHit* const> {
36 using Super = Findlet<CDCTrack&, const CDCWireHit* const>;
54 const std::vector<const
CDCWireHit*>& allAxialWireHits);
64 template <class ACDCTracks>
91 const std::vector<const
CDCWireHit*>& allAxialWireHits);
void doTracksMerging(std::vector< CDCTrack > &axialTracks, const std::vector< const CDCWireHit * > &allAxialWireHits)
The track finding often finds two curling tracks, originating from the same particle.
Class representing a sequence of three dimensional reconstructed hits.
static void mergeTracks(CDCTrack &track1, CDCTrack &track2, const std::vector< const CDCWireHit * > &allAxialWireHits)
Function to merge two track candidates.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
static WithWeight< MayBePtr< CDCTrack > > calculateBestTrackToMerge(CDCTrack &track, ACDCTracks &tracks)
Searches for the best candidate to merge this track to.
Particle trajectory as it is seen in xy projection represented as a circle.
std::string getDescription() final
Short description of the findlet.
Abstract base class for different kinds of events.
static double doTracksFitTogether(CDCTrack &track1, CDCTrack &track2)
Fits the hit content of both tracks in a common fit repeated with an annealing schedule removing far ...
A mixin class to attach a weight to an object.
double m_param_minFitProb
Parameter : Minimal fit probability of the common fit of two tracks to be eligible for merging.
Class representing a hit wire in the central drift chamber.
The Module parameter list class.
Findlet< CDCTrack &, const CDCWireHit *const > Super
Type of the base class.
static void removeStrangeHits(double factor, std::vector< const CDCWireHit * > &wireHits, CDCTrajectory2D &trajectory)
Remove all hits that are further than factor * driftlength waay from the trajectory.
void apply(std::vector< CDCTrack > &axialTracks, const std::vector< const CDCWireHit * > &axialWireHits) final
Merge tracks together. Allows for axial hits to be added as it may see fit.