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

#include <fun4all_coresoftware/blob/master/offline/packages/CaloReco/BEmcCluster.h>

+ Inheritance diagram for EmcCluster:
+ Collaboration diagram for EmcCluster:

Public Member Functions

 EmcCluster ()
 Constructor (zero Hit List)
 
 EmcCluster (BEmcRec *sector)
 
 EmcCluster (const std::vector< EmcModule > &hlist, BEmcRec *sector)
 Constructor (inputs Hit List)
 
 ~EmcCluster () override
 
void ReInitialize (const std::vector< EmcModule > &hlist)
 Reinitializes EmcCluster supplying new Hit List.
 
int GetNofHits ()
 Returns number of EmcModules in EmcCluster.
 
std::vector< EmcModuleGetHitList ()
 Returns EmcCluster fHitList.
 
EmcModule GetMaxTower ()
 Returns the EmcModule with the maximum energy.
 
float GetTowerEnergy (int ich)
 Returns the EmcModule corresponding to the reconstructed impact tower.
 
float GetTowerEnergy (int ix, int iy)
 Returns the energy of the tower ix,iy.
 
float GetTowerToF (int ich)
 Returns the ToF of the ich-tower.
 
float GetE4 ()
 Returns the energy in 2x2 towers around the cluster Center of Gravity.
 
float GetE9 ()
 Returns the energy in 3x3 towers around the cluster Center of Gravity.
 
float GetE9 (int ich)
 Returns the energy in 3x3 towers around the tower ich.
 
float GetECore ()
 Returns the cluster energy taking into account towers with E>Ethresh.
 
float GetECoreCorrected ()
 Ecore corrected for energy leak sidewise core towers.
 
float GetTotalEnergy ()
 Returns the EmcCluster total energy.
 
void GetMoments (float &pxcg, float &pycg, float &pxx, float &pxy, float &pyy)
 Returns EmcCluster 1-st (pxcg,pycg) and 2-d momenta (pxx,pxy,pyy)
 
void GetCorrPos (float &xc, float &yc)
 Returns the EmcCluster corrected position in Sector (SM) frame.
 
void GetGlobalPos (float &xg, float &yg, float &zg)
 Returns the EmcCluster position in PHENIX global coord system.
 
int GetSubClusters (std::vector< EmcCluster > *sClList, std::vector< EmcModule > *ppeaks)
 Splits the Cluster onto SubClusters; returns list of clusters and list of peak towers corresponding to subclusters.
 
float GetProb (float &chi2, int &ndf)
 

Static Public Member Functions

static int max (int a, int b)
 
static float max (float a, float b)
 
static double max (double a, double b)
 
static int min (int a, int b)
 
static float min (float a, float b)
 
static double min (double a, double b)
 
static int ABS (int x)
 
static float ABS (float x)
 
static double ABS (double x)
 
static int lowint (float x)
 

Protected Attributes

std::vector< EmcModulefHitList
 
BEmcRecfOwner
 

Static Protected Attributes

static int const fgMaxNofPeaks = 1000
 
static int const fgPeakIter = 6
 
static float const fgEmin = 0.002
 

Detailed Description

The 1-st level of the EMCal clustering: cluster is a set of contiguous towers.

Only used internally by clustering routines.

Definition at line 43 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 43 of file BEmcCluster.h

Constructor & Destructor Documentation

EmcCluster::EmcCluster ( )
inline

Constructor (zero Hit List)

Definition at line 47 of file BEmcCluster.h.

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

EmcCluster::EmcCluster ( BEmcRec sector)
inline

Definition at line 52 of file BEmcCluster.h.

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

EmcCluster::EmcCluster ( const std::vector< EmcModule > &  hlist,
BEmcRec sector 
)
inline

Constructor (inputs Hit List)

Definition at line 59 of file BEmcCluster.h.

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

EmcCluster::~EmcCluster ( )
inlineoverride

Definition at line 67 of file BEmcCluster.h.

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

Member Function Documentation

static int EmcCluster::ABS ( int  x)
inlinestatic

Definition at line 153 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 153 of file BEmcCluster.h

References kdfinder::abs().

Referenced by BEmcRecCEMC::CorrectPosition(), BEmcRecFEMC::CorrectPosition(), BEmcRecEEMC::CorrectPosition(), and GetSubClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static float EmcCluster::ABS ( float  x)
inlinestatic

