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

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

+ Inheritance diagram for PHCosmicSeeder:
+ Collaboration diagram for PHCosmicSeeder:

Classes

struct  seed
 

Public Types

using PositionMap = std::map< TrkrDefs::cluskey, Acts::Vector3 >
 
using SeedVector = std::vector< seed >
 

Public Member Functions

 PHCosmicSeeder (const std::string &name="PHCosmicSeeder")
 
 ~PHCosmicSeeder () override
 
int Init (PHCompositeNode *topNode) 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 xyTolerance (float tol)
 
void seedAnalysis ()
 
- 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 Member Functions

int getNodes (PHCompositeNode *topNode)
 
int createNodes (PHCompositeNode *topNode)
 
SeedVector makeSeeds (PositionMap &clusterPositions)
 
SeedVector combineSeeds (SeedVector &initialSeeds, PositionMap &clusterPositions)
 
SeedVector findIntersections (SeedVector &initialSeeds)
 
SeedVector chainSeeds (SeedVector &initialSeeds, PositionMap &clusterPositions)
 
void recalculateSeedLineParameters (seed &seed, PositionMap &clusters, bool isXY)
 

Private Attributes

float m_xyTolerance = 2.
 
float m_rzTolerance = 2.
 cm
 
std::string m_trackMapName = "TpcTrackSeedContainer"
 cm
 
ActsGeometrym_tGeometry = nullptr
 
TrkrClusterContainerm_clusterContainer = nullptr
 
TrackSeedContainerm_seedContainer = nullptr
 
TFile * m_outfile = nullptr
 
TNtuple * m_tup = nullptr
 
bool m_analysis = false
 
float m_event = 0
 

Additional Inherited Members

- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 18 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 18 of file PHCosmicSeeder.h

Member Typedef Documentation

Definition at line 21 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 21 of file PHCosmicSeeder.h

using PHCosmicSeeder::SeedVector = std::vector<seed>

Definition at line 30 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 30 of file PHCosmicSeeder.h

Constructor & Destructor Documentation

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

Definition at line 37 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 37 of file PHCosmicSeeder.cc

PHCosmicSeeder::~PHCosmicSeeder ( )
override

Definition at line 43 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 43 of file PHCosmicSeeder.cc

Member Function Documentation

PHCosmicSeeder::SeedVector PHCosmicSeeder::chainSeeds ( PHCosmicSeeder::SeedVector initialSeeds,
PositionMap clusterPositions 
)
private

Definition at line 211 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 211 of file PHCosmicSeeder.cc

References i, j, and recalculateSeedLineParameters().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PHCosmicSeeder::SeedVector PHCosmicSeeder::combineSeeds ( PHCosmicSeeder::SeedVector initialSeeds,
PHCosmicSeeder::PositionMap clusterPositions 
)
private

These values are tuned on the cosmic data

Definition at line 268 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 268 of file PHCosmicSeeder.cc

References i, j, recalculateSeedLineParameters(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicSeeder::createNodes ( PHCompositeNode topNode)
private

Definition at line 527 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 527 of file PHCosmicSeeder.cc

References PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), m_seedContainer, and m_trackMapName.

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicSeeder::End ( PHCompositeNode )
overridevirtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 560 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 560 of file PHCosmicSeeder.cc

References Fun4AllReturnCodes::EVENT_OK, m_outfile, and m_tup.

PHCosmicSeeder::SeedVector PHCosmicSeeder::findIntersections ( PHCosmicSeeder::SeedVector initialSeeds)
private

combine seeds with common ckeys

If they share at least 4 clusters they are likely the same track, so merge and delete

Definition at line 166 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 166 of file PHCosmicSeeder.cc

References i, and j.

Referenced by process_event().

+ Here is the caller graph for this function:

int PHCosmicSeeder::getNodes ( PHCompositeNode topNode)
private

Definition at line 508 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 508 of file PHCosmicSeeder.cc

References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_clusterContainer, m_tGeometry, and PHWHERE.

Referenced by InitRun().

+ Here is the caller graph for this function:

int PHCosmicSeeder::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 48 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 48 of file PHCosmicSeeder.cc

References Fun4AllReturnCodes::EVENT_OK.

int PHCosmicSeeder::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 54 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 54 of file PHCosmicSeeder.cc

References createNodes(), Fun4AllReturnCodes::EVENT_OK, getNodes(), m_analysis, m_outfile, and m_tup.

+ Here is the call graph for this function:

PHCosmicSeeder::SeedVector PHCosmicSeeder::makeSeeds ( PHCosmicSeeder::PositionMap clusterPositions)
private

skip existing keys

erase doublets

Definition at line 320 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 320 of file PHCosmicSeeder.cc

References parse_cmake_options::begin, PHCosmicSeeder::seed::ckeys, dist(), i, m_xyTolerance, norm, Acts::Test::pos, physmon_track_finding_ttbar::r, PHCosmicSeeder::seed::rzintercept, PHCosmicSeeder::seed::rzslope, Fun4AllBase::Verbosity(), PHCosmicSeeder::seed::xyintercept, and PHCosmicSeeder::seed::xyslope.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicSeeder::process_event ( PHCompositeNode )
overridevirtual
void PHCosmicSeeder::recalculateSeedLineParameters ( seed seed,
PHCosmicSeeder::PositionMap clusters,
bool  isXY 
)
private

Definition at line 458 of file PHCosmicSeeder.cc.

View newest version in sPHENIX GitHub at line 458 of file PHCosmicSeeder.cc

References PHCosmicSeeder::seed::ckeys, physmon_track_finding_ttbar::r, PHCosmicSeeder::seed::rzintercept, PHCosmicSeeder::seed::rzslope, square(), PHCosmicSeeder::seed::xyintercept, and PHCosmicSeeder::seed::xyslope.

Referenced by chainSeeds(), combineSeeds(), and process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHCosmicSeeder::seedAnalysis ( )
inline

Definition at line 39 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 39 of file PHCosmicSeeder.h

References m_analysis.

void PHCosmicSeeder::xyTolerance ( float  tol)
inline

Definition at line 38 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 38 of file PHCosmicSeeder.h

References m_xyTolerance.

Member Data Documentation

bool PHCosmicSeeder::m_analysis = false
private

Definition at line 58 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 58 of file PHCosmicSeeder.h

Referenced by InitRun(), process_event(), and seedAnalysis().

TrkrClusterContainer* PHCosmicSeeder::m_clusterContainer = nullptr
private

Definition at line 54 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 54 of file PHCosmicSeeder.h

Referenced by getNodes(), and process_event().

float PHCosmicSeeder::m_event = 0
private

Definition at line 59 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 59 of file PHCosmicSeeder.h

Referenced by process_event().

TFile* PHCosmicSeeder::m_outfile = nullptr
private

Definition at line 56 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 56 of file PHCosmicSeeder.h

Referenced by End(), and InitRun().

float PHCosmicSeeder::m_rzTolerance = 2.
private

cm

Definition at line 51 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 51 of file PHCosmicSeeder.h

TrackSeedContainer* PHCosmicSeeder::m_seedContainer = nullptr
private

Definition at line 55 of file PHCosmicSeeder.h.

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

Referenced by createNodes(), and process_event().

ActsGeometry* PHCosmicSeeder::m_tGeometry = nullptr
private

Definition at line 53 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 53 of file PHCosmicSeeder.h

Referenced by getNodes(), and process_event().

std::string PHCosmicSeeder::m_trackMapName = "TpcTrackSeedContainer"
private

cm

Definition at line 52 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 52 of file PHCosmicSeeder.h

Referenced by createNodes().

TNtuple* PHCosmicSeeder::m_tup = nullptr
private

Definition at line 57 of file PHCosmicSeeder.h.

View newest version in sPHENIX GitHub at line 57 of file PHCosmicSeeder.h

Referenced by End(), InitRun(), and process_event().

float PHCosmicSeeder::m_xyTolerance = 2.
private

Definition at line 50 of file PHCosmicSeeder.h.

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

Referenced by makeSeeds(), and xyTolerance().


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