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

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

+ Inheritance diagram for PHCosmicsTrkFitter:
+ Collaboration diagram for PHCosmicsTrkFitter:

Public Member Functions

 PHCosmicsTrkFitter (const std::string &name="PHCosmicsTrkFitter")
 Default constructor.
 
 ~PHCosmicsTrkFitter () override=default
 Destructor.
 
int End (PHCompositeNode *topNode) override
 End, write and close files.
 
int InitRun (PHCompositeNode *topNode) override
 Get and create nodes.
 
int process_event (PHCompositeNode *topNode) override
 Process each event by calling the fitter.
 
int ResetEvent (PHCompositeNode *topNode) override
 Clean up after each event.
 
void setUpdateSvtxTrackStates (bool fillSvtxTrackStates)
 
void useActsEvaluator (bool actsEvaluator)
 
void setEvaluatorName (const std::string &name)
 
void setFieldMap (const std::string &fieldMap)
 
void setAbsPdgHypothesis (unsigned int pHypothesis)
 
void seedAnalysis ()
 
void commissioning (bool com)
 
void useOutlierFinder (bool outlier)
 
void SetIteration (int iter)
 
void set_track_map_name (const std::string &map_name)
 
void set_seed_track_map_name (const std::string &map_name)
 
void ignoreLayer (int layer)
 
void setVertexRadius (const float rad)
 
void getCharge (TrackSeed *track, int &charge, float &cosmicslope)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Init (PHCompositeNode *)
 
virtual int Reset (PHCompositeNode *)
 Reset.
 
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)
 Get all the nodes.
 
int createNodes (PHCompositeNode *topNode)
 Create new nodes.
 
void loopTracks (Acts::Logging::Level logLevel)
 
void updateSvtxTrack (std::vector< Acts::MultiTrajectoryTraits::IndexType > &tips, Trajectory::IndexedParameters &paramsMap, ActsTrackFittingAlgorithm::TrackContainer &tracks, SvtxTrack *track)
 Convert the acts track fit result to an svtx track.
 
ActsTrackFittingAlgorithm::TrackFitterResult fitTrack (const std::vector< Acts::SourceLink > &sourceLinks, const ActsTrackFittingAlgorithm::TrackParameters &seed, const ActsTrackFittingAlgorithm::GeneralFitterOptions &kfOptions, const CalibratorAdapter &calibrator, ActsTrackFittingAlgorithm::TrackContainer &tracks)
 
bool getTrackFitResult (FitResult &fitOutput, TrackSeed *seed, SvtxTrack *track, ActsTrackFittingAlgorithm::TrackContainer &tracks, const ActsTrackFittingAlgorithm::MeasurementContainer &measurements)
 
Acts::BoundSquareMatrix setDefaultCovariance () const
 
void printTrackSeed (const ActsTrackFittingAlgorithm::TrackParameters &seed) const
 
void makeBranches ()
 
void clearVectors ()
 
void fillVectors (TrackSeed *tpcseed, TrackSeed *siseed)
 

Private Attributes

int m_event = 0
 Event counter.
 
ActsGeometrym_tGeometry = nullptr
 Options that Acts::Fitter needs to run from MakeActsGeometry.
 
ActsTrackFittingAlgorithm::Config m_fitCfg
 Configuration containing the fitting function instance.
 
SvtxTrackMapm_trackMap = nullptr
 TrackMap containing SvtxTracks.
 
SvtxTrackMapm_directedTrackMap = nullptr
 
TrkrClusterContainerm_clusterContainer = nullptr
 
TrackSeedContainerm_seedMap = nullptr
 
TrackSeedContainerm_tpcSeeds = nullptr
 
TrackSeedContainerm_siliconSeeds = nullptr
 
alignmentTransformationContainerm_alignmentTransformationMap = nullptr
 
alignmentTransformationContainerm_alignmentTransformationMapTransient = nullptr
 
std::set
< Acts::GeometryIdentifier
m_transient_id_set
 
Acts::GeometryContext m_transient_geocontext
 
int m_nBadFits = 0
 Number of acts fits that returned an error.
 
bool m_commissioning = true
 bool to fill alignment state map for further processing
 
bool m_fillSvtxTrackStates = true
 A bool to update the SvtxTrackState information (or not)
 
