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

Refit SvtxTracks with PHGenFit. More...

#include <fun4all_coresoftware/blob/master/offline/packages/trackreco/PHGenFitTrkFitter.h>

+ Inheritance diagram for PHGenFitTrkFitter:
+ Collaboration diagram for PHGenFitTrkFitter:

Public Types

enum  OutPutMode { MakeNewNode, OverwriteOriginalNode, DebugMode }
 
enum  DetectorType {
  MIE, MAPS_TPC, MAPS_IT_TPC, LADDER_MAPS_TPC,
  LADDER_MAPS_IT_TPC, LADDER_MAPS_LADDER_IT_TPC, MAPS_LADDER_IT_TPC
}
 

Public Member Functions

 PHGenFitTrkFitter (const std::string &name="PHGenFitTrkFitter")
 Default constructor.
 
int Init (PHCompositeNode *) override
 Initialization, called for initialization.
 
int InitRun (PHCompositeNode *) override
 Initialization Run, called for initialization of a run.
 
int process_event (PHCompositeNode *) override
 Process Event, called for each event.
 
int End (PHCompositeNode *) override
 End, write and close files.
 
void set_eval_filename (const char *file)
 
std::string get_eval_filename () const
 
void fill_eval_tree (PHCompositeNode *)
 
void init_eval_tree ()
 
void reset_eval_variables ()
 
bool is_do_eval () const
 
void set_do_eval (bool doEval)
 
bool is_do_evt_display () const
 
void set_do_evt_display (bool doEvtDisplay)
 
const std::string & get_vertexing_method () const
 
void set_vertexing_method (const std::string &vertexingMethod)
 
bool is_fit_primary_tracks () const
 
void set_fit_primary_tracks (bool fitPrimaryTracks)
 
OutPutMode get_output_mode () const
 
void set_output_mode (OutPutMode outputMode)
 
const std::string & get_track_fitting_alg_name () const
 
void set_track_fitting_alg_name (const std::string &trackFittingAlgName)
 
int get_primary_pid_guess () const
 
void set_primary_pid_guess (int primaryPidGuess)
 
double get_fit_min_pT () const
 
void set_fit_min_pT (double cutMinPT)
 
bool is_over_write_svtxtrackmap () const
 
void set_over_write_svtxtrackmap (bool overWriteSvtxtrackmap)
 
bool is_use_truth_vertex () const
 
void set_use_truth_vertex (bool useTruthVertex)
 
double get_vertex_min_ndf () const
 
void set_vertex_min_ndf (double vertexMinPT)
 
void set_track_map_name (const std::string &map_name)
 
disabled layers interface
void disable_layer (int layer, bool disabled=true)
 mark layer as disbled
 
void set_disabled_layers (const std::set< int > &)
 set disabled layers
 
void clear_disabled_layers ()
 clear disabled layers
 
const std::set< int > & get_disabled_layers () const
 get disabled layers
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Reset (PHCompositeNode *)
 Reset.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
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 *)
 Get all the nodes.
 
int CreateNodes (PHCompositeNode *)
 Create New nodes.
 
std::shared_ptr< PHGenFit::TrackReFitTrack (PHCompositeNode *, const SvtxTrack *intrack, const SvtxVertex *invertex=nullptr)
 
std::shared_ptr< SvtxTrackMakeSvtxTrack (const SvtxTrack *svtxtrack, const std::shared_ptr< PHGenFit::Track > &genfit_track, const SvtxVertex *vertex=nullptr)
 Make SvtxTrack from PHGenFit::Track and SvtxTrack.
 
bool FillSvtxVertexMap (const std::vector< genfit::GFRaveVertex * > &rave_vertices, const std::vector< genfit::Track * > &gf_tracks)
 Fill SvtxVertexMap from GFRaveVertexes and Tracks.
 
bool pos_cov_uvn_to_rz (const TVector3 &u, const TVector3 &v, const TVector3 &n, const TMatrixF &pos_in, const TMatrixF &cov_in, TMatrixF &pos_out, TMatrixF &cov_out) const
 
bool get_vertex_error_uvn (const TVector3 &u, const TVector3 &v, const TVector3 &n, const TMatrixF &cov_in, TMatrixF &cov_out) const
 
bool pos_cov_XYZ_to_RZ (const TVector3 &n, const TMatrixF &pos_in, const TMatrixF &cov_in, TMatrixF &pos_out, TMatrixF &cov_out) const
 
