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

#include <fun4all_coresoftware/blob/master/offline/packages/intt/InttClusterizer.h>

+ Inheritance diagram for InttClusterizer:
+ Collaboration diagram for InttClusterizer:

Public Member Functions

 InttClusterizer (const std::string &name="InttClusterizer", unsigned int min_layer=0, unsigned int max_layer=UINT_MAX)
 
 ~InttClusterizer () override
 
int Init (PHCompositeNode *) override
 module initialization
 
int InitRun (PHCompositeNode *topNode) override
 run initialization
 
int process_event (PHCompositeNode *topNode) override
 event processing
 
int End (PHCompositeNode *) override
 end of process
 
void set_threshold (const float fraction_of_mip)
 set an energy requirement relative to the thickness MIP expectation
 
float get_threshold_by_layer (const int layer) const
 
void set_z_clustering (const int layer, const bool make_z_clustering)
 option to turn off z-dimension clustering
 
bool get_z_clustering (const int layer) const
 
void set_energy_weighting (const int layer, const bool make_e_weights)
 option to turn on/off energy weighted clustering
 
bool get_energy_weighting (const int layer) const
 
- 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

bool ladder_are_adjacent (const std::pair< TrkrDefs::hitkey, TrkrHit * > &lhs, const std::pair< TrkrDefs::hitkey, TrkrHit * > &rhs, const int layer)
 
void CalculateLadderThresholds (PHCompositeNode *topNode)
 
void ClusterLadderCells (PHCompositeNode *topNode)
 
void PrintClusters (PHCompositeNode *topNode)
 

Private Attributes

TrkrHitSetContainerm_hits
 
TrkrClusterContainerm_clusterlist
 
TrkrClusterHitAssocm_clusterhitassoc
 
float _fraction_of_mip
 
std::map< int, float > _thresholds_by_layer
 
std::map< int, bool > _make_z_clustering
 
std::map< int, bool > _make_e_weights
 

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 = INT_MAX - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 20 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 20 of file InttClusterizer.h

Constructor & Destructor Documentation

InttClusterizer::InttClusterizer ( const std::string &  name = "InttClusterizer",
unsigned int  min_layer = 0,
unsigned int  max_layer = UINT_MAX 
)

Definition at line 75 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 75 of file InttClusterizer.cc

InttClusterizer::~InttClusterizer ( )
inlineoverride

Definition at line 25 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 25 of file InttClusterizer.h

Member Function Documentation

void InttClusterizer::CalculateLadderThresholds ( PHCompositeNode topNode)
private

Definition at line 226 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 226 of file InttClusterizer.cc

References _fraction_of_mip, _make_e_weights, _make_z_clustering, _thresholds_by_layer, PHG4CylinderGeomContainer::get_begin_end(), get_thickness(), G4TTL::layer, and thickness.

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void InttClusterizer::ClusterLadderCells ( PHCompositeNode topNode)
private

silicon has a 1-1 map between hitsetkey and surfaces. So set to 0

Definition at line 264 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 264 of file InttClusterizer.cc

