Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/offline/packages/trackreco/PHActsKDTreeSeeding.h>
Public Member Functions | |
PHActsKDTreeSeeding (const std::string &name="PHActsKDTreeSeeding") | |
~PHActsKDTreeSeeding () 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 | useTruthClusters (bool truth) |
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 | |
void | configureSeedFinder () |
int | getNodes (PHCompositeNode *topNode) |
int | createNodes (PHCompositeNode *topNode) |
SeedContainer | runSeeder () |
void | fillTrackSeedContainer (SeedContainer &seeds) |
std::vector< const SpacePoint * > | getMvtxSpacePoints () |
SpacePointPtr | makeSpacePoint (const Surface &surf, const TrkrDefs::cluskey key, TrkrCluster *clus) |
void | findInttMatches (std::map< TrkrDefs::cluskey, Acts::Vector3 > &clusters, TrackSeed &seed) |
void | matchInttClusters (std::map< TrkrDefs::cluskey, Acts::Vector3 > &clusters, const double xProj[], const double yProj[], const double zProj[]) |
Static Private Attributes | |
static const int | m_nInttLayers = 4 |
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") | |
Definition at line 28 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 28 of file PHActsKDTreeSeeding.h
PHActsKDTreeSeeding::PHActsKDTreeSeeding | ( | const std::string & | name = "PHActsKDTreeSeeding" | ) |
Definition at line 55 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 55 of file PHActsKDTreeSeeding.cc
|
override |
Definition at line 61 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 61 of file PHActsKDTreeSeeding.cc
|
private |
Definition at line 532 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 532 of file PHActsKDTreeSeeding.cc
References Acts::SeedFinderOptions::beamPos, Acts::SeedFinderOptions::bFieldInZ, Acts::SeedFinderOptions::calculateDerivedQuantities(), m_beamPosX, m_beamPosY, m_bFieldInZ, m_collisionRegionMax, m_collisionRegionMin, m_cotThetaMax, m_deltaRMaxBottomSP, m_deltaRMaxTopSP, m_deltaRMinBottomSP, m_deltaRMinTopSP, m_impactMax, m_maxSeedsPerSpM, m_minPt, m_radLengthPerSeed, m_rMax, m_rMaxMiddle, m_rMinMiddle, m_seedFinderConfig, m_seedFinderOptions, m_sigmaScattering, m_zMax, m_zMin, Acts::SeedFilterConfig::maxSeedsPerSpM, and Acts::SeedFinderOptions::toInternalUnits().
Referenced by InitRun().
|
private |
Definition at line 499 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 499 of file PHActsKDTreeSeeding.cc
References PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), m_seedContainer, and m_trackMapName.
Referenced by InitRun().
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 459 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 459 of file PHActsKDTreeSeeding.cc
References Fun4AllReturnCodes::EVENT_OK.
|
private |
Project to INTT and find matches to add to positions
The acts seed has better z resolution than the circle fit
Definition at line 141 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 141 of file PHActsKDTreeSeeding.cc
References Acts::UnitConstants::cm, TrkrClusterContainer::findCluster(), findInttMatches(), ActsGeometry::getGlobalPosition(), TrkrDefs::getTrkrId(), TrackSeedContainer::insert(), TrkrDefs::inttId, m_clusterMap, m_seedContainer, m_tGeometry, Acts::Test::pos, telescope_simulation::positions, seed, and Fun4AllBase::Verbosity().
Referenced by process_event().
|
private |
Projects circle fit to INTT radii to find possible INTT clusters belonging to MVTX track stub
Project the seed to the INTT to find matches
If there are no real solutions to the intersection, skip
Figure out which solution is correct based on the position of the last layer in the mvtx seed
Definition at line 184 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 184 of file PHActsKDTreeSeeding.cc
References TrackFitUtils::circle_circle_intersection(), TrackSeed::get_qOverR(), TrackSeed::get_slope(), TrackSeed::get_X0(), TrackSeed::get_Y0(), TrackSeed::get_Z0(), layer, Acts::UnitConstants::m, m_nInttLayerRadii, m_nInttLayers, matchInttClusters(), Acts::Test::pos, Acts::IntegrationTest::R, square(), Fun4AllBase::Verbosity(), X0, and Y0.
Referenced by fillTrackSeedContainer().
|
private |
Definition at line 346 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 346 of file PHActsKDTreeSeeding.cc
References TrkrClusterContainer::getClusters(), TrkrDefs::getHitSetKeyFromClusKey(), TrkrClusterContainer::getHitSetKeys(), TrkrClusterIterationMapv1::getIteration(), ActsSurfaceMaps::getSiliconSurface(), m_clusterMap, m_iterationMap, m_nIteration, m_tGeometry, makeSpacePoint(), ActsGeometry::maps(), TrkrDefs::mvtxId, writeMapConfig::surface, and Fun4AllBase::Verbosity().
Referenced by runSeeder().
|
private |
Definition at line 464 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 464 of file PHActsKDTreeSeeding.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_clusterMap, m_geomContainerIntt, m_tGeometry, m_useTruthClusters, and PHWHERE.
Referenced by InitRun().
|
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 66 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 66 of file PHActsKDTreeSeeding.cc
References Fun4AllReturnCodes::EVENT_OK.
|
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 72 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 72 of file PHActsKDTreeSeeding.cc
References configureSeedFinder(), createNodes(), Fun4AllReturnCodes::EVENT_OK, PHG4CylinderGeomContainer::get_begin_end(), getNodes(), i, m_geomContainerIntt, and m_nInttLayerRadii.
|
private |
The space point requires only the variance of the transverse and longitudinal position. Reduce computations by transforming the covariance directly from local to r/z.
compute Jacobian from global coordinates to r/z
r = sqrt(x² + y²)
dr/d{x,y} = (1 / sqrt(x² + y²)) * 2 * {x,y} = 2 * {x,y} / r dz/dz = 1
Definition at line 388 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 388 of file PHActsKDTreeSeeding.cc
References Acts::UnitConstants::cm, Acts::UnitConstants::cm2, Acts::ePos0, Acts::ePos1, Acts::ePos2, ActsGeometry::geometry(), TrkrCluster::getActsLocalError(), ActsTrackingGeometry::getGeoContext(), TrkrCluster::getLocalX(), TrkrCluster::getLocalY(), m_tGeometry, m_uncfactor, physmon_track_finding_ttbar::r, Fun4AllBase::Verbosity(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.
Referenced by getMvtxSpacePoints().
|
private |
Check that the projection is within some reasonable amount of the segment to reject e.g. looking at segments in the opposite hemisphere. This is about the size of one intt segment (256 * 80 micron strips in a segment)
Z strip spacing is the entire strip, so because we use fabs we divide by two
Cache INTT global positions with seed
Definition at line 261 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 261 of file PHActsKDTreeSeeding.cc
References INTTVtxZ::dphi, TrkrClusterContainer::getClusters(), ActsGeometry::getGlobalPosition(), TrkrClusterContainer::getHitSetKeys(), PHG4CylinderGeomContainer::GetLayerGeom(), ActsSurfaceMaps::getSiliconSurface(), TrkrDefs::inttId, m_clusterMap, m_geomContainerIntt, m_nInttLayers, m_rPhiSearchWin, m_tGeometry, ActsGeometry::maps(), square(), surf(), and Fun4AllBase::Verbosity().
Referenced by findInttMatches().
|
overridevirtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 95 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 95 of file PHActsKDTreeSeeding.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, fillTrackSeedContainer(), m_iterationMap, m_nIteration, PHWHERE, and runSeeder().
|
private |
Call acts seeding algo
Definition at line 114 of file PHActsKDTreeSeeding.cc.
View newest version in sPHENIX GitHub at line 114 of file PHActsKDTreeSeeding.cc
References Acts::SeedFinderOrthogonal< external_spacepoint_t >::createSeeds(), getMvtxSpacePoints(), m_seedFinderConfig, m_seedFinderOptions, position, SpacePoint::varianceR, SpacePoint::varianceZ, Fun4AllBase::Verbosity(), SpacePoint::x, SpacePoint::y, and SpacePoint::z.
Referenced by process_event().
|
inline |
Definition at line 40 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 40 of file PHActsKDTreeSeeding.h
References m_useTruthClusters.
|
private |
Definition at line 87 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 87 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 88 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 88 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 86 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 86 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 101 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 101 of file PHActsKDTreeSeeding.h
|
private |
Definition at line 110 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 110 of file PHActsKDTreeSeeding.h
Referenced by fillTrackSeedContainer(), getMvtxSpacePoints(), getNodes(), and matchInttClusters().
|
private |
Definition at line 76 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 76 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 75 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 75 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 82 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 82 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 74 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 74 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 72 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 72 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 73 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 73 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 71 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 71 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 107 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 107 of file PHActsKDTreeSeeding.h
Referenced by getNodes(), InitRun(), and matchInttClusters().
|
private |
Maximum transverse PCA allowed.
Definition at line 91 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 91 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 108 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 108 of file PHActsKDTreeSeeding.h
Referenced by getMvtxSpacePoints(), and process_event().
|
private |
max number of seeds a single middle sp can belong to
Definition at line 81 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 81 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 85 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 85 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 104 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 104 of file PHActsKDTreeSeeding.h
Referenced by findInttMatches(), and InitRun().
|
staticprivate |
Definition at line 103 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 103 of file PHActsKDTreeSeeding.h
Referenced by findInttMatches(), and matchInttClusters().
|
private |
Definition at line 97 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 97 of file PHActsKDTreeSeeding.h
Referenced by getMvtxSpacePoints(), and process_event().
|
private |
Definition at line 84 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 84 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
configured to seed in the MVTX using the middle layer as the seed anchor Defines volume to search for seeds in
Definition at line 70 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 70 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 95 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 95 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Middle spacepoint must fall between these two radii.
Definition at line 94 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 94 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 105 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 105 of file PHActsKDTreeSeeding.h
Referenced by matchInttClusters().
|
private |
Definition at line 111 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 111 of file PHActsKDTreeSeeding.h
Referenced by createNodes(), and fillTrackSeedContainer().
|
private |
Definition at line 63 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 63 of file PHActsKDTreeSeeding.h
|
private |
Definition at line 64 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 64 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder(), and runSeeder().
|
private |
Definition at line 65 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 65 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder(), and runSeeder().
|
private |
Definition at line 83 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 83 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 109 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 109 of file PHActsKDTreeSeeding.h
Referenced by fillTrackSeedContainer(), getMvtxSpacePoints(), getNodes(), makeSpacePoint(), and matchInttClusters().
|
private |
Definition at line 98 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 98 of file PHActsKDTreeSeeding.h
Referenced by createNodes().
|
private |
Definition at line 102 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 102 of file PHActsKDTreeSeeding.h
Referenced by makeSpacePoint().
|
private |
Definition at line 99 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 99 of file PHActsKDTreeSeeding.h
Referenced by getNodes(), and useTruthClusters().
|
private |
Definition at line 78 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 78 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().
|
private |
Definition at line 77 of file PHActsKDTreeSeeding.h.
View newest version in sPHENIX GitHub at line 77 of file PHActsKDTreeSeeding.h
Referenced by configureSeedFinder().