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/trackFindingCDC/findlets/base/Findlet.h>
12
13namespace Belle2 {
18 class ECLCluster;
19
20 namespace TrackFindingCDC {
21 class CDCTrack;
22 class CDCWireHit;
23 class CDCTrajectory2D;
24
28 class AxialStraightTrackCreator : public Findlet<const ECLCluster* const, const CDCWireHit* const, CDCTrack> {
29
30 private:
33
34 public:
37
39 std::string getDescription() final;
40
42 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
43
45 void initialize() final;
46
48 void apply(const std::vector<const ECLCluster*>& eclClusters,
49 const std::vector<const CDCWireHit*>& axialWireHits,
50 std::vector<CDCTrack>& tracks) final;
51
52 private:
54 std::vector<const CDCWireHit*> search(const std::vector<const CDCWireHit*>& axialWireHits,
55 const CDCTrajectory2D& guidingTrajectory2D);
56
57 private:
59 float m_param_minEnergy = 0.050; //GeV
60
62 unsigned int m_param_minNHits = 5;
63
65 float m_param_maxDistance = 0.5; //cm, NOTE for conventional tracking it is 0.2
66 };
67 }
69}
ECL cluster data.
Definition: ECLCluster.h:27
The Module parameter list class.
A findlet that searches for straight tracks in CDC coming form IP to an ECL cluster.
void apply(const std::vector< const ECLCluster * > &eclClusters, const std::vector< const CDCWireHit * > &axialWireHits, std::vector< CDCTrack > &tracks) final
Execute one pass over given clusters and wirehits and create tracks.
void initialize() final
Initialisation before the event processing starts.
std::string getDescription() final
Short description of the findlet.
std::vector< const CDCWireHit * > search(const std::vector< const CDCWireHit * > &axialWireHits, const CDCTrajectory2D &guidingTrajectory2D)
Search for hits compatible with given trajectory.
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.
float m_param_maxDistance
Maximum distance from hits to the track.
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:41
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: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.