bool m_useOutlierFinder = false
 A bool to use the chi2 outlier finder in the track fitting.
 
ResidualOutlierFinder m_outlierFinder
 
float m_vertexRadius = 80
 
bool m_actsEvaluator = false
 
std::unique_ptr< ActsEvaluatorm_evaluator = nullptr
 
std::string m_evalname = "ActsEvaluator.root"
 
std::map< const unsigned int,
Trajectory > * 
m_trajectories = nullptr
 
SvtxTrackMapm_seedTracks = nullptr
 
TpcClusterZCrossingCorrection m_clusterCrossingCorrection
 
TpcDistortionCorrectionContainer_dcc_static {nullptr}
 
TpcDistortionCorrectionContainer_dcc_average {nullptr}
 
TpcDistortionCorrectionContainer_dcc_fluctuation {nullptr}
 
TpcDistortionCorrection _distortionCorrection
 tpc distortion correction utility class
 
ClusterErrorPara _ClusErrPara
 
std::set< int > m_ignoreLayer
 
std::string m_fieldMap = ""
 
int _n_iteration = 0
 
std::string _track_map_name = "SvtxTrackMap"
 
std::string _seed_track_map_name = "SeedTrackMap"
 
unsigned int m_pHypothesis = 13
 Default particle assumption to muon.
 
SvtxAlignmentStateMapm_alignmentStateMap = nullptr
 
ActsAlignmentStates m_alignStates
 
bool m_seedClusAnalysis = false
 for diagnosing seed param + clusters
 
std::unique_ptr< TFile > m_outfile = nullptr
 
std::unique_ptr< TTree > m_tree = nullptr
 
int m_seed = std::numeric_limits<int>::max()
 
float m_R = NAN
 
float m_X0 = NAN
 
float m_Y0 = NAN
 
float m_Z0 = NAN
 
float m_slope = NAN
 
float m_pcax = NAN
 
float m_pcay = NAN
 
float m_pcaz = NAN
 
float m_px = NAN
 
float m_py = NAN
 
float m_pz = NAN
 
int m_charge = std::numeric_limits<int>::max()
 
int m_nmaps = std::numeric_limits<int>::max()
 
int m_nintt = std::numeric_limits<int>::max()
 
int m_ntpc = std::numeric_limits<int>::max()
 
int m_nmm = std::numeric_limits<int>::max()
 
std::vector< float > m_locx
 
std::vector< float > m_locy
 
std::vector< float > m_x
 
std::vector< float > m_y
 
std::vector< float > m_z
 
std::vector< float > m_r
 
std::vector< float > m_layer
 
std::vector< float > m_phi
 
std::vector< float > m_eta
 
std::vector< float > m_phisize
 
std::vector< float > m_zsize
 
std::vector< float > m_ephi
 
std::vector< float > m_ez
 
ClusterErrorPara m_clusErrPara
 

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 51 of file PHCosmicsTrkFitter.h.

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

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 77 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 77 of file PHCosmicsTrkFitter.cc

PHCosmicsTrkFitter::~PHCosmicsTrkFitter ( )
overridedefault

Destructor.

Member Function Documentation

void PHCosmicsTrkFitter::clearVectors ( )
private

Definition at line 893 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 893 of file PHCosmicsTrkFitter.cc

References m_ephi, m_eta, m_ez, m_layer, m_locx, m_locy, m_phi, m_phisize, m_r, m_x, m_y, m_z, and m_zsize.

Referenced by loopTracks().

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::commissioning ( bool  com)
inline

Definition at line 92 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 92 of file PHCosmicsTrkFitter.h

References com, and m_commissioning.

int PHCosmicsTrkFitter::createNodes ( PHCompositeNode topNode)
private

Create new nodes.

Definition at line 679 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 679 of file PHCosmicsTrkFitter.cc

References _seed_track_map_name, _track_map_name, Fun4AllReturnCodes::ABORTEVENT, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), m_actsEvaluator, m_alignmentStateMap, m_alignmentTransformationMapTransient, m_seedTracks, m_trackMap, m_trajectories, and PHWHERE.

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicsTrkFitter::End ( PHCompositeNode topNode)
overridevirtual

