Belle II Software  release-08-01-10
StereoHitTrackQuadTreeMatcher.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 #include <tracking/trackFindingCDC/collectors/matchers/MatcherInterface.h>
10 
11 #include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
13 
14 namespace Belle2 {
19  namespace TrackFindingCDC {
24  template <class AQuadTree>
25  class StereoHitTrackQuadTreeMatcher : public MatcherInterface<CDCTrack, CDCRLWireHit> {
26 
29 
30  public:
32  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
33 
35  void initialize() override;
36 
38  void terminate() override;
39 
40  private:
47  void match(CDCTrack& track, const std::vector<CDCRLWireHit>& rlWireHits,
48  std::vector<Super::WeightedRelationItem>& relationsForCollector) override;
49 
51  void writeDebugInformation();
52 
59  unsigned int m_param_quadTreeLevel = 7;
61  unsigned int m_param_minimumNumberOfHits = 5;
64 
66  unsigned int m_numberOfPassedDebugCalls = 0;
67 
69  AQuadTree m_quadTreeInstance;
70  };
71  }
73 }
The Module parameter list class.
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:41
Base class for a findlet, which outputs a list of weighted relations between elements in a list of Co...
A matcher algorithm for using a stereo quad tree for matching rl tagged wire hits to tracks.
bool m_param_checkForB2BTracks
Parameters Set to false to skip the B2B check (good for curlers).
bool m_param_writeDebugInformation
Set to true to output debug information.
unsigned int m_param_minimumNumberOfHits
Minimal number of hits a quad tree node must have to be called a found bin.
void initialize() override
Initialize the filter and the quad tree.
void terminate() override
Terminate the filter and the quad tree.
unsigned int m_numberOfPassedDebugCalls
Store the number of passed calls to the debug function.
double m_param_checkForInWireBoundsFactor
Set to false to skip the in-wire-bound check (good for second stage).
unsigned int m_param_quadTreeLevel
Maximum level of the quad tree search.
void writeDebugInformation()
Use the writeDebugInformation function of the quad tree to write the tree into a root file with a asc...
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters to the module.
void match(CDCTrack &track, const std::vector< CDCRLWireHit > &rlWireHits, std::vector< Super::WeightedRelationItem > &relationsForCollector) override
Create a QuadTree and fill with each unused stereo hit (to be exact: twice for each stereo hit - righ...
Abstract base class for different kinds of events.