Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHTruthTrackSeeding Class Reference

Vertexing using truth info. More...

#include <coresoftware/blob/master/offline/packages/trackreco/PHTruthTrackSeeding.h>

+ Inheritance diagram for PHTruthTrackSeeding:
+ Collaboration diagram for PHTruthTrackSeeding:

Classes

class  Deleter
 rng de-allocator More...
 

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
 
- 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 set_do_hit_association (bool do_assoc)
 
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
 
int CreateNodes (PHCompositeNode *topNode)
 
void buildTrackSeed (std::vector< TrkrDefs::cluskey > clusters, PHG4Particle *g4particle, TrackSeedContainer *container)
 
std::set< short int > getInttCrossings (TrackSeed *) const
 get crossing id from intt clusters associated to track
 

Private Attributes

PHG4TruthInfoContainerm_g4truth_container = nullptr
 
TrkrClusterContainerm_clusterMap = nullptr
 
TrkrClusterCrossingAssocm_cluster_crossing_map = nullptr
 
PHG4HitContainerphg4hits_tpc = nullptr
 
PHG4HitContainerphg4hits_intt = nullptr
 
PHG4HitContainerphg4hits_mvtx = nullptr
 
PHG4HitContainerphg4hits_micromegas = nullptr
 
TrkrHitTruthAssochittruthassoc = nullptr
 
SvtxClusterEval_clustereval
 
unsigned int _min_clusters_per_track = 3
 
unsigned int _min_layer = 0
 
unsigned int _max_layer = 60
 
double _min_momentum = 50e-3
 minimal truth momentum cut (GeV)
 
TrackSeedContainer_track_map_silicon = nullptr
 
TrackSeedContainer_track_map_combined = nullptr
 
ActsGeometrytgeometry = nullptr
 
bool _circle_fit_seed = false
 
std::unique_ptr< gsl_rng, Deleterm_rng
 random generator that conform with sPHENIX standard
 

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 = std::numeric_limits<int>::max() - 10
}
 
- Protected Attributes inherited from PHTrackSeeding
TrkrClusterContainer_cluster_map = nullptr
 
TrkrClusterHitAssoc_cluster_hit_map = nullptr
 
TrkrClusterIterationMapv1_iteration_map
 
int _n_iteration
 
bool do_hit_assoc = true
 
SvtxVertexMap_vertex_map = nullptr
 
TrackSeedContainer_track_map = nullptr
 
TrkrHitSetContainer_hitsets = nullptr
 
std::string _track_map_name = "TpcTrackSeedContainer"
 
bool _use_truth_clusters = false
 

Detailed Description

Vertexing using truth info.

Definition at line 35 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 35 of file PHTruthTrackSeeding.h

Constructor & Destructor Documentation

PHTruthTrackSeeding::PHTruthTrackSeeding ( const std::string &  name = "PHTruthTrackSeeding")

Definition at line 67 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 67 of file PHTruthTrackSeeding.cc

References gsl_rng_set(), m_rng, and seed.

+ Here is the call graph for this function:

Member Function Documentation

void PHTruthTrackSeeding::buildTrackSeed ( std::vector< TrkrDefs::cluskey clusters,
PHG4Particle g4particle,
TrackSeedContainer container 
)
private

Need to find the right one for the bend angle

We have to pick the right one based on the bend angle, so iterate through until you find the closest phi match

Definition at line 212 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 212 of file PHTruthTrackSeeding.cc

References KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, charge(), eta, PHG4Particle::get_pid(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), PHG4Particle::get_vtx_id(), getInttCrossings(), TrkrDefs::getTrkrId(), PHG4TruthInfoContainer::GetVtx(), TrackSeedContainer::insert(), TrkrDefs::inttId, m_clusterMap, m_g4truth_container, m_rng, TrkrDefs::mvtxId, particle, ActsTests::PropagationDatasets::phi, physmon_track_finding_ttbar::pt, Acts::IntegrationTest::R, TrackSeedContainer::size(), square(), tgeometry, ActsTests::PropagationDatasets::theta, TrkrDefs::tpcId, Fun4AllBase::Verbosity(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by Process().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHTruthTrackSeeding::CreateNodes ( PHCompositeNode topNode)
private

Definition at line 351 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 351 of file PHTruthTrackSeeding.cc

References PHTrackSeeding::_track_map, _track_map_combined, _track_map_silicon, Fun4AllReturnCodes::ABORTEVENT, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHCompositeNode::PHCompositeNode(), PHWHERE, and Fun4AllBase::Verbosity().

Referenced by Setup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHTruthTrackSeeding::End ( )
overrideprotectedvirtual

Called in SubsysReco::End.

Implements PHTrackSeeding.

Definition at line 462 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 462 of file PHTruthTrackSeeding.cc

unsigned int PHTruthTrackSeeding::get_min_clusters_per_track ( ) const
inline

Definition at line 40 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 40 of file PHTruthTrackSeeding.h

References _min_clusters_per_track.

double PHTruthTrackSeeding::get_min_momentum ( ) const
inline

minimal truth momentum cut

Definition at line 61 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 61 of file PHTruthTrackSeeding.h

References _min_momentum.

std::set< short int > PHTruthTrackSeeding::getInttCrossings ( TrackSeed si_track) const
private

get crossing id from intt clusters associated to track

Definition at line 467 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 467 of file PHTruthTrackSeeding.cc

References TrackSeed::begin_cluster_keys(), TrackSeed::end_cluster_keys(), TrkrClusterCrossingAssoc::getCrossings(), TrkrDefs::getLayer(), TrkrDefs::getTrkrId(), TrkrDefs::inttId, layer, m_cluster_crossing_map, and Fun4AllBase::Verbosity().

Referenced by buildTrackSeed().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHTruthTrackSeeding::GetNodes ( PHCompositeNode topNode)
private

fetch node pointers

Definition at line 405 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 405 of file PHTruthTrackSeeding.cc

References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, hittruthassoc, m_cluster_crossing_map, m_clusterMap, m_g4truth_container, phg4hits_intt, phg4hits_micromegas, phg4hits_mvtx, phg4hits_tpc, PHWHERE, and tgeometry.

Referenced by Setup().

+ Here is the caller graph for this function:

int PHTruthTrackSeeding::Process ( PHCompositeNode topNode)
overrideprotectedvirtual

process event interface for trackers, called in process_event. implemented in derived classes

The ids will by definition be the last entry in the container because the seeds were just added

Implements PHTrackSeeding.

Definition at line 95 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 95 of file PHTruthTrackSeeding.cc

References _clustereval, _max_layer, _min_clusters_per_track, _min_layer, _min_momentum, PHTrackSeeding::_track_map, _track_map_combined, _track_map_silicon, SvtxClusterEval::best_cluster_by_nhit(), buildTrackSeed(), Fun4AllReturnCodes::EVENT_OK, TrackSeedContainer::get(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), PHG4Particle::get_track_id(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), TrkrDefs::getTrkrId(), gtrackID, PHG4Particle::identify(), TrackSeed::identify(), TrackSeedContainer::insert(), TrkrDefs::inttId, layer, m_g4truth_container, TrkrDefs::mvtxId, SvtxClusterEval::next_event(), seed, TrackSeedContainer::size(), and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void PHTruthTrackSeeding::set_max_layer ( unsigned int  maxLayer)
inline

Definition at line 55 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 55 of file PHTruthTrackSeeding.h

References _max_layer.

void PHTruthTrackSeeding::set_min_clusters_per_track ( unsigned int  minClustersPerTrack)
inline

Definition at line 45 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 45 of file PHTruthTrackSeeding.h

References _min_clusters_per_track.

Referenced by Fun4All_G4_TPC().

+ Here is the caller graph for this function:

void PHTruthTrackSeeding::set_min_layer ( unsigned int  minLayer)
inline

Definition at line 50 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 50 of file PHTruthTrackSeeding.h

References _min_layer.

void PHTruthTrackSeeding::set_min_momentum ( double  m)
inline

minimal truth momentum cut

Definition at line 67 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 67 of file PHTruthTrackSeeding.h

References _min_momentum, and Acts::UnitConstants::m.

int PHTruthTrackSeeding::Setup ( PHCompositeNode topNode)
overrideprotectedvirtual

setup interface for trackers, called in InitRun, setup things like pointers to nodes. overrided in derived classes

Reimplemented from PHTrackSeeding.

Definition at line 77 of file PHTruthTrackSeeding.cc.

View newest version in sPHENIX GitHub at line 77 of file PHTruthTrackSeeding.cc

References _clustereval, CreateNodes(), SvtxClusterEval::do_caching(), Fun4AllReturnCodes::EVENT_OK, GetNodes(), and PHTrackSeeding::Setup().

+ Here is the call graph for this function:

Member Data Documentation

bool PHTruthTrackSeeding::_circle_fit_seed = false
private

Definition at line 114 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 114 of file PHTruthTrackSeeding.h

SvtxClusterEval* PHTruthTrackSeeding::_clustereval
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 Setup().

unsigned int PHTruthTrackSeeding::_max_layer = 60
private

Definition at line 104 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 104 of file PHTruthTrackSeeding.h

Referenced by Process(), and set_max_layer().

unsigned int PHTruthTrackSeeding::_min_clusters_per_track = 3
private

Definition at line 102 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 102 of file PHTruthTrackSeeding.h

Referenced by get_min_clusters_per_track(), Process(), and set_min_clusters_per_track().

unsigned int PHTruthTrackSeeding::_min_layer = 0
private

Definition at line 103 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 103 of file PHTruthTrackSeeding.h

Referenced by Process(), and set_min_layer().

double PHTruthTrackSeeding::_min_momentum = 50e-3
private

minimal truth momentum cut (GeV)

Definition at line 107 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 107 of file PHTruthTrackSeeding.h

Referenced by get_min_momentum(), Process(), and set_min_momentum().

TrackSeedContainer* PHTruthTrackSeeding::_track_map_combined = nullptr
private

Definition at line 110 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 110 of file PHTruthTrackSeeding.h

Referenced by CreateNodes(), and Process().

TrackSeedContainer* PHTruthTrackSeeding::_track_map_silicon = nullptr
private

Definition at line 109 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 109 of file PHTruthTrackSeeding.h

Referenced by CreateNodes(), and Process().

TrkrHitTruthAssoc* PHTruthTrackSeeding::hittruthassoc = nullptr
private

Definition at line 99 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 99 of file PHTruthTrackSeeding.h

Referenced by GetNodes().

TrkrClusterCrossingAssoc* PHTruthTrackSeeding::m_cluster_crossing_map = nullptr
private

Definition at line 93 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 93 of file PHTruthTrackSeeding.h

Referenced by getInttCrossings(), and GetNodes().

TrkrClusterContainer* PHTruthTrackSeeding::m_clusterMap = nullptr
private

Definition at line 92 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 92 of file PHTruthTrackSeeding.h

Referenced by buildTrackSeed(), and GetNodes().

PHG4TruthInfoContainer* PHTruthTrackSeeding::m_g4truth_container = nullptr
private

Definition at line 86 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 86 of file PHTruthTrackSeeding.h

Referenced by buildTrackSeed(), GetNodes(), and Process().

std::unique_ptr<gsl_rng, Deleter> PHTruthTrackSeeding::m_rng
private

random generator that conform with sPHENIX standard

using a unique_ptr with custom Deleter ensures that the structure is properly freed when parent object is destroyed

Definition at line 126 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 126 of file PHTruthTrackSeeding.h

Referenced by buildTrackSeed(), and PHTruthTrackSeeding().

PHG4HitContainer* PHTruthTrackSeeding::phg4hits_intt = nullptr
private

Definition at line 95 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 95 of file PHTruthTrackSeeding.h

Referenced by GetNodes().

PHG4HitContainer* PHTruthTrackSeeding::phg4hits_micromegas = nullptr
private

Definition at line 97 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 97 of file PHTruthTrackSeeding.h

Referenced by GetNodes().

PHG4HitContainer* PHTruthTrackSeeding::phg4hits_mvtx = nullptr
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().

PHG4HitContainer* PHTruthTrackSeeding::phg4hits_tpc = nullptr
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().

ActsGeometry* PHTruthTrackSeeding::tgeometry = nullptr
private

Definition at line 112 of file PHTruthTrackSeeding.h.

View newest version in sPHENIX GitHub at line 112 of file PHTruthTrackSeeding.h

Referenced by buildTrackSeed(), and GetNodes().


The documentation for this class was generated from the following files: