Belle II Software development
|
Generates axial tracks from hit using special leaf postprocessing. More...
#include <AxialTrackCreatorHitLegendre.h>
Public Types | |
enum class | EPass { NonCurlers , NonCurlersWithIncreasingThreshold , FullRange , Straight } |
Pass keys for the different sets of predefined parameters for a pass if legendre search Note: Naming copied from original location. More... | |
using | IOTypes = std::tuple< AIOTypes... > |
Types that should be served to apply on invocation. | |
using | IOVectors = std::tuple< std::vector< AIOTypes >... > |
Vector types that should be served to apply on invocation. | |
Public Member Functions | |
AxialTrackCreatorHitLegendre () | |
Constructor. | |
AxialTrackCreatorHitLegendre (EPass pass) | |
Constructor from a pass key. | |
std::string | getDescription () final |
Short description of the findlet. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final |
Expose the parameters to a module. | |
void | initialize () final |
Initialisation before the event processing starts. | |
void | apply (const std::vector< const CDCWireHit * > &axialWireHits, std::vector< CDCTrack > &tracks) final |
Execute one pass over a quad tree. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
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 = Findlet< const CDCWireHit *const, CDCTrack > |
Type of the base class. | |
using | CandidateReceiver = AxialHitQuadTreeProcessor::CandidateReceiver |
lambda function used for postprocessing | |
Private Member Functions | |
std::unique_ptr< AxialHitQuadTreeProcessor > | constructQTProcessor (EPass pass) |
Method to create QTProcessor that performs the search. | |
void | executeRelaxation (const CandidateReceiver &candidateReceiver, AxialHitQuadTreeProcessor &qtProcessor) |
Performs quadtree search. | |
Private Attributes | |
EPass | m_pass = EPass::NonCurlers |
The pass key for lookup of the parameters for this pass. | |
const double | m_param_stepScale = 0.75 |
Parameter to define multiplier for hits threshold for the next quadtree iteration. | |
int | m_param_minNHits = 10 |
Parameter to define minimal threshold of hit. | |
double | m_param_precision = 0.00000001 |
Parameter to define precision of quadtree search in case of straight pass. | |
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 happened before. | |
bool | m_terminated = false |
Flag to keep track whether termination happened before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Generates axial tracks from hit using special leaf postprocessing.
Implements Legendre transformation of the drift time circles. This is a module, performing tracking in the CDC. It is based on the paper "Implementation of the Legendre Transform for track segment reconstruction in drift tube chambers" by T. Alexopoulus, et al. NIM A592 456-462 (2008).
Definition at line 32 of file AxialTrackCreatorHitLegendre.h.
|
private |
lambda function used for postprocessing
Definition at line 82 of file AxialTrackCreatorHitLegendre.h.
|
inherited |
|
inherited |
|
private |
Type of the base class.
Definition at line 36 of file AxialTrackCreatorHitLegendre.h.
|
protectedinherited |
|
strong |
Pass keys for the different sets of predefined parameters for a pass if legendre search Note: Naming copied from original location.
Does not actually match with the associated parameters.
Definition at line 44 of file AxialTrackCreatorHitLegendre.h.
|
explicit |
Constructor from a pass key.
Definition at line 69 of file AxialTrackCreatorHitLegendre.cc.
|
protectedinherited |
Register a processing signal listener to be notified.
Definition at line 55 of file CompositeProcessingSignalListener.cc.
|
final |
Execute one pass over a quad tree.
Definition at line 99 of file AxialTrackCreatorHitLegendre.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the start of a new event.
Reimplemented from ProcessingSignalListener.
Reimplemented in SpacePointTagger< Belle2::CKFToPXDResult, Belle2::PXDCluster >, SpacePointTagger< Belle2::CKFToSVDResult, Belle2::SVDCluster >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, SharingHitsMatcher< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, RecoTrackStorer, ROIFinder, and SVDHoughTracking.
Definition at line 31 of file CompositeProcessingSignalListener.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the beginning of a new run.
Reimplemented from ProcessingSignalListener.
Reimplemented in LayerRelationFilter< AFilter >, FourHitFilter, QualityIndicatorFilter, ThreeHitFilter, TwoHitVirtualIPFilter, TwoHitVirtualIPQIFilter, RecoTrackStorer, ROIFinder, SpacePointLoaderAndPreparer, and TrackCandidateResultRefiner.
Definition at line 23 of file CompositeProcessingSignalListener.cc.
|
private |
Method to create QTProcessor that performs the search.
Definition at line 23 of file AxialTrackCreatorHitLegendre.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the end of the run.
Reimplemented from ProcessingSignalListener.
Definition at line 39 of file CompositeProcessingSignalListener.cc.
|
private |
Performs quadtree search.
candidateReceiver | lambda interface process found leaves in the legendre search |
qtProcessor | reference to the AxialHitQuadTreeProcessor instance |
Definition at line 131 of file AxialTrackCreatorHitLegendre.cc.
|
finalvirtual |
Expose the parameters to a module.
Reimplemented from Findlet< const CDCWireHit *const, CDCTrack >.
Definition at line 79 of file AxialTrackCreatorHitLegendre.cc.
|
finalvirtual |
Short description of the findlet.
Reimplemented from Findlet< const CDCWireHit *const, CDCTrack >.
Definition at line 74 of file AxialTrackCreatorHitLegendre.cc.
|
protectedinherited |
Get the number of currently registered listeners.
Definition at line 60 of file CompositeProcessingSignalListener.cc.
|
finalvirtual |
Initialisation before the event processing starts.
Reimplemented from ProcessingSignalListener.
Definition at line 94 of file AxialTrackCreatorHitLegendre.cc.
|
overridevirtualinherited |
Receive and dispatch Signal for termination of the event processing.
Reimplemented from ProcessingSignalListener.
Reimplemented in StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, and StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >.
Definition at line 47 of file CompositeProcessingSignalListener.cc.
|
privateinherited |
Flag to keep track whether initialization happened before.
Definition at line 52 of file ProcessingSignalListener.h.
|
privateinherited |
Name of the type during initialisation.
Definition at line 58 of file ProcessingSignalListener.h.
|
private |
Parameter to define minimal threshold of hit.
Definition at line 99 of file AxialTrackCreatorHitLegendre.h.
|
private |
Parameter to define precision of quadtree search in case of straight pass.
Definition at line 102 of file AxialTrackCreatorHitLegendre.h.
|
private |
Parameter to define multiplier for hits threshold for the next quadtree iteration.
Definition at line 96 of file AxialTrackCreatorHitLegendre.h.
|
private |
The pass key for lookup of the parameters for this pass.
Definition at line 93 of file AxialTrackCreatorHitLegendre.h.
|
privateinherited |
References to subordinary signal processing listener contained in this findlet.
Definition at line 52 of file CompositeProcessingSignalListener.h.
|
privateinherited |
Flag to keep track whether termination happened before.
Definition at line 55 of file ProcessingSignalListener.h.