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

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

+ Inheritance diagram for PHCosmicTrackMerger:
+ Collaboration diagram for PHCosmicTrackMerger:

Public Member Functions

 PHCosmicTrackMerger (const std::string &name="PHCosmicTrackMerger")
 
 ~PHCosmicTrackMerger () override
 
int Init (PHCompositeNode *) override
 
int InitRun (PHCompositeNode *topNode) override
 
int process_event (PHCompositeNode *topNode) override
 
int End (PHCompositeNode *) override
 Called at the end of all processing.
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int EndRun (const int)
 Called at the end of each run.
 
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.
 

Private Types

using KeyPosMap = std::pair< std::vector< TrkrDefs::cluskey >, std::vector< Acts::Vector3 >>
 

Private Member Functions

void addKeys (TrackSeed *toAddTo, TrackSeed *toAdd)
 
void removeOutliers (TrackSeed *seed)
 
KeyPosMap getGlobalPositions (TrackSeed *seed)
 

Private Attributes

ActsGeometrym_geometry = nullptr
 
TrkrClusterContainerm_clusterMap = nullptr
 
TrackSeedContainerm_seeds = nullptr
 
TrackSeedContainerm_tpcSeeds = nullptr
 
TrackSeedContainerm_siliconSeeds = nullptr
 

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 Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 23 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 23 of file PHCosmicTrackMerger.h

Member Typedef Documentation

using PHCosmicTrackMerger::KeyPosMap = std::pair<std::vector<TrkrDefs::cluskey>, std::vector<Acts::Vector3>>
private

Definition at line 25 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 25 of file PHCosmicTrackMerger.h

Constructor & Destructor Documentation

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

Definition at line 28 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 28 of file PHCosmicTrackMerger.cc

PHCosmicTrackMerger::~PHCosmicTrackMerger ( )
override

Definition at line 34 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 34 of file PHCosmicTrackMerger.cc

Member Function Documentation

void PHCosmicTrackMerger::addKeys ( TrackSeed toAddTo,
TrackSeed toAdd 
)
private

Definition at line 278 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 278 of file PHCosmicTrackMerger.cc

References TrackSeed::begin_cluster_keys(), TrackSeed::end_cluster_keys(), TrkrClusterContainer::findCluster(), ActsGeometry::getGlobalPosition(), TrackSeed::insert_cluster_key(), it, m_clusterMap, m_geometry, and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicTrackMerger::End ( PHCompositeNode )
overridevirtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 311 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 311 of file PHCosmicTrackMerger.cc

References Fun4AllReturnCodes::EVENT_OK.

PHCosmicTrackMerger::KeyPosMap PHCosmicTrackMerger::getGlobalPositions ( TrackSeed seed)
private

Definition at line 293 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 293 of file PHCosmicTrackMerger.cc

References TrackSeed::begin_cluster_keys(), TrackSeed::end_cluster_keys(), TrkrClusterContainer::findCluster(), ActsGeometry::getGlobalPosition(), it, m_clusterMap, m_geometry, and telescope_simulation::positions.

Referenced by process_event(), and removeOutliers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicTrackMerger::Init ( PHCompositeNode )
overridevirtual

Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).

Reimplemented from SubsysReco.

Definition at line 39 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 39 of file PHCosmicTrackMerger.cc

References Fun4AllReturnCodes::EVENT_OK.

int PHCosmicTrackMerger::InitRun ( PHCompositeNode )
overridevirtual

Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.

Reimplemented from SubsysReco.

Definition at line 45 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 45 of file PHCosmicTrackMerger.cc

References Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, m_clusterMap, m_geometry, m_seeds, m_siliconSeeds, m_tpcSeeds, and PHWHERE.

int PHCosmicTrackMerger::process_event ( PHCompositeNode )
overridevirtual

Called for each event. This is where you do the real work.

update track 1 in case more clusters have been added

Check if the rz slope is close to 0 corresponding to an chain of clusters from an ion tail

check on common cluskeys

check if xy/rz line fits are similar

rz line fits are swapped in sign because they are WRT (0,0,0)

erase track 2

remove any obvious outlier clusters from the track that were mistakenly picked up by the seeder

Reimplemented from SubsysReco.

Definition at line 80 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 80 of file PHCosmicTrackMerger.cc

References addKeys(), TrackSeedContainer::begin(), TrackSeedContainer::end(), TrackSeedContainer::erase(), Fun4AllReturnCodes::EVENT_OK, TrackSeedContainer::get(), getGlobalPositions(), TrackSeed::identify(), TrackSeedContainer::index(), TrackFitUtils::line_fit(), m_seeds, m_siliconSeeds, m_tpcSeeds, Acts::Test::pos, physmon_track_finding_ttbar::r, removeOutliers(), seed, TrackSeedContainer::size(), and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void PHCosmicTrackMerger::removeOutliers ( TrackSeed seed)
private

Definition at line 232 of file PHCosmicTrackMerger.cc.

View newest version in sPHENIX GitHub at line 232 of file PHCosmicTrackMerger.cc

References TrackSeed::erase_cluster_key(), getGlobalPositions(), i, TrackFitUtils::line_fit(), Acts::Test::pos, physmon_track_finding_ttbar::r, and square().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

TrkrClusterContainer* PHCosmicTrackMerger::m_clusterMap = nullptr
private

Definition at line 43 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 43 of file PHCosmicTrackMerger.h

Referenced by addKeys(), getGlobalPositions(), and InitRun().

ActsGeometry* PHCosmicTrackMerger::m_geometry = nullptr
private

Definition at line 41 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 41 of file PHCosmicTrackMerger.h

Referenced by addKeys(), getGlobalPositions(), and InitRun().

TrackSeedContainer* PHCosmicTrackMerger::m_seeds = nullptr
private

Definition at line 44 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 44 of file PHCosmicTrackMerger.h

Referenced by InitRun(), and process_event().

TrackSeedContainer* PHCosmicTrackMerger::m_siliconSeeds = nullptr
private

Definition at line 46 of file PHCosmicTrackMerger.h.

View newest version in sPHENIX GitHub at line 46 of file PHCosmicTrackMerger.h

Referenced by InitRun(), and process_event().

TrackSeedContainer* PHCosmicTrackMerger::m_tpcSeeds = nullptr
private

Definition at line 45 of file PHCosmicTrackMerger.h.

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

Referenced by InitRun(), and process_event().


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