ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ALICEKF Class Reference

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

+ Collaboration diagram for ALICEKF:

Public Member Functions

 ALICEKF (PHCompositeNode *topNode, TrkrClusterContainer *cmap, double fieldDir, unsigned int min_clusters, double max_sin_phi, int verbosity)
 
std::vector< SvtxTrack_v2ALICEKalmanFilter (const std::vector< std::vector< TrkrDefs::cluskey >> &chains, bool use_nhits_limit, const PositionMap &globalPositions) const
 
Eigen::Matrix< double, 6, 6 > getEigenCov (const SvtxTrack_v2 &track) const
 
bool covIsPosDef (const SvtxTrack_v2 &track) const
 
void repairCovariance (SvtxTrack_v2 &track) const
 
bool checknan (double val, const std::string &msg, int num) const
 
double get_Bz (double x, double y, double z) const
 
void CircleFitByTaubin (const std::vector< std::pair< double, double >> &pts, double &R, double &X0, double &Y0) const
 
void useConstBField (bool opt)
 
void useFixedClusterError (bool opt)
 
void setFixedClusterError (int i, double val)
 
double getClusterError (TrkrCluster *c, Acts::Vector3F global, int i, int j) const
 
void line_fit (const std::vector< std::pair< double, double >> &pts, double &a, double &b) const
 
std::vector< double > GetCircleClusterResiduals (const std::vector< std::pair< double, double >> &pts, double R, double X0, double Y0) const
 
std::vector< double > GetLineClusterResiduals (const std::vector< std::pair< double, double >> &pts, double A, double B) const
 

Private Member Functions

int Verbosity () const
 

Private Attributes

PHField_B = nullptr
 
size_t _min_clusters_per_track = 20
 
TrkrClusterContainer_cluster_map = nullptr
 
int _v = 0
 
double _Bzconst = 10*0.000299792458f
 
double _fieldDir = -1
 
double _max_sin_phi = 1.
 
bool _use_const_field = false
 
bool _use_fixed_clus_error = true
 
std::array< double, 3 > _fixed_clus_error = {.1,.1,.1}
 

Detailed Description

Definition at line 22 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 22 of file ALICEKF.h

Constructor & Destructor Documentation

ALICEKF::ALICEKF ( PHCompositeNode topNode,
TrkrClusterContainer cmap,
double  fieldDir,
unsigned int  min_clusters,
double  max_sin_phi,
int  verbosity 
)
inline

Definition at line 25 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 25 of file ALICEKF.h

References _B, _cluster_map, _fieldDir, _max_sin_phi, _min_clusters_per_track, _v, and PHFieldUtility::GetFieldMapNode().

+ Here is the call graph for this function:

Member Function Documentation

std::vector< SvtxTrack_v2 > ALICEKF::ALICEKalmanFilter ( const std::vector< std::vector< TrkrDefs::cluskey >> &  chains,
bool  use_nhits_limit,
const PositionMap globalPositions 
) const

Definition at line 93 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 93 of file ALICEKF.cc

References _Bzconst, _cluster_map, _fieldDir, _max_sin_phi, _min_clusters_per_track, alpha, c, GPUTPCTrackParam::CalculateFitParameters(), checknan(), CircleFitByTaubin(), covIsPosDef(), d, GPUTPCTrackParam::Filter(), TrkrClusterContainer::findCluster(), fp, get_Bz(), SvtxTrack_v2::get_x(), SvtxTrack_v2::get_y(), SvtxTrack_v2::get_z(), GPUTPCTrackParam::GetChi2(), getClusterError(), GPUTPCTrackParam::GetCov(), GPUTPCTrackParam::GetDzDs(), GPUTPCTrackParam::GetErr2QPt(), GPUTPCTrackParam::GetErr2Y(), GPUTPCTrackParam::GetErr2Z(), GPUTPCTrackParam::GetKappa(), TrkrDefs::getLayer(), GPUTPCTrackParam::GetNDF(), GPUTPCTrackParam::GetQPt(), TrkrCluster::getRPhiError(), GPUTPCTrackParam::GetSinPhi(), GPUTPCTrackParam::GetX(), GPUTPCTrackParam::GetY(), GPUTPCTrackParam::GetZ(), GPUTPCTrackParam::InitParam(), SvtxTrack_v2::insert_cluster_key(), G4TTL::layer, LogDebug, LogError, LogWarning, M_PI, Acts::IntegrationTest::R, repairCovariance(), reverse, GPUTPCTrackParam::Rotate(), SvtxTrack_v2::set_charge(), SvtxTrack_v2::set_chisq(), SvtxTrack_v2::set_error(), SvtxTrack_v2::set_id(), SvtxTrack_v2::set_ndf(), SvtxTrack_v2::set_px(), SvtxTrack_v2::set_py(), SvtxTrack_v2::set_pz(), SvtxTrack_v2::set_x(), SvtxTrack_v2::set_y(), SvtxTrack_v2::set_z(), GPUTPCTrackParam::SetDzDs(), GPUTPCTrackParam::SetQPt(), GPUTPCTrackParam::SetSinPhi(), GPUTPCTrackParam::SetX(), GPUTPCTrackParam::SetY(), GPUTPCTrackParam::SetZ(), square(), nlohmann::to_string(), track, Acts::Test::transform, GPUTPCTrackParam::TransportToX(), Verbosity(), x, y, z, and G4InuclParticleNames::z0.

bool ALICEKF::checknan ( double  val,
const std::string &  msg,
int  num 
) const

