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

Compares reconstructed tracks to truth particles. More...

#include <analysis/blob/master/Tracking/SvtxEvaluatorHaiwang/SvtxEvaluatorHaiwang.h>

+ Inheritance diagram for SvtxEvaluatorHaiwang:
+ Collaboration diagram for SvtxEvaluatorHaiwang:

Public Member Functions

 SvtxEvaluatorHaiwang (const std::string &name="SVTXEVALUATOR", const std::string &filename="g4eval.root")
 
virtual ~SvtxEvaluatorHaiwang ()
 
int Init (PHCompositeNode *topNode)
 
int InitRun (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing.
 
void set_strict (bool b)
 
void do_vertex_eval (bool b)
 
void do_gpoint_eval (bool b)
 
void do_g4hit_eval (bool b)
 
void do_hit_eval (bool b)
 
void do_cluster_eval (bool b)
 
void do_gtrack_eval (bool b)
 
void do_track_eval (bool b)
 
void scan_for_embedded (bool b)
 
- 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

void fillOutputNtuples (PHCompositeNode *topNode)
 dump the evaluator information into ntuple for external analysis
 
void printInputInfo (PHCompositeNode *topNode)
 print out the input object information (debugging upstream components)
 
void printOutputInfo (PHCompositeNode *topNode)
 print out the ancestry information for detailed diagnosis
 

Private Attributes

unsigned int _ievent
 
SvtxEvalStack_svtxevalstack
 
bool _strict
 
unsigned int _errors
 
bool _do_vertex_eval
 
bool _do_gpoint_eval
 
bool _do_g4hit_eval
 
bool _do_hit_eval
 
bool _do_cluster_eval
 
bool _do_gtrack_eval
 
bool _do_track_eval
 
bool _scan_for_embedded
 
TNtuple * _ntp_vertex
 
TNtuple * _ntp_gpoint
 
TNtuple * _ntp_g4hit
 
TNtuple * _ntp_hit
 
TNtuple * _ntp_cluster
 
TNtuple * _ntp_gtrack
 
TNtuple * _ntp_track
 
std::string _filename
 
TFile * _tfile
 

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

Compares reconstructed tracks to truth particles.

Plan: This module will trace the reconstructed tracks back to the greatest contributor Monte Carlo particle and then test one against the other.

Definition at line 29 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 29 of file SvtxEvaluatorHaiwang.h

Constructor & Destructor Documentation

SvtxEvaluatorHaiwang::SvtxEvaluatorHaiwang ( const std::string &  name = "SVTXEVALUATOR",
const std::string &  filename = "g4eval.root" 
)

Definition at line 34 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 34 of file SvtxEvaluatorHaiwang.C

References verbosity.

virtual SvtxEvaluatorHaiwang::~SvtxEvaluatorHaiwang ( )
inlinevirtual

Definition at line 35 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 35 of file SvtxEvaluatorHaiwang.h

Member Function Documentation

void SvtxEvaluatorHaiwang::do_cluster_eval ( bool  b)
inline

Definition at line 48 of file SvtxEvaluatorHaiwang.h.

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

References _do_cluster_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_g4hit_eval ( bool  b)
inline

Definition at line 46 of file SvtxEvaluatorHaiwang.h.

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

References _do_g4hit_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_gpoint_eval ( bool  b)
inline

Definition at line 45 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 45 of file SvtxEvaluatorHaiwang.h

References _do_gpoint_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_gtrack_eval ( bool  b)
inline

Definition at line 49 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 49 of file SvtxEvaluatorHaiwang.h

References _do_gtrack_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_hit_eval ( bool  b)
inline

Definition at line 47 of file SvtxEvaluatorHaiwang.h.

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

References _do_hit_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_track_eval ( bool  b)
inline

Definition at line 50 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 50 of file SvtxEvaluatorHaiwang.h

References _do_track_eval, and KFPMath::b.

void SvtxEvaluatorHaiwang::do_vertex_eval ( bool  b)
inline

Definition at line 44 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 44 of file SvtxEvaluatorHaiwang.h

References _do_vertex_eval, and KFPMath::b.

int SvtxEvaluatorHaiwang::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 171 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 171 of file SvtxEvaluatorHaiwang.C

References _errors, _filename, _ievent, _ntp_cluster, _ntp_g4hit, _ntp_gpoint, _ntp_gtrack, _ntp_hit, _ntp_track, _ntp_vertex, _svtxevalstack, _tfile, Fun4AllReturnCodes::EVENT_OK, SvtxEvalStack::get_errors(), and verbosity.

+ Here is the call graph for this function:

void SvtxEvaluatorHaiwang::fillOutputNtuples ( PHCompositeNode topNode)
private

dump the evaluator information into ntuple for external analysis

Definition at line 550 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 550 of file SvtxEvaluatorHaiwang.C

References _ievent, _ntp_cluster, _ntp_g4hit, _ntp_gpoint, _ntp_gtrack, _ntp_hit, _ntp_track, _ntp_vertex, _scan_for_embedded, _svtxevalstack, SvtxClusterEval::all_clusters_from(), SvtxTruthEval::all_truth_hits(), SvtxTrackMap::begin(), SvtxVertexMap::begin(), SvtxTrack::begin_clusters(), SvtxClusterEval::best_cluster_from(), SvtxTrackEval::best_track_from(), SvtxVertexEval::best_vertex_from(), SvtxTrack::CEMC, charge(), clusters, Acts::UnitConstants::e, efromtruth, SvtxTrackMap::end(), SvtxVertexMap::end(), SvtxTrack::end_clusters(), ephi, event, g4hitID, PHG4Hit::get_avg_t(), PHG4Hit::get_avg_x(), PHG4Hit::get_avg_y(), PHG4Hit::get_avg_z(), SvtxTrack::get_cal_cluster_e(), SvtxTrack::get_cal_deta(), SvtxTrack::get_cal_dphi(), SvtxTrack::get_cal_energy_3x3(), SvtxTrack::get_charge(), SvtxTrack::get_chisq(), SvtxEvalStack::get_cluster_eval(), SvtxTrack::get_dca2d(), SvtxTrack::get_dca2d_error(), PHG4Hit::get_edep(), PHG4Cell::get_edep(), SvtxTruthEval::get_embed(), SvtxHitEval::get_energy_contribution(), SvtxClusterEval::get_energy_contribution(), SvtxEvalStack::get_hit_eval(), PHG4Hit::get_hit_id(), SvtxTrack::get_id(), PHG4Hit::get_layer(), SvtxTrackEval::get_nclusters_contribution(), SvtxTrackEval::get_nclusters_contribution_by_layer(), SvtxTrack::get_ndf(), SvtxVertexEval::get_ntracks_contribution(), SvtxTruthEval::get_outermost_truth_hit(), SvtxTruthEval::get_particle(), PHG4Particle::get_pid(), PHG4Particle::get_px(), PHG4Hit::get_px(), SvtxTrack::get_px(), PHG4Particle::get_py(), PHG4Hit::get_py(), SvtxTrack::get_py(), PHG4Particle::get_pz(), PHG4Hit::get_pz(), SvtxTrack::get_pz(), SvtxTrack::get_quality(), PHG4VtxPoint::get_t(), SvtxEvalStack::get_track_eval(), PHG4Particle::get_track_id(), PHG4Hit::get_trkid(), SvtxEvalStack::get_truth_eval(), SvtxTruthEval::get_vertex(), SvtxEvalStack::get_vertex_eval(), PHG4VtxPoint::get_x(), PHG4Hit::get_x(), SvtxVertex::get_x(), SvtxTrack::get_x(), PHG4VtxPoint::get_y(), PHG4Hit::get_y(), SvtxVertex::get_y(), SvtxTrack::get_y(), PHG4VtxPoint::get_z(), PHG4Hit::get_z(), SvtxVertex::get_z(), SvtxTrack::get_z(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), gflavor, gprimary, gpx, gpy, gpz, gtrackID, gvt, gx, gy, gz, SvtxTrack::HCALIN, SvtxTrack::HCALOUT, hitID, SvtxTruthEval::is_primary(), gen_gtest_pred_impl::Iter(), layer, SvtxHitEval::max_truth_hit_by_energy(), SvtxClusterEval::max_truth_hit_by_energy(), SvtxTrackEval::max_truth_particle_by_nclusters(), SvtxVertexEval::max_truth_point_by_ntracks(), ng4hits, ntracks, phisize, SvtxTrack::PRES, size, SvtxTrack::size_clusters(), SvtxVertex::size_tracks(), trackID, verbosity, vx, vy, vz, ambiguity_solver_full_chain::x, y, physmon_track_finding_ttbar::z, and zsize.

Referenced by process_event().

+ Here is the caller graph for this function:

int SvtxEvaluatorHaiwang::Init ( PHCompositeNode )
virtual

Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).

