![]() |
Belle II Software
release-08-02-04
|
Reject some (or all) states from a given list of child states using 5 filters. More...
#include <StateRejecter.dcl.h>


Public Types | |
| 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 | |
| StateRejecter () | |
| Construct this findlet and add the subfindlet as listener. | |
| void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final |
| Expose the parameters of the subfindlet. | |
| void | apply (const std::vector< TrackFindingCDC::WithWeight< const AState * >> ¤tPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) final |
| Apply all five filters to the child states. | |
| virtual std::string | getDescription () |
| Brief description of the purpose of the concret findlet. | |
| 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 Types | |
| using | Super = TrackFindingCDC::Findlet< const TrackFindingCDC::WithWeight< const AState * >, TrackFindingCDC::WithWeight< AState * > > |
| Parent class. | |
Private Attributes | |
| AFilter | m_firstFilter |
| State filter to decide which available continuations should be traversed next. | |
| AFilter | m_advanceFilter |
| State filter to advance all states. | |
| AFilter | m_secondFilter |
| State filter to decide which available continuations should be traversed next. | |
| AFilter | m_updateFilter |
| State filter to kalman update all states. | |
| AFilter | m_thirdFilter |
| State filter to decide which available continuations should be traversed next. | |
| 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. | |
Reject some (or all) states from a given list of child states using 5 filters.
Typically the filters are applied in the order:
filter, extrapolation, filter, kalman update, filter
Tor simplicity, the extrapolation and the kalman update are also implemented using filters, so it is possible to use a filter factory here.
All filters get as input the current path and the full list of child states, so it is possible to look for the best N states etc. The filters themselves are responsible for deleting the not-wanted states.
Definition at line 38 of file StateRejecter.dcl.h.