Definition at line 35 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 35 of file ALICEKF.cc

References Verbosity().

Referenced by ALICEKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ALICEKF::CircleFitByTaubin ( const std::vector< std::pair< double, double >> &  pts,
double &  R,
double &  X0,
double &  Y0 
) const

Definition at line 754 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 754 of file ALICEKF.cc

References A22, A33, Dy, isfinite, Acts::IntegrationTest::R, weight, x, and y.

Referenced by ALICEKalmanFilter().

+ Here is the caller graph for this function:

bool ALICEKF::covIsPosDef ( const SvtxTrack_v2 track) const

Definition at line 726 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 726 of file ALICEKF.cc

References getEigenCov().

Referenced by ALICEKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ALICEKF::get_Bz ( double  x,
double  y,
double  z 
) const

Definition at line 44 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 44 of file ALICEKF.cc

References _B, _use_const_field, cm, PHField::GetFieldValue(), and tesla.

Referenced by ALICEKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< double > ALICEKF::GetCircleClusterResiduals ( const std::vector< std::pair< double, double >> &  pts,
double  R,
double  X0,
double  Y0 
) const

Definition at line 876 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 876 of file ALICEKF.cc

References Acts::IntegrationTest::R, square(), Acts::Test::transform, x, and y.

+ Here is the call graph for this function:

double ALICEKF::getClusterError ( TrkrCluster c,
Acts::Vector3F  global,
int  i,
int  j 
) const

Definition at line 53 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 53 of file ALICEKF.cc

References _fixed_clus_error, _use_fixed_clus_error, check_license::err(), and TrkrCluster::getActsLocalError().

Referenced by ALICEKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Eigen::Matrix< double, 6, 6 > ALICEKF::getEigenCov ( const SvtxTrack_v2 track) const

Definition at line 713 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 713 of file ALICEKF.cc

References SvtxTrack_v2::get_error().

Referenced by covIsPosDef(), and repairCovariance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< double > ALICEKF::GetLineClusterResiduals ( const std::vector< std::pair< double, double >> &  pts,
double  A,
double  B 
) const

Definition at line 890 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 890 of file ALICEKF.cc

References a, A(), kdfinder::abs(), b, B(), c, r, square(), Acts::Test::transform, and z.

+ Here is the call graph for this function:

void ALICEKF::line_fit ( const std::vector< std::pair< double, double >> &  pts,
double &  a,
double &  b 
) const

Definition at line 844 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 844 of file ALICEKF.cc

References b, r, square(), Verbosity(), and z.

+ Here is the call graph for this function:

void ALICEKF::repairCovariance ( SvtxTrack_v2 track) const

Definition at line 736 of file ALICEKF.cc.

View newest version in sPHENIX GitHub at line 736 of file ALICEKF.cc

References D(), e, getEigenCov(), Q, SvtxTrack_v2::set_error(), and Z.

Referenced by ALICEKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ALICEKF::setFixedClusterError ( int  i,
double  val 
)
inline

Definition at line 48 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 48 of file ALICEKF.h

References _fixed_clus_error.

void ALICEKF::useConstBField ( bool  opt)
inline

Definition at line 46 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 46 of file ALICEKF.h

References _use_const_field.

void ALICEKF::useFixedClusterError ( bool  opt)
inline

Definition at line 47 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 47 of file ALICEKF.h

References _use_fixed_clus_error.

int ALICEKF::Verbosity ( ) const
inlineprivate

Definition at line 57 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 57 of file ALICEKF.h

References _v.

Referenced by ALICEKalmanFilter(), checknan(), and line_fit().

+ Here is the caller graph for this function:

Member Data Documentation

PHField* ALICEKF::_B = nullptr
private

Definition at line 54 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 54 of file ALICEKF.h

Referenced by ALICEKF(), and get_Bz().

double ALICEKF::_Bzconst = 10*0.000299792458f
private

Definition at line 61 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 61 of file ALICEKF.h

Referenced by ALICEKalmanFilter().

TrkrClusterContainer* ALICEKF::_cluster_map = nullptr
private

Definition at line 56 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 56 of file ALICEKF.h

Referenced by ALICEKalmanFilter(), and ALICEKF().

double ALICEKF::_fieldDir = -1
private

Definition at line 62 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 62 of file ALICEKF.h

Referenced by ALICEKalmanFilter(), and ALICEKF().

std::array<double,3> ALICEKF::_fixed_clus_error = {.1,.1,.1}
private

Definition at line 66 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 66 of file ALICEKF.h

Referenced by getClusterError(), and setFixedClusterError().

double ALICEKF::_max_sin_phi = 1.
private

Definition at line 63 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 63 of file ALICEKF.h

Referenced by ALICEKalmanFilter(), and ALICEKF().

size_t ALICEKF::_min_clusters_per_track = 20
private

Definition at line 55 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 55 of file ALICEKF.h

Referenced by ALICEKalmanFilter(), and ALICEKF().

bool ALICEKF::_use_const_field = false
private

Definition at line 64 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 64 of file ALICEKF.h

Referenced by get_Bz(), and useConstBField().

bool ALICEKF::_use_fixed_clus_error = true
private

Definition at line 65 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 65 of file ALICEKF.h

Referenced by getClusterError(), and useFixedClusterError().

int ALICEKF::_v = 0
private

Definition at line 60 of file ALICEKF.h.

View newest version in sPHENIX GitHub at line 60 of file ALICEKF.h

Referenced by ALICEKF(), and Verbosity().


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