Belle II Software development
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/trackingUtilities/collectors/matchers/MatcherInterface.h>
10
11#include <tracking/trackingUtilities/eventdata/tracks/CDCTrack.h>
12
13namespace Belle2 {
18 namespace TrackingUtilities {
19 class CDCRLWireHit;
20 }
21 namespace TrackFindingCDC {
26 template <class AQuadTree>
28 TrackingUtilities::MatcherInterface<TrackingUtilities::CDCTrack, TrackingUtilities::CDCRLWireHit> {
29
31 using Super = MatcherInterface<TrackingUtilities::CDCTrack, TrackingUtilities::CDCRLWireHit>;
32
33 public:
35 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
36
38 void initialize() override;
39
41 void terminate() override;
42
43 private:
50 void match(TrackingUtilities::CDCTrack& track, const std::vector<TrackingUtilities::CDCRLWireHit>& rlWireHits,
51 std::vector<Super::WeightedRelationItem>& relationsForCollector) override;
52
55
60 unsigned int m_param_quadTreeLevel = 7;
67
70
73 };
74 }
76}
The Module parameter list class.
A matcher algorithm for using a stereo quad tree for matching rl tagged wire hits to tracks.
bool m_param_checkForB2BTracks
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.
MatcherInterface< TrackingUtilities::CDCTrack, TrackingUtilities::CDCRLWireHit > Super
The parent class.
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
Parameters 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 match(TrackingUtilities::CDCTrack &track, const std::vector< TrackingUtilities::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...
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.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Class representing a sequence of three dimensional reconstructed hits.
Definition CDCTrack.h:39
Base class for a findlet, which outputs a list of weighted relations between elements in a list of Co...
Abstract base class for different kinds of events.