Reimplemented from SubsysReco.

Definition at line 60 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 60 of file SvtxEvaluatorHaiwang.C

References _do_cluster_eval, _do_g4hit_eval, _do_gpoint_eval, _do_gtrack_eval, _do_hit_eval, _do_track_eval, _do_vertex_eval, _filename, _ievent, _ntp_cluster, _ntp_g4hit, _ntp_gpoint, _ntp_gtrack, _ntp_hit, _ntp_track, _ntp_vertex, _tfile, and Fun4AllReturnCodes::EVENT_OK.

int SvtxEvaluatorHaiwang::InitRun ( PHCompositeNode )
virtual

Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.

Reimplemented from SubsysReco.

Definition at line 131 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 131 of file SvtxEvaluatorHaiwang.C

References Fun4AllReturnCodes::EVENT_OK.

void SvtxEvaluatorHaiwang::printInputInfo ( PHCompositeNode topNode)
private

print out the input object information (debugging upstream components)

Definition at line 206 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 206 of file SvtxEvaluatorHaiwang.C

References _ievent, _strict, _svtxevalstack, SvtxTruthEval::all_truth_hits(), SvtxTrackMap::begin(), SvtxVertexMap::begin(), SvtxTrackMap::end(), SvtxVertexMap::end(), SvtxEvalStack::get_truth_eval(), SvtxVertex::identify(), PHG4Hit::identify(), SvtxTrack::identify(), gen_gtest_pred_impl::Iter(), PHWHERE, SvtxTruthEval::set_strict(), SvtxVertexMap::size(), SvtxTrackMap::size(), and verbosity.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void SvtxEvaluatorHaiwang::printOutputInfo ( PHCompositeNode topNode)
private