TMatrixF get_rotation_matrix (const TVector3 x, const TVector3 y, const TVector3 z, const TVector3 xp=TVector3(1., 0., 0.), const TVector3 yp=TVector3(0., 1., 0.), const TVector3 zp=TVector3(0., 0., 1.)) const
 

Private Attributes

int _event = 0
 Event counter.
 
OutPutMode _output_mode = PHGenFitTrkFitter::MakeNewNode
 
bool _over_write_svtxtrackmap = true
 
bool _fit_primary_tracks = false
 
bool _use_truth_vertex = false
 
std::set< int > _disabled_layers
 disabled layers
 
std::string _track_fitting_alg_name = "DafRef"
 KalmanFitterRefTrack, KalmanFitter, DafSimple, DafRef.
 
int _primary_pid_guess = 211
 
double _fit_min_pT = 0.1
 
double _vertex_min_ndf = 20
 
std::shared_ptr< PHGenFit::Fitter_fitter
 
std::shared_ptr
< genfit::GFRaveVertexFactory
_vertex_finder
 
std::string _vertexing_method = "avr-smoothing:1-minweight:0.5-primcut:9-seccut:9"
 https://rave.hepforge.org/trac/wiki/RaveMethods
 
PHG4TruthInfoContainer_truth_container = nullptr
 Input Node pointers.
 
TrkrClusterContainer_clustermap = nullptr
 
SvtxTrackMap_trackmap = nullptr
 
std::string _track_map_name
 
SvtxVertexMap_vertexmap = nullptr
 
SvtxTrackMap_trackmap_refit = nullptr
 Output Node pointers.
 
SvtxTrackMap_primary_trackmap = nullptr
 
SvtxVertexMap_vertexmap_refit = nullptr
 
bool _do_eval = false
 
std::string _eval_outname = "PHGenFitTrkFitter_eval.root"
 eval output filename
 
TTree * _eval_tree = nullptr
 
TClonesArray * _tca_particlemap = nullptr
 
TClonesArray * _tca_vtxmap = nullptr
 
TClonesArray * _tca_trackmap = nullptr
 
TClonesArray * _tca_vertexmap = nullptr
 
TClonesArray * _tca_trackmap_refit = nullptr
 
TClonesArray * _tca_primtrackmap = nullptr
 
TClonesArray * _tca_vertexmap_refit = nullptr
 
TTree * _cluster_eval_tree = nullptr
 
float _cluster_eval_tree_x = 0
 
float _cluster_eval_tree_y = 0
 
float _cluster_eval_tree_z = 0
 
float _cluster_eval_tree_gx = 0
 
float _cluster_eval_tree_gy = 0
 
float _cluster_eval_tree_gz = 0
 
bool _do_evt_display = false
 
std::map< unsigned int,
unsigned int > 
_rave_vertex_gf_track_map
 

Additional Inherited Members

- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Refit SvtxTracks with PHGenFit.

Definition at line 57 of file PHGenFitTrkFitter.h.

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

Member Enumeration Documentation

Enumerator:
MIE 
MAPS_TPC 
MAPS_IT_TPC 
LADDER_MAPS_TPC 
LADDER_MAPS_IT_TPC 
LADDER_MAPS_LADDER_IT_TPC 
MAPS_LADDER_IT_TPC 

Definition at line 72 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 72 of file PHGenFitTrkFitter.h

OverwriteOriginalNode: default mode, overwrite original node MakeNewNode: Output extra new refit nodes DebugMode: overwrite original node also make extra new refit nodes

Enumerator:
MakeNewNode 
OverwriteOriginalNode 
DebugMode 

Definition at line 65 of file PHGenFitTrkFitter.h.

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

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 152 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 152 of file PHGenFitTrkFitter.cc

References _cluster_eval_tree_gx, _cluster_eval_tree_gy, _cluster_eval_tree_gz, _cluster_eval_tree_x, _cluster_eval_tree_y, _cluster_eval_tree_z, Fun4AllBase::Verbosity(), and WILD_FLOAT.

+ Here is the call graph for this function:

Member Function Documentation

void PHGenFitTrkFitter::clear_disabled_layers ( )

clear disabled layers

Definition at line 721 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 721 of file PHGenFitTrkFitter.cc

References _disabled_layers.

int PHGenFitTrkFitter::CreateNodes ( PHCompositeNode topNode)
private

Create New nodes.

Definition at line 652 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 652 of file PHGenFitTrkFitter.cc

References _fit_primary_tracks, _output_mode, _over_write_svtxtrackmap, _primary_trackmap, _trackmap_refit, _vertexmap_refit, Fun4AllReturnCodes::ABORTEVENT, PHCompositeNode::addNode(), DebugMode, Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHWHERE, and Fun4AllBase::Verbosity().

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHGenFitTrkFitter::disable_layer ( int  layer,
bool  disabled = true 
)

