![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Inheritance diagram for FourHitSeedFinder:
Collaboration diagram for FourHitSeedFinder:Public Member Functions | |
| FourHitSeedFinder (std::vector< float > &detrad, unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, HelixResolution &min_resolution, HelixResolution &max_resolution, HelixRange &range) | |
| virtual | ~FourHitSeedFinder () |
| void | finalize (std::vector< SimpleTrack3D > &input, std::vector< SimpleTrack3D > &output) |
| void | findTracks (std::vector< SimpleHit3D > &hits, std::vector< SimpleTrack3D > &tracks, const HelixRange &range) |
| void | initEvent (std::vector< SimpleHit3D > &hits, unsigned int min_hits) |
| void | findTracks_3_4 (std::vector< SimpleHit3D > &hits, std::vector< SimpleTrack3D > &tracks, const HelixRange &range) |
| void | findTracks_6 (std::vector< SimpleHit3D > &hits, std::vector< SimpleTrack3D > &tracks, const HelixRange &range) |
| void | setUsingVertex (bool usevtx) |
| void | setLayerResolution (std::vector< float > &lxy, std::vector< float > &lz) |
| void | setLayerMaterial (std::vector< float > &rl) |
| void | setVertexResolution (float vxy, float vz) |
| void | setMagField (float B) |
| double | fitTrack (SimpleTrack3D &track, std::vector< double > &chi2_hit) |
| double | fitTrackLine (SimpleTrack3D &track, std::vector< double > &chi2_hit) |
| void | setChi2Cut (double c) |
| bool | breakRecursion (const std::vector< SimpleHit3D > &hits, const HelixRange &range) |
| float | phiError (SimpleHit3D &hit, float min_k, float max_k, float min_dzdl, float max_dzdl) |
| float | dzdlError (SimpleHit3D &hit, float min_k, float max_k, float min_dzdl, float max_dzdl) |
Public Member Functions inherited from HelixHough | |
| HelixHough (unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, HelixResolution &min_resolution, HelixResolution &max_resolution, HelixRange &range) | |
| HelixHough (std::vector< std::vector< unsigned int > > &zoom_profile, unsigned int minzoom, HelixRange &range) | |
| virtual | ~HelixHough () |
| void | initHelixHough (unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, HelixResolution &min_resolution, HelixResolution &max_resolution, HelixRange &range) |
| void | findHelices (std::vector< SimpleHit3D > &hits, unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks=0) |
| void | findHelices (unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks, unsigned int zoomlevel) |
| void | findSeededHelices (std::vector< SimpleTrack3D > &seeds, std::vector< SimpleHit3D > &hits, unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks=0) |
| void | findSeededHelices_run (std::vector< SimpleTrack3D > &seeds, std::vector< SimpleHit3D > &hits, unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks=0) |
| void | findSeededHelices (unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks, unsigned int zoomlevel) |
| void | vote (unsigned int zoomlevel) |
| void | setPrintTimings (bool pt) |
| virtual void | findSeededTracks (std::vector< SimpleTrack3D > &, std::vector< SimpleHit3D > &, std::vector< SimpleTrack3D > &, const HelixRange &) |
| virtual float | phiError (SimpleHit3D &, float, float, float, float, float, float, float, float, bool=false) |
| virtual float | dzdlError (SimpleHit3D &, float, float, float, float, float, float, float, float, bool=false) |
| virtual void | initSeeding (std::vector< SimpleTrack3D > &) |
| virtual void | setSeparateByHelicity (bool sbh) |
| virtual void | setOnlyOneHelicity (bool ooh) |
| void | setHelicity (bool hel) |
| virtual void | requireLayers (unsigned int nl) |
| virtual void | setBinScale (float b_scl) |
| virtual void | setZBinScale (float b_scl) |
| virtual void | setRemoveHits (bool rh) |
| virtual void | setRangeFromSeed (HelixRange &range, SimpleTrack3D &seed) |
| virtual void | setTopRange (HelixRange &tr) |
| void | splitIntoBins (unsigned int min_hits, unsigned int max_hits, std::vector< HelixRange > &ranges, std::vector< std::vector< SimpleHit3D > > &split_hits, unsigned int zoomlevel) |
| virtual void | clear () |
| virtual void | setStartZoom (unsigned int sz) |
| virtual void | setMaxHitsPairs (unsigned int mhp) |
| void | setClusterStartBin (unsigned int csb) |
| void | setSeedStates (std::vector< HelixKalmanState > &states) |
| std::vector< HelixKalmanState > & | getKalmanStates () |
| void | setLayersAtATime (unsigned int l) |
| void | setSmoothBack (bool sb) |
| void | setCullInputHits (bool cih) |
| void | setIterateClustering (bool icl) |
Private Attributes | |
| bool | using_vertex |
| float | Bfield |
| float | Bfield_inv |
| std::vector< float > | detector_radii |
| std::vector< float > | detector_radii_inv |
| std::vector< float > | detector_scatter |
| std::vector< float > | detector_material |
| std::vector< float > | layer_xy_resolution |
| std::vector< float > | layer_z_resolution |
| double | vertex_sigma_xy |
| double | vertex_sigma_z |
| double | chi2_cut |
| std::set< std::vector < unsigned int > > | combos |
| std::set< std::vector < unsigned int > > | combos_3_pass |
| std::set< std::vector < unsigned int > > | combos_3_fail |
Additional Inherited Members | |
Static Public Member Functions inherited from HelixHough | |
| static void | phiRange_sse (float *hit_x, float *hit_y, float *min_d, float *max_d, float *min_k, float *max_k, float *min_phi_1, float *max_phi_1, float *min_phi_2, float *max_phi_2) |
| static void | phiRange_sse (float *hit_x, float *hit_y, float *min_d, float *max_d, float *min_k, float *max_k, float *min_phi, float *max_phi, float hel, __m128 &phi_3_out, __m128 &phi_4_out) |
| static void | phiRange_sse (float *hit_x, float *hit_y, float *min_d, float *max_d, float *max_k, float *min_phi, float *max_phi, float hel, __m128 &phi_3, __m128 &phi_4, __m128 &phi_3_out, __m128 &phi_4_out) |
| static void | dzdlRange_sse (float *x_a, float *y_a, float *z_a, float cosphi1, float sinphi1, float cosphi2, float sinphi2, float min_k, float max_k, float min_d, float max_d, float *min_z0, float *max_z0, float *min_dzdl_a, float *max_dzdl_a) |
| static void | phiRange_sse (float *hit_x, float *hit_y, float *min_d, float *max_d, float *min_k, float *max_k, float *min_phi, float *max_phi, float *min_phi_2, float *max_phi_2, float hel, __m128 &phi_3_out, __m128 &phi_4_out, float *hit_x_2, float *hit_y_2, __m128 &phi_3_out_2, __m128 &phi_4_out_2) |
| static void | phiRange_sse (float *hit_x, float *hit_y, float *min_d, float *max_d, float *min_k, float *max_k, float *min_phi, float *max_phi, float *min_phi_2, float *max_phi_2, float hel, __m128 &phi_3, __m128 &phi_4, __m128 &phi_3_out, __m128 &phi_4_out, float *hit_x_2, float *hit_y_2, __m128 &phi_3_2, __m128 &phi_4_2, __m128 &phi_3_out_2, __m128 &phi_4_out_2) |
Protected Member Functions inherited from HelixHough | |
| void | setRange (const BinEntryPair5D &bp, HelixRange &range1, HelixRange &range2, unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0) |
| void | fillBins (unsigned int total_bins, unsigned int hit_counter, float *min_phi_a, float *max_phi_a, std::vector< SimpleHit3D > &four_hits, fastvec2d &z_bins, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, unsigned int d_bin, unsigned int k_bin, unsigned int n_phi, unsigned int zoomlevel, float low_phi, float high_phi, float inv_phi_range, fastvec &vote_array) |
| void | makeClusters (unsigned int zoomlevel, unsigned int MAX, unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, unsigned int min_hits, std::vector< ParameterCluster > &clusters, bool &use_clusters, bool &is_super_bin) |
| bool | attemptClusterMerge (unsigned int zoomlevel, unsigned int MAX, unsigned int ca, unsigned int d, unsigned int r, unsigned int th, unsigned int zz0, unsigned int bin, unsigned int newbin, std::vector< unsigned char > &good_bins, unsigned int volume, float cluster_size_cut, float overlap_cut, std::vector< ParameterCluster > &clusters, unsigned int *bins_start, unsigned int *bins_end, std::vector< unsigned int > &map_clus, std::vector< unsigned char > &too_big, std::vector< unsigned int > &temp_merged, std::vector< unsigned int > &C) |
| void | vote_z (unsigned int zoomlevel, unsigned int n_phi, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, fastvec2d &z_bins) |
| void | vote_pairs (unsigned int zoomlevel) |
| void | fillBins (unsigned int total_bins, unsigned int pair_counter, unsigned int *pair_index, float *min_phi, float *max_phi, float *min_d, float *max_d, float *min_dzdl, float *max_dzdl, float *min_z0, float *max_z0, std::vector< std::vector< SimpleHit3D > > &four_pairs, unsigned int n_d, unsigned int n_k, unsigned int n_dzdl, unsigned int n_z0, unsigned int k_bin, unsigned int n_phi, unsigned int zoomlevel, float low_phi, float high_phi, float low_d, float high_d, float low_z0, float high_z0, float low_dzdl, float high_dzdl, float inv_phi_range, float inv_d_range, float inv_z0_range, float inv_dzdl_range, fastvec &vote_array) |
| void | findHelicesByPairsBegin (unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks, unsigned int zoomlevel) |
| void | findHelicesByPairs (unsigned int min_hits, unsigned int max_hits, std::vector< SimpleTrack3D > &tracks, unsigned int maxtracks, unsigned int zoomlevel) |
Static Protected Member Functions inherited from HelixHough | |
| static void | allButKappaRange_sse (float *x1_a, float *x2_a, float *y1_a, float *y2_a, float *z1_a, float *z2_a, float *min_k_a, float *max_k_a, float *min_phi_1_a, float *max_phi_1_a, float *min_phi_2_a, float *max_phi_2_a, float *min_d_1_a, float *max_d_1_a, float *min_d_2_a, float *max_d_2_a, float *min_dzdl_a, float *max_dzdl_a, float *min_z0_1_a, float *max_z0_1_a, float *min_z0_2_a, float *max_z0_2_a) |
Protected Attributes inherited from HelixHough | |
| bool | remove_hits |
| std::vector< unsigned int > * | hit_used |
| std::vector< unsigned int > | n_phi_bins |
| std::vector< unsigned int > | n_d_bins |
| std::vector< unsigned int > | n_k_bins |
| std::vector< unsigned int > | n_dzdl_bins |
| std::vector< unsigned int > | n_z0_bins |
| std::vector< SimpleHit3D > * | base_hits |
| std::vector< std::vector < SimpleHit3D > * > | hits_vec |
| std::vector< std::vector < std::pair< unsigned int, unsigned int > > * > | pairs_vec |
| std::vector< unsigned int > | index_mapping |
| std::vector< std::vector < BinEntryPair5D > * > | bins_vec |
| vector of BinEntryPairs which list the parameter bins each hit gets voted into | |
| std::vector< std::vector < SimpleTrack3D > * > | seeds_vec |
| HelixRange | top_range |
| HelixRange | current_range |
| std::vector< HelixRange > | zoomranges |
| std::vector< std::vector < ParameterCluster > * > | clusters_vec |
| std::vector< unsigned int > | num_clusters |
| std::vector< unsigned int > | C_clus |
| std::vector< unsigned int > | temp_merged_clus |
| unsigned int | max_zoom |
| unsigned int | min_zoom |
| bool | using_vertex |
| unsigned int | max_tracks |
| double | vote_time |
| double | xy_vote_time |
| double | z_vote_time |
| double | cluster_time |
| bool | print_timings |
| bool | separate_by_helicity |
| bool | helicity |
| bool | only_one_helicity |
| bool | check_layers |
| unsigned int | req_layers |
| float | bin_scale |
| float | z_bin_scale |
| unsigned int | start_zoom |
| unsigned int | max_hits_pairs |
| std::vector< std::pair < unsigned int, unsigned int > > | temp_pairs |
| std::set< unsigned int > | new_hits |
| std::map< unsigned int, unsigned int > | old_to_new |
| unsigned int | cluster_start_bin |
| unsigned int | bins_start [1<< 12] |
| unsigned int | bins_end [1<< 12] |
| unsigned int | layers_at_a_time |
| std::vector< HelixKalmanState > | track_states |
| std::vector< HelixKalmanState > | seed_states |
| unsigned int | n_layers |
| int | layer_start |
| int | layer_end |
| bool | smooth_back |
| bool | cull_input_hits |
| bool | iterate_clustering |
Definition at line 9 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 9 of file FourHitSeedFinder.h
| FourHitSeedFinder::FourHitSeedFinder | ( | std::vector< float > & | detrad, |
| unsigned int | n_phi, | ||
| unsigned int | n_d, | ||
| unsigned int | n_k, | ||
| unsigned int | n_dzdl, | ||
| unsigned int | n_z0, | ||
| HelixResolution & | min_resolution, | ||
| HelixResolution & | max_resolution, | ||
| HelixRange & | range | ||
| ) |
Definition at line 15 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 15 of file FourHitSeedFinder.cpp
References detector_radii, and detector_radii_inv.
|
inlinevirtual |
Definition at line 13 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 13 of file FourHitSeedFinder.h
|
virtual |
Reimplemented from HelixHough.
Definition at line 10 of file FourHitSeedFinder_breakRecursion.cpp.
View newest version in sPHENIX GitHub at line 10 of file FourHitSeedFinder_breakRecursion.cpp
| float FourHitSeedFinder::dzdlError | ( | SimpleHit3D & | hit, |
| float | min_k, | ||
| float | max_k, | ||
| float | min_dzdl, | ||
| float | max_dzdl | ||
| ) |
Definition at line 36 of file FourHitSeedFinder_breakRecursion.cpp.
View newest version in sPHENIX GitHub at line 36 of file FourHitSeedFinder_breakRecursion.cpp
References e.
|
virtual |
Reimplemented from HelixHough.
Definition at line 151 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 151 of file FourHitSeedFinder.cpp
References combos.
|
virtual |
Implements HelixHough.
Definition at line 25 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 25 of file FourHitSeedFinder.cpp
References findTracks_6().
Here is the call graph for this function:| void FourHitSeedFinder::findTracks_3_4 | ( | std::vector< SimpleHit3D > & | hits, |
| std::vector< SimpleTrack3D > & | tracks, | ||
| const HelixRange & | range | ||
| ) |
Definition at line 8 of file FourHitSeedFinder_find_3_4.cpp.
View newest version in sPHENIX GitHub at line 8 of file FourHitSeedFinder_find_3_4.cpp
References SimpleTrack3D::dzdl, dzdl, SimpleTrack3D::hits, it, k, SimpleTrack3D::kappa, HelixRange::max_dzdl, HelixRange::max_k, HelixRange::min_dzdl, and HelixRange::min_k.
| void FourHitSeedFinder::findTracks_6 | ( | std::vector< SimpleHit3D > & | hits, |
| std::vector< SimpleTrack3D > & | tracks, | ||
| const HelixRange & | range | ||
| ) |
Definition at line 84 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 84 of file FourHitSeedFinder.cpp
References chi2_cut, combos, fitTrack(), SimpleTrack3D::hits, it, and G4TTL::layer.
Referenced by findTracks().
Here is the call graph for this function:
Here is the caller graph for this function:| double FourHitSeedFinder::fitTrack | ( | SimpleTrack3D & | track, |
| std::vector< double > & | chi2_hit | ||
| ) |
Definition at line 306 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 306 of file FourHitSeedFinder.cpp
References SimpleTrack3D::d, D(), d, dx, dy, SimpleTrack3D::dzdl, dzdl, Acts::UnitConstants::h, SimpleTrack3D::hits, k, SimpleTrack3D::kappa, layer_xy_resolution, layer_z_resolution, SimpleTrack3D::phi, phi, r, temp1, temp2, using_vertex, v, vertex_sigma_xy, vertex_sigma_z, X, X2, y, y2, SimpleTrack3D::z0, and G4InuclParticleNames::z0.
Referenced by findTracks_6().
Here is the call graph for this function:
Here is the caller graph for this function:| double FourHitSeedFinder::fitTrackLine | ( | SimpleTrack3D & | track, |
| std::vector< double > & | chi2_hit | ||
| ) |
Definition at line 162 of file FourHitSeedFinder.cpp.
View newest version in sPHENIX GitHub at line 162 of file FourHitSeedFinder.cpp
References SimpleTrack3D::d, D(), d, dx, dy, SimpleTrack3D::dzdl, dzdl, Acts::UnitConstants::h, SimpleTrack3D::hits, k, SimpleTrack3D::kappa, layer_xy_resolution, layer_z_resolution, M_PI, SimpleTrack3D::phi, phi, temp1, using_vertex, vertex_sigma_xy, vertex_sigma_z, X, X2, y, y2, SimpleTrack3D::z0, and G4InuclParticleNames::z0.
Here is the call graph for this function:
|
inlinevirtual |
Reimplemented from HelixHough.
Definition at line 17 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 17 of file FourHitSeedFinder.h
References combos, combos_3_fail, and combos_3_pass.
| float FourHitSeedFinder::phiError | ( | SimpleHit3D & | hit, |
| float | min_k, | ||
| float | max_k, | ||
| float | min_dzdl, | ||
| float | max_dzdl | ||
| ) |
Definition at line 21 of file FourHitSeedFinder_breakRecursion.cpp.
View newest version in sPHENIX GitHub at line 21 of file FourHitSeedFinder_breakRecursion.cpp
References e.
|
inline |
Definition at line 58 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 58 of file FourHitSeedFinder.h
Referenced by main().
Here is the caller graph for this function:
|
inline |
Definition at line 36 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 36 of file FourHitSeedFinder.h
References detector_material, and detector_scatter.
|
inline |
Definition at line 29 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 29 of file FourHitSeedFinder.h
References layer_xy_resolution, and layer_z_resolution.
Referenced by main().
Here is the caller graph for this function:
|
inline |
Definition at line 53 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 53 of file FourHitSeedFinder.h
References B(), Bfield, and Bfield_inv.
Here is the call graph for this function:
|
inline |
Definition at line 27 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 27 of file FourHitSeedFinder.h
References using_vertex.
Referenced by main().
Here is the caller graph for this function:
|
inline |
Definition at line 46 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 46 of file FourHitSeedFinder.h
References vertex_sigma_xy, and vertex_sigma_z.
Referenced by main().
Here is the caller graph for this function:
|
private |
Definition at line 67 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 67 of file FourHitSeedFinder.h
Referenced by setMagField().
|
private |
Definition at line 68 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 68 of file FourHitSeedFinder.h
Referenced by setMagField().
|
private |
Definition at line 76 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 76 of file FourHitSeedFinder.h
Referenced by findTracks_6(), and setChi2Cut().
|
private |
Definition at line 77 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 77 of file FourHitSeedFinder.h
Referenced by finalize(), findTracks_6(), and initEvent().
|
private |
Definition at line 79 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 79 of file FourHitSeedFinder.h
Referenced by initEvent().
|
private |
Definition at line 78 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 78 of file FourHitSeedFinder.h
Referenced by initEvent().
|
private |
Definition at line 72 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 72 of file FourHitSeedFinder.h
Referenced by setLayerMaterial().
|
private |
Definition at line 69 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 69 of file FourHitSeedFinder.h
Referenced by FourHitSeedFinder().
|
private |
Definition at line 70 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 70 of file FourHitSeedFinder.h
Referenced by FourHitSeedFinder().
|
private |
Definition at line 71 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 71 of file FourHitSeedFinder.h
Referenced by setLayerMaterial().
|
private |
Definition at line 73 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 73 of file FourHitSeedFinder.h
Referenced by fitTrack(), fitTrackLine(), and setLayerResolution().
|
private |
Definition at line 74 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 74 of file FourHitSeedFinder.h
Referenced by fitTrack(), fitTrackLine(), and setLayerResolution().
|
private |
Definition at line 66 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 66 of file FourHitSeedFinder.h
Referenced by fitTrack(), fitTrackLine(), and setUsingVertex().
|
private |
Definition at line 75 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 75 of file FourHitSeedFinder.h
Referenced by fitTrack(), fitTrackLine(), and setVertexResolution().
|
private |
Definition at line 75 of file FourHitSeedFinder.h.
View newest version in sPHENIX GitHub at line 75 of file FourHitSeedFinder.h
Referenced by fitTrack(), fitTrackLine(), and setVertexResolution().