EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Vertexing using truth info. More...
#include <fun4all_coresoftware/blob/master/offline/packages/trackreco/PHTruthTrackSeeding.h>
Public Member Functions | |
PHTruthTrackSeeding (const std::string &name="PHTruthTrackSeeding") | |
unsigned int | get_min_clusters_per_track () const |
void | set_min_clusters_per_track (unsigned int minClustersPerTrack) |
void | set_min_layer (unsigned int minLayer) |
void | set_max_layer (unsigned int maxLayer) |
double | get_min_momentum () const |
minimal truth momentum cut | |
void | set_min_momentum (double m) |
minimal truth momentum cut | |
void | helicalTrackFit (const bool helicalTrackFit) |
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 | End () override |
Called in SubsysReco::End. | |
Private Member Functions | |
int | GetNodes (PHCompositeNode *topNode) |
fetch node pointers | |
void | circleFitSeed (std::vector< TrkrDefs::cluskey > clusters, double &x, double &y, double &z, double &px, double &py, double &pz, int charge) |
void | circleFitByTaubin (std::vector< TrkrDefs::cluskey > &clusters, double &R, double &X0, double &Y0) |
void | findRoot (const double &R, const double &X0, const double &Y0, double &x, double &y) |
void | lineFit (std::vector< TrkrDefs::cluskey > &clusters, double &A, double &B) |
Private Attributes | |
PHG4TruthInfoContainer * | _g4truth_container = nullptr |
TrkrClusterContainer * | m_clusterMap = nullptr |
PHG4HitContainer * | phg4hits_tpc = nullptr |
PHG4HitContainer * | phg4hits_intt = nullptr |
PHG4HitContainer * | phg4hits_mvtx = nullptr |
PHG4HitContainer * | phg4hits_micromegas = nullptr |
TrkrHitTruthAssoc * | hittruthassoc = nullptr |
SvtxClusterEval * | _clustereval |
unsigned int | _min_clusters_per_track = 3 |
unsigned int | _min_layer = 0 |
unsigned int | _max_layer = 60 |
bool | m_helicalTrackFit = false |
double | _min_momentum = 50e-3 |
minimal truth momentum cut (GeV) | |
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 |
Vertexing using truth info.
Definition at line 31 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 31 of file PHTruthTrackSeeding.h
PHTruthTrackSeeding::PHTruthTrackSeeding | ( | const std::string & | name = "PHTruthTrackSeeding" | ) |
Definition at line 52 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 52 of file PHTruthTrackSeeding.cc
|
private |
Circle fit to a given set of data points (in 2D) This is an algebraic fit, due to Taubin, based on the journal article G. Taubin, "Estimation Of Planar Curves, Surfaces And Nonplanar Space Curves Defined By Implicit Equations, With Applications To Edge And Range Image Segmentation", IEEE Trans. PAMI, Vol. 13, pages 1115-1138, (1991) It works well whether data points are sampled along an entire circle or along a small arc. It still has a small bias and its statistical accuracy is slightly lower than that of the geometric fit (minimizing geometric distances), It provides a very good initial guess for a subsequent geometric fit. Nikolai Chernov (September 2012)
Definition at line 363 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 363 of file PHTruthTrackSeeding.cc
References starlightConstants::A2, Dy, TrkrClusterContainer::findCluster(), TrkrCluster::getX(), m_clusterMap, x, and y.
Referenced by circleFitSeed().
|
private |
0.3 conversion factor, 1.4=B field, 100 convert R from cm to m Get a very rough estimate of p
The only thing that is really needed for the propagation is the direction
Definition at line 271 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 271 of file PHTruthTrackSeeding.cc
References circleFitByTaubin(), cos(), Acts::VectorHelpers::eta(), findRoot(), lineFit(), Acts::UnitConstants::m, M_PI, p, phi, Acts::IntegrationTest::R, and theta().
Referenced by Process().
|
overrideprotectedvirtual |
Called in SubsysReco::End.
Implements PHTrackSeeding.
Definition at line 264 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 264 of file PHTruthTrackSeeding.cc
|
private |
Figure out which of the two roots is actually closer to the origin
Definition at line 336 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 336 of file PHTruthTrackSeeding.cc
Referenced by circleFitSeed().
|
inline |
Definition at line 36 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 36 of file PHTruthTrackSeeding.h
References _min_clusters_per_track.
|
inline |
minimal truth momentum cut
Definition at line 57 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 57 of file PHTruthTrackSeeding.h
References _min_momentum.
|
private |
fetch node pointers
Definition at line 220 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 220 of file PHTruthTrackSeeding.cc
References _g4truth_container, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, exit(), hittruthassoc, m_clusterMap, phg4hits_intt, phg4hits_micromegas, phg4hits_mvtx, phg4hits_tpc, and PHWHERE.
Referenced by Setup().
|
inline |
Definition at line 67 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 67 of file PHTruthTrackSeeding.h
References helicalTrackFit(), and m_helicalTrackFit.
Referenced by helicalTrackFit().
|
private |
calculate slope
calculate intercept
Definition at line 312 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 312 of file PHTruthTrackSeeding.cc
References TrkrClusterContainer::findCluster(), m_clusterMap, and z.
Referenced by circleFitSeed().
|
overrideprotectedvirtual |
process event interface for trackers, called in process_event. implemented in derived classes
g4 vertex id starts at 1, svtx vertex map starts at 0
Implements PHTrackSeeding.
Definition at line 73 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 73 of file PHTruthTrackSeeding.cc
References PHTrackSeeding::_assoc_container, PHTrackSeeding::_cluster_map, _clustereval, _g4truth_container, _max_layer, _min_clusters_per_track, _min_layer, _min_momentum, PHTrackSeeding::_track_map, PHTrackSeeding::_track_map_name, SvtxTrackMap::begin(), SvtxTrack::begin_cluster_keys(), SvtxClusterEval::best_cluster_by_nhit(), circleFitSeed(), SvtxTrackMap::end(), SvtxTrack::end_cluster_keys(), Fun4AllReturnCodes::EVENT_OK, exit(), TrkrClusterContainer::findCluster(), SvtxTrack::get_id(), PHG4Particle::get_pid(), SvtxTrack::get_pt(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), PHG4Particle::get_track_id(), SvtxTrack::get_truth_track_id(), PHG4Particle::get_vtx_id(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), TrkrCluster::getClusKey(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), PHG4TruthInfoContainer::GetVtx(), TrkrCluster::getX(), TrkrCluster::getY(), PHG4Particle::identify(), SvtxTrackMap::insert(), G4TTL::layer, m_helicalTrackFit, SvtxClusterEval::next_event(), particle, G4BECAL::radius, rand, PHG4VtxPoint::set_x(), AssocInfoContainer::SetClusterTrackAssoc(), SvtxTrackMap::size(), SvtxTrack::size_cluster_keys(), Fun4AllBase::Verbosity(), x, y, and z.
|
inline |
Definition at line 51 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 51 of file PHTruthTrackSeeding.h
References _max_layer.
Referenced by Tracking_Reco().
|
inline |
Definition at line 41 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 41 of file PHTruthTrackSeeding.h
References _min_clusters_per_track.
|
inline |
Definition at line 46 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 46 of file PHTruthTrackSeeding.h
References _min_layer.
Referenced by Tracking_Reco().
|
inline |
minimal truth momentum cut
Definition at line 63 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 63 of file PHTruthTrackSeeding.h
References _min_momentum, and Acts::UnitConstants::m.
|
overrideprotectedvirtual |
setup interface for trackers, called in InitRun, setup things like pointers to nodes. overrided in derived classes
Reimplemented from PHTrackSeeding.
Definition at line 57 of file PHTruthTrackSeeding.cc.
View newest version in sPHENIX GitHub at line 57 of file PHTruthTrackSeeding.cc
References _clustereval, SvtxClusterEval::do_caching(), Fun4AllReturnCodes::EVENT_OK, GetNodes(), and PHTrackSeeding::Setup().
|
private |
Definition at line 97 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 97 of file PHTruthTrackSeeding.h
|
private |
Definition at line 89 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 89 of file PHTruthTrackSeeding.h
Referenced by GetNodes(), and Process().
|
private |
Definition at line 101 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 101 of file PHTruthTrackSeeding.h
Referenced by Process(), and set_max_layer().
|
private |
Definition at line 99 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 99 of file PHTruthTrackSeeding.h
Referenced by get_min_clusters_per_track(), Process(), and set_min_clusters_per_track().
|
private |
Definition at line 100 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 100 of file PHTruthTrackSeeding.h
Referenced by Process(), and set_min_layer().
|
private |
minimal truth momentum cut (GeV)
Definition at line 108 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 108 of file PHTruthTrackSeeding.h
Referenced by get_min_momentum(), Process(), and set_min_momentum().
|
private |
Definition at line 96 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 96 of file PHTruthTrackSeeding.h
Referenced by GetNodes().
|
private |
Definition at line 90 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 90 of file PHTruthTrackSeeding.h
Referenced by circleFitByTaubin(), GetNodes(), and lineFit().
|
private |
Option to perform a helical track fit to get track parameters for truth seeded track
Definition at line 105 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 105 of file PHTruthTrackSeeding.h
Referenced by helicalTrackFit(), and Process().
|
private |
Definition at line 92 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 92 of file PHTruthTrackSeeding.h
Referenced by GetNodes().
|
private |
Definition at line 94 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 94 of file PHTruthTrackSeeding.h
Referenced by GetNodes().
|
private |
Definition at line 93 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 93 of file PHTruthTrackSeeding.h
Referenced by GetNodes().
|
private |
Definition at line 91 of file PHTruthTrackSeeding.h.
View newest version in sPHENIX GitHub at line 91 of file PHTruthTrackSeeding.h
Referenced by GetNodes().