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

#include <coresoftware/blob/master/simulation/g4simulation/g4mvtx/PHG4MvtxHitReco.h>

+ Inheritance diagram for PHG4MvtxHitReco:
+ Collaboration diagram for PHG4MvtxHitReco:

Classes

class  Deleter
 

Public Member Functions

 PHG4MvtxHitReco (const std::string &name="PHG4MvtxHitReco", const std::string &detector="MVTX")
 
 ~PHG4MvtxHitReco () override
 
int InitRun (PHCompositeNode *topNode) override
 module initialization
 
int process_event (PHCompositeNode *topNode) override
 event processing
 
void Detector (const std::string &d)
 
void set_timing_window (const int detid, const double tmin, const double tmax)
 TODO keep it for backward compatibily. remove after PR merged.
 
void SetDefaultParameters () override
 parameters
 
void set_pixel_thresholdrat (double val)
 
void set_ClusHitsVerbose (bool set=true)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing.
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Init (PHCompositeNode *)
 
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.
 
- Public Member Functions inherited from PHParameterInterface
 PHParameterInterface (const std::string &name)
 
 PHParameterInterface (const PHParameterInterface &)=delete
 
PHParameterInterfaceoperator= (PHParameterInterface const &)=delete
 
virtual ~PHParameterInterface ()
 
void set_paramname (const std::string &name)
 
void set_double_param (const std::string &name, const double dval)
 
double get_double_param (const std::string &name) const
 
void set_int_param (const std::string &name, const int ival)
 
int get_int_param (const std::string &name) const
 
void set_string_param (const std::string &name, const std::string &sval)
 
std::string get_string_param (const std::string &name) const
 
void UpdateParametersWithMacro ()
 
void SaveToNodeTree (PHCompositeNode *runNode, const std::string &nodename)
 
void PutOnParNode (PHCompositeNode *parNode, const std::string &nodename)
 
void Print () const
 

Public Attributes

ClusHitsVerbosev1mClusHitsVerbose { nullptr }
 

Private Member Functions

std::pair< double, doublegenerate_alpide_pulse (const double energy_deposited)
 
double generate_strobe_zero_tm_start ()
 
int get_strobe_frame (double alpide_time, double strobe_zero_tm_start)
 
TrkrDefs::hitsetkey zero_strobe_bits (TrkrDefs::hitsetkey hitsetkey)
 
void addtruthhitset (TrkrDefs::hitsetkey, TrkrDefs::hitkey, float neffelectrons)
 
void truthcheck_g4hit (PHG4Hit *, PHCompositeNode *topNode)
 
void cluster_truthhits (PHCompositeNode *topNode)
 
void end_event_truthcluster (PHCompositeNode *topNode)
 

Private Attributes

std::string m_detector
 
double m_tmin
 
double m_tmax
 
double m_strobe_width
 
double m_strobe_separation
 
double m_extended_readout_time = 0.0
 
bool m_in_sphenix_srdo = false
 
std::unique_ptr< gsl_rng, Deleterm_rng
 
TrkrTruthTrackContainerm_truthtracks { nullptr }
 
TrkrClusterContainerm_truthclusters { nullptr }
 
PHG4TruthInfoContainerm_truthinfo { nullptr }
 
int m_trkid { -1 }
 
bool m_is_emb { false }
 
TrkrTruthTrackm_current_track { nullptr }
 
const int m_cluster_version { 4 }
 
TrkrHitSetContainerm_truth_hits
 
std::map< TrkrDefs::hitsetkey,
unsigned int > 
m_hitsetkey_cnt {}
 
PHG4Hitprior_g4hit { nullptr }
 
double m_pixel_thresholdrat { 0.01 }
 
float max_g4hitstep { 3.5 }
 
bool record_ClusHitsVerbose { false }
 

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")
 
- Protected Member Functions inherited from PHParameterInterface
void set_default_double_param (const std::string &name, const double dval)
 