End, write and close files.

Reimplemented from SubsysReco.

Definition at line 210 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 210 of file PHCosmicsTrkFitter.cc

References Fun4AllReturnCodes::EVENT_OK, m_actsEvaluator, m_evaluator, m_nBadFits, m_outfile, m_seedClusAnalysis, m_tree, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void PHCosmicsTrkFitter::fillVectors ( TrackSeed tpcseed,
TrackSeed siseed 
)
private

Definition at line 852 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 852 of file PHCosmicsTrkFitter.cc

References TrkrClusterContainer::findCluster(), ClusterErrorPara::get_clusterv5_modified_error(), ActsGeometry::get_drift_velocity(), ActsGeometry::getGlobalPosition(), TpcDefs::getSide(), TrkrDefs::getTrkrId(), it, m_clusErrPara, m_clusterContainer, m_ephi, m_eta, m_ez, m_locx, m_locy, m_phi, m_phisize, m_r, m_tGeometry, m_x, m_y, m_z, m_zsize, physmon_track_finding_ttbar::r, seed, and TrkrDefs::tpcId.

Referenced by loopTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ActsTrackFittingAlgorithm::TrackFitterResult PHCosmicsTrkFitter::fitTrack ( const std::vector< Acts::SourceLink > &  sourceLinks,
const ActsTrackFittingAlgorithm::TrackParameters seed,
const ActsTrackFittingAlgorithm::GeneralFitterOptions kfOptions,
const CalibratorAdapter calibrator,
ActsTrackFittingAlgorithm::TrackContainer tracks 
)
inlineprivate

Helper function to call either the regular navigation or direct navigation, depending on m_fitSiliconMMs

Definition at line 542 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 542 of file PHCosmicsTrkFitter.cc

References ActsTrackFittingAlgorithm::Config::fit, m_fitCfg, seed, and tracks().

Referenced by loopTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::getCharge ( TrackSeed track,
int &  charge,
float &  cosmicslope 
)

use the top hemisphere to determine the charge

find the closest cluster to the outermost cluster

Place a dr cut to get maximum bend due to TPC clusters having larger fluctuations

we have to calculate phi WRT the vertex position outside the detector, not at (0,0)

Definition at line 910 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 910 of file PHCosmicsTrkFitter.cc

References TrackSeed::begin_cluster_keys(), Acts::UnitConstants::cm, INTTVtxZ::dphi, TrackSeed::end_cluster_keys(), TrkrClusterContainer::findCluster(), ActsGeometry::getLocalCoords(), ActsSurfaceMaps::getSurface(), i, m_alignmentTransformationMapTransient, m_clusterContainer, m_tGeometry, m_vertexRadius, ActsGeometry::maps(), physmon_track_finding_ttbar::r, r1, r2, square(), surf(), ambiguity_solver_full_chain::x, and y.

Referenced by loopTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicsTrkFitter::getNodes ( PHCompositeNode topNode)
private

Get all the nodes.

Definition at line 751 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 751 of file PHCosmicsTrkFitter.cc

References _dcc_average, _dcc_fluctuation, _dcc_static, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_clusterContainer, m_seedMap, m_siliconSeeds, m_tGeometry, m_tpcSeeds, and PHWHERE.

Referenced by InitRun().

+ Here is the caller graph for this function:

bool PHCosmicsTrkFitter::getTrackFitResult ( FitResult fitOutput,
TrackSeed seed,
SvtxTrack track,
ActsTrackFittingAlgorithm::TrackContainer tracks,
const ActsTrackFittingAlgorithm::MeasurementContainer measurements 
)
private

Make a trajectory state for storage, which conforms to Acts track fit analysis tool

Get position, momentum from the Acts output. Update the values of the proto track

Definition at line 484 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 484 of file PHCosmicsTrkFitter.cc

References ActsAlignmentStates::fillAlignmentStateMap(), SvtxTrack::get_id(), SvtxTrack::get_silicon_seed(), SvtxTrack::get_tpc_seed(), Acts::Surface::getSharedPtr(), m_actsEvaluator, m_alignStates, m_commissioning, m_evaluator, m_trajectories, m_transient_geocontext, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::referenceSurface(), trajectory, updateSvtxTrack(), and Fun4AllBase::Verbosity().

