ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/offline/packages/trackbase_historic/ActsTransformations.h>
Public Member Functions | |
ActsTransformations ()=default | |
Acts::BoundSymMatrix | rotateSvtxTrackCovToActs (const SvtxTrack *track, Acts::GeometryContext geoCtxt) const |
Acts::BoundSymMatrix | rotateActsCovToSvtxTrack (const Acts::BoundTrackParameters params, Acts::GeometryContext geoCtxt) const |
Same as above, but rotate from Acts basis to global (x,y,z,px,py,pz) | |
void | setVerbosity (int verbosity) |
void | printMatrix (const std::string &message, Acts::BoundSymMatrix matrix) const |
void | calculateDCA (const Acts::BoundTrackParameters param, Acts::Vector3D vertex, Acts::BoundSymMatrix cov, Acts::GeometryContext geoCtxt, float &dca3Dxy, float &dca3Dz, float &dca3DxyCov, float &dca3DzCov) const |
void | fillSvtxTrackStates (const Trajectory &traj, const size_t &trackTip, SvtxTrack *svtxTrack, Acts::GeometryContext geoContext) const |
Acts::Vector3F | getGlobalPositionF (TrkrCluster *cluster, ActsSurfaceMaps *surfMaps, ActsTrackingGeometry *tGeometry) const |
Acts::Vector3D | getGlobalPosition (TrkrCluster *cluster, ActsSurfaceMaps *surfMaps, ActsTrackingGeometry *tGeometry) const |
Surface | getSurface (TrkrCluster *cluster, ActsSurfaceMaps *surfMaps) const |
Private Member Functions | |
Surface | getSiliconSurface (TrkrDefs::hitsetkey hitsetkey, ActsSurfaceMaps *maps) const |
Surface | getTpcSurface (TrkrDefs::hitsetkey hitsetkey, TrkrDefs::subsurfkey surfkey, ActsSurfaceMaps *maps) const |
Surface | getMMSurface (TrkrDefs::hitsetkey hitsetkey, ActsSurfaceMaps *maps) const |
Private Attributes | |
int | m_verbosity = 0 |
This is a helper class for rotating track covariance matrices to and from the basis that Acts expects. The covariance matrix is nominally given in the global basis (x,y,z,px,py,pz). Acts expects the covariance matrix in a local basis with respect to the given reference point that is provided as an option to the KalmanFitter.
Definition at line 35 of file ActsTransformations.h.
View newest version in sPHENIX GitHub at line 35 of file ActsTransformations.h
|
default |
void ActsTransformations::calculateDCA | ( | const Acts::BoundTrackParameters | param, |
Acts::Vector3D | vertex, | ||
Acts::BoundSymMatrix | cov, | ||
Acts::GeometryContext | geoCtxt, | ||
float & | dca3Dxy, | ||
float & | dca3Dz, | ||
float & | dca3DxyCov, | ||
float & | dca3DzCov | ||
) | const |
Calculate the DCA for a given Acts fitted track parameters and vertex
Correct for initial vertex estimation
Definition at line 210 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 210 of file ActsTransformations.cc
References mom, phi, pos(), and r.
void ActsTransformations::fillSvtxTrackStates | ( | const Trajectory & | traj, |
const size_t & | trackTip, | ||
SvtxTrack * | svtxTrack, | ||
Acts::GeometryContext | geoContext | ||
) | const |
Only fill the track states with non-outlier measurement
covariance
Definition at line 382 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 382 of file ActsTransformations.cc
References Acts::UnitConstants::cm, SvtxTrack::insert_state(), Acts::MeasurementFlag, momentum, Acts::SingleTrackParameters< ChargePolicy >::position(), SvtxTrackState_v1::set_error(), SvtxTrackState_v1::set_px(), SvtxTrackState_v1::set_py(), SvtxTrackState_v1::set_pz(), SvtxTrackState_v1::set_x(), SvtxTrackState_v1::set_y(), and SvtxTrackState_v1::set_z().
Referenced by PHActsTrkFitter::updateSvtxTrack().
Acts::Vector3D ActsTransformations::getGlobalPosition | ( | TrkrCluster * | cluster, |
ActsSurfaceMaps * | surfMaps, | ||
ActsTrackingGeometry * | tGeometry | ||
) | const |
If silicon/TPOT, the transform is one-to-one since the surface is planar
Otherwise do the manual calculation Undo the manual calculation that is performed in TpcClusterizer
Definition at line 268 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 268 of file ActsTransformations.cc
References Acts::UnitConstants::cm, ActsTrackingGeometry::geoContext, TrkrCluster::getClusKey(), TrkrCluster::getLocalX(), TrkrCluster::getLocalY(), Acts::MeasurementHelpers::getSurface(), TrkrDefs::getTrkrId(), local, radius, surface(), and TrkrDefs::tpcId.
Referenced by SvtxClusterEval::all_truth_hits_by_nhit(), PHTpcResiduals::calculateTpcResiduals(), PHSiliconTpcTrackMatching::correctTpcClusterZ(), TrackEvaluation::create_cluster(), QAG4SimulationIntt::evaluate_clusters(), QAG4SimulationMvtx::evaluate_clusters(), QAG4SimulationMicromegas::evaluate_clusters(), QAG4SimulationTpc::evaluate_clusters(), SvtxClusterEval::fill_cluster_layer_map(), SvtxEvaluator::fillOutputNtuples(), PHCASeeding::FillTree(), PHSiliconTpcTrackMatching::getBunchCrossing(), PHTpcTrackSeedCircleFit::getGlobalPosition(), DSTEmulator::getGlobalPosition(), PHCASeeding::getGlobalPosition(), PHSimpleKFProp::getGlobalPosition(), SvtxClusterEval::gtrackid_and_layer_by_nhit(), PHActsSiliconSeeding::makeSvtxTracks(), PHActsSiliconSeeding::matchInttClusters(), SvtxClusterEval::max_truth_cluster_by_energy(), SvtxEvaluator::printOutputInfo(), PHTpcTrackSeedCircleFit::process_event(), PHTpcClusterMover::process_event(), PHTpcCentralMembraneClusterizer::process_event(), PHMicromegasTpcTrackMatching::process_event(), PHTpcDeltaZCorrection::process_track(), TpcDirectLaserReconstruction::process_track(), and SvtxClusterEval::reco_cluster_from_truth_cluster().
Acts::Vector3F ActsTransformations::getGlobalPositionF | ( | TrkrCluster * | cluster, |
ActsSurfaceMaps * | surfMaps, | ||
ActsTrackingGeometry * | tGeometry | ||
) | const |
Definition at line 261 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 261 of file ActsTransformations.cc
|
private |
Definition at line 375 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 375 of file ActsTransformations.cc
References ActsSurfaceMaps::mmSurfaceMap.
|
private |
If it can't be found, return nullptr
Definition at line 343 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 343 of file ActsTransformations.cc
References ActsSurfaceMaps::siliconSurfaceMap.
Surface ActsTransformations::getSurface | ( | TrkrCluster * | cluster, |
ActsSurfaceMaps * | surfMaps | ||
) | const |
Definition at line 320 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 320 of file ActsTransformations.cc
References TrkrCluster::getClusKey(), TrkrDefs::getHitSetKeyFromClusKey(), TrkrCluster::getSubSurfKey(), TrkrDefs::getTrkrId(), TrkrDefs::inttId, TrkrDefs::micromegasId, TrkrDefs::mvtxId, and TrkrDefs::tpcId.
Referenced by PHSiliconTpcTrackMatching::correctTpcClusterZ().
|
private |
If it can't be found, return nullptr to skip this cluster
Definition at line 358 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 358 of file ActsTransformations.cc
References TrkrDefs::getLayer(), G4TTL::layer, and ActsSurfaceMaps::tpcSurfaceMap.
void ActsTransformations::printMatrix | ( | const std::string & | message, |
Acts::BoundSymMatrix | matrix | ||
) | const |
Definition at line 188 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 188 of file ActsTransformations.cc
Acts::BoundSymMatrix ActsTransformations::rotateActsCovToSvtxTrack | ( | const Acts::BoundTrackParameters | params, |
Acts::GeometryContext | geoCtxt | ||
) | const |
Same as above, but rotate from Acts basis to global (x,y,z,px,py,pz)
Covariance is now an 8x8 matrix in basis (x,y,z,time,Tx,Ty,Tz,q/p)
Now rotate to x,y,z, px,py,pz ActsMatrixD is an eigen matrix
Make the xyz transform unity
Convert to sPHENIX units
Definition at line 104 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 104 of file ActsTransformations.cc
References Acts::UnitConstants::cm, Acts::UnitConstants::cm2, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, and Acts::eBoundTime.
Referenced by PHTpcResiduals::addTrackState(), PHActsVertexPropagator::updateSvtxTrack(), and PHActsTrkFitter::updateSvtxTrack().
Acts::BoundSymMatrix ActsTransformations::rotateSvtxTrackCovToActs | ( | const SvtxTrack * | track, |
Acts::GeometryContext | geoCtxt | ||
) | const |
Rotates an SvtxTrack covariance matrix from (x,y,z,px,py,pz) global cartesian coordinates to (d0, z0, phi, theta, q/p, time) coordinates for Acts. The track fitter performs the fitting with respect to the nominal origin of sPHENIX, so we rotate accordingly
Convert Svtx to mm and GeV units as Acts expects
First we rotate to (x,y,z,time,Tx,Ty,Tz,q/p) to take advantage of the already created Acts rotation matrix from this basis into the Acts local basis We basically go backwards from rotateActsCovToSvtxTrack to get the Acts cov from the SvtxTrack cov
This is going from Acts->Svtx, so we will take the transpose
Make the xyz transform unity
Now take the 8x8 matrix and rotate it to Acts basis
Since we are using the local to global jacobian we do R^TCR instead of RCR^T
Definition at line 16 of file ActsTransformations.cc.
View newest version in sPHENIX GitHub at line 16 of file ActsTransformations.cc
References Acts::UnitConstants::cm, Acts::UnitConstants::cm2, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, SvtxTrack::get_error(), SvtxTrack::get_px(), SvtxTrack::get_py(), and SvtxTrack::get_pz().
Referenced by PHActsInitialVertexFinder::getTrackPointers().
Definition at line 52 of file ActsTransformations.h.
View newest version in sPHENIX GitHub at line 52 of file ActsTransformations.h
References m_verbosity.
Referenced by PHActsInitialVertexFinder::getTrackPointers(), PHActsVertexPropagator::updateSvtxTrack(), and PHActsTrkFitter::updateSvtxTrack().
|
private |
Definition at line 82 of file ActsTransformations.h.
View newest version in sPHENIX GitHub at line 82 of file ActsTransformations.h
Referenced by setVerbosity().