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

#include <analysis/blob/master/ParticleID/RICHAnalysis/RICHEvaluator.h>

+ Inheritance diagram for RICHEvaluator:
+ Collaboration diagram for RICHEvaluator:

Public Member Functions

 RICHEvaluator (std::string richname, std::string tracksname, std::string filename)
 
int Init (PHCompositeNode *)
 
int InitRun (PHCompositeNode *)
 
int process_event (PHCompositeNode *)
 
int End (PHCompositeNode *)
 Called at the end of all processing.
 
void set_refractive_index (float newidx)
 
- 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 reset_tree_vars ()
 
int init_tree ()
 
int init_tree_small ()
 
double calculate_true_emission_angle (PHG4TruthInfoContainer *truthinfo, SvtxTrack *track, double index)
 
double calculate_reco_mass (double mom, double theta_reco, double index)
 
double calculate_true_mass (PHG4TruthInfoContainer *truthinfo, SvtxTrack *track)
 

Private Attributes

bool _verbose
 
int _ievent
 
std::string _detector
 
std::string _trackmap_name
 
std::string _richhits_name
 
float _refractive_index
 
std::string _foutname
 
TFile * _fout_root
 
TTree * _tree_rich
 
TTree * _tree_rich_small
 
double _hit_x0
 
double _hit_y0
 
double _hit_z0
 
double _emi_x
 
double _emi_y
 
double _emi_z
 
double _track_px
 
double _track_py
 
double _track_pz
 
double _mtrack_px
 
double _mtrack_py
 
double _mtrack_pz
 
double _mtrack_ptot
 
double _track_e
 
double _mtrack_e
 
double _edep
 
int _bankid
 
int _volumeid
 
int _hitid
 
int _pid
 
int _mpid
 
int _trackid
 
int _mtrackid
 
int _otrackid
 
double _theta_true
 
double _theta_reco
 
double _theta_mean
 
double _theta_rms
 
TrackProjectorPid_trackproj
 
SetupDualRICHAnalyzer_acquire
 
TDatabasePDG * _pdg
 
float _radius
 

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

Definition at line 22 of file RICHEvaluator.h.

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

Constructor & Destructor Documentation

RICHEvaluator::RICHEvaluator ( std::string  richname,
std::string  tracksname,
std::string  filename 
)

Definition at line 37 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 37 of file RICHEvaluator.C

References _detector, and _richhits_name.

Member Function Documentation

double RICHEvaluator::calculate_reco_mass ( double  mom,
double  theta_reco,
double  index 
)
private

calculate mass for single track and photon

double RICHEvaluator::calculate_true_emission_angle ( PHG4TruthInfoContainer truthinfo,
SvtxTrack track,
double  index 
)
private

calculate true Cerenkov light emission angle from truth particle information

Definition at line 280 of file RICHEvaluator.C.

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

References _pdg, PHG4Particle::get_pid(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), SvtxTrack::get_truth_track_id(), PHG4TruthInfoContainer::GetParticle(), mass, particle, and train_ambiguity_solver::pid.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double RICHEvaluator::calculate_true_mass ( PHG4TruthInfoContainer truthinfo,
SvtxTrack track 
)
private

calculate true particle mass from truth particle information

int RICHEvaluator::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 306 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 306 of file RICHEvaluator.C

References _fout_root, _tree_rich, and _tree_rich_small.

int RICHEvaluator::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 55 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 55 of file RICHEvaluator.C

References _fout_root, _foutname, _ievent, _pdg, _refractive_index, _verbose, init_tree(), init_tree_small(), PHWHERE, and reset_tree_vars().

+ Here is the call graph for this function:

int RICHEvaluator::init_tree ( )
private

initialize output tree(s)

Definition at line 360 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 360 of file RICHEvaluator.C

References _bankid, _edep, _emi_x, _emi_y, _emi_z, _hit_x0, _hit_y0, _hit_z0, _hitid, _ievent, _mpid, _mtrack_e, _mtrack_ptot, _mtrack_px, _mtrack_py, _mtrack_pz, _mtrackid, _otrackid, _pid, _theta_reco, _theta_true, _track_e, _track_px, _track_py, _track_pz, _trackid, _tree_rich, and _volumeid.

Referenced by Init().

+ Here is the caller graph for this function:

int RICHEvaluator::init_tree_small ( )
private

Definition at line 398 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 398 of file RICHEvaluator.C

References _ievent, _mtrack_ptot, _otrackid, _theta_mean, _theta_rms, _theta_true, and _tree_rich_small.

Referenced by Init().

+ Here is the caller graph for this function:

int RICHEvaluator::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 80 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 80 of file RICHEvaluator.C

References _acquire, and _trackproj.

int RICHEvaluator::process_event ( PHCompositeNode )
virtual

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

Reimplemented from SubsysReco.

Definition at line 93 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 93 of file RICHEvaluator.C

References _acquire, _bankid, _edep, _emi_x, _emi_y, _emi_z, _hit_x0, _hit_y0, _hit_z0, _hitid, _ievent, _mpid, _mtrack_e, _mtrack_ptot, _mtrack_px, _mtrack_py, _mtrack_pz, _mtrackid, _otrackid, _pid, _radius, _refractive_index, _richhits_name, _theta_mean, _theta_reco, _theta_rms, _theta_true, _track_e, _track_px, _track_py, _track_pz, _trackid, _trackmap_name, _trackproj, _tree_rich, _tree_rich_small, _volumeid, Fun4AllReturnCodes::ABORTEVENT, SetupDualRICHAnalyzer::calculate_emission_angle(), calculate_true_emission_angle(), PHG4Hit::get_detid(), PHG4Particle::get_e(), PHG4Hit::get_edep(), SetupDualRICHAnalyzer::get_emission_momentum(), PHG4Hit::get_hit_id(), SvtxTrack::get_id(), PHG4Particle::get_parent_id(), PHG4Particle::get_pid(), TrackProjectorPid::get_projected_momentum(), TrackProjectorPid::get_projected_position(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), PHG4Particle::get_track_id(), PHG4Hit::get_trkid(), SetupDualRICHAnalyzer::get_true_momentum(), PHG4Particle::get_vtx_id(), PHG4VtxPoint::get_x(), PHG4Hit::get_x(), PHG4VtxPoint::get_y(), PHG4Hit::get_y(), PHG4VtxPoint::get_z(), PHG4Hit::get_z(), PHG4TruthInfoContainer::GetParticle(), PHG4TruthInfoContainer::GetVtx(), TrackProjectorPid::is_in_RICH(), particle, PHWHERE, and TrackProjectorPid::SPHERE.

+ Here is the call graph for this function:

void RICHEvaluator::reset_tree_vars ( )
private

reset all output tree variables

Definition at line 318 of file RICHEvaluator.C.

View newest version in sPHENIX GitHub at line 318 of file RICHEvaluator.C

References _bankid, _edep, _emi_x, _emi_y, _emi_z, _hit_x0, _hit_y0, _hit_z0, _hitid, _mpid, _mtrack_e, _mtrack_ptot, _mtrack_px, _mtrack_py, _mtrack_pz, _mtrackid, _otrackid, _pid, _theta_mean, _theta_reco, _theta_rms, _theta_true, _track_e, _track_px, _track_py, _track_pz, _trackid, and _volumeid.

Referenced by Init().

+ Here is the caller graph for this function:

void RICHEvaluator::set_refractive_index ( float  newidx)
inline

Definition at line 39 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 39 of file RICHEvaluator.h

References _refractive_index.

Referenced by Fun4All_RICHReco().

+ Here is the caller graph for this function:

Member Data Documentation

SetupDualRICHAnalyzer* RICHEvaluator::_acquire
private

Definition at line 126 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 126 of file RICHEvaluator.h

Referenced by InitRun(), and process_event().

int RICHEvaluator::_bankid
private

Definition at line 108 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 108 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

std::string RICHEvaluator::_detector
private

Definition at line 68 of file RICHEvaluator.h.

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

Referenced by RICHEvaluator().

double RICHEvaluator::_edep
private

Definition at line 106 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 106 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_emi_x
private

Definition at line 91 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 91 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_emi_y
private

Definition at line 92 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 92 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_emi_z
private

Definition at line 93 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 93 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

TFile* RICHEvaluator::_fout_root
private

Definition at line 81 of file RICHEvaluator.h.

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

Referenced by End(), and Init().

std::string RICHEvaluator::_foutname
private

