Belle II Software  release-08-01-10
StateRejecter< AState, AFilter > Class Template Referenceabstract

Reject some (or all) states from a given list of child states using 5 filters. More...

#include <StateRejecter.dcl.h>

Inheritance diagram for StateRejecter< AState, AFilter >:
Collaboration diagram for StateRejecter< AState, AFilter >:

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 * >> &currentPath, 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.
 

Detailed Description

template<class AState, class AFilter>
class Belle2::StateRejecter< AState, AFilter >

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.


The documentation for this class was generated from the following files: