Belle II Software  release-08-01-10
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 
13 namespace 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.