Finds tracks from a collection of 2D hits.
More...
#include <algorithms/tracking/HoughFinder2DAlgo.h>
|
void | ImportHits (const ClusterColl &clColl, const GeoParamsColl &geoParamsColl, HFCluster::DetectorType detType) |
|
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 > | RThetaAverage (const std::vector< HoughTrackStub > &votes) |
|
Track2D | BuildTrackFromVotes (std::vector< HoughTrackStub > &votes, const HFClusters &clColl) |
|
std::tuple< 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 |
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 |
◆ ImportHits()
◆ 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 |
◆ RTheta()
std::pair< float, float > Herd::HoughFinder2DAlgo::RTheta |
( |
int |
votingIndex | ) |
|
Returns R and Theta values given a voting space index.
- Returns
- A std::pair containing R and Theta
◆ RThetaAverage()
std::pair< float, float > Herd::HoughFinder2DAlgo::RThetaAverage |
( |
const std::vector< HoughTrackStub > & |
votes | ) |
|
|
private |
◆ SearchVotes()
void Herd::HoughFinder2DAlgo::SearchVotes |
( |
int |
votingIndex, |
|
|
std::vector< int > & |
vIndexes |
|
) |
| |
|
private |
◆ VotingIndex()
int Herd::HoughFinder2DAlgo::VotingIndex |
( |
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
◆ m_clXY
◆ m_clXZ
◆ m_clYZ
◆ m_collName
std::string Herd::HoughFinder2DAlgo::m_collName = "tracks2DColl_hough" |
|
private |
◆ m_evStore
EA::StorePtr Herd::HoughFinder2DAlgo::m_evStore |
|
private |
◆ m_fitGeoParamsColl
◆ m_globStore
EA::StorePtr Herd::HoughFinder2DAlgo::m_globStore |
|
private |
◆ m_nRDiv
unsigned int Herd::HoughFinder2DAlgo::m_nRDiv |
|
private |
◆ m_nThetaDiv
unsigned int Herd::HoughFinder2DAlgo::m_nThetaDiv |
|
private |
◆ m_nVotes
unsigned int Herd::HoughFinder2DAlgo::m_nVotes |
|
private |
◆ m_publishAlias
bool Herd::HoughFinder2DAlgo::m_publishAlias = true |
|
private |
◆ m_RMax
float Herd::HoughFinder2DAlgo::m_RMax |
|
private |
◆ m_scdGeoParamsColl
◆ m_trackColl
◆ m_useFIT
bool Herd::HoughFinder2DAlgo::m_useFIT = true |
|
private |
◆ m_useSCD
bool Herd::HoughFinder2DAlgo::m_useSCD = true |
|
private |
◆ m_votingSpace
std::unordered_map<int, std::vector<HoughTrackStub> > Herd::HoughFinder2DAlgo::m_votingSpace |
|
private |
The documentation for this class was generated from the following files: