EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <fun4all_coresoftware/blob/master/offline/packages/trackreco/PHCASeeding.h>
Public Member Functions | |
PHCASeeding (const std::string &name="PHCASeeding", unsigned int start_layer=7, unsigned int end_layer=55, unsigned int min_nhits_per_cluster=0, unsigned int min_clusters_per_track=5, const unsigned int nlayers_maps=3, const unsigned int nlayers_intt=4, const unsigned int nlayers_tpc=48, float neighbor_phi_width=.02, float neighbor_eta_width=.01, float maxSinPhi=0.999, float cosTheta_limit=-0.8) | |
~PHCASeeding () override | |
void | SetLayerRange (unsigned int layer_low, unsigned int layer_up) |
void | SetSearchWindow (float eta_width, float phi_width) |
void | SetMinHitsPerCluster (unsigned int minHits) |
void | SetMinClustersPerTrack (unsigned int minClus) |
void | set_field_dir (const double rescale) |
void | useConstBField (bool opt) |
void | useFixedClusterError (bool opt) |
void | setFixedClusterError (int i, double val) |
Public Member Functions inherited from PHTrackSeeding | |
PHTrackSeeding (const std::string &name="PHTrackSeeding") | |
~PHTrackSeeding () override | |
int | InitRun (PHCompositeNode *topNode) override |
int | process_event (PHCompositeNode *topNode) override |
int | End (PHCompositeNode *topNode) override |
Called at the end of all processing. | |
void | set_track_map_name (const std::string &map_name) |
void | SetUseTruthClusters (bool setit) |
void | SetIteration (int iter) |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
virtual int | Init (PHCompositeNode *) |
virtual int | Reset (PHCompositeNode *) |
Reset. | |
virtual int | ResetEvent (PHCompositeNode *) |
Clean up after each event. | |
void | Print (const std::string &="ALL") const override |
Public Member Functions inherited from Fun4AllBase | |
virtual | ~Fun4AllBase () |
virtual const std::string | Name () const |
Returns the name of this module. | |
virtual void | Name (const std::string &name) |
Sets the name of this module. | |
virtual void | Verbosity (const int ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual void | Verbosity (enu_Verbosity ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual int | Verbosity () const |
Gets the verbosity of this module. | |
Protected Member Functions | |
int | Setup (PHCompositeNode *topNode) override |
int | Process (PHCompositeNode *topNode) override |
int | InitializeGeometry (PHCompositeNode *topNode) |
int | FindSeedsLayerSkip (double cosTheta_limit) |
int | End () override |
Called in SubsysReco::End. | |
Private Types | |
enum | skip_layers { on, off } |
Private Member Functions | |
Acts::Vector3D | getGlobalPosition (TrkrCluster *) const |
get global position for a given cluster | |
PositionMap | FillTree () |
int | FindSeedsWithMerger (const PositionMap &) |
std::pair< std::vector < std::unordered_set< keylink > >, std::vector < std::unordered_set< keylink > > > | CreateLinks (const std::vector< coordKey > &clusters, const PositionMap &globalPositions, int mode=skip_layers::off) const |
std::vector< std::vector < keylink > > | FindBiLinks (const std::vector< std::unordered_set< keylink >> &belowLinks, const std::vector< std::unordered_set< keylink >> &aboveLinks) const |
std::vector< keylist > | FollowBiLinks (const std::vector< std::vector< keylink >> &bidirectionalLinks, const PositionMap &globalPositions) const |
void | QueryTree (const bgi::rtree< pointKey, bgi::quadratic< 16 >> &rtree, double phimin, double etamin, double lmin, double phimax, double etamax, double lmax, std::vector< pointKey > &returned_values) const |
std::vector< keylist > | RemoveBadClusters (const std::vector< keylist > &seeds, const PositionMap &globalPositions) const |
void | publishSeeds (const std::vector< SvtxTrack_v2 > &seeds) |
Private Attributes | |
ActsTransformations | m_transform |
acts transformation object | |
TpcDistortionCorrection | m_distortionCorrection |
tpc distortion correction utility class | |
const unsigned int | _nlayers_maps |
const unsigned int | _nlayers_intt |
const unsigned int | _nlayers_tpc |
unsigned int | _start_layer |
unsigned int | _end_layer |
unsigned int | _min_nhits_per_cluster |
unsigned int | _min_clusters_per_track |
float | _neighbor_phi_width |
float | _neighbor_eta_width |
float | _max_sin_phi |
float | _cosTheta_limit |
double | _rz_outlier_threshold = 0.1 |
double | _xy_outlier_threshold = 0.1 |
double | _fieldDir = -1 |
bool | _use_const_field = false |
bool | _use_fixed_clus_err = false |
std::array< double, 3 > | _fixed_clus_err = {.1,.1,.1} |
ActsTrackingGeometry * | tGeometry {nullptr} |
acts geometry | |
ActsSurfaceMaps * | surfMaps {nullptr} |
acts surface map | |
TpcDistortionCorrectionContainer * | m_dcc = nullptr |
distortion correction container | |
std::unique_ptr< ALICEKF > | fitter |
std::unique_ptr< PHTimer > | t_seed |
std::unique_ptr< PHTimer > | t_fill |
bgi::rtree< pointKey, bgi::quadratic< 16 > > | _rtree |
Additional Inherited Members | |
Public Types inherited from Fun4AllBase | |
enum | enu_Verbosity { VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3, VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10 } |
Protected Attributes inherited from PHTrackSeeding | |
TrkrClusterContainer * | _cluster_map = nullptr |
TrkrClusterHitAssoc * | _cluster_hit_map = nullptr |
TrkrClusterIterationMapv1 * | _iteration_map |
int | _n_iteration |
SvtxVertexMap * | _vertex_map = nullptr |
SvtxTrackMap * | _track_map = nullptr |
AssocInfoContainer * | _assoc_container = nullptr |
TrkrHitSetContainer * | _hitsets = nullptr |
std::string | _track_map_name = "SvtxTrackMap" |
bool | _use_truth_clusters = false |
Definition at line 57 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 57 of file PHCASeeding.h
|
private |
Definition at line 101 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 101 of file PHCASeeding.h
PHCASeeding::PHCASeeding | ( | const std::string & | name = "PHCASeeding" , |
unsigned int | start_layer = 7 , |
||
unsigned int | end_layer = 55 , |
||
unsigned int | min_nhits_per_cluster = 0 , |
||
unsigned int | min_clusters_per_track = 5 , |
||
const unsigned int | nlayers_maps = 3 , |
||
const unsigned int | nlayers_intt = 4 , |
||
const unsigned int | nlayers_tpc = 48 , |
||
float | neighbor_phi_width = .02 , |
||
float | neighbor_eta_width = .01 , |
||
float | maxSinPhi = 0.999 , |
||
float | cosTheta_limit = -0.8 |
||
) |
Definition at line 175 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 175 of file PHCASeeding.cc
|
inlineoverride |
Definition at line 74 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 74 of file PHCASeeding.h
|
private |
Definition at line 373 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 373 of file PHCASeeding.cc
References _cosTheta_limit, _end_layer, _neighbor_eta_width, _neighbor_phi_width, _nlayers_intt, _nlayers_maps, _nlayers_tpc, _rtree, _start_layer, cos(), LogDebug, QueryTree(), t_seed, Acts::Test::transform, and Fun4AllBase::Verbosity().
Referenced by FindSeedsWithMerger().
|
overrideprotectedvirtual |
Called in SubsysReco::End.
Implements PHTrackSeeding.
Definition at line 814 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 814 of file PHCASeeding.cc
References Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().
|
private |
Definition at line 244 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 244 of file PHCASeeding.cc
References PHTrackSeeding::_cluster_map, _end_layer, PHTrackSeeding::_hitsets, PHTrackSeeding::_iteration_map, PHTrackSeeding::_n_iteration, _rtree, TrkrCluster::getClusKey(), TrkrClusterContainer::getClusters(), ActsTransformations::getGlobalPosition(), getGlobalPosition(), TrkrHitSetContainer::getHitSets(), TrkrClusterIterationMapv1::getIteration(), TrkrDefs::getLayer(), G4TTL::layer, QueryTree(), surfMaps, t_fill, tGeometry, TrkrDefs::tpcId, and Fun4AllBase::Verbosity().
Referenced by Process().
|
private |
Definition at line 593 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 593 of file PHCASeeding.cc
References _nlayers_intt, _nlayers_maps, _nlayers_tpc, TrkrDefs::getLayer(), G4TTL::layer, t_seed, and Fun4AllBase::Verbosity().
Referenced by FindSeedsWithMerger().
|
protected |
|
private |
Definition at line 344 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 344 of file PHCASeeding.cc
References _end_layer, _nlayers_tpc, _rtree, _start_layer, CreateLinks(), FindBiLinks(), fitter, FollowBiLinks(), LogDebug, M_PI, publishSeeds(), QueryTree(), RemoveBadClusters(), t_seed, and Fun4AllBase::Verbosity().
Referenced by Process().
|
private |
Definition at line 619 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 619 of file PHCASeeding.cc
References _nlayers_intt, _nlayers_maps, _nlayers_tpc, TrkrDefs::getLayer(), k, G4TTL::layer, LogDebug, t_seed, and Fun4AllBase::Verbosity().
Referenced by FindSeedsWithMerger().
|
private |
get global position for a given cluster
uses ActsTransformation to convert cluster local position into global coordinates incorporates TPC distortion correction, if present
Definition at line 222 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 222 of file PHCASeeding.cc
References TpcDistortionCorrection::get_corrected_position(), ActsTransformations::getGlobalPosition(), m_dcc, m_distortionCorrection, m_transform, surfMaps, and tGeometry.
Referenced by FillTree().
|
protected |
Definition at line 203 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 203 of file PHCASeeding.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, PHWHERE, surfMaps, and tGeometry.
Referenced by Setup().
|
overrideprotectedvirtual |
process event interface for trackers, called in process_event. implemented in derived classes
Implements PHTrackSeeding.
Definition at line 316 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 316 of file PHCASeeding.cc
References PHTrackSeeding::_iteration_map, PHTrackSeeding::_n_iteration, _rtree, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, FillTree(), FindSeedsWithMerger(), PHWHERE, t_seed, and Fun4AllBase::Verbosity().
|
private |
Definition at line 779 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 779 of file PHCASeeding.cc
References PHTrackSeeding::_track_map, and SvtxTrackMap::insert().
Referenced by FindSeedsWithMerger().
|
private |
Definition at line 235 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 235 of file PHCASeeding.cc
Referenced by CreateLinks(), FillTree(), and FindSeedsWithMerger().
|
private |
Definition at line 723 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 723 of file PHCASeeding.cc
References _xy_outlier_threshold, fitter, Acts::IntegrationTest::R, Fun4AllBase::Verbosity(), x, and y.
Referenced by FindSeedsWithMerger().
|
inline |
Definition at line 80 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 80 of file PHCASeeding.h
References _fieldDir.
|
inline |
Definition at line 90 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 90 of file PHCASeeding.h
References _fixed_clus_err.
|
inline |
Definition at line 75 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 75 of file PHCASeeding.h
References _end_layer, and _start_layer.
|
inline |
Definition at line 78 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 78 of file PHCASeeding.h
References _min_clusters_per_track.
|
inline |
Definition at line 77 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 77 of file PHCASeeding.h
References _min_nhits_per_cluster.
|
inline |
Definition at line 76 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 76 of file PHCASeeding.h
References _neighbor_eta_width, and _neighbor_phi_width.
|
overrideprotectedvirtual |
setup interface for trackers, called in InitRun, setup things like pointers to nodes. overrided in derived classes
Reimplemented from PHTrackSeeding.
Definition at line 785 of file PHCASeeding.cc.
View newest version in sPHENIX GitHub at line 785 of file PHCASeeding.cc
References PHTrackSeeding::_cluster_map, _fieldDir, _fixed_clus_err, _max_sin_phi, _min_clusters_per_track, _use_const_field, _use_fixed_clus_err, Fun4AllReturnCodes::EVENT_OK, fitter, InitializeGeometry(), m_dcc, PHTrackSeeding::Setup(), t_fill, t_seed, and Fun4AllBase::Verbosity().
|
inline |
Definition at line 88 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 88 of file PHCASeeding.h
References _use_const_field.
|
inline |
Definition at line 89 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 89 of file PHCASeeding.h
References _use_fixed_clus_err.
|
private |
Definition at line 142 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 142 of file PHCASeeding.h
Referenced by CreateLinks().
|
private |
Definition at line 134 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 134 of file PHCASeeding.h
Referenced by CreateLinks(), FillTree(), FindSeedsWithMerger(), and SetLayerRange().
|
private |
Definition at line 145 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 145 of file PHCASeeding.h
Referenced by set_field_dir(), and Setup().
|
private |
Definition at line 148 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 148 of file PHCASeeding.h
Referenced by setFixedClusterError(), and Setup().
|
private |
Definition at line 141 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 141 of file PHCASeeding.h
Referenced by Setup().
|
private |
Definition at line 136 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 136 of file PHCASeeding.h
Referenced by SetMinClustersPerTrack(), and Setup().
|
private |
Definition at line 135 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 135 of file PHCASeeding.h
Referenced by SetMinHitsPerCluster().
|
private |
Definition at line 140 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 140 of file PHCASeeding.h
Referenced by CreateLinks(), and SetSearchWindow().
|
private |
Definition at line 139 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 139 of file PHCASeeding.h
Referenced by CreateLinks(), and SetSearchWindow().
|
private |
Definition at line 131 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 131 of file PHCASeeding.h
Referenced by CreateLinks(), FindBiLinks(), and FollowBiLinks().
|
private |
Definition at line 130 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 130 of file PHCASeeding.h
Referenced by CreateLinks(), FindBiLinks(), and FollowBiLinks().
|
private |
Definition at line 132 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 132 of file PHCASeeding.h
Referenced by CreateLinks(), FindBiLinks(), FindSeedsWithMerger(), and FollowBiLinks().
|
private |
Definition at line 163 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 163 of file PHCASeeding.h
Referenced by CreateLinks(), FillTree(), FindSeedsWithMerger(), and Process().
|
private |
Definition at line 143 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 143 of file PHCASeeding.h
|
private |
Definition at line 133 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 133 of file PHCASeeding.h
Referenced by CreateLinks(), FindSeedsWithMerger(), and SetLayerRange().
|
private |
Definition at line 146 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 146 of file PHCASeeding.h
Referenced by Setup(), and useConstBField().
|
private |
Definition at line 147 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 147 of file PHCASeeding.h
Referenced by Setup(), and useFixedClusterError().
|
private |
Definition at line 144 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 144 of file PHCASeeding.h
Referenced by RemoveBadClusters().
|
private |
Definition at line 159 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 159 of file PHCASeeding.h
Referenced by FindSeedsWithMerger(), RemoveBadClusters(), and Setup().
|
private |
distortion correction container
Definition at line 157 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 157 of file PHCASeeding.h
Referenced by getGlobalPosition(), and Setup().
|
private |
tpc distortion correction utility class
Definition at line 107 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 107 of file PHCASeeding.h
Referenced by getGlobalPosition().
|
private |
acts transformation object
Definition at line 104 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 104 of file PHCASeeding.h
Referenced by getGlobalPosition().
|
private |
acts surface map
Definition at line 154 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 154 of file PHCASeeding.h
Referenced by FillTree(), getGlobalPosition(), and InitializeGeometry().
|
private |
Definition at line 162 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 162 of file PHCASeeding.h
Referenced by FillTree(), and Setup().
|
private |
Definition at line 161 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 161 of file PHCASeeding.h
Referenced by CreateLinks(), FindBiLinks(), FindSeedsWithMerger(), FollowBiLinks(), Process(), and Setup().
|
private |
acts geometry
Definition at line 151 of file PHCASeeding.h.
View newest version in sPHENIX GitHub at line 151 of file PHCASeeding.h
Referenced by FillTree(), getGlobalPosition(), and InitializeGeometry().