void set_default_int_param (const std::string &name, const int ival)
 
void set_default_string_param (const std::string &name, const std::string &sval)
 
void InitializeParameters ()
 

Detailed Description

Definition at line 24 of file PHG4MvtxHitReco.h.

View newest version in sPHENIX GitHub at line 24 of file PHG4MvtxHitReco.h

Constructor & Destructor Documentation

PHG4MvtxHitReco::PHG4MvtxHitReco ( const std::string &  name = "PHG4MvtxHitReco",
const std::string &  detector = "MVTX" 
)
explicit

Definition at line 58 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 58 of file PHG4MvtxHitReco.cc

PHG4MvtxHitReco::~PHG4MvtxHitReco ( )
override

Definition at line 784 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 784 of file PHG4MvtxHitReco.cc

References m_truth_hits.

Member Function Documentation

void PHG4MvtxHitReco::addtruthhitset ( TrkrDefs::hitsetkey  hitsetkey,
TrkrDefs::hitkey  hitkey,
float  neffelectrons 
)
private

Definition at line 839 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 839 of file PHG4MvtxHitReco.cc

References TrkrHit::addEnergy(), TrkrHitSetContainer::findOrAddHitSet(), m_is_emb, and m_truth_hits.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MvtxHitReco::cluster_truthhits ( PHCompositeNode topNode)
private

Definition at line 859 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 859 of file PHG4MvtxHitReco.cc

References TrkrTruthTrack::addCluster(), TrkrClusterContainer::addClusterSpecifyKey(), TrkrHitSet::addHitSpecificKey(), ClusHitsVerbosev1::addPhiCutHit(), ClusHitsVerbosev1::addPhiHit(), ClusHitsVerbosev1::addZCutHit(), ClusHitsVerbosev1::addZHit(), col, Acts::UnitConstants::e, TrkrHitSetContainer::findHitSet(), TrkrHitSetContainer::findOrAddHitSet(), TrkrDefs::genClusKey(), MvtxDefs::genHitSetKey(), MvtxDefs::getChipId(), MvtxDefs::getCol(), TrkrHitSet::getHit(), TrkrHitSet::getHits(), TrkrHitSet::getHitSetKey(), TrkrHitSetContainer::getHitSets(), TrkrDefs::getLayer(), PHG4CylinderGeomContainer::GetLayerGeom(), MvtxDefs::getRow(), MvtxDefs::getStaveId(), MvtxDefs::getStrobeId(), TrkrHitSet::identify(), it, layer, G4PLUGDOOR::length, m_cluster_version, m_current_track, m_hitsetkey_cnt, m_pixel_thresholdrat, m_truth_hits, m_truthclusters, mClusHitsVerbose, TrkrDefs::mvtxId, MATSCAN::phibins, phisize, PHWHERE, prior_g4hit, ClusHitsVerbosev1::push_hits(), TrkrHitSetContainer::removeHitSet(), TrkrHitSetContainer::Reset(), TrkrHit::setAdc(), TrkrHitSet::size(), Fun4AllBase::Verbosity(), and zsize.

Referenced by end_event_truthcluster(), process_event(), and truthcheck_g4hit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MvtxHitReco::Detector ( const std::string &  d)
inline

Definition at line 39 of file PHG4MvtxHitReco.h.

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

References m_detector.

void PHG4MvtxHitReco::end_event_truthcluster ( PHCompositeNode topNode)
private

Definition at line 829 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 829 of file PHG4MvtxHitReco.cc

References cluster_truthhits(), m_current_track, m_hitsetkey_cnt, m_is_emb, and m_trkid.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::pair< double, double > PHG4MvtxHitReco::generate_alpide_pulse ( const double  energy_deposited)
private

Definition at line 720 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 720 of file PHG4MvtxHitReco.cc

References Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4MvtxHitReco::generate_strobe_zero_tm_start ( )
private