Definition at line 157 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 157 of file BEmcCluster.h

static double EmcCluster::ABS ( double  x)
inlinestatic

Definition at line 161 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 161 of file BEmcCluster.h

void EmcCluster::GetCorrPos ( float &  xc,
float &  yc 
)

Returns the EmcCluster corrected position in Sector (SM) frame.

Definition at line 42 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 42 of file BEmcCluster.cc

References BEmcRec::CorrectPosition(), Acts::UnitConstants::e, fHitList, fOwner, BEmcRec::Momenta(), x, and y.

Referenced by GetGlobalPos().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float EmcCluster::GetE4 ( )

Returns the energy in 2x2 towers around the cluster Center of Gravity.

Definition at line 173 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 173 of file BEmcCluster.cc

References fHitList, fOwner, GetTowerEnergy(), and BEmcRec::Momenta().

+ Here is the call graph for this function:

float EmcCluster::GetE9 ( )

Returns the energy in 3x3 towers around the cluster Center of Gravity.

Definition at line 198 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 198 of file BEmcCluster.cc

References fHitList, fOwner, BEmcRec::GetNx(), and BEmcRec::Momenta().

+ Here is the call graph for this function:

float EmcCluster::GetE9 ( int  ich)

Returns the energy in 3x3 towers around the tower ich.

Definition at line 218 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 218 of file BEmcCluster.cc

References kdfinder::abs(), fHitList, fOwner, BEmcRec::GetNx(), and BEmcRec::iTowerDist().

+ Here is the call graph for this function:

float EmcCluster::GetECore ( )

Returns the cluster energy taking into account towers with E>Ethresh.

Definition at line 140 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 140 of file BEmcCluster.cc

References fHitList, fOwner, BEmcRec::GetNx(), BEmcRec::Momenta(), and BEmcRec::PredictEnergy().

Referenced by GetECoreCorrected().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float EmcCluster::GetECoreCorrected ( )

Ecore corrected for energy leak sidewise core towers.

Definition at line 128 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 128 of file BEmcCluster.cc

References BEmcRec::CorrectECore(), Acts::UnitConstants::e, fHitList, fOwner, GetECore(), BEmcRec::Momenta(), x, and y.

+ Here is the call graph for this function:

void EmcCluster::GetGlobalPos ( float &  xg,
float &  yg,
float &  zg 
)

Returns the EmcCluster position in PHENIX global coord system.

Definition at line 55 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 55 of file BEmcCluster.cc

References Acts::UnitConstants::e, fOwner, GetCorrPos(), GetTotalEnergy(), and BEmcRec::Tower2Global().

Referenced by GetProb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<EmcModule> EmcCluster::GetHitList ( )
inline

Returns EmcCluster fHitList.

Definition at line 80 of file BEmcCluster.h.

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

References fHitList.

EmcModule EmcCluster::GetMaxTower ( )

Returns the EmcModule with the maximum energy.

Definition at line 244 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 244 of file BEmcCluster.cc

References EmcModule::amp, fHitList, EmcModule::ich, and EmcModule::tof.

Referenced by GetSubClusters().

+ Here is the caller graph for this function:

void EmcCluster::GetMoments ( float &  pxcg,
float &  pycg,
float &  pxx,
float &  pxy,
float &  pyy 
)

Returns EmcCluster 1-st (pxcg,pycg) and 2-d momenta (pxx,pxy,pyy)

Definition at line 271 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 271 of file BEmcCluster.cc

References Acts::UnitConstants::e, fHitList, fOwner, and BEmcRec::Momenta().

+ Here is the call graph for this function:

int EmcCluster::GetNofHits ( )
inline

Returns number of EmcModules in EmcCluster.

Definition at line 78 of file BEmcCluster.h.

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

References fHitList.

float EmcCluster::GetProb ( float &  chi2,
int &  ndf 
)

Definition at line 280 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 280 of file BEmcCluster.cc

References Acts::UnitConstants::e, fHitList, fOwner, GetGlobalPos(), BEmcRec::GetProb(), and GetTotalEnergy().

+ Here is the call graph for this function:

int EmcCluster::GetSubClusters ( std::vector< EmcCluster > *  sClList,
std::vector< EmcModule > *  ppeaks 
)

Splits the Cluster onto SubClusters; returns list of clusters and list of peak towers corresponding to subclusters.

