Belle II Software  release-08-01-10
CKFToPXDFindlet Class Referenceabstract

Combinatorial Kalman Filter to extrapolate CDC Reco Tracks into the VXD (PXD) and collect space points. More...

#include <CKFToPXDFindlet.h>

Inheritance diagram for CKFToPXDFindlet:
Collaboration diagram for CKFToPXDFindlet:

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

 CKFToPXDFindlet ()
 Constructor, for setting module description and parameters.
 
 ~CKFToPXDFindlet ()
 Default desctructor.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters of the sub findlets.
 
void apply () override
 Do the tree search.
 
void beginEvent () override
 Clear the object pools.
 
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 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<>
 Parent class.
 

Private Attributes

unsigned int m_param_minimalHitRequirement = 1
 Minimal hit requirement for the results (counted in number of space points)
 
bool m_param_onlyUseTracksWithSVD = true
 Cut away tracks without SVD hits or not.
 
bool m_param_reverseSeed = false
 Reverse the seed.
 
TrackLoader m_dataHandler
 Findlet for retrieving the cdc tracks and writing the result out.
 
SpacePointLoader m_hitsLoader
 Findlet for loading the space points.
 
StateCreatorWithReversal< CKFToPXDStatem_stateCreatorFromTracks
 Findlet for creating states out of tracks.
 
StateCreator< const SpacePoint, CKFToPXDStatem_stateCreatorFromHits
 Findlet for creating states out of hits.
 
CKFRelationCreator< CKFToPXDState, ChooseablePXDRelationFilterm_relationCreator
 Findlet for creating relations between states.
 
TreeSearcher< CKFToPXDState, PXDStateRejecter, CKFToPXDResultm_treeSearchFindlet
 Findlet doing the main work: the tree finding.
 
OverlapResolver< ChooseablePXDResultFilterm_overlapResolver
 Findlet for resolving overlaps.
 
SpacePointTagger< CKFToPXDResult, PXDClusterm_spacePointTagger
 Findlet for tagging the used space points.
 
ResultStorer< CKFToPXDResultm_resultStorer
 Findlet for storing the results.
 
std::vector< RecoTrack * > m_recoTracksVector
 Pointers to the Reco tracks as a vector.
 
std::vector< const SpacePoint * > m_spacePointVector
 Pointers to the (const) SpacePoints as a vector.
 
std::vector< CKFToPXDStatem_seedStates
 States for the tracks.
 
std::vector< CKFToPXDStatem_states
 States for the hits.
 
std::vector< TrackFindingCDC::WeightedRelation< CKFToPXDState > > m_relations
 Relations between states.
 
std::vector< CKFToPXDResultm_results
 Vector for storing the results.
 
std::vector< CKFToPXDResultm_filteredResults
 Vector for storing the filtered results.
 
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

Combinatorial Kalman Filter to extrapolate CDC Reco Tracks into the VXD (PXD) and collect space points.

The implementation is split up in four parts and factored out into five parts.

  • Fetch the SpacePoints and the reco tracks from the data store
  • Construct all possible two-state-relations between hits and seeds or hits and hits.
  • Construct all possible candidates starting from a RecoTrack and going through the layers of the VXD collecting space points.
  • Find a non-overlapping set of results (only one candidate per seed) (OverlapResolverFindlet, quality is determined by a filter)
  • Write the results out to the data store

Definition at line 57 of file CKFToPXDFindlet.h.


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