Definition at line 738 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 738 of file PHG4MvtxHitReco.cc

References m_rng, m_strobe_separation, and m_strobe_width.

Referenced by process_event().

+ Here is the caller graph for this function:

int PHG4MvtxHitReco::get_strobe_frame ( double  alpide_time,
double  strobe_zero_tm_start 
)
private

Definition at line 743 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 743 of file PHG4MvtxHitReco.cc

References m_strobe_separation, and m_strobe_width.

Referenced by process_event().

+ Here is the caller graph for this function:

int PHG4MvtxHitReco::InitRun ( PHCompositeNode topNode)
overridevirtual

module initialization

get DST node

get detector run node

Reimplemented from SubsysReco.

Definition at line 80 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 80 of file PHG4MvtxHitReco.cc

References assert, Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHParameterInterface::get_double_param(), PHParameterInterface::get_int_param(), m_detector, m_extended_readout_time, m_in_sphenix_srdo, m_strobe_separation, m_strobe_width, m_tmax, m_tmin, m_truthclusters, m_truthinfo, m_truthtracks, mClusHitsVerbose, PHWHERE, record_ClusHitsVerbose, PHParameterInterface::SaveToNodeTree(), and PHParameterInterface::UpdateParametersWithMacro().

+ Here is the call graph for this function:

void PHG4MvtxHitReco::set_ClusHitsVerbose ( bool  set = true)
inline

Definition at line 103 of file PHG4MvtxHitReco.h.

View newest version in sPHENIX GitHub at line 103 of file PHG4MvtxHitReco.h

References record_ClusHitsVerbose.

void PHG4MvtxHitReco::set_pixel_thresholdrat ( double  val)
inline

Definition at line 101 of file PHG4MvtxHitReco.h.

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

References m_pixel_thresholdrat.

void PHG4MvtxHitReco::set_timing_window ( const int  detid,
const double  tmin,
const double  tmax 
)

TODO keep it for backward compatibily. remove after PR merged.

Definition at line 750 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 750 of file PHG4MvtxHitReco.cc

void PHG4MvtxHitReco::SetDefaultParameters ( )
overridevirtual

parameters

Implements PHParameterInterface.

Definition at line 763 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 763 of file PHG4MvtxHitReco.cc

References PHParameterInterface::set_default_double_param(), and PHParameterInterface::set_default_int_param().

+ Here is the call graph for this function:

void PHG4MvtxHitReco::truthcheck_g4hit ( PHG4Hit g4hit,
PHCompositeNode topNode 
)
private

Definition at line 788 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 788 of file PHG4MvtxHitReco.cc

References cluster_truthhits(), PHG4Hit::get_trkid(), PHG4Hit::get_x(), PHG4Hit::get_y(), TrkrTruthTrackContainer::getTruthTrack(), PHG4TruthInfoContainer::isEmbeded(), m_current_track, m_is_emb, m_trkid, m_truthinfo, m_truthtracks, max_g4hitstep, PHWHERE, prior_g4hit, and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TrkrDefs::hitsetkey PHG4MvtxHitReco::zero_strobe_bits ( TrkrDefs::hitsetkey  hitsetkey)
private

Definition at line 774 of file PHG4MvtxHitReco.cc.

View newest version in sPHENIX GitHub at line 774 of file PHG4MvtxHitReco.cc

References MvtxDefs::genHitSetKey(), MvtxDefs::getChipId(), TrkrDefs::getLayer(), MvtxDefs::getStaveId(), and layer.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

const int PHG4MvtxHitReco::m_cluster_version { 4 }
private

Definition at line 85 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits().

TrkrTruthTrack* PHG4MvtxHitReco::m_current_track { nullptr }
private

Definition at line 84 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits(), end_event_truthcluster(), and truthcheck_g4hit().

std::string PHG4MvtxHitReco::m_detector
private

Definition at line 57 of file PHG4MvtxHitReco.h.

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

Referenced by Detector(), InitRun(), and process_event().

double PHG4MvtxHitReco::m_extended_readout_time = 0.0
private

Definition at line 64 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun(), and process_event().

std::map<TrkrDefs::hitsetkey,unsigned int> PHG4MvtxHitReco::m_hitsetkey_cnt {}
private

Definition at line 87 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits(), and end_event_truthcluster().

bool PHG4MvtxHitReco::m_in_sphenix_srdo = false
private

Definition at line 66 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun().

bool PHG4MvtxHitReco::m_is_emb { false }
private

Definition at line 83 of file PHG4MvtxHitReco.h.

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

Referenced by addtruthhitset(), end_event_truthcluster(), process_event(), and truthcheck_g4hit().

double PHG4MvtxHitReco::m_pixel_thresholdrat { 0.01 }
private

Definition at line 96 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits(), and set_pixel_thresholdrat().

std::unique_ptr<gsl_rng, Deleter> PHG4MvtxHitReco::m_rng
private

Definition at line 75 of file PHG4MvtxHitReco.h.

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

Referenced by generate_strobe_zero_tm_start().

double PHG4MvtxHitReco::m_strobe_separation
private

Definition at line 62 of file PHG4MvtxHitReco.h.

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

Referenced by generate_strobe_zero_tm_start(), get_strobe_frame(), InitRun(), and process_event().

double PHG4MvtxHitReco::m_strobe_width
private

Definition at line 61 of file PHG4MvtxHitReco.h.

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

Referenced by generate_strobe_zero_tm_start(), get_strobe_frame(), InitRun(), and process_event().

double PHG4MvtxHitReco::m_tmax
private

Definition at line 60 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun(), and process_event().

double PHG4MvtxHitReco::m_tmin
private

Definition at line 59 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun(), and process_event().

int PHG4MvtxHitReco::m_trkid { -1 }
private

Definition at line 82 of file PHG4MvtxHitReco.h.

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

Referenced by end_event_truthcluster(), and truthcheck_g4hit().

TrkrHitSetContainer* PHG4MvtxHitReco::m_truth_hits
private

Definition at line 86 of file PHG4MvtxHitReco.h.

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

Referenced by addtruthhitset(), cluster_truthhits(), and ~PHG4MvtxHitReco().

TrkrClusterContainer* PHG4MvtxHitReco::m_truthclusters { nullptr }
private

Definition at line 80 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits(), and InitRun().

PHG4TruthInfoContainer* PHG4MvtxHitReco::m_truthinfo { nullptr }
private

Definition at line 81 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun(), and truthcheck_g4hit().

TrkrTruthTrackContainer* PHG4MvtxHitReco::m_truthtracks { nullptr }
private

Definition at line 79 of file PHG4MvtxHitReco.h.

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

Referenced by InitRun(), process_event(), and truthcheck_g4hit().

float PHG4MvtxHitReco::max_g4hitstep { 3.5 }
private

Definition at line 97 of file PHG4MvtxHitReco.h.

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

Referenced by truthcheck_g4hit().

ClusHitsVerbosev1* PHG4MvtxHitReco::mClusHitsVerbose { nullptr }

Definition at line 104 of file PHG4MvtxHitReco.h.

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

Referenced by cluster_truthhits(), and InitRun().

PHG4Hit* PHG4MvtxHitReco::prior_g4hit { nullptr }
private

Definition at line 90 of file PHG4MvtxHitReco.h.

View newest version in sPHENIX GitHub at line 90 of file PHG4MvtxHitReco.h

Referenced by cluster_truthhits(), process_event(), and truthcheck_g4hit().

bool PHG4MvtxHitReco::record_ClusHitsVerbose { false }
private

Definition at line 98 of file PHG4MvtxHitReco.h.

View newest version in sPHENIX GitHub at line 98 of file PHG4MvtxHitReco.h

Referenced by InitRun(), and set_ClusHitsVerbose().


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