Definition at line 80 of file RICHEvaluator.h.

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

Referenced by Init().

double RICHEvaluator::_hit_x0
private

Definition at line 87 of file RICHEvaluator.h.

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

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_hit_y0
private

Definition at line 88 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 88 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_hit_z0
private

Definition at line 89 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 89 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

int RICHEvaluator::_hitid
private

Definition at line 110 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 110 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

int RICHEvaluator::_ievent
private

Definition at line 65 of file RICHEvaluator.h.

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

Referenced by Init(), init_tree(), init_tree_small(), and process_event().

int RICHEvaluator::_mpid
private

Definition at line 112 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 112 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_mtrack_e
private

Definition at line 105 of file RICHEvaluator.h.

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

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_mtrack_ptot
private

Definition at line 102 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 102 of file RICHEvaluator.h

Referenced by init_tree(), init_tree_small(), process_event(), and reset_tree_vars().

double RICHEvaluator::_mtrack_px
private

Definition at line 99 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 99 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_mtrack_py
private

Definition at line 100 of file RICHEvaluator.h.

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

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_mtrack_pz
private

Definition at line 101 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 101 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

int RICHEvaluator::_mtrackid
private

Definition at line 114 of file RICHEvaluator.h.

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

Referenced by init_tree(), process_event(), and reset_tree_vars().

int RICHEvaluator::_otrackid
private

Definition at line 115 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 115 of file RICHEvaluator.h

Referenced by init_tree(), init_tree_small(), process_event(), and reset_tree_vars().

TDatabasePDG* RICHEvaluator::_pdg
private

Definition at line 129 of file RICHEvaluator.h.

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

Referenced by calculate_true_emission_angle(), and Init().

int RICHEvaluator::_pid
private

Definition at line 111 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 111 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

float RICHEvaluator::_radius
private

Definition at line 132 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 132 of file RICHEvaluator.h

Referenced by process_event().

float RICHEvaluator::_refractive_index
private

Definition at line 77 of file RICHEvaluator.h.

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

Referenced by Init(), process_event(), and set_refractive_index().

std::string RICHEvaluator::_richhits_name
private

Definition at line 74 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 74 of file RICHEvaluator.h

Referenced by process_event(), and RICHEvaluator().

double RICHEvaluator::_theta_mean
private

Definition at line 119 of file RICHEvaluator.h.

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

Referenced by init_tree_small(), process_event(), and reset_tree_vars().

double RICHEvaluator::_theta_reco
private

Definition at line 118 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 118 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_theta_rms
private

Definition at line 120 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 120 of file RICHEvaluator.h

Referenced by init_tree_small(), process_event(), and reset_tree_vars().

double RICHEvaluator::_theta_true
private

Definition at line 117 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 117 of file RICHEvaluator.h

Referenced by init_tree(), init_tree_small(), process_event(), and reset_tree_vars().

double RICHEvaluator::_track_e
private

Definition at line 104 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 104 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_track_px
private

Definition at line 95 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 95 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_track_py
private

Definition at line 96 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 96 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

double RICHEvaluator::_track_pz
private

Definition at line 97 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 97 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

int RICHEvaluator::_trackid
private

Definition at line 113 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 113 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().

std::string RICHEvaluator::_trackmap_name
private

Definition at line 71 of file RICHEvaluator.h.

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

Referenced by process_event().

TrackProjectorPid* RICHEvaluator::_trackproj
private

Definition at line 123 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 123 of file RICHEvaluator.h

Referenced by InitRun(), and process_event().

TTree* RICHEvaluator::_tree_rich
private

Definition at line 84 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 84 of file RICHEvaluator.h

Referenced by End(), init_tree(), and process_event().

TTree* RICHEvaluator::_tree_rich_small
private

Definition at line 85 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 85 of file RICHEvaluator.h

Referenced by End(), init_tree_small(), and process_event().

bool RICHEvaluator::_verbose
private

Definition at line 63 of file RICHEvaluator.h.

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

Referenced by Init().

int RICHEvaluator::_volumeid
private

Definition at line 109 of file RICHEvaluator.h.

View newest version in sPHENIX GitHub at line 109 of file RICHEvaluator.h

Referenced by init_tree(), process_event(), and reset_tree_vars().


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