References _make_e_weights, TrkrClusterHitAssoc::addAssoc(), TrkrClusterContainer::addCluster(), CylinderGeomIntt::find_strip_center_localcoords(), G, InttDefs::genClusKey(), CylinderGeomIntt::get_strip_y_spacing(), CylinderGeomIntt::get_strip_z_spacing(), InttDefs::getCol(), TrkrHitSet::getHits(), TrkrHitSet::getHitSetKey(), TrkrHitSetContainer::getHitSets(), InttDefs::getLadderZId(), TrkrDefs::getLayer(), PHG4CylinderGeomContainer::GetLayerGeom(), InttDefs::getRow(), PHObject::identify(), TrkrHitSet::identify(), TrkrDefs::inttId, ladder_are_adjacent(), G4TTL::layer, G4BARRELHCAL::length, m_clusterhitassoc, m_clusterlist, m_hits, phibins, square(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int InttClusterizer::End ( PHCompositeNode )
inlineoverridevirtual

end of process

Reimplemented from SubsysReco.

Definition at line 37 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 37 of file InttClusterizer.h

bool InttClusterizer::get_energy_weighting ( const int  layer) const
inline

Definition at line 66 of file InttClusterizer.h.

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

References _make_e_weights.

float InttClusterizer::get_threshold_by_layer ( const int  layer) const
inline

Definition at line 44 of file InttClusterizer.h.

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

References _thresholds_by_layer.

bool InttClusterizer::get_z_clustering ( const int  layer) const
inline

Definition at line 55 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 55 of file InttClusterizer.h

References _make_z_clustering.

int InttClusterizer::Init ( PHCompositeNode )
inlineoverridevirtual

module initialization

Reimplemented from SubsysReco.

Definition at line 28 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 28 of file InttClusterizer.h

int InttClusterizer::InitRun ( PHCompositeNode topNode)
overridevirtual

run initialization

Reimplemented from SubsysReco.

Definition at line 89 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 89 of file InttClusterizer.cc

References _fraction_of_mip, _make_e_weights, _make_z_clustering, _thresholds_by_layer, Fun4AllReturnCodes::ABORTRUN, PHCompositeNode::addNode(), CalculateLadderThresholds(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHWHERE, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

bool InttClusterizer::ladder_are_adjacent ( const std::pair< TrkrDefs::hitkey, TrkrHit * > &  lhs,
const std::pair< TrkrDefs::hitkey, TrkrHit * > &  rhs,
const int  layer 
)
private

Definition at line 51 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 51 of file InttClusterizer.cc

References InttDefs::getCol(), and InttDefs::getRow().

Referenced by ClusterLadderCells().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void InttClusterizer::PrintClusters ( PHCompositeNode topNode)
private

Definition at line 488 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 488 of file InttClusterizer.cc

References TrkrClusterContainer::identify(), TrkrClusterContainer::size(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int InttClusterizer::process_event ( PHCompositeNode topNode)
overridevirtual

event processing

Reimplemented from SubsysReco.

Definition at line 191 of file InttClusterizer.cc.

View newest version in sPHENIX GitHub at line 191 of file InttClusterizer.cc

References Fun4AllReturnCodes::ABORTRUN, ClusterLadderCells(), Fun4AllReturnCodes::EVENT_OK, m_clusterhitassoc, m_clusterlist, m_hits, PHWHERE, and PrintClusters().

+ Here is the call graph for this function:

void InttClusterizer::set_energy_weighting ( const int  layer,
const bool  make_e_weights 
)
inline

option to turn on/off energy weighted clustering

Definition at line 62 of file InttClusterizer.h.

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

References _make_e_weights.

void InttClusterizer::set_threshold ( const float  fraction_of_mip)
inline

set an energy requirement relative to the thickness MIP expectation

Definition at line 40 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 40 of file InttClusterizer.h

References _fraction_of_mip.

void InttClusterizer::set_z_clustering ( const int  layer,
const bool  make_z_clustering 
)
inline

option to turn off z-dimension clustering

Definition at line 51 of file InttClusterizer.h.

View newest version in sPHENIX GitHub at line 51 of file InttClusterizer.h

References _make_z_clustering.

Referenced by Intt_Clustering().

+ Here is the caller graph for this function:

Member Data Documentation

float InttClusterizer::_fraction_of_mip
private

Definition at line 85 of file InttClusterizer.h.

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

Referenced by CalculateLadderThresholds(), InitRun(), and set_threshold().

std::map<int, bool> InttClusterizer::_make_e_weights
private

Definition at line 88 of file InttClusterizer.h.

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

Referenced by CalculateLadderThresholds(), ClusterLadderCells(), get_energy_weighting(), InitRun(), and set_energy_weighting().

std::map<int, bool> InttClusterizer::_make_z_clustering
private

Definition at line 87 of file InttClusterizer.h.

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

Referenced by CalculateLadderThresholds(), get_z_clustering(), InitRun(), and set_z_clustering().

std::map<int, float> InttClusterizer::_thresholds_by_layer
private

Definition at line 86 of file InttClusterizer.h.

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

Referenced by CalculateLadderThresholds(), get_threshold_by_layer(), and InitRun().

TrkrClusterHitAssoc* InttClusterizer::m_clusterhitassoc
private

Definition at line 82 of file InttClusterizer.h.

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

Referenced by ClusterLadderCells(), and process_event().

TrkrClusterContainer* InttClusterizer::m_clusterlist
private

Definition at line 81 of file InttClusterizer.h.

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

Referenced by ClusterLadderCells(), and process_event().

TrkrHitSetContainer* InttClusterizer::m_hits
private

Definition at line 80 of file InttClusterizer.h.

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

Referenced by ClusterLadderCells(), and process_event().


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