Finds tracks from a collection of 2D hits.
More...
#include <algorithms/tracking/HoughFinder2DAlgo.h>
|
void | ImportSiliconDetectorHits (const SiliconDetectorClustersColl &clColl, const SiliconDetectorGeoParamsColl &geoParamsColl, HFCluster::DetectorType detType) |
|
void | ImportFitHits (const FitClustersColl &clColl, const FitGeoParamsColl &geoParamsColl) |
|
void | ClearVotingSpace () |
|
void | FillVotingSpace (RefFrame::View view, const HFClusters &clusters) |
|
void | RemoveFromVotingSpace (const Cluster &cluster) |
|
int | FindCandidateTrack () |
|
std::vector< HoughTrackStub > | AccumulateVotes (int votingIndex) |
|
void | SearchVotes (int votingIndex, std::vector< int > &vIndexes) |
|
std::pair< bool, HFCluster > | FindClusterFromSeedIndex (const HFClusters &clColl, unsigned int clID) |
|
std::pair< float, float > | GetAvRTheta (const std::vector< HoughTrackStub > &votes) |
|
Track2D | BuildTrackFromVotes (std::vector< HoughTrackStub > &votes, const HFClusters &clColl) |
|
std::tuple< StkClustersColl, ScdClustersColl, FitClustersColl > | FillClusterCollections (const std::vector< HoughTrackStub > &votes, const HFClusters &clColl) |
|
Finds tracks from a collection of 2D hits.
Needed event objects:
name | type | store | optional | description |
stkClusterscollMC | StkClustersColl | evStore | yes | The clusters of the STK. |
fitClusterscollADC | FitClustersColl | evStore | yes | The clusters of the FIT. |
scdClusterscollMC | ScdClustersColl | evStore | yes | The clusters of the SCD. |
Produced event objects:
name | type | alias | store | description |
${collectionName} | Track2DColl | tracks2DColl | evStore | The collection of reconstructed tracks along each view. |
Parameters:
name | type | default value | description |
collectionName | string | tracks2DColl_hough | Name of the output track collection. |
publishAlias | bool | true | Set the alias of the pubblished collection. |
useSCD | bool | true | Use SCD clusters in track-finding. |
useFIT | bool | true | Use FIT clusters in track-finding. |
nThetaDiv | int | 500 | Number of divisions in the theta axis. |
nRDiv | int | 500 | Number of divisions in the r axis. |
RMax | float | 100 | Max abs value of r [cm]. |
nVotes | int | 6 | Minimum number of votes for a track. |
◆ HoughFinder2DAlgo()
Herd::HoughFinder2DAlgo::HoughFinder2DAlgo |
( |
const std::string & |
name | ) |
|
Constructor.
- Parameters
-
name | The name of the algorithm |
◆ AccumulateVotes()
std::vector< HoughTrackStub > Herd::HoughFinder2DAlgo::AccumulateVotes |
( |
int |
votingIndex | ) |
|
|
private |
◆ BuildTrackFromVotes()
◆ ClearVotingSpace()
void Herd::HoughFinder2DAlgo::ClearVotingSpace |
( |
| ) |
|
|
inlineprivate |
◆ FillClusterCollections()
◆ FillVotingSpace()
◆ Finalize()
bool Herd::HoughFinder2DAlgo::Finalize |
( |
| ) |
|
|
override |
Post processing part.
- Returns
- If post-processing is successful.
◆ FindCandidateTrack()
int Herd::HoughFinder2DAlgo::FindCandidateTrack |
( |
| ) |
|
|
private |
◆ FindClusterFromSeedIndex()
std::pair< bool, HFCluster > Herd::HoughFinder2DAlgo::FindClusterFromSeedIndex |
( |
const HFClusters & |
clColl, |
|
|
unsigned int |
clID |
|
) |
| |
|
private |
◆ FindTracks()
Takes a collection of clusters on a given view and finds all the tracks.
- Parameters
-
view | The view in wihch track finding should be performed |
clusters | Input set of clusters for track finding |
- Returns
- A collection of 2D tracks
◆ GetAvRTheta()
std::pair< float, float > Herd::HoughFinder2DAlgo::GetAvRTheta |
( |
const std::vector< HoughTrackStub > & |
votes | ) |
|
|
private |
◆ GetRTheta()
std::pair< float, float > Herd::HoughFinder2DAlgo::GetRTheta |
( |
int |
votingIndex | ) |
|
Returns R and Theta values given a voting space index.
- Returns
- A std::pair containing R and Theta
◆ GetVotingIndex()
int Herd::HoughFinder2DAlgo::GetVotingIndex |
( |
float |
R, |
|
|
float |
Theta |
|
) |
| |
Computes voting space index for a given pair of R-Theta.
The voting space index is computed as floor((R / _RMax + 1) * _nRDiv / 2)*_nThetaDiv + floor(Theta / M_PI * _nThetaDiv)
- Returns
- The voting space index
◆ ImportFitHits()
◆ ImportSiliconDetectorHits()
◆ Initialize()
bool Herd::HoughFinder2DAlgo::Initialize |
( |
| ) |
|
|
override |
Initialization of the algorithm.
- Returns
- true if the initialization procedure is successful.
◆ Process()
bool Herd::HoughFinder2DAlgo::Process |
( |
| ) |
|
|
override |
Process a single event.
- Returns
- If event processing is successful.
◆ RemoveFromVotingSpace()
void Herd::HoughFinder2DAlgo::RemoveFromVotingSpace |
( |
const Cluster & |
cluster | ) |
|
|
private |
◆ SearchVotes()
void Herd::HoughFinder2DAlgo::SearchVotes |
( |
int |
votingIndex, |
|
|
std::vector< int > & |
vIndexes |
|
) |
| |
|
private |
◆ _clXY
◆ _clXZ
◆ _clYZ
◆ _collName
std::string Herd::HoughFinder2DAlgo::_collName = "tracks2DColl_hough" |
|
private |
◆ _evStore
StorePtr Herd::HoughFinder2DAlgo::_evStore |
|
private |
◆ _fitGeoParamsColl
◆ _globStore
StorePtr Herd::HoughFinder2DAlgo::_globStore |
|
private |
◆ _nRDiv
unsigned int Herd::HoughFinder2DAlgo::_nRDiv |
|
private |
◆ _nThetaDiv
unsigned int Herd::HoughFinder2DAlgo::_nThetaDiv |
|
private |
◆ _nVotes
unsigned int Herd::HoughFinder2DAlgo::_nVotes |
|
private |
◆ _publishAlias
bool Herd::HoughFinder2DAlgo::_publishAlias = true |
|
private |
◆ _RMax
float Herd::HoughFinder2DAlgo::_RMax |
|
private |
◆ _scdGeoParamsColl
◆ _stkGeoParamsColl
◆ _trackColl
◆ _useFIT
bool Herd::HoughFinder2DAlgo::_useFIT = true |
|
private |
◆ _useSCD
bool Herd::HoughFinder2DAlgo::_useSCD = true |
|
private |
◆ _votingSpace
std::unordered_map<int, std::vector<HoughTrackStub> > Herd::HoughFinder2DAlgo::_votingSpace |
|
private |
The documentation for this class was generated from the following files: