Belle II Software development
AxialStraightTrackCreator.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
9#pragma once
10
11#include <tracking/trackingUtilities/findlets/base/Findlet.h>
12
13namespace Belle2 {
18 class ECLCluster;
19
20 namespace TrackingUtilities {
21 class CDCTrack;
22 class CDCWireHit;
23 class CDCTrajectory2D;
24 }
25
26 namespace TrackFindingCDC {
27
32 TrackingUtilities::Findlet<const ECLCluster* const, const TrackingUtilities::CDCWireHit* const, TrackingUtilities::CDCTrack> {
33
34 private:
36 using Super =
38
39 public:
42
44 std::string getDescription() final;
45
47 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
48
50 void initialize() final;
51
53 void apply(const std::vector<const ECLCluster*>& eclClusters,
54 const std::vector<const TrackingUtilities::CDCWireHit*>& axialWireHits,
55 std::vector<TrackingUtilities::CDCTrack>& tracks) final;
56
57 private:
59 std::vector<const TrackingUtilities::CDCWireHit*> search(const std::vector<const TrackingUtilities::CDCWireHit*>& axialWireHits,
60 const TrackingUtilities::CDCTrajectory2D& guidingTrajectory2D);
61
62 private:
64 float m_param_minEnergy = 0.050; //GeV
65
67 unsigned int m_param_minNHits = 5;
68
70 float m_param_maxDistance = 0.5; //cm, NOTE for conventional tracking it is 0.2
71 };
72 }
74}
ECL cluster data.
Definition ECLCluster.h:27
The Module parameter list class.
void initialize() final
Initialisation before the event processing starts.
std::string getDescription() final
Short description of the findlet.
void apply(const std::vector< const ECLCluster * > &eclClusters, const std::vector< const TrackingUtilities::CDCWireHit * > &axialWireHits, std::vector< TrackingUtilities::CDCTrack > &tracks) final
Execute one pass over given clusters and wirehits and create tracks.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
unsigned int m_param_minNHits
Track number of hits threshold.
TrackingUtilities::Findlet< const ECLCluster *const, const TrackingUtilities::CDCWireHit *const, TrackingUtilities::CDCTrack > Super
Type of the base class.
std::vector< const TrackingUtilities::CDCWireHit * > search(const std::vector< const TrackingUtilities::CDCWireHit * > &axialWireHits, const TrackingUtilities::CDCTrajectory2D &guidingTrajectory2D)
Search for hits compatible with given trajectory.
float m_param_maxDistance
Maximum distance from hits to the track.
Class representing a sequence of three dimensional reconstructed hits.
Definition CDCTrack.h:39
Particle trajectory as it is seen in xy projection represented as a circle.
Class representing a hit wire in the central drift chamber.
Definition CDCWireHit.h:58
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition Findlet.h:26
STL class.
Abstract base class for different kinds of events.
STL namespace.