Definition at line 290 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 290 of file BEmcCluster.cc

References ABS(), kdfinder::abs(), EmcModule::amp, dx, dy, eg, fgEmin, fgMaxNofPeaks, fgPeakIter, fHitList, fOwner, BEmcRec::fTowerDist(), GetMaxTower(), BEmcRec::GetNx(), BEmcRec::GetPeakThreshold(), BEmcRec::HitNCompare(), EmcModule::ich, in, BEmcRec::iTowerDist(), BEmcRec::PredictEnergy(), ratio, ReInitialize(), EmcModule::tof, and BEmcRec::ZeroVector().

+ Here is the call graph for this function:

float EmcCluster::GetTotalEnergy ( )

Returns the EmcCluster total energy.

Definition at line 111 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 111 of file BEmcCluster.cc

References fHitList.

Referenced by GetGlobalPos(), and GetProb().

+ Here is the caller graph for this function:

float EmcCluster::GetTowerEnergy ( int  ich)

Returns the EmcModule corresponding to the reconstructed impact tower.

Returns the energy of the ich-tower

Definition at line 66 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 66 of file BEmcCluster.cc

References fHitList.

Referenced by GetE4(), and GetTowerEnergy().

+ Here is the caller graph for this function:

float EmcCluster::GetTowerEnergy ( int  ix,
int  iy 
)

Returns the energy of the tower ix,iy.

Definition at line 82 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 82 of file BEmcCluster.cc

References fHitList, fOwner, BEmcRec::GetNx(), and GetTowerEnergy().

+ Here is the call graph for this function:

float EmcCluster::GetTowerToF ( int  ich)

Returns the ToF of the ich-tower.

Definition at line 95 of file BEmcCluster.cc.

View newest version in sPHENIX GitHub at line 95 of file BEmcCluster.cc

References fHitList.

static int EmcCluster::lowint ( float  x)
inlinestatic

Definition at line 166 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 166 of file BEmcCluster.h

Referenced by BEmcRecCEMC::CorrectPosition(), BEmcRecFEMC::CorrectPosition(), and BEmcRecEEMC::CorrectPosition().

+ Here is the caller graph for this function:

static int EmcCluster::max ( int  a,
int  b 
)
inlinestatic

Definition at line 127 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 127 of file BEmcCluster.h

static float EmcCluster::max ( float  a,
float  b 
)
inlinestatic

Definition at line 131 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 131 of file BEmcCluster.h

static double EmcCluster::max ( double  a,
double  b 
)
inlinestatic

Definition at line 135 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 135 of file BEmcCluster.h

static int EmcCluster::min ( int  a,
int  b 
)
inlinestatic

Definition at line 140 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 140 of file BEmcCluster.h

static float EmcCluster::min ( float  a,
float  b 
)
inlinestatic

Definition at line 144 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 144 of file BEmcCluster.h

static double EmcCluster::min ( double  a,
double  b 
)
inlinestatic

Definition at line 148 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 148 of file BEmcCluster.h

void EmcCluster::ReInitialize ( const std::vector< EmcModule > &  hlist)
inline

Reinitializes EmcCluster supplying new Hit List.

Definition at line 73 of file BEmcCluster.h.

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

References fHitList.

Referenced by BEmcRec::FindClusters(), and GetSubClusters().

+ Here is the caller graph for this function:

Member Data Documentation

float const EmcCluster::fgEmin = 0.002
staticprotected

Definition at line 122 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 122 of file BEmcCluster.h

Referenced by GetSubClusters().

int const EmcCluster::fgMaxNofPeaks = 1000
staticprotected

Definition at line 120 of file BEmcCluster.h.

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

Referenced by GetSubClusters().

int const EmcCluster::fgPeakIter = 6
staticprotected

Definition at line 121 of file BEmcCluster.h.

View newest version in sPHENIX GitHub at line 121 of file BEmcCluster.h

Referenced by GetSubClusters().

std::vector<EmcModule> EmcCluster::fHitList
protected
BEmcRec* EmcCluster::fOwner
protected

Definition at line 117 of file BEmcCluster.h.

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

Referenced by GetCorrPos(), GetE4(), GetE9(), GetECore(), GetECoreCorrected(), GetGlobalPos(), GetMoments(), GetProb(), GetSubClusters(), and GetTowerEnergy().


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