Referenced by loopTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::ignoreLayer ( int  layer)
inline

Definition at line 100 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 100 of file PHCosmicsTrkFitter.h

References m_ignoreLayer.

void PHCosmicsTrkFitter::loopTracks ( Acts::Logging::Level  logLevel)
private

Need to also check that the tpc seed wasn't removed by the ghost finder

if we got the opposite seed then z will be backwards, so we take the value of tan.z() multiplied by the sign of the slope determined for the full cosmic track same with px/py since a single cosmic produces two seeds that bend in opposite directions

Reset the track seed with the dummy covariance

Set host of propagator options for Acts to do e.g. material integration

Check that the track fit result did not return an error

Definition at line 232 of file PHCosmicsTrkFitter.cc.

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

References TrackSeedContainer::begin(), ActsTrackingGeometry::calibContext, charge(), TrackFitUtils::circle_circle_intersection(), clearVectors(), Acts::UnitConstants::cm, Acts::Test::cov, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::create(), TrackSeedContainer::end(), fillVectors(), TrackSeedContainer::find(), fitTrack(), ActsGeometry::geometry(), TrackSeedContainer::get(), TrackFitUtils::get_helix_tangent(), TrackSeed::get_silicon_seed_index(), TrackSeed::get_tpc_seed_index(), TrackSeed::get_x(), getCharge(), Acts::getDefaultLogger(), MakeSourceLinks::getSourceLinks(), getTrackFitResult(), SvtxTrackMap::insertWithKey(), Acts::PlanarHelper::intersect(), is_valid(), logger(), m_alignmentTransformationMapTransient, m_charge, m_clusterContainer, m_fieldMap, m_nBadFits, m_pcax, m_pcay, m_pcaz, m_px, m_py, m_pz, m_R, m_seed, m_seedClusAnalysis, m_seedMap, m_siliconSeeds, m_slope, m_tGeometry, m_tpcSeeds, m_trackMap, m_transient_geocontext, m_transient_id_set, m_tree, m_vertexRadius, m_X0, m_Y0, m_Z0, ActsTrackingGeometry::magFieldContext, momentum, Acts::ParticleHypothesis::muon(), Acts::UnitConstants::ns, merge_hashes::p, position, printTrackSeed(), pSurface, MakeSourceLinks::resetTransientTransformMap(), seed, SvtxTrack_v4::set_crossing(), SvtxTrack_v4::set_id(), MakeSourceLinks::set_pp_mode(), SvtxTrack_v4::set_silicon_seed(), SvtxTrack_v4::set_tpc_seed(), setDefaultCovariance(), MakeSourceLinks::setVerbosity(), SvtxTrackMap::size(), TrackSeedContainer::size(), tracks(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::makeBranches ( )
private

Definition at line 815 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 815 of file PHCosmicsTrkFitter.cc

References m_charge, m_ephi, m_eta, m_event, m_ez, m_layer, m_locx, m_locy, m_nintt, m_nmaps, m_nmm, m_ntpc, m_pcax, m_pcay, m_pcaz, m_phi, m_phisize, m_px, m_py, m_pz, m_R, m_r, m_seed, m_slope, m_tree, m_x, m_X0, m_y, m_Y0, m_z, m_Z0, and m_zsize.

Referenced by InitRun().

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::printTrackSeed ( const ActsTrackFittingAlgorithm::TrackParameters seed) const
private

Definition at line 662 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 662 of file PHCosmicsTrkFitter.cc

References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::absoluteMomentum(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::charge(), m_transient_geocontext, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::momentum(), PHWHERE, and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::position().

Referenced by loopTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHCosmicsTrkFitter::process_event ( PHCompositeNode topNode)
overridevirtual

Process each event by calling the fitter.

Fill an additional track map if using the acts evaluator for proto track comparison to fitted track

wipe at the beginning of every new fit pass, so that the seeds are whatever is currently in SvtxTrackMap

Reimplemented from SubsysReco.

Definition at line 154 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 154 of file PHCosmicsTrkFitter.cc

References SvtxTrackMap::clear(), Fun4AllReturnCodes::EVENT_OK, Acts::Logging::FATAL, SvtxTrackMap::insert(), telescope_simulation::logLevel, loopTracks(), m_actsEvaluator, m_evaluator, m_event, m_seedTracks, m_trackMap, PHWHERE, SvtxTrackMap::size(), Acts::Logging::VERBOSE, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

int PHCosmicsTrkFitter::ResetEvent ( PHCompositeNode )
overridevirtual

Clean up after each event.

Reimplemented from SubsysReco.

Definition at line 198 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 198 of file PHCosmicsTrkFitter.cc

References Fun4AllReturnCodes::EVENT_OK, m_trajectories, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void PHCosmicsTrkFitter::seedAnalysis ( )
inline

Definition at line 91 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 91 of file PHCosmicsTrkFitter.h

References m_seedClusAnalysis.

void PHCosmicsTrkFitter::set_seed_track_map_name ( const std::string &  map_name)
inline

Definition at line 98 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 98 of file PHCosmicsTrkFitter.h

References _seed_track_map_name.

void PHCosmicsTrkFitter::set_track_map_name ( const std::string &  map_name)
inline

Definition at line 97 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 97 of file PHCosmicsTrkFitter.h

References _track_map_name.

void PHCosmicsTrkFitter::setAbsPdgHypothesis ( unsigned int  pHypothesis)
inline

Definition at line 87 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 87 of file PHCosmicsTrkFitter.h

References m_pHypothesis.

Acts::BoundSquareMatrix PHCosmicsTrkFitter::setDefaultCovariance ( ) const
private

Acts cares about the track covariance as it helps the KF know whether or not to trust the initial track seed or not. We reset it here to some loose values as it helps Acts improve the fitting. If the covariance is too loose, it won't be able to propagate, but if it is too tight, it will just "believe" the track seed over the hit data

Acts takes this value very seriously - tuned to be in a "sweet spot"

Definition at line 631 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 631 of file PHCosmicsTrkFitter.cc

References Acts::Test::cov, Acts::UnitConstants::degree, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, Acts::UnitConstants::ns, and Acts::UnitConstants::um.

Referenced by loopTracks().

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::setEvaluatorName ( const std::string &  name)
inline

Definition at line 81 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 81 of file PHCosmicsTrkFitter.h

References m_evalname, and perf_headwind::name.

void PHCosmicsTrkFitter::setFieldMap ( const std::string &  fieldMap)
inline

Definition at line 82 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 82 of file PHCosmicsTrkFitter.h

References m_fieldMap.

void PHCosmicsTrkFitter::SetIteration ( int  iter)
inline

Definition at line 96 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 96 of file PHCosmicsTrkFitter.h

References _n_iteration.

void PHCosmicsTrkFitter::setUpdateSvtxTrackStates ( bool  fillSvtxTrackStates)
inline

Definition at line 71 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 71 of file PHCosmicsTrkFitter.h

References m_fillSvtxTrackStates.

void PHCosmicsTrkFitter::setVertexRadius ( const float  rad)
inline

Definition at line 101 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 101 of file PHCosmicsTrkFitter.h

References m_vertexRadius, and Acts::UnitConstants::rad.

void PHCosmicsTrkFitter::updateSvtxTrack ( std::vector< Acts::MultiTrajectoryTraits::IndexType > &  tips,
Trajectory::IndexedParameters paramsMap,
ActsTrackFittingAlgorithm::TrackContainer tracks,
SvtxTrack track 
)
private

Convert the acts track fit result to an svtx track.

only one track tip in the track fit Trajectory

Acts default unit is mm. So convert to cm

Definition at line 552 of file PHCosmicsTrkFitter.cc.

View newest version in sPHENIX GitHub at line 552 of file PHCosmicsTrkFitter.cc

References Acts::UnitConstants::cm, ActsTransformations::fillSvtxTrackStates(), i, SvtxTrack::identify(), SvtxTrack::insert_state(), j, m_fillSvtxTrackStates, m_transient_geocontext, out, ActsTransformations::rotateActsCovToSvtxTrack(), SvtxTrack::set_charge(), SvtxTrack::set_chisq(), SvtxTrack::set_error(), SvtxTrack::set_ndf(), SvtxTrack::set_px(), SvtxTrack::set_py(), SvtxTrack::set_pz(), SvtxTrackState_v1::set_x(), SvtxTrack::set_x(), SvtxTrackState_v1::set_y(), SvtxTrack::set_y(), SvtxTrackState_v1::set_z(), SvtxTrack::set_z(), ActsTransformations::setVerbosity(), Acts::MultiTrajectoryHelpers::trajectoryState(), and Fun4AllBase::Verbosity().

Referenced by getTrackFitResult().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHCosmicsTrkFitter::useActsEvaluator ( bool  actsEvaluator)
inline

Definition at line 76 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 76 of file PHCosmicsTrkFitter.h

References m_actsEvaluator.

void PHCosmicsTrkFitter::useOutlierFinder ( bool  outlier)
inline

Definition at line 94 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 94 of file PHCosmicsTrkFitter.h

References m_useOutlierFinder.

Member Data Documentation

ClusterErrorPara PHCosmicsTrkFitter::_ClusErrPara
private

Definition at line 200 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 200 of file PHCosmicsTrkFitter.h

TpcDistortionCorrectionContainer* PHCosmicsTrkFitter::_dcc_average {nullptr}
private

Definition at line 192 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 192 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and InitRun().

TpcDistortionCorrectionContainer* PHCosmicsTrkFitter::_dcc_fluctuation {nullptr}
private

Definition at line 193 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 193 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and InitRun().

TpcDistortionCorrectionContainer* PHCosmicsTrkFitter::_dcc_static {nullptr}
private

Definition at line 191 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 191 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and InitRun().

TpcDistortionCorrection PHCosmicsTrkFitter::_distortionCorrection
private

tpc distortion correction utility class

Definition at line 196 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 196 of file PHCosmicsTrkFitter.h

int PHCosmicsTrkFitter::_n_iteration = 0
private

Definition at line 207 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 207 of file PHCosmicsTrkFitter.h

Referenced by SetIteration().

std::string PHCosmicsTrkFitter::_seed_track_map_name = "SeedTrackMap"
private

Definition at line 209 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 209 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), and set_seed_track_map_name().

std::string PHCosmicsTrkFitter::_track_map_name = "SvtxTrackMap"
private

Definition at line 208 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 208 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), and set_track_map_name().