mark layer as disbled

Definition at line 710 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 710 of file PHGenFitTrkFitter.cc

References _disabled_layers.

int PHGenFitTrkFitter::End ( PHCompositeNode )
overridevirtual

End, write and close files.

Reimplemented from SubsysReco.

Definition at line 503 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 503 of file PHGenFitTrkFitter.cc

References _cluster_eval_tree, _do_eval, _do_evt_display, _eval_outname, _eval_tree, _fitter, PHTFileServer::cd(), Fun4AllReturnCodes::EVENT_OK, PHTFileServer::get(), PHWHERE, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void PHGenFitTrkFitter::fill_eval_tree ( PHCompositeNode )

Make sure to reset all the TTree variables before trying to set them.

Definition at line 523 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 523 of file PHGenFitTrkFitter.cc

References _eval_tree, _fit_primary_tracks, _primary_trackmap, _trackmap, _trackmap_refit, _truth_container, _vertexmap, _vertexmap_refit, PHG4TruthInfoContainer::GetPrimaryParticleRange(), PHG4TruthInfoContainer::GetPrimaryVtxRange(), and reset_eval_variables().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHGenFitTrkFitter::FillSvtxVertexMap ( const std::vector< genfit::GFRaveVertex * > &  rave_vertices,
const std::vector< genfit::Track * > &  gf_tracks 
)
private

Fill SvtxVertexMap from GFRaveVertexes and Tracks.

Definition at line 1629 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1629 of file PHGenFitTrkFitter.cc

