Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/offline/packages/trackbase_historic/TrackSeed_v1.h>
Public Member Functions | |
TrackSeed_v1 () | |
TrackSeed_v1 (const TrackSeed &) | |
Copy constructors. | |
TrackSeed_v1 (const TrackSeed_v1 &) | |
TrackSeed_v1 & | operator= (const TrackSeed_v1 &seed) |
~TrackSeed_v1 () override | |
void | identify (std::ostream &os=std::cout) const override |
void | Reset () override |
Clear Event. | |
int | isValid () const override |
isValid returns non zero if object contains vailid data | |
void | CopyFrom (const TrackSeed &) override |
void | CopyFrom (TrackSeed *seed) override |
PHObject * | CloneMe () const override |
Virtual copy constructor. | |
int | get_charge () const override |
float | get_px (TrkrClusterContainer *clusters, ActsGeometry *tGeometry) const override |
We need access to the first two clusters to get the phi angle right. | |
float | get_py (TrkrClusterContainer *clusters, ActsGeometry *tGeometry) const override |
float | get_pz () const override |
float | get_x () const override |
float | get_y () const override |
float | get_z () const override |
float | get_phi (TrkrClusterContainer *clusters, ActsGeometry *tGeometry) const override |
float | get_phi (std::map< TrkrDefs::cluskey, Acts::Vector3 > &positions) const override |
float | get_eta () const override |
float | get_theta () const override |
float | get_pt () const override |
float | get_p () const override |
float | get_qOverR () const override |
float | get_X0 () const override |
float | get_Y0 () const override |
float | get_slope () const override |
float | get_Z0 () const override |
short int | get_crossing () const override |
void | set_crossing (const short int crossing) override |
void | set_qOverR (const float qOverR) override |
void | set_X0 (const float X0) override |
void | set_Y0 (const float Y0) override |
void | set_slope (const float slope) override |
void | set_Z0 (const float Z0) override |
void | clear_cluster_keys () override |
bool | empty_cluster_keys () const override |
size_t | size_cluster_keys () const override |
void | insert_cluster_key (TrkrDefs::cluskey clusterid) override |
size_t | erase_cluster_key (TrkrDefs::cluskey clusterid) override |
ConstClusterKeyIter | find_cluster_key (TrkrDefs::cluskey clusterid) const override |
ConstClusterKeyIter | begin_cluster_keys () const override |
ConstClusterKeyIter | end_cluster_keys () const override |
ClusterKeyIter | find_cluster_keys (unsigned int clusterid) override |
ClusterKeyIter | begin_cluster_keys () override |
ClusterKeyIter | end_cluster_keys () override |
void | circleFitByTaubin (TrkrClusterContainer *clusters, ActsGeometry *tGeometry, uint8_t startLayer=0, uint8_t endLayer=58) override |
Updates R, X0, Y0. | |
void | lineFit (TrkrClusterContainer *clusters, ActsGeometry *tGeometry, uint8_t startLayer=0, uint8_t endLayer=58) override |
Updates r-z slope and intercept B. | |
void | circleFitByTaubin (std::map< TrkrDefs::cluskey, Acts::Vector3 > &positions, uint8_t startLayer=0, uint8_t endLayer=58) override |
void | lineFit (std::map< TrkrDefs::cluskey, Acts::Vector3 > &positions, uint8_t startLayer=0, uint8_t endLayer=58) override |
Public Member Functions inherited from TrackSeed | |
~TrackSeed () override=default | |
virtual void | set_silicon_seed_index (const unsigned int) |
virtual void | set_tpc_seed_index (const unsigned int) |
virtual unsigned int | get_silicon_seed_index () const |
virtual unsigned int | get_tpc_seed_index () const |
virtual void | set_crossing_estimate (const short int) |
virtual short int | get_crossing_estimate () const |
virtual unsigned int | get_truth_track_id () const |
virtual void | set_truth_track_id (unsigned int) |
virtual void | set_num_measurements (int) |
virtual unsigned int | get_num_measurements () const |
virtual bool | empty_g4hit_id () const |
virtual size_t | size_g4hit_id () const |
virtual void | add_g4hit_id (int, PHG4HitDefs::keytype) |
virtual HitIdIter | begin_g4hit_id () |
virtual HitIdConstIter | begin_g4hit_id () const |
virtual HitIdIter | find_g4hit_id (int) |
virtual HitIdConstIter | find_g4hit_id (int) const |
virtual HitIdIter | end_g4hit_id () |
virtual HitIdConstIter | end_g4hit_id () const |
virtual size_t | remove_g4hit_id (int, PHG4HitDefs::keytype) |
virtual size_t | remove_g4hit_volume (int) |
virtual void | clear_g4hit_id () |
virtual const HitIdMap & | g4hit_ids () const |
Public Member Functions inherited from PHObject | |
PHObject () | |
ctor | |
~PHObject () override | |
dtor | |
virtual PHObject * | clone () const final |
PHObject * | Clone (const char *newname="") const final |
void | Copy (TObject &object) const final |
virtual int | Integrate () const |
virtual int | Integrate (PHObject *) |
virtual void | CopyFrom (const PHObject *obj) |
Protected Member Functions | |
std::pair< float, float > | findRoot () const |
Returns transverse PCA to (0,0) | |
Protected Member Functions inherited from TrackSeed | |
TrackSeed () | |
ClassDefOverride (TrackSeed, 1) | |
Private Member Functions | |
ClassDefOverride (TrackSeed_v1, 1) | |
Private Attributes | |
ClusterKeySet | m_cluster_keys |
float | m_qOverR = NAN |
float | m_X0 = NAN |
float | m_Y0 = NAN |
float | m_slope = NAN |
float | m_Z0 = NAN |
short int | m_crossing = std::numeric_limits<short int>::max() |
Additional Inherited Members | |
Public Types inherited from TrackSeed | |
typedef std::set < TrkrDefs::cluskey > | ClusterKeySet |
typedef ClusterKeySet::const_iterator | ConstClusterKeyIter |
typedef ClusterKeySet::iterator | ClusterKeyIter |
typedef std::map< int, std::set< PHG4HitDefs::keytype > > | HitIdMap |
typedef HitIdMap::iterator | HitIdIter |
typedef HitIdMap::const_iterator | HitIdConstIter |
Definition at line 12 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 12 of file TrackSeed_v1.h
|
default |
TrackSeed_v1::TrackSeed_v1 | ( | const TrackSeed & | seed | ) |
Copy constructors.
Definition at line 21 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 21 of file TrackSeed_v1.cc
References CopyFrom().
TrackSeed_v1::TrackSeed_v1 | ( | const TrackSeed_v1 & | seed | ) |
Definition at line 29 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 29 of file TrackSeed_v1.cc
References CopyFrom().
|
overridedefault |
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 68 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 68 of file TrackSeed_v1.h
References m_cluster_keys.
Referenced by identify().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 71 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 71 of file TrackSeed_v1.h
References m_cluster_keys.
|
overridevirtual |
Updates R, X0, Y0.
Reimplemented from TrackSeed.
Definition at line 94 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 94 of file TrackSeed_v1.cc
References TrkrClusterContainer::findCluster(), ActsGeometry::getGlobalPosition(), TrkrDefs::getLayer(), layer, m_cluster_keys, Acts::Test::pos, and telescope_simulation::positions.
Referenced by PHCosmicSiliconPropagator::process_event().
|
overridevirtual |
In case the global cluster positions have already been obtained, these can be called to avoid performing transformations twice
you supplied the wrong key...
Set the charge
Reimplemented from TrackSeed.
Definition at line 152 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 152 of file TrackSeed_v1.cc
References TrackFitUtils::circle_fit_by_taubin(), INTTVtxZ::dphi, TrkrDefs::getLayer(), layer, m_cluster_keys, m_qOverR, m_X0, m_Y0, Acts::Test::pos, physmon_track_finding_ttbar::r, and x0.
|
private |
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 61 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 61 of file TrackSeed_v1.h
References m_cluster_keys.
|
inlineoverridevirtual |
Virtual copy constructor.
Reimplemented from TrackSeed.
Definition at line 28 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 28 of file TrackSeed_v1.h
References TrackSeed_v1().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 46 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 46 of file TrackSeed_v1.cc
References TrackSeed::begin_cluster_keys(), TrackSeed::CopyFrom(), TrackSeed::end_cluster_keys(), TrackSeed::get_crossing(), TrackSeed::get_qOverR(), TrackSeed::get_slope(), TrackSeed::get_X0(), TrackSeed::get_Y0(), TrackSeed::get_Z0(), m_cluster_keys, m_crossing, m_qOverR, m_slope, m_X0, m_Y0, and m_Z0.
Referenced by TrackSeed_FastSim_v1::CopyFrom(), operator=(), and TrackSeed_v1().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 27 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 27 of file TrackSeed_v1.h
References CopyFrom().
Referenced by CopyFrom().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 62 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 62 of file TrackSeed_v1.h
References m_cluster_keys.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 69 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 69 of file TrackSeed_v1.h
References m_cluster_keys.
Referenced by identify().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 72 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 72 of file TrackSeed_v1.h
References m_cluster_keys.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 66 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 66 of file TrackSeed_v1.h
References m_cluster_keys.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 67 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 67 of file TrackSeed_v1.h
References m_cluster_keys.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 70 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 70 of file TrackSeed_v1.h
References m_cluster_keys.
|
protected |
Returns transverse PCA to (0,0)
We need to determine the closest point on the circle to the origin since we can't assume that the track originates from the origin The eqn for the circle is (x-X0)^2+(y-Y0)^2=R^2 and we want to minimize d = sqrt((0-x)^2+(0-y)^2), the distance between the origin and some (currently, unknown) point on the circle x,y.
Solving the circle eqn for x and substituting into d gives an eqn for y. Taking the derivative and setting equal to 0 gives the following two solutions. We take the smaller solution as the correct one, as usually one solution is wildly incorrect (e.g. 1000 cm)
Figure out which of the two roots is actually closer to the origin
Definition at line 241 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 241 of file TrackSeed_v1.cc
References m_qOverR, m_X0, m_Y0, Acts::IntegrationTest::R, square(), ambiguity_solver_full_chain::x, and y.
Referenced by get_phi(), TrackSeed_FastSim_v1::get_phi(), get_x(), and get_y().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 388 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 388 of file TrackSeed_v1.cc
References m_qOverR.
Referenced by identify().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 52 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 52 of file TrackSeed_v1.h
References m_crossing.
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 361 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 361 of file TrackSeed_v1.cc
References get_theta().
Referenced by get_p().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 366 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 366 of file TrackSeed_v1.cc
References get_eta(), and get_pt().
Referenced by get_pz().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 328 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 328 of file TrackSeed_v1.cc
References TrkrClusterContainer::findCluster(), ActsGeometry::getGlobalPosition(), m_cluster_keys, next, and telescope_simulation::positions.
Referenced by get_px(), and get_py().
|
overridevirtual |
convert to the angle of the tangent to the circle
Reimplemented from TrackSeed.
Definition at line 289 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 289 of file TrackSeed_v1.cc
References INTTVtxZ::dphi, findRoot(), m_cluster_keys, m_X0, m_Y0, next, ActsTests::PropagationDatasets::phi, ambiguity_solver_full_chain::x, and y.
|
overridevirtual |
Scaling factor for radius in 1.4T field
Reimplemented from TrackSeed.
Definition at line 284 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 284 of file TrackSeed_v1.cc
References m_qOverR.
Referenced by get_p(), get_px(), get_py(), and identify().
|
overridevirtual |
We need access to the first two clusters to get the phi angle right.
Reimplemented from TrackSeed.
Definition at line 371 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 371 of file TrackSeed_v1.cc
References get_phi(), and get_pt().
Referenced by HelicalFitter::process_event().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 377 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 377 of file TrackSeed_v1.cc
References get_phi(), and get_pt().
Referenced by HelicalFitter::process_event().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 383 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 383 of file TrackSeed_v1.cc
References get_p(), and get_theta().
Referenced by identify(), and HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 47 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 47 of file TrackSeed_v1.h
References m_qOverR.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 50 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 50 of file TrackSeed_v1.h
References m_slope.
|
overridevirtual |
Normalize to 0<theta<pi
Reimplemented from TrackSeed.
Definition at line 350 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 350 of file TrackSeed_v1.cc
References m_slope, and ActsTests::PropagationDatasets::theta.
Referenced by get_eta(), and get_pz().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 269 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 269 of file TrackSeed_v1.cc
References findRoot().
Referenced by identify(), and HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 48 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 48 of file TrackSeed_v1.h
References m_X0.
Referenced by TrackSeed_FastSim_v1::get_phi().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 274 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 274 of file TrackSeed_v1.cc
References findRoot().
Referenced by identify(), and HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 49 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 49 of file TrackSeed_v1.h
References m_Y0.
Referenced by TrackSeed_FastSim_v1::get_phi().
|
overridevirtual |
Reimplemented from TrackSeed.
Definition at line 279 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 279 of file TrackSeed_v1.cc
References get_Z0().
Referenced by identify(), and HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 51 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 51 of file TrackSeed_v1.h
References m_Z0.
Referenced by get_z().
|
overridevirtual |
identify Function from PHObject
os | Output Stream |
Reimplemented from TrackSeed.
Definition at line 66 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 66 of file TrackSeed_v1.cc
References begin_cluster_keys(), end_cluster_keys(), get_charge(), get_pt(), get_pz(), get_x(), get_y(), get_z(), m_cluster_keys, m_qOverR, m_slope, m_X0, m_Y0, and m_Z0.
Referenced by TrackSeed_FastSim_v1::identify(), and PHCosmicSiliconPropagator::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 65 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 65 of file TrackSeed_v1.h
References m_cluster_keys.
Referenced by ALICEKF::ALICEKalmanFilter(), PHSiliconHelicalPropagator::process_event(), PHCosmicSiliconPropagator::process_event(), HelicalFitter::process_event(), and PHCASeeding::RemoveBadClusters().
|
inlineoverridevirtual |
isValid returns non zero if object contains vailid data
Reimplemented from TrackSeed.
Definition at line 25 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 25 of file TrackSeed_v1.h
|
overridevirtual |
Updates r-z slope and intercept B.
Reimplemented from TrackSeed.
Definition at line 128 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 128 of file TrackSeed_v1.cc
References TrkrClusterContainer::findCluster(), ActsGeometry::getGlobalPosition(), TrkrDefs::getLayer(), layer, m_cluster_keys, Acts::Test::pos, and telescope_simulation::positions.
Referenced by PHCosmicSiliconPropagator::process_event().
|
overridevirtual |
The wrong key was supplied...
Reimplemented from TrackSeed.
Definition at line 207 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 207 of file TrackSeed_v1.cc
References TrkrDefs::getLayer(), intercept(), layer, TrackFitUtils::line_fit(), m_cluster_keys, m_slope, m_Z0, Acts::Test::pos, and square().
TrackSeed_v1 & TrackSeed_v1::operator= | ( | const TrackSeed_v1 & | seed | ) |
Definition at line 35 of file TrackSeed_v1.cc.
View newest version in sPHENIX GitHub at line 35 of file TrackSeed_v1.cc
References CopyFrom().
|
inlineoverridevirtual |
Clear Event.
Reimplemented from PHObject.
Definition at line 24 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 24 of file TrackSeed_v1.h
References TrackSeed_v1().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 54 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 54 of file TrackSeed_v1.h
References m_crossing.
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 55 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 55 of file TrackSeed_v1.h
References m_qOverR.
Referenced by ALICEKF::ALICEKalmanFilter(), and HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 58 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 58 of file TrackSeed_v1.h
References m_slope.
Referenced by HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 56 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 56 of file TrackSeed_v1.h
Referenced by HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 57 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 57 of file TrackSeed_v1.h
Referenced by HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 59 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 59 of file TrackSeed_v1.h
Referenced by HelicalFitter::process_event().
|
inlineoverridevirtual |
Reimplemented from TrackSeed.
Definition at line 63 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 63 of file TrackSeed_v1.h
References m_cluster_keys.
Referenced by PHCosmicSiliconPropagator::process_event(), and PHCASeeding::RemoveBadClusters().
|
private |
Definition at line 100 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 100 of file TrackSeed_v1.h
Referenced by begin_cluster_keys(), circleFitByTaubin(), clear_cluster_keys(), CopyFrom(), empty_cluster_keys(), end_cluster_keys(), erase_cluster_key(), find_cluster_key(), find_cluster_keys(), get_phi(), identify(), insert_cluster_key(), lineFit(), and size_cluster_keys().
|
private |
Definition at line 108 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 108 of file TrackSeed_v1.h
Referenced by CopyFrom(), get_crossing(), and set_crossing().
|
private |
Definition at line 102 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 102 of file TrackSeed_v1.h
Referenced by circleFitByTaubin(), CopyFrom(), findRoot(), get_charge(), get_pt(), get_qOverR(), identify(), and set_qOverR().
|
private |
Definition at line 105 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 105 of file TrackSeed_v1.h
Referenced by CopyFrom(), get_slope(), get_theta(), identify(), lineFit(), and set_slope().
|
private |
Definition at line 103 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 103 of file TrackSeed_v1.h
Referenced by circleFitByTaubin(), CopyFrom(), findRoot(), get_phi(), get_X0(), identify(), and set_X0().
|
private |
Definition at line 104 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 104 of file TrackSeed_v1.h
Referenced by circleFitByTaubin(), CopyFrom(), findRoot(), get_phi(), get_Y0(), identify(), and set_Y0().
|
private |
Definition at line 106 of file TrackSeed_v1.h.
View newest version in sPHENIX GitHub at line 106 of file TrackSeed_v1.h
Referenced by CopyFrom(), get_Z0(), identify(), lineFit(), and set_Z0().