bool PHCosmicsTrkFitter::m_actsEvaluator = false
private

Definition at line 183 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 183 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), End(), getTrackFitResult(), InitRun(), process_event(), and useActsEvaluator().

SvtxAlignmentStateMap* PHCosmicsTrkFitter::m_alignmentStateMap = nullptr
private

Definition at line 214 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 214 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), and InitRun().

alignmentTransformationContainer* PHCosmicsTrkFitter::m_alignmentTransformationMap = nullptr
private

Definition at line 163 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 163 of file PHCosmicsTrkFitter.h

alignmentTransformationContainer* PHCosmicsTrkFitter::m_alignmentTransformationMapTransient = nullptr
private

Definition at line 164 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 164 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), getCharge(), and loopTracks().

ActsAlignmentStates PHCosmicsTrkFitter::m_alignStates
private

Definition at line 215 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 215 of file PHCosmicsTrkFitter.h

Referenced by getTrackFitResult(), and InitRun().

int PHCosmicsTrkFitter::m_charge = std::numeric_limits<int>::max()
private

Definition at line 234 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 234 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

ClusterErrorPara PHCosmicsTrkFitter::m_clusErrPara
private

Definition at line 243 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 243 of file PHCosmicsTrkFitter.h

Referenced by fillVectors().

TrkrClusterContainer* PHCosmicsTrkFitter::m_clusterContainer = nullptr
private

