Belle II Software development
MonopoleStereoHitFinder.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
10#include <tracking/trackFindingCDC/findlets/base/Findlet.h>
11
12#include <tracking/trackFindingCDC/findlets/minimal/RLTaggedWireHitCreator.h>
13
14#include <tracking/trackFindingCDC/collectors/matchers/StereoHitTrackQuadTreeMatcher.h>
15#include <tracking/trackFindingCDC/collectors/selectors/SingleMatchSelector.h>
16#include <tracking/trackFindingCDC/collectors/selectors/FilterSelector.h>
17#include <tracking/trackFindingCDC/collectors/adders/StereoHitTrackAdder.h>
18
19#include <tracking/trackFindingCDC/filters/base/ChooseableFilter.dcl.h>
20#include <tracking/trackFindingCDC/filters/stereoHits/StereoHitFilterFactory.h>
21#include <tracking/trackFindingCDC/utilities/HitComperator.h>
22
23#include <tracking/trackFindingCDC/hough/hyperbolic/HitHyperHough.h>
24#include <tracking/trackFindingCDC/findlets/minimal/TrackInspector.h>
25
26#include <vector>
27
28namespace Belle2 {
33 namespace TrackFindingCDC {
34 class CDCWireHit;
35 class CDCTrack;
36
43 class MonopoleStereoHitFinder : public Findlet<CDCWireHit&, CDCTrack&> {
44
45 private:
48
49 public:
52
54 std::string getDescription() final;
55
57 void beginEvent() final;
58
60 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
61
63 void apply(std::vector<CDCWireHit>& inputWireHits, std::vector<CDCTrack>& tracks) final;
64
65 private:
66 // Findlets
80// TrackSZFitter m_szFitter;
81
82 // Object pools
87 };
88 }
90}
The Module parameter list class.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Definition: CDCRLWireHit.h:41
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:41
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:55
Convenvience wrapper to setup a Chooseable filter from a specific factory object.
Selector to remove all weighted relations, where a definable Filter gives NaN as a result.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Hough Tree for finding StereoHits with using CDCRecoHit3D as the item type.
Definition: HyperHough.h:32
Complex findlet for finding stereo hits from monopoles to a list of cdc tracks.
std::vector< WeightedRelation< CDCTrack, const CDCRLWireHit > > m_relations
Vector of relations between tracks and hits.
std::vector< CDCRLWireHit > m_rlTaggedWireHits
Fit the tracks after creation TODO the fitter obviously should be different.
StereoHitTrackAdder m_adder
Add the hits to the tracks.
void beginEvent() final
Signal the beginning of a new event.
std::string getDescription() final
Short description of the findlet.
void apply(std::vector< CDCWireHit > &inputWireHits, std::vector< CDCTrack > &tracks) final
Generates the segment from wire hits.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
MonopoleStereoHitFinder()
Constructor registering the subordinary findlets to the processing signal distribution machinery.
FilterSelector< CDCTrack, CDCRLWireHit, ChooseableFilter< StereoHitFilterFactory > > m_filterSelector
Filter for the Stereo Hits added to the track.
RLTaggedWireHitCreator m_rlWireHitCreator
Create RL wire hits out of the wire hits.
StereoHitTrackQuadTreeMatcher< HitHyperHough > m_matcher
Find matching hits to a track.
SingleMatchSelector< CDCTrack, CDCRLWireHit, HitComperator > m_singleMatchSelector
Select only those where the relation is unique (or the best one in those groups)
Findlet for creating a list of RLWireHits (always bot hypothesis) from a list of WireHits using only ...
Selector to remove all relations in the list, which share the same collection item - except one in ca...
Factory that can create appropriate stereo hit to track combination filters from associated names.
Class to add the matched hits to the track and set the taken flag correctly.
A matcher algorithm for using a stereo quad tree for matching rl tagged wire hits to tracks.
Findlet for inspecting and printing out CDCtracks on a R-z plane for debug purposes.
Type for two related objects with a weight.
Abstract base class for different kinds of events.
STL namespace.
Functor factory turning a binary functor and two functors into a new functor which executes the binar...
Definition: Functional.h:127