Belle II Software  release-05-01-25
AxialTrackFinderLegendre.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Bastian Kronenbitter, Thomas Hauth, Viktor Trusov, *
7  * Nils Braun, Oliver Frost *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 #pragma once
12 
13 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
14 
15 #include <tracking/trackFindingCDC/findlets/minimal/AxialTrackMerger.h>
16 #include <tracking/trackFindingCDC/findlets/minimal/AxialTrackHitMigrator.h>
17 #include <tracking/trackFindingCDC/findlets/minimal/AxialTrackCreatorHitLegendre.h>
18 
19 #include <vector>
20 #include <string>
21 
22 namespace Belle2 {
29  namespace TrackFindingCDC {
30  class CDCTrack;
31  class CDCWireHit;
32  enum class LegendreFindingPass;
33 
42  class AxialTrackFinderLegendre : public Findlet<const CDCWireHit, CDCTrack> {
43 
44  private:
46  using Super = Findlet<const CDCWireHit, CDCTrack>;
47 
48  public:
51 
53  std::string getDescription() final;
54 
56  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
57 
59  void apply(const std::vector<CDCWireHit>& wireHits, std::vector<CDCTrack>& tracks);
60 
61  private: // findlets
64 
67 
71 
73  AxialTrackCreatorHitLegendre m_fullRangeAxialTrackCreatorHitLegendre{EPass::FullRange};
74 
76  AxialTrackHitMigrator m_axialTrackHitMigrator;
77 
79  AxialTrackMerger m_axialTrackMerger;
80  };
81  }
83 }
Belle2::TrackFindingCDC::AxialTrackCreatorHitLegendre::EPass::NonCurlers
@ NonCurlers
Pass corresponds to High-pt track finding and more deeper quadtree.
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::m_axialTrackHitMigrator
AxialTrackHitMigrator m_axialTrackHitMigrator
Findlet to exchange hits between tracks based on their proximity to the respective trajectory.
Definition: AxialTrackFinderLegendre.h:85
Belle2::TrackFindingCDC::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:51
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Definition: AxialTrackFinderLegendre.cc:37
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::getDescription
std::string getDescription() final
Short description of the findlet.
Definition: AxialTrackFinderLegendre.cc:32
Belle2::TrackFindingCDC::AxialTrackCreatorHitLegendre::EPass::NonCurlersWithIncreasingThreshold
@ NonCurlersWithIncreasingThreshold
Pass corresponds to High-pt track finding and more rough quadtree.
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::AxialTrackFinderLegendre
AxialTrackFinderLegendre()
Constructor.
Definition: AxialTrackFinderLegendre.cc:23
Belle2::TrackFindingCDC::AxialTrackCreatorHitLegendre::EPass
EPass
Pass keys for the different sets of predefined parameters for a pass if legendre search Note: Naming ...
Definition: AxialTrackCreatorHitLegendre.h:56
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::m_nonCurlersWithIncreasingThresholdAxialTrackCreatorHitLegendre
AxialTrackCreatorHitLegendre m_nonCurlersWithIncreasingThresholdAxialTrackCreatorHitLegendre
Findlet for the non-curler with increased threshold legendre pass.
Definition: AxialTrackFinderLegendre.h:78
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::m_fullRangeAxialTrackCreatorHitLegendre
AxialTrackCreatorHitLegendre m_fullRangeAxialTrackCreatorHitLegendre
Findlet for the full range legendre pass.
Definition: AxialTrackFinderLegendre.h:82
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::m_axialTrackMerger
AxialTrackMerger m_axialTrackMerger
Findlet to merge the tracks after the legendre finder.
Definition: AxialTrackFinderLegendre.h:88
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::m_nonCurlerAxialTrackCreatorHitLegendre
AxialTrackCreatorHitLegendre m_nonCurlerAxialTrackCreatorHitLegendre
Findlet for the non-curler legendre pass.
Definition: AxialTrackFinderLegendre.h:75
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::Super
Findlet< const CDCWireHit, CDCTrack > Super
Type of the base class.
Definition: AxialTrackFinderLegendre.h:55
Belle2::TrackFindingCDC::AxialTrackCreatorHitLegendre::EPass::FullRange
@ FullRange
Pass corresponds to full pt range and even more rough quadtree (non-ip tracks, tracks with energy los...
Belle2::TrackFindingCDC::AxialTrackCreatorHitLegendre
Generates axial tracks from hit using special leaf postprocessing.
Definition: AxialTrackCreatorHitLegendre.h:44
Belle2::TrackFindingCDC::CDCWireHit
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:65
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::AxialTrackFinderLegendre::apply
void apply(const std::vector< CDCWireHit > &wireHits, std::vector< CDCTrack > &tracks)
Main method to apply the track finding.
Definition: AxialTrackFinderLegendre.cc:45