Definition at line 157 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 157 of file PHCosmicsTrkFitter.h

Referenced by fillVectors(), getCharge(), getNodes(), InitRun(), and loopTracks().

TpcClusterZCrossingCorrection PHCosmicsTrkFitter::m_clusterCrossingCorrection
private

Definition at line 190 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 190 of file PHCosmicsTrkFitter.h

bool PHCosmicsTrkFitter::m_commissioning = true
private

bool to fill alignment state map for further processing

Definition at line 172 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 172 of file PHCosmicsTrkFitter.h

Referenced by commissioning(), and getTrackFitResult().

SvtxTrackMap* PHCosmicsTrkFitter::m_directedTrackMap = nullptr
private

Definition at line 156 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 156 of file PHCosmicsTrkFitter.h

std::vector<float> PHCosmicsTrkFitter::m_ephi
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_eta
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

std::string PHCosmicsTrkFitter::m_evalname = "ActsEvaluator.root"
private

Definition at line 185 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 185 of file PHCosmicsTrkFitter.h

Referenced by InitRun(), and setEvaluatorName().

std::unique_ptr<ActsEvaluator> PHCosmicsTrkFitter::m_evaluator = nullptr
private

Definition at line 184 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 184 of file PHCosmicsTrkFitter.h

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

int PHCosmicsTrkFitter::m_event = 0
private

