Belle II Software development
|
A generic matcher algorithm which outputs all combinations of elements with the number of shared hits as a weight. More...
#include <SharingHitsMatcher.h>
Public Types | |
using | WeightedRelationItem = WeightedRelation< ACollectorItem, const ACollectionItem > |
Shortcut class name for a weighted relation between a collector item and a collection item. | |
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 | |
void | beginEvent () override |
Clear the hit lookup in every event. | |
void | apply (std::vector< ACollectorItem > &collectorItems, const std::vector< ACollectionItem > &collectionItems, std::vector< typename Super::WeightedRelationItem > &weightedRelations) override |
Call the apply function of the super class - but before fill the hit lookup. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
virtual std::string | getDescription () |
Brief description of the purpose of the concrete findlet. | |
virtual void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) |
Forward prefixed parameters of this findlet to the module parameter list. | |
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 | |
virtual Weight | match (ACollectorItem &collectorItem, const ACollectionItem &collectionItem) |
Override this function to implement your own matching algorithm between one collector and one collection items. | |
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 = MatcherInterface< ACollectorItem, ACollectionItem > |
The parent class. | |
Private Member Functions | |
void | match (ACollectorItem &collectorItem, const std::vector< ACollectionItem > &collectionItems, std::vector< typename Super::WeightedRelationItem > &relationsForCollector) override |
Output the number of shared hits - the rest of the logic (relation creation etc.) is handled by the parent class. | |
Private Attributes | |
std::multimap< const CDCWireHit *, const ACollectionItem * > | m_hitLookup |
association of CDCWireHits with a generic collection item | |
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. | |
A generic matcher algorithm which outputs all combinations of elements with the number of shared hits as a weight.
It does only use those collection items, which do not have a taken flag.
Definition at line 32 of file SharingHitsMatcher.h.
|
inherited |
|
inherited |
|
private |
The parent class.
Definition at line 35 of file SharingHitsMatcher.h.
|
protectedinherited |
|
inherited |
Shortcut class name for a weighted relation between a collector item and a collection item.
Definition at line 46 of file MatcherInterface.h.
|
protectedinherited |
Register a processing signal listener to be notified.
Definition at line 55 of file CompositeProcessingSignalListener.cc.
|
inlineoverride |
Call the apply function of the super class - but before fill the hit lookup.
Definition at line 45 of file SharingHitsMatcher.h.
|
inlineoverridevirtual |
Clear the hit lookup in every event.
Reimplemented from ProcessingSignalListener.
Definition at line 39 of file SharingHitsMatcher.h.
|
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.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
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.
|
inlineprotectedvirtualinherited |
Override this function to implement your own matching algorithm between one collector and one collection items.
If you override this function, you just have to return a weight - the rest of the logic is handled by the MatcherInterface class.
Definition at line 82 of file MatcherInterface.h.
|
inlineoverrideprivatevirtual |
Output the number of shared hits - the rest of the logic (relation creation etc.) is handled by the parent class.
Reimplemented from MatcherInterface< ACollectorItem, ACollectionItem >.
Definition at line 72 of file SharingHitsMatcher.h.
|
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 |
association of CDCWireHits with a generic collection item
Definition at line 105 of file SharingHitsMatcher.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.
|
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.