Belle II Software development
AxialTrackFinderHough.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/AxialTrackCreatorHitHough.h>
14#include <tracking/trackFindingCDC/findlets/minimal/AxialTrackHitMigrator.h>
15
16#include <tracking/trackFindingCDC/utilities/ParameterVariant.h>
17
18#include <vector>
19#include <string>
20
21namespace Belle2 {
28 namespace TrackFindingCDC {
29 class CDCWireHit;
30 class CDCTrack;
31
33 class AxialTrackFinderHough : public Findlet<const CDCWireHit, CDCTrack> {
34
35 private:
38
39 public:
42
44 std::string getDescription() final;
45
47 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
48
50 void apply(const std::vector<CDCWireHit>& wireHits, std::vector<CDCTrack>& tracks) final;
51
52 public:
54 std::vector<ParameterVariantMap> getDefaultFineRelaxationSchedule() const;
55
57 std::vector<ParameterVariantMap> getDefaultRoughRelaxationSchedule() const;
58
59 private:
61 const double m_maxCurvAcceptance = 0.13;
62
63 private: // findlets
66
69
72
75 };
76 }
78}
The Module parameter list class.
Generates axial tracks from hit using the special leaf processing inspired by the legendre algorithm.
Generates axial tracks from hit using the special leaf processing inspired by the hough algorithm.
const double m_maxCurvAcceptance
Maximal curvature acceptance of the CDC.
void apply(const std::vector< CDCWireHit > &wireHits, std::vector< CDCTrack > &tracks) final
Generates the tracks from the given segments into the output argument.
std::vector< ParameterVariantMap > getDefaultFineRelaxationSchedule() const
Get a series of parameters to be set for each pass over the fine hough space.
std::string getDescription() final
Short description of the findlet.
std::vector< ParameterVariantMap > getDefaultRoughRelaxationSchedule() const
Get a series of parameters to be set for each pass over the rough hough space.
AxialTrackCreatorHitHough m_roughHoughSearch
Second hough search over a fine hough grid.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
AxialTrackMerger m_axialTrackMerger
Findlet to merge the tracks after the hough finder.
AxialTrackHitMigrator m_axialTrackHitMigrator
Findlet to exchange hits between tracks based on their proximity to the respective trajectory.
AxialTrackCreatorHitHough m_fineHoughSearch
First hough search over a fine hough grid.
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.