Event counter.

Definition at line 146 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 146 of file PHCosmicsTrkFitter.h

Referenced by makeBranches(), and process_event().

std::vector<float> PHCosmicsTrkFitter::m_ez
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

std::string PHCosmicsTrkFitter::m_fieldMap = ""
private

Definition at line 204 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 204 of file PHCosmicsTrkFitter.h

Referenced by InitRun(), loopTracks(), and setFieldMap().

bool PHCosmicsTrkFitter::m_fillSvtxTrackStates = true
private

A bool to update the SvtxTrackState information (or not)

Definition at line 175 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 175 of file PHCosmicsTrkFitter.h

Referenced by setUpdateSvtxTrackStates(), and updateSvtxTrack().

ActsTrackFittingAlgorithm::Config PHCosmicsTrkFitter::m_fitCfg
private

Configuration containing the fitting function instance.

Definition at line 152 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 152 of file PHCosmicsTrkFitter.h

Referenced by fitTrack(), and InitRun().

std::set<int> PHCosmicsTrkFitter::m_ignoreLayer
private

Definition at line 202 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 202 of file PHCosmicsTrkFitter.h

Referenced by ignoreLayer().

std::vector<float> PHCosmicsTrkFitter::m_layer
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_locx
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_locy
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

int PHCosmicsTrkFitter::m_nBadFits = 0
private

Number of acts fits that returned an error.

Definition at line 169 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 169 of file PHCosmicsTrkFitter.h

Referenced by End(), and loopTracks().

int PHCosmicsTrkFitter::m_nintt = std::numeric_limits<int>::max()
private

Definition at line 236 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 236 of file PHCosmicsTrkFitter.h

Referenced by makeBranches().

int PHCosmicsTrkFitter::m_nmaps = std::numeric_limits<int>::max()
private

Definition at line 235 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 235 of file PHCosmicsTrkFitter.h

Referenced by makeBranches().

int PHCosmicsTrkFitter::m_nmm = std::numeric_limits<int>::max()
private

Definition at line 238 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 238 of file PHCosmicsTrkFitter.h

Referenced by makeBranches().

int PHCosmicsTrkFitter::m_ntpc = std::numeric_limits<int>::max()
private

Definition at line 237 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 237 of file PHCosmicsTrkFitter.h

Referenced by makeBranches().

std::unique_ptr<TFile> PHCosmicsTrkFitter::m_outfile = nullptr
private

Definition at line 220 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 220 of file PHCosmicsTrkFitter.h

Referenced by End(), and InitRun().

ResidualOutlierFinder PHCosmicsTrkFitter::m_outlierFinder
private

Definition at line 179 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 179 of file PHCosmicsTrkFitter.h

Referenced by InitRun().

float PHCosmicsTrkFitter::m_pcax = NAN
private

Definition at line 228 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 228 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

float PHCosmicsTrkFitter::m_pcay = NAN
private

Definition at line 229 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 229 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

float PHCosmicsTrkFitter::m_pcaz = NAN
private

Definition at line 230 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 230 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_phi
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_phisize
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

unsigned int PHCosmicsTrkFitter::m_pHypothesis = 13
private

Default particle assumption to muon.

Definition at line 212 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 212 of file PHCosmicsTrkFitter.h

Referenced by setAbsPdgHypothesis().

float PHCosmicsTrkFitter::m_px = NAN
private

Definition at line 231 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 231 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

float PHCosmicsTrkFitter::m_py = NAN
private

Definition at line 232 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 232 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