print out the ancestry information for detailed diagnosis

Definition at line 280 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 280 of file SvtxEvaluatorHaiwang.C

References _ievent, _svtxevalstack, SvtxClusterEval::all_clusters_from(), SvtxTrackEval::all_tracks_from(), SvtxTruthEval::all_truth_hits(), SvtxVertexMap::begin(), SvtxTrack::begin_clusters(), clusters, distance(), SvtxVertexMap::empty(), SvtxTrack::end_clusters(), SvtxEvalStack::get_cluster_eval(), PHG4Hit::get_hit_id(), SvtxTrack::get_id(), PHG4Hit::get_layer(), SvtxTrackEval::get_nclusters_contribution(), PHG4Particle::get_px(), SvtxTrack::get_px(), PHG4Particle::get_py(), SvtxTrack::get_py(), PHG4Particle::get_pz(), SvtxTrack::get_pz(), SvtxTrack::get_quality(), SvtxEvalStack::get_track_eval(), PHG4Particle::get_track_id(), PHG4Hit::get_trkid(), SvtxEvalStack::get_truth_eval(), PHG4Particle::get_vtx_id(), PHG4VtxPoint::get_x(), PHG4Hit::get_x(), SvtxVertex::get_x(), PHG4Hit::get_y(), SvtxVertex::get_y(), PHG4Hit::get_z(), SvtxVertex::get_z(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), PHG4TruthInfoContainer::GetPrimaryVertexIndex(), PHG4TruthInfoContainer::GetPrimaryVtx(), PHG4TruthInfoContainer::GetVtx(), PHG4Particle::identify(), PHG4Hit::identify(), PHG4TruthInfoContainer::isEmbeded(), gen_gtest_pred_impl::Iter(), SvtxClusterEval::max_truth_hit_by_energy(), ng4hits, particle, PHWHERE, SvtxTrackMap::size(), tracks(), verbosity, vx, vy, vz, ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SvtxEvaluatorHaiwang::process_event ( PHCompositeNode )
virtual

Called for each event. This is where you do the real work.

Reimplemented from SubsysReco.

