Go to the documentation of this file.
8 #ifndef HoughFinder2DAlgo_H_
9 #define HoughFinder2DAlgo_H_
20 #include "algorithm/Algorithm.h"
66 using ClusterColl = std::variant<FitClustersColl, ScdClustersColl>;
107 std::pair<float, float>
RTheta(
int votingIndex);
155 void SearchVotes(
int votingIndex, std::vector<int> &vIndexes);
161 std::pair<float, float>
RThetaAverage(
const std::vector<HoughTrackStub> &votes);
168 std::tuple<ScdClustersColl, FitClustersColl>
FillClusterCollections(
const std::vector<HoughTrackStub> &votes,
unsigned int m_nVotes
Definition: HoughFinder2DAlgo.h:126
int VotingIndex(float R, float Theta)
Computes voting space index for a given pair of R-Theta.
Definition: HoughFinder2DAlgo.cpp:101
unsigned int m_nRDiv
Definition: HoughFinder2DAlgo.h:124
HoughFinder2DAlgo(const std::string &name)
Constructor.
Definition: HoughFinder2DAlgo.cpp:28
std::vector< std::vector< HFCluster > > HFClusters
Definition: HoughFinder2DAlgo.h:65
int FindCandidateTrack()
Definition: HoughFinder2DAlgo.cpp:122
EA::observer_ptr< FitGeoParamsColl > m_fitGeoParamsColl
Definition: HoughFinder2DAlgo.h:175
bool m_useFIT
Definition: HoughFinder2DAlgo.h:121
void RemoveFromVotingSpace(const Cluster &cluster)
Definition: HoughFinder2DAlgo.cpp:201
std::pair< float, float > RTheta(int votingIndex)
Returns R and Theta values given a voting space index.
Definition: HoughFinder2DAlgo.cpp:115
bool Initialize() override
Initialization of the algorithm.
Definition: HoughFinder2DAlgo.cpp:212
Tracker cluster object for transient data model.
Definition: Cluster.h:30
std::variant< FitClustersColl, ScdClustersColl > ClusterColl
Definition: HoughFinder2DAlgo.h:66
EA::observer_ptr< ScdGeoParamsColl > m_scdGeoParamsColl
Definition: HoughFinder2DAlgo.h:174
float m_RMax
Definition: HoughFinder2DAlgo.h:125
std::tuple< ScdClustersColl, FitClustersColl > FillClusterCollections(const std::vector< HoughTrackStub > &votes, const HFClusters &clColl)
Definition: HoughFinder2DAlgo.cpp:307
void ClearVotingSpace()
Definition: HoughFinder2DAlgo.h:137
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
std::variant< FitGeoParamsColl, ScdGeoParamsColl > GeoParamsColl
Definition: HoughFinder2DAlgo.h:67
View
Aliases for the three 2D projection planes.
Definition: RefFrame.h:91
std::pair< float, float > RThetaAverage(const std::vector< HoughTrackStub > &votes)
Definition: HoughFinder2DAlgo.cpp:280
Track2D BuildTrackFromVotes(std::vector< HoughTrackStub > &votes, const HFClusters &clColl)
Definition: HoughFinder2DAlgo.cpp:376
std::vector< HoughTrackStub > AccumulateVotes(int votingIndex)
Definition: HoughFinder2DAlgo.cpp:144
HFClusters m_clXY
Definition: HoughFinder2DAlgo.h:130
std::pair< bool, HFCluster > FindClusterFromSeedIndex(const HFClusters &clColl, unsigned int clID)
Definition: HoughFinder2DAlgo.cpp:492
bool Finalize() override
Post processing part.
Definition: HoughFinder2DAlgo.cpp:275
std::unordered_map< int, std::vector< HoughTrackStub > > m_votingSpace
Definition: HoughFinder2DAlgo.h:172
unsigned int m_nThetaDiv
Definition: HoughFinder2DAlgo.h:123
bool m_useSCD
Definition: HoughFinder2DAlgo.h:120
EA::StorePtr m_globStore
Definition: HoughFinder2DAlgo.h:177
Finds tracks from a collection of 2D hits.
Definition: HoughFinder2DAlgo.h:69
void FillVotingSpace(RefFrame::View view, const HFClusters &clusters)
Definition: HoughFinder2DAlgo.cpp:508
Track2DColl m_trackColl
Definition: HoughFinder2DAlgo.h:176
bool Process() override
Process a single event.
Definition: HoughFinder2DAlgo.cpp:233
void SearchVotes(int votingIndex, std::vector< int > &vIndexes)
Definition: HoughFinder2DAlgo.cpp:163
Class describing a track.
Definition: Track2D.h:32
DetectorType
Definition: HFCluster.h:23
bool m_publishAlias
Definition: HoughFinder2DAlgo.h:118
std::string m_collName
Definition: HoughFinder2DAlgo.h:117
HFClusters m_clYZ
Definition: HoughFinder2DAlgo.h:129
void ImportHits(const ClusterColl &clColl, const GeoParamsColl &geoParamsColl, HFCluster::DetectorType detType)
Definition: HoughFinder2DAlgo.cpp:46
EA::StorePtr m_evStore
Definition: HoughFinder2DAlgo.h:178
HFClusters m_clXZ
Definition: HoughFinder2DAlgo.h:128
void FindTracks(RefFrame::View view, const HFClusters &clusters)
Takes a collection of clusters on a given view and finds all the tracks.
Definition: HoughFinder2DAlgo.cpp:545