float PHCosmicsTrkFitter::m_pz = NAN
private

Definition at line 233 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 233 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

float PHCosmicsTrkFitter::m_R = NAN
private

Definition at line 223 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 223 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_r
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

int PHCosmicsTrkFitter::m_seed = std::numeric_limits<int>::max()
private

Definition at line 222 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 222 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

bool PHCosmicsTrkFitter::m_seedClusAnalysis = false
private

for diagnosing seed param + clusters

Definition at line 219 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 219 of file PHCosmicsTrkFitter.h

Referenced by End(), InitRun(), loopTracks(), and seedAnalysis().

TrackSeedContainer* PHCosmicsTrkFitter::m_seedMap = nullptr
private

Definition at line 158 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 158 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and loopTracks().

SvtxTrackMap* PHCosmicsTrkFitter::m_seedTracks = nullptr
private

Definition at line 188 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 188 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), and process_event().

TrackSeedContainer* PHCosmicsTrkFitter::m_siliconSeeds = nullptr
private

Definition at line 160 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 160 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and loopTracks().

float PHCosmicsTrkFitter::m_slope = NAN
private

Definition at line 227 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 227 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

ActsGeometry* PHCosmicsTrkFitter::m_tGeometry = nullptr
private

Options that Acts::Fitter needs to run from MakeActsGeometry.

Definition at line 149 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 149 of file PHCosmicsTrkFitter.h

Referenced by fillVectors(), getCharge(), getNodes(), InitRun(), and loopTracks().

TrackSeedContainer* PHCosmicsTrkFitter::m_tpcSeeds = nullptr
private

Definition at line 159 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 159 of file PHCosmicsTrkFitter.h

Referenced by getNodes(), and loopTracks().

SvtxTrackMap* PHCosmicsTrkFitter::m_trackMap = nullptr
private

TrackMap containing SvtxTracks.

Definition at line 155 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 155 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), loopTracks(), and process_event().

std::map<const unsigned int, Trajectory>* PHCosmicsTrkFitter::m_trajectories = nullptr
private

Definition at line 187 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 187 of file PHCosmicsTrkFitter.h

Referenced by createNodes(), getTrackFitResult(), and ResetEvent().

Acts::GeometryContext PHCosmicsTrkFitter::m_transient_geocontext
private

Definition at line 166 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 166 of file PHCosmicsTrkFitter.h

Referenced by getTrackFitResult(), loopTracks(), printTrackSeed(), and updateSvtxTrack().

std::set< Acts::GeometryIdentifier> PHCosmicsTrkFitter::m_transient_id_set
private

Definition at line 165 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 165 of file PHCosmicsTrkFitter.h

Referenced by loopTracks().

std::unique_ptr<TTree> PHCosmicsTrkFitter::m_tree = nullptr
private

Definition at line 221 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 221 of file PHCosmicsTrkFitter.h

Referenced by End(), InitRun(), loopTracks(), and makeBranches().

bool PHCosmicsTrkFitter::m_useOutlierFinder = false
private

A bool to use the chi2 outlier finder in the track fitting.

Definition at line 178 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 178 of file PHCosmicsTrkFitter.h

Referenced by InitRun(), and useOutlierFinder().

float PHCosmicsTrkFitter::m_vertexRadius = 80
private

Definition at line 181 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 181 of file PHCosmicsTrkFitter.h

Referenced by getCharge(), loopTracks(), and setVertexRadius().

std::vector<float> PHCosmicsTrkFitter::m_x
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

float PHCosmicsTrkFitter::m_X0 = NAN
private

Definition at line 224 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 224 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_y
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

float PHCosmicsTrkFitter::m_Y0 = NAN
private

Definition at line 225 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 225 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_z
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().

float PHCosmicsTrkFitter::m_Z0 = NAN
private

Definition at line 226 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 226 of file PHCosmicsTrkFitter.h

Referenced by loopTracks(), and makeBranches().

std::vector<float> PHCosmicsTrkFitter::m_zsize
private

Definition at line 239 of file PHCosmicsTrkFitter.h.

View newest version in sPHENIX GitHub at line 239 of file PHCosmicsTrkFitter.h

Referenced by clearVectors(), fillVectors(), and makeBranches().


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