References _rave_vertex_gf_track_map, _vertexmap_refit, SvtxVertex_v1::get_position(), genfit::GFRaveVertex::getChi2(), genfit::GFRaveVertex::getCov(), genfit::GFRaveVertex::getNdf(), genfit::GFRaveVertex::getNTracks(), genfit::GFRaveVertex::getParameters(), genfit::GFRaveVertex::getPos(), genfit::GFRaveTrackParameters::getTrack(), SvtxVertexMap::identify(), SvtxVertexMap::insert_clone(), SvtxVertex_v1::insert_track(), LogError, PHWHERE, SvtxVertex_v1::set_chisq(), SvtxVertex_v1::set_error(), SvtxVertex_v1::set_ndof(), SvtxVertex_v1::set_position(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::set< int > & PHGenFitTrkFitter::get_disabled_layers ( ) const

get disabled layers

Definition at line 725 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 725 of file PHGenFitTrkFitter.cc

References _disabled_layers.

std::string PHGenFitTrkFitter::get_eval_filename ( ) const
inline

Definition at line 105 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 105 of file PHGenFitTrkFitter.h

References _eval_outname.

double PHGenFitTrkFitter::get_fit_min_pT ( ) const
inline

Definition at line 187 of file PHGenFitTrkFitter.h.

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

References _fit_min_pT.

OutPutMode PHGenFitTrkFitter::get_output_mode ( ) const
inline

Definition at line 154 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 154 of file PHGenFitTrkFitter.h

References _output_mode.

int PHGenFitTrkFitter::get_primary_pid_guess ( ) const
inline

Definition at line 177 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 177 of file PHGenFitTrkFitter.h

References _primary_pid_guess.

TMatrixF PHGenFitTrkFitter::get_rotation_matrix ( const TVector3  x,
const TVector3  y,
const TVector3  z,
const TVector3  xp = TVector3(1., 0., 0.),
const TVector3  yp = TVector3(0., 1., 0.),
const TVector3  zp = TVector3(0., 0., 1.) 
) const
private

Get 3D Rotation Matrix that rotates frame (x,y,z) to (x',y',z') Default rotate local to global, or rotate vector in global to local representation

Decompose x',y',z' in x,y,z and call them u,v,n Then the question will be rotate the standard X,Y,Z to u,v,n

Rotation that rotate standard (X, Y, Z) to (u, v, n)

Definition at line 1959 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1959 of file PHGenFitTrkFitter.cc

References kdfinder::abs(), LogWarning, n, Acts::IntegrationTest::R, Acts::UnitConstants::u, v, and Fun4AllBase::Verbosity().

Referenced by get_vertex_error_uvn().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::string& PHGenFitTrkFitter::get_track_fitting_alg_name ( ) const
inline

Definition at line 167 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 167 of file PHGenFitTrkFitter.h

References _track_fitting_alg_name.

bool PHGenFitTrkFitter::get_vertex_error_uvn ( const TVector3 &  u,
const TVector3 &  v,
const TVector3 &  n,
const TMatrixF &  cov_in,
TMatrixF &  cov_out 
) const
private

Get matrix that rotates frame (u,v,n) to (x,y,z) or the matrix that rotates vector defined in (x,y,z) to defined (u,v,n)

Definition at line 1846 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1846 of file PHGenFitTrkFitter.cc

References kdfinder::abs(), get_rotation_matrix(), LogWarning, Acts::IntegrationTest::R, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

double PHGenFitTrkFitter::get_vertex_min_ndf ( ) const
inline

Definition at line 218 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 218 of file PHGenFitTrkFitter.h

References _vertex_min_ndf.

const std::string& PHGenFitTrkFitter::get_vertexing_method ( ) const
inline

Definition at line 134 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 134 of file PHGenFitTrkFitter.h

References _vertexing_method.

int PHGenFitTrkFitter::GetNodes ( PHCompositeNode topNode)
private

Get all the nodes.

Definition at line 732 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 732 of file PHGenFitTrkFitter.cc

References _clustermap, _event, _fit_primary_tracks, _output_mode, _over_write_svtxtrackmap, _primary_trackmap, _trackmap, _trackmap_refit, _truth_container, _vertexmap, _vertexmap_refit, Fun4AllReturnCodes::ABORTEVENT, DebugMode, Fun4AllReturnCodes::EVENT_OK, and PHWHERE.

Referenced by process_event().

+ Here is the caller graph for this function:

int PHGenFitTrkFitter::Init ( PHCompositeNode )
overridevirtual

Initialization, called for initialization.

Reimplemented from SubsysReco.

Definition at line 167 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 167 of file PHGenFitTrkFitter.cc

References Fun4AllReturnCodes::EVENT_OK.

void PHGenFitTrkFitter::init_eval_tree ( )

create TTree

Definition at line 586 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 586 of file PHGenFitTrkFitter.cc

References _cluster_eval_tree, _cluster_eval_tree_gx, _cluster_eval_tree_gy, _cluster_eval_tree_gz, _cluster_eval_tree_x, _cluster_eval_tree_y, _cluster_eval_tree_z, _eval_tree, _fit_primary_tracks, _tca_particlemap, _tca_primtrackmap, _tca_trackmap, _tca_trackmap_refit, _tca_vertexmap, _tca_vertexmap_refit, and _tca_vtxmap.

Referenced by InitRun().

+ Here is the caller graph for this function:

int PHGenFitTrkFitter::InitRun ( PHCompositeNode topNode)
overridevirtual

Initialization Run, called for initialization of a run.

Reimplemented from SubsysReco.

Definition at line 177 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 177 of file PHGenFitTrkFitter.cc

References _disabled_layers, _do_eval, _do_evt_display, _eval_outname, _fitter, _track_fitting_alg_name, _vertex_finder, _vertexing_method, Fun4AllReturnCodes::ABORTRUN, CreateNodes(), Fun4AllReturnCodes::EVENT_OK, PHTFileServer::get(), PHFieldUtility::GetFieldMapNode(), PHGenFit::Fitter::getInstance(), PHGeomUtility::GetTGeoManager(), init_eval_tree(), G4TTL::layer, PHTFileServer::open(), PHWHERE, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

bool PHGenFitTrkFitter::is_do_eval ( ) const
inline

Definition at line 114 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 114 of file PHGenFitTrkFitter.h

References _do_eval.

bool PHGenFitTrkFitter::is_do_evt_display ( ) const
inline

Definition at line 124 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 124 of file PHGenFitTrkFitter.h

References _do_evt_display.

bool PHGenFitTrkFitter::is_fit_primary_tracks ( ) const
inline

Definition at line 144 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 144 of file PHGenFitTrkFitter.h

References _fit_primary_tracks.

bool PHGenFitTrkFitter::is_over_write_svtxtrackmap ( ) const
inline

Definition at line 198 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 198 of file PHGenFitTrkFitter.h

References _over_write_svtxtrackmap.

bool PHGenFitTrkFitter::is_use_truth_vertex ( ) const
inline

Definition at line 208 of file PHGenFitTrkFitter.h.

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

References _use_truth_vertex.

std::shared_ptr< SvtxTrack > PHGenFitTrkFitter::MakeSvtxTrack ( const SvtxTrack svtxtrack,
const std::shared_ptr< PHGenFit::Track > &  genfit_track,
const SvtxVertex vertex = nullptr 
)
private

Make SvtxTrack from PHGenFit::Track and SvtxTrack.

1/p, u'/z', v'/z', u, v u is defined as momentum X beam line at POCA of the beam line v is alone the beam line so u is the dca2d direction

dca3d_xy, dca3d_z

Definition at line 1111 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1111 of file PHGenFitTrkFitter.cc

References _clustermap, _disabled_layers, _truth_container, _use_truth_vertex, genfit::calcAverageState(), Acts::Test::cov, genfit::StateOnPlane::extrapolateToPlane(), genfit::StateOnPlane::extrapolateToPoint(), TrkrClusterContainer::findCluster(), genfit::MeasuredStateOnPlane::get6DCov(), genfit::MeasuredStateOnPlane::get6DStateCov(), SvtxVertex::get_error(), PHG4VtxPoint::get_x(), SvtxVertex::get_x(), PHG4VtxPoint::get_y(), SvtxVertex::get_y(), PHG4VtxPoint::get_z(), SvtxVertex::get_z(), genfit::Track::getCardinalRep(), genfit::MeasuredStateOnPlane::getCov(), genfit::KalmanFitterInfo::getFittedState(), genfit::TrackPoint::getFitterInfo(), TrkrDefs::getLayer(), genfit::StateOnPlane::getMom(), genfit::Track::getNumPointsWithMeasurement(), genfit::StateOnPlane::getPlane(), genfit::Track::getPointWithMeasurementAndFitterInfo(), genfit::StateOnPlane::getPos(), PHG4TruthInfoContainer::GetPrimaryVertexIndex(), PHG4TruthInfoContainer::GetPrimaryVtx(), genfit::StateOnPlane::getState(), G4TTL::layer, LogWarning, charm_jet_coverage::mom, PHWHERE, pos(), pos_cov_XYZ_to_RZ(), square(), Acts::UnitConstants::u, v, and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHGenFitTrkFitter::pos_cov_uvn_to_rz ( const TVector3 &  u,
const TVector3 &  v,
const TVector3 &  n,
const TMatrixF &  pos_in,
const TMatrixF &  cov_in,
TMatrixF &  pos_out,
TMatrixF &  cov_out 
) const
private

Definition at line 1784 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1784 of file PHGenFitTrkFitter.cc

References cos(), LogWarning, phi, Acts::IntegrationTest::R, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

bool PHGenFitTrkFitter::pos_cov_XYZ_to_RZ ( const TVector3 &  n,
const TMatrixF &  pos_in,
const TMatrixF &  cov_in,
TMatrixF &  pos_out,
TMatrixF &  cov_out 
) const
private

Definition at line 1893 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 1893 of file PHGenFitTrkFitter.cc

References cos(), LogWarning, phi, Acts::IntegrationTest::R, and Fun4AllBase::Verbosity().

Referenced by MakeSvtxTrack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHGenFitTrkFitter::process_event ( PHCompositeNode topNode)
overridevirtual

Process Event, called for each event.

stands for Refit_GenFit_Tracks

rf_phgf_track stands for Refit_PHGenFit_Track

find vertices using final tracks

Optionally fit track as primary track by including collision vertex, This part need to be called after FillSvtxVertexMap

rf_phgf_track stands for Refit_PHGenFit_Track

Reimplemented from SubsysReco.

Definition at line 228 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 228 of file PHGenFitTrkFitter.cc

References _do_eval, _do_evt_display, _event, _fit_min_pT, _fit_primary_tracks, _fitter, _output_mode, _over_write_svtxtrackmap, _primary_trackmap, _rave_vertex_gf_track_map, _trackmap, _trackmap_refit, _vertex_finder, _vertex_min_ndf, _vertexmap_refit, SvtxTrackMap::begin(), SvtxTrack::CopyFrom(), DebugMode, SvtxTrackMap::empty(), SvtxTrackMap::end(), SvtxTrackMap::erase(), Fun4AllReturnCodes::EVENT_OK, fill_eval_tree(), FillSvtxVertexMap(), SvtxVertexMap::get(), SvtxTrack::get_id(), SvtxTrack::get_pt(), SvtxVertex::get_x(), SvtxVertex::get_y(), SvtxVertex::get_z(), GetNodes(), SvtxTrack::identify(), SvtxTrackMap::insert(), LogDebug, LogError, MakeSvtxTrack(), PHWHERE, ReFitTrack(), SvtxVertexMap::size(), t, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

std::shared_ptr< PHGenFit::Track > PHGenFitTrkFitter::ReFitTrack ( PHCompositeNode topNode,
const SvtxTrack intrack,
const SvtxVertex invertex = nullptr 
)
private

if fit track as a primary track

1000 is a arbitrary number for now

mu+: -13 mu-: 13 pi+: 211 pi-: -211 e-: 11 e+: -11

Fit the track ret code 0 means 0 error or good status

Definition at line 818 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 818 of file PHGenFitTrkFitter.cc

References _clustermap, _disabled_layers, _fitter, _primary_pid_guess, SvtxTrack::begin_cluster_keys(), Acts::Test::cov, dz, SvtxTrack::end_cluster_keys(), CylinderGeomIntt::find_segment_center(), CylinderGeom_Mvtx::find_sensor_center(), TrkrClusterContainer::findCluster(), SvtxVertex::get_chisq(), SvtxVertex::get_error(), SvtxVertex::get_ndof(), SvtxVertex::get_x(), SvtxVertex::get_y(), SvtxVertex::get_z(), MvtxDefs::getChipId(), InttDefs::getLadderPhiId(), InttDefs::getLadderZId(), TrkrDefs::getLayer(), PHGenFit::Measurement::getMeasurement(), TrkrCluster::getPosition(), TrkrCluster::getRPhiError(), MvtxDefs::getStaveId(), MicromegasDefs::getTileId(), TrkrDefs::getTrkrId(), TrkrCluster::getZError(), SvtxTrack::identify(), TrkrDefs::inttId, G4TTL::layer, LogError, LogWarning, TrkrDefs::micromegasId, TrkrDefs::mvtxId, n, PHWHERE, pos(), genfit::AbsMeasurement::Print(), rand, SvtxVertex::size_tracks(), square(), Fun4AllBase::Verbosity(), x, y, and z.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHGenFitTrkFitter::reset_eval_variables ( )

Definition at line 632 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 632 of file PHGenFitTrkFitter.cc

References _cluster_eval_tree_gx, _cluster_eval_tree_gy, _cluster_eval_tree_gz, _cluster_eval_tree_x, _cluster_eval_tree_y, _cluster_eval_tree_z, _fit_primary_tracks, _tca_particlemap, _tca_primtrackmap, _tca_trackmap, _tca_trackmap_refit, _tca_vertexmap, _tca_vertexmap_refit, _tca_vtxmap, and WILD_FLOAT.

Referenced by fill_eval_tree().

+ Here is the caller graph for this function:

void PHGenFitTrkFitter::set_disabled_layers ( const std::set< int > &  layers)

set disabled layers

Definition at line 717 of file PHGenFitTrkFitter.cc.

View newest version in sPHENIX GitHub at line 717 of file PHGenFitTrkFitter.cc

References _disabled_layers.

void PHGenFitTrkFitter::set_do_eval ( bool  doEval)
inline

Definition at line 119 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 119 of file PHGenFitTrkFitter.h

References _do_eval.

void PHGenFitTrkFitter::set_do_evt_display ( bool  doEvtDisplay)
inline

Definition at line 129 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 129 of file PHGenFitTrkFitter.h

References _do_evt_display.

void PHGenFitTrkFitter::set_eval_filename ( const char *  file)
inline

For evalution Change eval output filename

Definition at line 100 of file PHGenFitTrkFitter.h.

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

References _eval_outname, and eicpy.qaplots::file.

void PHGenFitTrkFitter::set_fit_min_pT ( double  cutMinPT)
inline

Definition at line 192 of file PHGenFitTrkFitter.h.

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

References _fit_min_pT.

void PHGenFitTrkFitter::set_fit_primary_tracks ( bool  fitPrimaryTracks)
inline

Definition at line 149 of file PHGenFitTrkFitter.h.

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

References _fit_primary_tracks.

void PHGenFitTrkFitter::set_output_mode ( OutPutMode  outputMode)
inline

set output mode, default is OverwriteOriginalNode

Definition at line 162 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 162 of file PHGenFitTrkFitter.h

References _output_mode.

void PHGenFitTrkFitter::set_over_write_svtxtrackmap ( bool  overWriteSvtxtrackmap)
inline

Definition at line 203 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 203 of file PHGenFitTrkFitter.h

References _over_write_svtxtrackmap.

void PHGenFitTrkFitter::set_primary_pid_guess ( int  primaryPidGuess)
inline

Definition at line 182 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 182 of file PHGenFitTrkFitter.h

References _primary_pid_guess.

void PHGenFitTrkFitter::set_track_fitting_alg_name ( const std::string &  trackFittingAlgName)
inline

Definition at line 172 of file PHGenFitTrkFitter.h.

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

References _track_fitting_alg_name.

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

Definition at line 227 of file PHGenFitTrkFitter.h.

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

References _track_map_name.

void PHGenFitTrkFitter::set_use_truth_vertex ( bool  useTruthVertex)
inline

Definition at line 213 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 213 of file PHGenFitTrkFitter.h

References _use_truth_vertex.

void PHGenFitTrkFitter::set_vertex_min_ndf ( double  vertexMinPT)
inline

Definition at line 223 of file PHGenFitTrkFitter.h.

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

References _vertex_min_ndf.

void PHGenFitTrkFitter::set_vertexing_method ( const std::string &  vertexingMethod)
inline

Definition at line 139 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 139 of file PHGenFitTrkFitter.h

References _vertexing_method.

Member Data Documentation

TTree* PHGenFitTrkFitter::_cluster_eval_tree = nullptr
private

Definition at line 367 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 367 of file PHGenFitTrkFitter.h

Referenced by End(), and init_eval_tree().

float PHGenFitTrkFitter::_cluster_eval_tree_gx = 0
private

Definition at line 371 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 371 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

float PHGenFitTrkFitter::_cluster_eval_tree_gy = 0
private

Definition at line 372 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 372 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

float PHGenFitTrkFitter::_cluster_eval_tree_gz = 0
private

Definition at line 373 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 373 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

float PHGenFitTrkFitter::_cluster_eval_tree_x = 0
private

Definition at line 368 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 368 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

float PHGenFitTrkFitter::_cluster_eval_tree_y = 0
private

Definition at line 369 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 369 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

float PHGenFitTrkFitter::_cluster_eval_tree_z = 0
private

Definition at line 370 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 370 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), PHGenFitTrkFitter(), and reset_eval_variables().

TrkrClusterContainer* PHGenFitTrkFitter::_clustermap = nullptr
private

Definition at line 341 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 341 of file PHGenFitTrkFitter.h

Referenced by GetNodes(), MakeSvtxTrack(), and ReFitTrack().

std::set<int> PHGenFitTrkFitter::_disabled_layers
private

disabled layers

clusters belonging to disabled layers are not included in track fit

Definition at line 318 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 318 of file PHGenFitTrkFitter.h

Referenced by clear_disabled_layers(), disable_layer(), get_disabled_layers(), InitRun(), MakeSvtxTrack(), ReFitTrack(), and set_disabled_layers().

bool PHGenFitTrkFitter::_do_eval = false
private

Evaluation switch eval out

Definition at line 353 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 353 of file PHGenFitTrkFitter.h

Referenced by End(), InitRun(), is_do_eval(), process_event(), and set_do_eval().

bool PHGenFitTrkFitter::_do_evt_display = false
private

Definition at line 375 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 375 of file PHGenFitTrkFitter.h

Referenced by End(), InitRun(), is_do_evt_display(), process_event(), and set_do_evt_display().

std::string PHGenFitTrkFitter::_eval_outname = "PHGenFitTrkFitter_eval.root"
private

eval output filename

Definition at line 356 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 356 of file PHGenFitTrkFitter.h

Referenced by End(), get_eval_filename(), InitRun(), and set_eval_filename().

TTree* PHGenFitTrkFitter::_eval_tree = nullptr
private

Definition at line 358 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 358 of file PHGenFitTrkFitter.h

Referenced by End(), fill_eval_tree(), and init_eval_tree().

int PHGenFitTrkFitter::_event = 0
private

Event counter.

Definition at line 248 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 248 of file PHGenFitTrkFitter.h

Referenced by GetNodes(), and process_event().

double PHGenFitTrkFitter::_fit_min_pT = 0.1
private

Definition at line 324 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 324 of file PHGenFitTrkFitter.h

Referenced by get_fit_min_pT(), process_event(), and set_fit_min_pT().

bool PHGenFitTrkFitter::_fit_primary_tracks = false
private
std::shared_ptr<PHGenFit::Fitter> PHGenFitTrkFitter::_fitter
private

Definition at line 331 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 331 of file PHGenFitTrkFitter.h

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

OutPutMode PHGenFitTrkFitter::_output_mode = PHGenFitTrkFitter::MakeNewNode
private

Definition at line 307 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 307 of file PHGenFitTrkFitter.h

Referenced by CreateNodes(), get_output_mode(), GetNodes(), process_event(), and set_output_mode().

bool PHGenFitTrkFitter::_over_write_svtxtrackmap = true
private

Definition at line 309 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 309 of file PHGenFitTrkFitter.h

Referenced by CreateNodes(), GetNodes(), is_over_write_svtxtrackmap(), process_event(), and set_over_write_svtxtrackmap().

int PHGenFitTrkFitter::_primary_pid_guess = 211
private

Definition at line 323 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 323 of file PHGenFitTrkFitter.h

Referenced by get_primary_pid_guess(), ReFitTrack(), and set_primary_pid_guess().

SvtxTrackMap* PHGenFitTrkFitter::_primary_trackmap = nullptr
private

Definition at line 348 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 348 of file PHGenFitTrkFitter.h

Referenced by CreateNodes(), fill_eval_tree(), GetNodes(), and process_event().

std::map<unsigned int, unsigned int> PHGenFitTrkFitter::_rave_vertex_gf_track_map
private

Definition at line 377 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 377 of file PHGenFitTrkFitter.h

Referenced by FillSvtxVertexMap(), and process_event().

TClonesArray* PHGenFitTrkFitter::_tca_particlemap = nullptr
private

Definition at line 359 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 359 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_primtrackmap = nullptr
private

Definition at line 364 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 364 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_trackmap = nullptr
private

Definition at line 361 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 361 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_trackmap_refit = nullptr
private

Definition at line 363 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 363 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_vertexmap = nullptr
private

Definition at line 362 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 362 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_vertexmap_refit = nullptr
private

Definition at line 365 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 365 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

TClonesArray* PHGenFitTrkFitter::_tca_vtxmap = nullptr
private

Definition at line 360 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 360 of file PHGenFitTrkFitter.h

Referenced by init_eval_tree(), and reset_eval_variables().

std::string PHGenFitTrkFitter::_track_fitting_alg_name = "DafRef"
private

KalmanFitterRefTrack, KalmanFitter, DafSimple, DafRef.

Definition at line 321 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 321 of file PHGenFitTrkFitter.h

Referenced by get_track_fitting_alg_name(), InitRun(), and set_track_fitting_alg_name().

std::string PHGenFitTrkFitter::_track_map_name
private

Definition at line 343 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 343 of file PHGenFitTrkFitter.h

Referenced by set_track_map_name().

SvtxTrackMap* PHGenFitTrkFitter::_trackmap = nullptr
private

Definition at line 342 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 342 of file PHGenFitTrkFitter.h

Referenced by fill_eval_tree(), GetNodes(), and process_event().

SvtxTrackMap* PHGenFitTrkFitter::_trackmap_refit = nullptr
private

Output Node pointers.

Definition at line 347 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 347 of file PHGenFitTrkFitter.h

Referenced by CreateNodes(), fill_eval_tree(), GetNodes(), and process_event().

PHG4TruthInfoContainer* PHGenFitTrkFitter::_truth_container = nullptr
private

Input Node pointers.

Definition at line 340 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 340 of file PHGenFitTrkFitter.h

Referenced by fill_eval_tree(), GetNodes(), and MakeSvtxTrack().

bool PHGenFitTrkFitter::_use_truth_vertex = false
private

Definition at line 314 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 314 of file PHGenFitTrkFitter.h

Referenced by is_use_truth_vertex(), MakeSvtxTrack(), and set_use_truth_vertex().

std::shared_ptr<genfit::GFRaveVertexFactory> PHGenFitTrkFitter::_vertex_finder
private

Definition at line 332 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 332 of file PHGenFitTrkFitter.h

Referenced by InitRun(), and process_event().

double PHGenFitTrkFitter::_vertex_min_ndf = 20
private

Definition at line 325 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 325 of file PHGenFitTrkFitter.h

Referenced by get_vertex_min_ndf(), process_event(), and set_vertex_min_ndf().

std::string PHGenFitTrkFitter::_vertexing_method = "avr-smoothing:1-minweight:0.5-primcut:9-seccut:9"
private

https://rave.hepforge.org/trac/wiki/RaveMethods

Definition at line 335 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 335 of file PHGenFitTrkFitter.h

Referenced by get_vertexing_method(), InitRun(), and set_vertexing_method().

SvtxVertexMap* PHGenFitTrkFitter::_vertexmap = nullptr
private

Definition at line 344 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 344 of file PHGenFitTrkFitter.h

Referenced by fill_eval_tree(), and GetNodes().

SvtxVertexMap* PHGenFitTrkFitter::_vertexmap_refit = nullptr
private

Definition at line 349 of file PHGenFitTrkFitter.h.

View newest version in sPHENIX GitHub at line 349 of file PHGenFitTrkFitter.h

Referenced by CreateNodes(), fill_eval_tree(), FillSvtxVertexMap(), GetNodes(), and process_event().


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