Definition at line 135 of file SvtxEvaluatorHaiwang.C.

View newest version in sPHENIX GitHub at line 135 of file SvtxEvaluatorHaiwang.C

References _ievent, _strict, _svtxevalstack, Fun4AllReturnCodes::EVENT_OK, fillOutputNtuples(), SvtxEvalStack::next_event(), printInputInfo(), printOutputInfo(), SvtxEvalStack::set_strict(), SvtxEvalStack::set_verbosity(), and verbosity.

+ Here is the call graph for this function:

void SvtxEvaluatorHaiwang::scan_for_embedded ( bool  b)
inline

Definition at line 52 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 52 of file SvtxEvaluatorHaiwang.h

References _scan_for_embedded, and KFPMath::b.

void SvtxEvaluatorHaiwang::set_strict ( bool  b)
inline

Definition at line 42 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 42 of file SvtxEvaluatorHaiwang.h

References _strict, and KFPMath::b.

Member Data Documentation

bool SvtxEvaluatorHaiwang::_do_cluster_eval
private

Definition at line 71 of file SvtxEvaluatorHaiwang.h.

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

Referenced by do_cluster_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_g4hit_eval
private

Definition at line 69 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 69 of file SvtxEvaluatorHaiwang.h

Referenced by do_g4hit_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_gpoint_eval
private

Definition at line 68 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 68 of file SvtxEvaluatorHaiwang.h

Referenced by do_gpoint_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_gtrack_eval
private

Definition at line 72 of file SvtxEvaluatorHaiwang.h.

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

Referenced by do_gtrack_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_hit_eval
private

Definition at line 70 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 70 of file SvtxEvaluatorHaiwang.h

Referenced by do_hit_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_track_eval
private

Definition at line 73 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 73 of file SvtxEvaluatorHaiwang.h

Referenced by do_track_eval(), and Init().

bool SvtxEvaluatorHaiwang::_do_vertex_eval
private

Definition at line 67 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 67 of file SvtxEvaluatorHaiwang.h

Referenced by do_vertex_eval(), and Init().

unsigned int SvtxEvaluatorHaiwang::_errors
private

Definition at line 65 of file SvtxEvaluatorHaiwang.h.

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

Referenced by End().

std::string SvtxEvaluatorHaiwang::_filename
private

Definition at line 86 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 86 of file SvtxEvaluatorHaiwang.h

Referenced by End(), and Init().

unsigned int SvtxEvaluatorHaiwang::_ievent
private

Definition at line 56 of file SvtxEvaluatorHaiwang.h.

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

Referenced by End(), fillOutputNtuples(), Init(), printInputInfo(), printOutputInfo(), and process_event().

TNtuple* SvtxEvaluatorHaiwang::_ntp_cluster
private

Definition at line 81 of file SvtxEvaluatorHaiwang.h.

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

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_g4hit
private

Definition at line 79 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 79 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_gpoint
private

Definition at line 78 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 78 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_gtrack
private

Definition at line 82 of file SvtxEvaluatorHaiwang.h.

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

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_hit
private

Definition at line 80 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 80 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_track
private

Definition at line 83 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 83 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), and Init().

TNtuple* SvtxEvaluatorHaiwang::_ntp_vertex
private

Definition at line 77 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 77 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), and Init().

bool SvtxEvaluatorHaiwang::_scan_for_embedded
private

Definition at line 75 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 75 of file SvtxEvaluatorHaiwang.h

Referenced by fillOutputNtuples(), and scan_for_embedded().

bool SvtxEvaluatorHaiwang::_strict
private

Definition at line 64 of file SvtxEvaluatorHaiwang.h.

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

Referenced by printInputInfo(), process_event(), and set_strict().

SvtxEvalStack* SvtxEvaluatorHaiwang::_svtxevalstack
private

Definition at line 59 of file SvtxEvaluatorHaiwang.h.

View newest version in sPHENIX GitHub at line 59 of file SvtxEvaluatorHaiwang.h

Referenced by End(), fillOutputNtuples(), printInputInfo(), printOutputInfo(), and process_event().

TFile* SvtxEvaluatorHaiwang::_tfile
private

Definition at line 87 of file SvtxEvaluatorHaiwang.h.

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

Referenced by End(), and Init().


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