Belle II Software development
AxialTrackFinderLegendre.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/findlets/base/Findlet.h>
11
12#include <tracking/trackFindingCDC/findlets/minimal/AxialTrackMerger.h>
13#include <tracking/trackFindingCDC/findlets/minimal/AxialTrackHitMigrator.h>
14#include <tracking/trackFindingCDC/findlets/minimal/AxialTrackCreatorHitLegendre.h>
15
16#include <vector>
17#include <string>
18
19namespace Belle2 {
26 namespace TrackFindingCDC {
27 class CDCTrack;
28 class CDCWireHit;
29 enum class LegendreFindingPass;
30
39 class AxialTrackFinderLegendre : public Findlet<const CDCWireHit, CDCTrack> {
40
41 private:
44
45 public:
48
50 std::string getDescription() final;
51
53 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
54
56 void apply(const std::vector<CDCWireHit>& wireHits, std::vector<CDCTrack>& tracks);
57
58 private: // findlets
61
64
67 EPass::NonCurlersWithIncreasingThreshold};
68
71
74
77 };
78 }
80}
The Module parameter list class.
Generates axial tracks from hit using special leaf postprocessing.
EPass
Pass keys for the different sets of predefined parameters for a pass if legendre search Note: Naming ...
Generates axial tracks from hit using special leaf postprocessing.
AxialTrackCreatorHitLegendre m_fullRangeAxialTrackCreatorHitLegendre
Findlet for the full range legendre pass.
AxialTrackCreatorHitLegendre m_nonCurlerAxialTrackCreatorHitLegendre
Findlet for the non-curler legendre pass.
std::string getDescription() final
Short description of the findlet.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
AxialTrackCreatorHitLegendre m_nonCurlersWithIncreasingThresholdAxialTrackCreatorHitLegendre
Findlet for the non-curler with increased threshold legendre pass.
AxialTrackMerger m_axialTrackMerger
Findlet to merge the tracks after the legendre finder.
AxialTrackHitMigrator m_axialTrackHitMigrator
Findlet to exchange hits between tracks based on their proximity to the respective trajectory.
void apply(const std::vector< CDCWireHit > &wireHits, std::vector< CDCTrack > &tracks)
Main method to apply the track finding.
Exchanges hits between axial tracks based on their distance to the respective trajectory.
Findlet implementing the merging of axial tracks found in the legendre tree search.
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:41
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:55
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Abstract base class for different kinds of events.
STL namespace.