Belle II Software development
|
Findlet for clustering DATCONSVDDigits and creating SVDClusters that are used for tracking in DATCON. More...
#include <DATCONSVDClusterizer.h>
Public Types | |
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 | |
DATCONSVDClusterizer () | |
Cluster SVD strips. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override |
Expose the parameters of the sub findlets. | |
void | initialize () override |
Create the store arrays. | |
void | beginRun () override |
Begin Run. | |
void | apply (const std::vector< DATCONSVDDigit > &digits, std::vector< SVDCluster > &clusters) override |
Load in the DATCONSVDDigits and create SVDClusters from them. | |
virtual std::string | getDescription () |
Brief description of the purpose of the concrete findlet. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
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 DATCONSVDDigit, SVDCluster > |
Parent class. | |
typedef std::map< int, float > | SimpleSVDNoiseMap |
Simple representation of a SVD Noise Map. | |
Private Member Functions | |
void | fillDATCONSVDNoiseMap () |
fill the noise map to be used for SNR cuts | |
float | calculateSNR (DATCONSVDDigit digit) |
calculate the SNR of a DATCONSVDDigit (= one strip) in a simplified way | |
void | saveCluster (DATCONSVDClusterCandidate &clusterCand, std::vector< SVDCluster > &clusters) |
save the current cluster candidate as a SVDCluster | |
Private Attributes | |
SVDNoiseCalibrations | m_NoiseCal |
SVD Noise payload. | |
SimpleSVDNoiseMap | m_svdNoiseMap |
Simple noise map for u-strips*/. | |
std::string | m_param_noiseMapfileName = "noiseMap.txt" |
File name for a file containing the noise of the strips for export to FPGA. | |
bool | m_param_writeNoiseMapsToFile = false |
Write the noise map to file m_param_noiseMapfileName for export to FPGA? | |
bool | m_param_isU = true |
Is this the finldlet for u-side or for v-side? | |
bool | m_param_saveClusterToDataStore = false |
Save SVDCluster to DataStore for analysis? | |
std::string | m_param_storeSVDClustersName = "DATCONSVDClusters" |
SVDClusters StoreArray name. | |
StoreArray< SVDCluster > | m_storeSVDClusters |
StoreArray to save the clusters to. | |
unsigned short | m_param_maxiClusterSize = 20 |
maximum cluster size | |
float | m_param_noiseCut = 4 |
Value above which u-strips are considered noisy, all other u-strips will get assigned a standard noise value of m_noiseCut. | |
float | m_param_requiredSNRstrip = 5 |
Require a SNR for a u-strip signal to be valid. | |
float | m_param_requiredSNRcluster = 5 |
Require a SNR for at least one strip in the u-cluster to make the cluster valid. | |
const VXD::GeoCache & | m_geoCache = VXD::GeoCache::getInstance() |
instance of GeoCache to avoid creating it again for every cluster | |
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. | |
Findlet for clustering DATCONSVDDigits and creating SVDClusters that are used for tracking in DATCON.
This finldet only clusters strips on one side. The created SVDClusters can be stored in the DataStore by setting m_param_saveClusterToDataStore to true.
Definition at line 35 of file DATCONSVDClusterizer.h.
|
inherited |
|
inherited |
|
private |
Simple representation of a SVD Noise Map.
Definition at line 40 of file DATCONSVDClusterizer.h.
|
private |
Parent class.
Definition at line 37 of file DATCONSVDClusterizer.h.
|
protectedinherited |
Definition at line 22 of file DATCONSVDClusterizer.cc.
|
protectedinherited |
Register a processing signal listener to be notified.
Definition at line 55 of file CompositeProcessingSignalListener.cc.
|
override |
Load in the DATCONSVDDigits and create SVDClusters from them.
Definition at line 75 of file DATCONSVDClusterizer.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.
|
overridevirtual |
Begin Run.
Reimplemented from ProcessingSignalListener.
Definition at line 60 of file DATCONSVDClusterizer.cc.
|
private |
calculate the SNR of a DATCONSVDDigit (= one strip) in a simplified way
digit | DATCONSVDDigit for which the SNR is calculated |
Definition at line 149 of file DATCONSVDClusterizer.cc.
|
overridevirtualinherited |
Receive and dispatch signal for the end of the run.
Reimplemented from ProcessingSignalListener.
Definition at line 39 of file CompositeProcessingSignalListener.cc.
|
overridevirtual |
Expose the parameters of the sub findlets.
Reimplemented from Findlet< const DATCONSVDDigit, SVDCluster >.
Definition at line 26 of file DATCONSVDClusterizer.cc.
|
private |
fill the noise map to be used for SNR cuts
Definition at line 169 of file DATCONSVDClusterizer.cc.
|
inlinevirtualinherited |
|
protectedinherited |
Get the number of currently registered listeners.
Definition at line 60 of file CompositeProcessingSignalListener.cc.
|
overridevirtual |
Create the store arrays.
Reimplemented from ProcessingSignalListener.
Definition at line 66 of file DATCONSVDClusterizer.cc.
|
private |
save the current cluster candidate as a SVDCluster
clusterCand | cluster candidate to be stored |
clusters | vector containing all the finalized clusters |
Definition at line 127 of file DATCONSVDClusterizer.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.
|
private |
instance of GeoCache to avoid creating it again for every cluster
Definition at line 103 of file DATCONSVDClusterizer.h.
|
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 |
SVD Noise payload.
Definition at line 73 of file DATCONSVDClusterizer.h.
|
private |
Is this the finldlet for u-side or for v-side?
Definition at line 84 of file DATCONSVDClusterizer.h.
|
private |
maximum cluster size
Definition at line 94 of file DATCONSVDClusterizer.h.
|
private |
Value above which u-strips are considered noisy, all other u-strips will get assigned a standard noise value of m_noiseCut.
Definition at line 96 of file DATCONSVDClusterizer.h.
|
private |
File name for a file containing the noise of the strips for export to FPGA.
Definition at line 80 of file DATCONSVDClusterizer.h.
|
private |
Require a SNR for at least one strip in the u-cluster to make the cluster valid.
Definition at line 100 of file DATCONSVDClusterizer.h.
|
private |
Require a SNR for a u-strip signal to be valid.
Definition at line 98 of file DATCONSVDClusterizer.h.
|
private |
Save SVDCluster to DataStore for analysis?
Definition at line 87 of file DATCONSVDClusterizer.h.
|
private |
SVDClusters StoreArray name.
Definition at line 89 of file DATCONSVDClusterizer.h.
|
private |
Write the noise map to file m_param_noiseMapfileName for export to FPGA?
Definition at line 82 of file DATCONSVDClusterizer.h.
|
private |
StoreArray to save the clusters to.
Definition at line 91 of file DATCONSVDClusterizer.h.
|
privateinherited |
References to subordinary signal processing listener contained in this findlet.
Definition at line 52 of file CompositeProcessingSignalListener.h.
|
private |
Simple noise map for u-strips*/.
Definition at line 77 of file DATCONSVDClusterizer.h.
|
privateinherited |
Flag to keep track whether termination happened before.
Definition at line 55 of file ProcessingSignalListener.h.