Belle II Software
release-08-01-10
|
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.