![]() |
EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <fun4all_coresoftware/blob/master/offline/packages/trackbase_historic/ActsTransformations.h>
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 cos(), Acts::Test::cov, charm_jet_coverage::mom, Acts::SingleBoundTrackParameters< charge_t >::momentum(), phi, pos(), and Acts::SingleBoundTrackParameters< charge_t >::position().
Here is the call graph for this function:| 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::SingleBoundTrackParameters< charge_t >::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(), SvtxTrackState_v1::set_z(), and ActsExamples::TrkrClusterMultiTrajectory::trajectory().
Referenced by PHActsTrkFitter::updateSvtxTrack().
Here is the call graph for this function:
Here is the caller graph for this function:| 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, cos(), ActsTrackingGeometry::geoContext, TrkrCluster::getClusKey(), TrkrCluster::getLocalX(), TrkrCluster::getLocalY(), Acts::MeasurementHelpers::getSurface(), TrkrDefs::getTrkrId(), G4BECAL::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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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.
Here is the call graph for this function:| 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
References matrix().
Here is the call graph for this function:| 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::SingleBoundTrackParameters< charge_t >::covariance(), Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, Acts::SingleBoundTrackParameters< charge_t >::momentum(), and p.
Referenced by PHTpcResiduals::addTrackState(), PHActsVertexPropagator::updateSvtxTrack(), and PHActsTrkFitter::updateSvtxTrack().
Here is the call graph for this function:
Here is the caller graph for this function:| 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(), SvtxTrack::get_pz(), and p.
Referenced by PHActsInitialVertexFinder::getTrackPointers().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
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().
Here is the caller graph for this function:
|
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().