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