Belle II Software development
|
Findlet for the combination of tracks and segments. More...
#include <SegmentTrackCombiner.h>
Public Types | |
using | IOTypes = std::tuple< AIOTypes... > |
Types that should be served to apply on invocation. | |
using | IOVectors = std::tuple< std::vector< AIOTypes >... > |
Vector types that should be served to apply on invocation. | |
Public Member Functions | |
SegmentTrackCombiner () | |
Constructor setting up the filter parameters. | |
std::string | getDescription () final |
Short description of the findlet. | |
void | beginEvent () final |
Signal the beginning of a new event. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final |
Expose the parameters to a module. | |
void | apply (std::vector< CDCSegment2D > &segments, std::vector< CDCTrack > &tracks) override |
Try to combine the segments and the tracks. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
void | initialize () override |
Receive and dispatch signal before the start of the event processing. | |
void | beginRun () override |
Receive and dispatch signal for the beginning of a new run. | |
void | endRun () override |
Receive and dispatch signal for the end of the run. | |
void | terminate () override |
Receive and dispatch Signal for termination of the event processing. | |
Protected Types | |
using | ToVector = typename ToVectorImpl< T >::Type |
Short hand for ToRangeImpl. | |
Protected Member Functions | |
void | addProcessingSignalListener (ProcessingSignalListener *psl) |
Register a processing signal listener to be notified. | |
int | getNProcessingSignalListener () |
Get the number of currently registered listeners. | |
Private Types | |
using | Super = Findlet< CDCSegment2D &, CDCTrack & > |
Type of the base class. | |
Private Attributes | |
SharingHitsMatcher< CDCTrack, CDCSegment2D > | m_sharedHitsMatcher |
Matcher for creating relations between tracks and segments based on the number of shared hits. | |
CutSelector< CDCTrack, CDCSegment2D > | m_selectPairsWithSharedHits |
Select only those pairs, which share at least a certain amount of hits. | |
FilterSelector< CDCTrack, CDCSegment2D, ChooseableFilter< SegmentTrackFilterFactory > > | m_chooseableSegmentTrackSelector |
Reference to the chooser to be used for matching segments and tracks in the first step. | |
SingleMatchSelector< CDCTrack, CDCSegment2D > | m_singleMatchSelector |
Select only the best matching segment-track relations and remove the hits from the other ones. | |
SegmentTrackAdderWithNormalization | m_segmentTrackAdderWithNormalization |
Add the matched segments to tracks. | |
TrackRejecter | m_trackRejecter |
Findlet to filter out fake tracks. | |
TrackNormalizer | m_trackNormalizer |
Findlet for normalizing the tracks. | |
std::vector< WeightedRelation< CDCTrack, const CDCSegment2D > > | m_relations |
Object pools. | |
std::vector< ProcessingSignalListener * > | m_subordinaryProcessingSignalListeners |
References to subordinary signal processing listener contained in this findlet. | |
bool | m_initialized = false |
Flag to keep track whether initialization happened before. | |
bool | m_terminated = false |
Flag to keep track whether termination happened before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Findlet for the combination of tracks and segments.
This module uses configurable filters to create matches between segments (from the local finder) and tracks (from the global finder). It also has capabilities to filter the remaining tracks for fakes and the remaining segments for new tracks/background.
Use this module at the end of the path, after you have run the local and the global track finder.
It uses several (filtering) steps, to do its job, namely:
Definition at line 58 of file SegmentTrackCombiner.h.
|
inherited |
|
inherited |
|
private |
Type of the base class.
Definition at line 62 of file SegmentTrackCombiner.h.
|
protectedinherited |
Constructor setting up the filter parameters.
Definition at line 21 of file SegmentTrackCombiner.cc.
|
protectedinherited |
Register a processing signal listener to be notified.
Definition at line 55 of file CompositeProcessingSignalListener.cc.
|
override |
Try to combine the segments and the tracks.
Definition at line 64 of file SegmentTrackCombiner.cc.
|
finalvirtual |
Signal the beginning of a new event.
Reimplemented from ProcessingSignalListener.
Definition at line 44 of file SegmentTrackCombiner.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the beginning of a new run.
Reimplemented from ProcessingSignalListener.
Reimplemented in LayerRelationFilter< AFilter >, FourHitFilter, QualityIndicatorFilter, ThreeHitFilter, TwoHitVirtualIPFilter, TwoHitVirtualIPQIFilter, RecoTrackStorer, ROIFinder, SpacePointLoaderAndPreparer, and TrackCandidateResultRefiner.
Definition at line 23 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the end of the run.
Reimplemented from ProcessingSignalListener.
Definition at line 39 of file CompositeProcessingSignalListener.cc.
|
finalvirtual |
Expose the parameters to a module.
Reimplemented from Findlet< CDCSegment2D &, CDCTrack & >.
Definition at line 51 of file SegmentTrackCombiner.cc.
|
finalvirtual |
Short description of the findlet.
Reimplemented from Findlet< CDCSegment2D &, CDCTrack & >.
Definition at line 39 of file SegmentTrackCombiner.cc.
|
protectedinherited |
Get the number of currently registered listeners.
Definition at line 60 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal before the start of the event processing.
Reimplemented from ProcessingSignalListener.
Reimplemented in UnionVarSet< AObject >, UnionVarSet< Object >, VariadicUnionVarSet< AVarSets >, ResultStorer< Belle2::CKFToPXDResult >, ResultStorer< Belle2::CKFToSVDResult >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >, OnVarSet< Filter< ATruthVarSet::Object > >, OnVarSet< Filter< AVarSet::Object > >, OnVarSet< BaseFacetFilter >, OnVarSet< BaseFacetRelationFilter >, OnVarSet< BaseAxialSegmentPairFilter >, OnVarSet< BaseSegmentRelationFilter >, OnVarSet< BaseTrackRelationFilter >, OnVarSet< BaseSegmentPairRelationFilter >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, StoreArrayLoader< const Belle2::SpacePoint >, StoreArrayLoader< DataStoreInputTypeRefType >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, RelationVarSet< ABaseVarSet >, QualityIndicatorFilter, TwoHitVirtualIPQIFilter, MultiHoughSpaceFastInterceptFinder, RawTrackCandCleaner< AHit >, RawTrackCandCleaner< Belle2::vxdHoughTracking::VXDHoughState >, RecoTrackStorer, ROIFinder, SingleHoughSpaceFastInterceptFinder, SpacePointLoaderAndPreparer, TrackCandidateOverlapResolver, and TrackCandidateResultRefiner.
Definition at line 15 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch Signal for termination of the event processing.
Reimplemented from ProcessingSignalListener.
Reimplemented in StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, and StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >.
Definition at line 47 of file CompositeProcessingSignalListener.cc.
|
private |
Reference to the chooser to be used for matching segments and tracks in the first step.
Definition at line 90 of file SegmentTrackCombiner.h.
|
privateinherited |
Flag to keep track whether initialization happened before.
Definition at line 52 of file ProcessingSignalListener.h.
|
privateinherited |
Name of the type during initialisation.
Definition at line 58 of file ProcessingSignalListener.h.
|
private |
Object pools.
Definition at line 105 of file SegmentTrackCombiner.h.
|
private |
Add the matched segments to tracks.
Definition at line 96 of file SegmentTrackCombiner.h.
|
private |
Select only those pairs, which share at least a certain amount of hits.
Definition at line 87 of file SegmentTrackCombiner.h.
|
private |
Matcher for creating relations between tracks and segments based on the number of shared hits.
Definition at line 84 of file SegmentTrackCombiner.h.
|
private |
Select only the best matching segment-track relations and remove the hits from the other ones.
Definition at line 93 of file SegmentTrackCombiner.h.
|
privateinherited |
References to subordinary signal processing listener contained in this findlet.
Definition at line 52 of file CompositeProcessingSignalListener.h.
|
privateinherited |
Flag to keep track whether termination happened before.
Definition at line 55 of file ProcessingSignalListener.h.
|
private |
Findlet for normalizing the tracks.
Definition at line 102 of file SegmentTrackCombiner.h.
|
private |
Findlet to filter out fake tracks.
Definition at line 99 of file SegmentTrackCombiner.h.