Belle II Software
release-08-01-10
|
Selector to remove all relations in the list, which share the same collection item - except the one which the highest weight - and vice versa. More...
#include <BestMatchSelector.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 | Super = Findlet< WeightedRelation< ACollectorItem, const ACollectionItem > > |
The parent class. | |
using | IOTypes = std::tuple< AIOTypes... > |
Types that should be served to apply on invokation. | |
using | IOVectors = std::tuple< std::vector< AIOTypes >... > |
Vector types that should be served to apply on invokation. | |
Public Member Functions | |
void | apply (std::vector< WeightedRelationItem > &weightedRelations) override |
Main function of this class doing the relation selection. | |
virtual std::string | getDescription () |
Brief description of the purpose of the concret findlet. | |
virtual void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) |
Forward prefixed parameters of this findlet to the module parameter list. | |
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 | beginEvent () override |
Receive and dispatch signal for the start of a new event. | |
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 Attributes | |
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 happend before. | |
bool | m_terminated = false |
Flag to keep track whether termination happend before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Selector to remove all relations in the list, which share the same collection item - except the one which the highest weight - and vice versa.
This means the function will output a list of weighted relations, where the relations from collection to collector items are bijective.
Most likely, the full stack is used as follows:
Please note that the CollectionItems are therefore const whereas the CollectorItems are not. All the passed WeightedRelations lists must be sorted.
Definition at line 43 of file BestMatchSelector.h.