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

Compares reconstructed tracks to truth particles. More...

#include <analysis/blob/master/psTOF/psTOFTimezeroEval/psTOFTimezeroEval.h>

+ Inheritance diagram for psTOFTimezeroEval:
+ Collaboration diagram for psTOFTimezeroEval:

Public Member Functions

 psTOFTimezeroEval (const std::string &name="SVTXEVALUATOR", const std::string &filename="g4eval.root")
 
virtual ~psTOFTimezeroEval ()
 
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 psTOFTimezeroEval.h.

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

Constructor & Destructor Documentation

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

Definition at line 35 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 35 of file psTOFTimezeroEval.C

References verbosity.

virtual psTOFTimezeroEval::~psTOFTimezeroEval ( )
inlinevirtual

Definition at line 35 of file psTOFTimezeroEval.h.

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

Member Function Documentation

void psTOFTimezeroEval::do_cluster_eval ( bool  b)
inline

Definition at line 48 of file psTOFTimezeroEval.h.

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

References _do_cluster_eval, and KFPMath::b.

void psTOFTimezeroEval::do_g4hit_eval ( bool  b)
inline

Definition at line 46 of file psTOFTimezeroEval.h.

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

References _do_g4hit_eval, and KFPMath::b.

void psTOFTimezeroEval::do_gpoint_eval ( bool  b)
inline

Definition at line 45 of file psTOFTimezeroEval.h.

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

References _do_gpoint_eval, and KFPMath::b.

void psTOFTimezeroEval::do_gtrack_eval ( bool  b)
inline

Definition at line 49 of file psTOFTimezeroEval.h.

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

References _do_gtrack_eval, and KFPMath::b.

void psTOFTimezeroEval::do_hit_eval ( bool  b)
inline

Definition at line 47 of file psTOFTimezeroEval.h.

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

References _do_hit_eval, and KFPMath::b.

void psTOFTimezeroEval::do_track_eval ( bool  b)
inline

Definition at line 50 of file psTOFTimezeroEval.h.

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

References _do_track_eval, and KFPMath::b.

void psTOFTimezeroEval::do_vertex_eval ( bool  b)
inline

Definition at line 44 of file psTOFTimezeroEval.h.

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

References _do_vertex_eval, and KFPMath::b.

int psTOFTimezeroEval::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 172 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 172 of file psTOFTimezeroEval.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 psTOFTimezeroEval::fillOutputNtuples ( PHCompositeNode topNode)
private

dump the evaluator information into ntuple for external analysis

Definition at line 551 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 551 of file psTOFTimezeroEval.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 psTOFTimezeroEval::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 61 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 61 of file psTOFTimezeroEval.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 psTOFTimezeroEval::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 132 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 132 of file psTOFTimezeroEval.C

References Fun4AllReturnCodes::EVENT_OK.

void psTOFTimezeroEval::printInputInfo ( PHCompositeNode topNode)
private

print out the input object information (debugging upstream components)

Definition at line 207 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 207 of file psTOFTimezeroEval.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 psTOFTimezeroEval::printOutputInfo ( PHCompositeNode topNode)
private

print out the ancestry information for detailed diagnosis

Definition at line 281 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 281 of file psTOFTimezeroEval.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 psTOFTimezeroEval::process_event ( PHCompositeNode )
virtual

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

Reimplemented from SubsysReco.

Definition at line 136 of file psTOFTimezeroEval.C.

View newest version in sPHENIX GitHub at line 136 of file psTOFTimezeroEval.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 psTOFTimezeroEval::scan_for_embedded ( bool  b)
inline

Definition at line 52 of file psTOFTimezeroEval.h.

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

References _scan_for_embedded, and KFPMath::b.

void psTOFTimezeroEval::set_strict ( bool  b)
inline

Definition at line 42 of file psTOFTimezeroEval.h.

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

References _strict, and KFPMath::b.

Member Data Documentation

bool psTOFTimezeroEval::_do_cluster_eval
private

Definition at line 71 of file psTOFTimezeroEval.h.

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

Referenced by do_cluster_eval(), and Init().

bool psTOFTimezeroEval::_do_g4hit_eval
private

Definition at line 69 of file psTOFTimezeroEval.h.

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

Referenced by do_g4hit_eval(), and Init().

bool psTOFTimezeroEval::_do_gpoint_eval
private

Definition at line 68 of file psTOFTimezeroEval.h.

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

Referenced by do_gpoint_eval(), and Init().

bool psTOFTimezeroEval::_do_gtrack_eval
private

Definition at line 72 of file psTOFTimezeroEval.h.

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

Referenced by do_gtrack_eval(), and Init().

bool psTOFTimezeroEval::_do_hit_eval
private

Definition at line 70 of file psTOFTimezeroEval.h.

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

Referenced by do_hit_eval(), and Init().

bool psTOFTimezeroEval::_do_track_eval
private

Definition at line 73 of file psTOFTimezeroEval.h.

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

Referenced by do_track_eval(), and Init().

bool psTOFTimezeroEval::_do_vertex_eval
private

Definition at line 67 of file psTOFTimezeroEval.h.

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

Referenced by do_vertex_eval(), and Init().

unsigned int psTOFTimezeroEval::_errors
private

Definition at line 65 of file psTOFTimezeroEval.h.

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

Referenced by End().

std::string psTOFTimezeroEval::_filename
private

Definition at line 86 of file psTOFTimezeroEval.h.

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

Referenced by End(), and Init().

unsigned int psTOFTimezeroEval::_ievent
private

Definition at line 56 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_cluster
private

Definition at line 81 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_g4hit
private

Definition at line 79 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_gpoint
private

Definition at line 78 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_gtrack
private

Definition at line 82 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_hit
private

Definition at line 80 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_track
private

Definition at line 83 of file psTOFTimezeroEval.h.

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

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

TNtuple* psTOFTimezeroEval::_ntp_vertex
private

Definition at line 77 of file psTOFTimezeroEval.h.

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

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

bool psTOFTimezeroEval::_scan_for_embedded
private

Definition at line 75 of file psTOFTimezeroEval.h.

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

Referenced by fillOutputNtuples(), and scan_for_embedded().

bool psTOFTimezeroEval::_strict
private

Definition at line 64 of file psTOFTimezeroEval.h.

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

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

SvtxEvalStack* psTOFTimezeroEval::_svtxevalstack
private

Definition at line 59 of file psTOFTimezeroEval.h.

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

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

TFile* psTOFTimezeroEval::_tfile
private

Definition at line 87 of file psTOFTimezeroEval.h.

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

Referenced by End(), and Init().


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