Belle II Software  release-05-01-25
StereoHitTrackQuadTreeMatcher.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 #include <tracking/trackFindingCDC/collectors/matchers/MatcherInterface.h>
12 
13 #include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
14 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
15 
16 namespace Belle2 {
21  namespace TrackFindingCDC {
26  template <class AQuadTree>
27  class StereoHitTrackQuadTreeMatcher : public MatcherInterface<CDCTrack, CDCRLWireHit> {
28 
30  using Super = MatcherInterface<CDCTrack, CDCRLWireHit>;
31 
32  public:
34  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
35 
37  void initialize() override;
38 
40  void terminate() override;
41 
42  private:
49  void match(CDCTrack& track, const std::vector<CDCRLWireHit>& rlWireHits,
50  std::vector<Super::WeightedRelationItem>& relationsForCollector) override;
51 
53  void writeDebugInformation();
54 
57  bool m_param_checkForB2BTracks = true;
61  unsigned int m_param_quadTreeLevel = 7;
63  unsigned int m_param_minimumNumberOfHits = 5;
66 
68  unsigned int m_numberOfPassedDebugCalls = 0;
69 
71  AQuadTree m_quadTreeInstance;
72  };
73  }
75 }
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_param_checkForInWireBoundsFactor
double m_param_checkForInWireBoundsFactor
Set to false to skip the in-wire-bound check (good for second stage).
Definition: StereoHitTrackQuadTreeMatcher.h:67
Belle2::TrackFindingCDC::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:51
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::writeDebugInformation
void writeDebugInformation()
Use the writeDebugInformation function of the quad tree to write the tree into a root file with a asc...
Definition: StereoHitTrackQuadTreeMatcher.cc:230
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::Super
MatcherInterface< CDCTrack, CDCRLWireHit > Super
The parent class.
Definition: StereoHitTrackQuadTreeMatcher.h:38
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_param_minimumNumberOfHits
unsigned int m_param_minimumNumberOfHits
Minimal number of hits a quad tree node must have to be called a found bin.
Definition: StereoHitTrackQuadTreeMatcher.h:71
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_quadTreeInstance
AQuadTree m_quadTreeInstance
Quad tree instance.
Definition: StereoHitTrackQuadTreeMatcher.h:79
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters to the module.
Definition: StereoHitTrackQuadTreeMatcher.cc:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_param_writeDebugInformation
bool m_param_writeDebugInformation
Set to true to output debug information.
Definition: StereoHitTrackQuadTreeMatcher.h:73
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_numberOfPassedDebugCalls
unsigned int m_numberOfPassedDebugCalls
Store the number of passed calls to the debug function.
Definition: StereoHitTrackQuadTreeMatcher.h:76
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::terminate
void terminate() override
Terminate the filter and the quad tree.
Definition: StereoHitTrackQuadTreeMatcher.cc:76
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::initialize
void initialize() override
Initialize the filter and the quad tree.
Definition: StereoHitTrackQuadTreeMatcher.cc:66
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::match
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...
Definition: StereoHitTrackQuadTreeMatcher.cc:84
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_param_checkForB2BTracks
bool m_param_checkForB2BTracks
Parameters Set to false to skip the B2B check (good for curlers).
Definition: StereoHitTrackQuadTreeMatcher.h:65
Belle2::TrackFindingCDC::StereoHitTrackQuadTreeMatcher::m_param_quadTreeLevel
unsigned int m_param_quadTreeLevel
Maximum level of the quad tree search.
Definition: StereoHitTrackQuadTreeMatcher.h:69