EmcCluster Class Reference
[Tower clustering]

#include <EmcCluster.h>

Inherited by EmcPeakarea.

Inheritance diagram for EmcCluster:

Inheritance graph
[legend]
List of all members.

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 54 of file EmcCluster.h.

Public Member Functions

 EmcCluster ()
 Constructor (zero Hit List).
 EmcCluster (EmcSectorRec *sector)
 EmcCluster (const std::vector< EmcModule > &hlist, EmcSectorRec *sector)
 Constructor (inputs Hit List).
virtual ~EmcCluster ()
void ReInitialize (const std::vector< EmcModule > &hlist)
 Reinitializes EmcCluster supplying new Hit List.
int GetNofHits ()
 Returns number of EmcModules in EmcCluster.
void GetHits (EmcModule *phit, int n)
 Returns n EmcModules (sorted) with the maximum energy.
void GetHitList (std::vector< EmcModule > *&plist)
 Returns EmcCluster fHitList.
EmcModule GetMaxTower ()
 Returns the EmcModule with the maximum energy.
EmcModule GetImpactTower ()
 Returns the EmcModule corresponding to the reconstructed impact tower.
float GetTowerEnergy (int ich)
 Returns the energy of the ich-tower (numbering from 0).
float GetTowerEnergy (int ix, int iy)
 Returns the energy of the tower ix,iy (numbering from 0).
float GetTowerToF (int ich)
 Returns the ToF of the ich-tower (numbering from 0).
int GetTowerDeadMap (int ich)
 Returns the Dead Map of the ich-tower (numbering from 0).
int GetTowerWarnMap (int ich)
 Returns the Warning Map of the ich-tower (numbering from 0).
float GetTowerADC (int ich)
float GetTowerTAC (int ich)
int GetNDead ()
 Returns the number of dead channels around MaxTower.
int GetDeadMap ()
int GetWarnMap ()
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 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 *pxc, float *pyc)
 Returns the EmcCluster corrected position in Sector (SM) frame.
void GetGlobalPos (float *pxg, float *pyg, float *pzg)
 Returns the EmcCluster position in PHENIX global coord system.
void GetErrors (float *pde, float *pdx, float *pdy, float *pdz)
 Returns the errors for the reconstructed energy and position.
void GetChar (float *pe, float *pxcg, float *pysg, float *pxc, float *pyc, float *pxg, float *pyg, float *pzg, float *pxx, float *pxy, float *pyy, float *pde, float *pdx, float *pdy, float *pdz)
 Substitutes a number of functions above (to save CPU time).
int GetPeaks (EmcPeakarea *, EmcModule *)
 Splits the EmcCluster onto peakarea's; also returns peak tower array corresponding to peakarea array.

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
EmcSectorRecfOwner

Static Protected Attributes

static int const fgMaxNofPeaks = 10
static int const fgPeakIter = 6
static float const fgEmin = 0.002
static float const fgChisq = 3.
static float const fgXABSURD = -999999.
static float const fgYABSURD = -999999.


Constructor & Destructor Documentation

EmcCluster::EmcCluster  )  [inline]
 

Constructor (zero Hit List).

Definition at line 60 of file EmcCluster.h.

EmcCluster::EmcCluster EmcSectorRec sector  )  [inline]
 

Definition at line 63 of file EmcCluster.h.

EmcCluster::EmcCluster const std::vector< EmcModule > &  hlist,
EmcSectorRec sector
[inline]
 

Constructor (inputs Hit List).

Definition at line 69 of file EmcCluster.h.

References fHitList.

virtual EmcCluster::~EmcCluster  )  [inline, virtual]
 

Definition at line 78 of file EmcCluster.h.


Member Function Documentation

static double EmcCluster::ABS double  x  )  [inline, static]
 

Definition at line 208 of file EmcCluster.h.

static float EmcCluster::ABS float  x  )  [inline, static]
 

Definition at line 204 of file EmcCluster.h.

static int EmcCluster::ABS int  x  )  [inline, static]
 

Definition at line 200 of file EmcCluster.h.

Referenced by EmcScSectorRec::CorrectPosition(), EmcSectorRec::Gamma(), EmcPeakarea::GetChi2New(), EmcPeakarea::GetCLNew(), EmcScSectorRec::PredictEnergy(), EmcScSectorRec::SetProfileParameters(), and EmcScSectorRec::TwoGamma().

void EmcCluster::GetChar float *  pe,
float *  pxcg,
float *  pysg,
float *  pxc,
float *  pyc,
float *  pxg,
float *  pyg,
float *  pzg,
float *  pxx,
float *  pxy,
float *  pyy,
float *  pde,
float *  pdx,
float *  pdy,
float *  pdz
 

Substitutes a number of functions above (to save CPU time).

Definition at line 526 of file EmcCluster.cxx.

References EmcSectorRec::CalculateErrors(), EmcSectorRec::CorrectPosition(), fOwner, GetMoments(), GetTotalEnergy(), and EmcSectorRec::SectorToGlobal().

void EmcCluster::GetCorrPos float *  pxc,
float *  pyc
 

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

Definition at line 58 of file EmcCluster.cxx.

References EmcSectorRec::CorrectPosition(), fOwner, GetMoments(), and GetTotalEnergy().

Referenced by GetErrors(), GetGlobalPos(), and GetImpactTower().

int EmcCluster::GetDeadMap  ) 
 

Definition at line 217 of file EmcCluster.cxx.

References EmcModule::deadmap, and GetMaxTower().

float EmcCluster::GetE4  ) 
 

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

Definition at line 287 of file EmcCluster.cxx.

References fOwner, EmcSectorRec::GetModSizex(), EmcSectorRec::GetModSizey(), GetMoments(), and GetTowerEnergy().

float EmcCluster::GetE9 int  ich  ) 
 

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

Definition at line 361 of file EmcCluster.cxx.

References EmcModule::amp, fHitList, fOwner, EmcSectorRec::GetNx(), and EmcSectorRec::HitNCompare().

float EmcCluster::GetE9  ) 
 

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

Definition at line 314 of file EmcCluster.cxx.

References EmcModule::amp, fHitList, fOwner, EmcSectorRec::GetModSizex(), EmcSectorRec::GetModSizey(), GetMoments(), EmcSectorRec::GetNx(), and EmcSectorRec::HitNCompare().

Referenced by mEmcClusterizerv0::fillPeakArea().

float EmcCluster::GetECore  ) 
 

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

Definition at line 255 of file EmcCluster.cxx.

References fHitList, fOwner, EmcSectorRec::GetModSizex(), EmcSectorRec::GetModSizey(), GetMoments(), EmcSectorRec::GetNx(), GetTotalEnergy(), EmcSectorRec::PredictEnergy(), and EmcSectorRec::SetProfileParameters().

Referenced by EmcPeakarea::GetChar().

void EmcCluster::GetErrors float *  pde,
float *  pdx,
float *  pdy,
float *  pdz
 

Returns the errors for the reconstructed energy and position.

Definition at line 512 of file EmcCluster.cxx.

References EmcSectorRec::CalculateErrors(), fOwner, GetCorrPos(), and GetTotalEnergy().

void EmcCluster::GetGlobalPos float *  pxg,
float *  pyg,
float *  pzg
 

Returns the EmcCluster position in PHENIX global coord system.

Definition at line 71 of file EmcCluster.cxx.

References fOwner, GetCorrPos(), and EmcSectorRec::SectorToGlobal().

void EmcCluster::GetHitList std::vector< EmcModule > *&  plist  )  [inline]
 

Returns EmcCluster fHitList.

Definition at line 99 of file EmcCluster.h.

References fHitList.

void EmcCluster::GetHits EmcModule phit,
int  n
 

Returns n EmcModules (sorted) with the maximum energy.

Definition at line 453 of file EmcCluster.cxx.

References fHitList, fOwner, EmcSectorRec::HitACompare(), min(), and EmcSectorRec::ZeroVector().

Referenced by mEmcClusterizerv0::fillPeakArea().

EmcModule EmcCluster::GetImpactTower  ) 
 

Returns the EmcModule corresponding to the reconstructed impact tower.

Definition at line 401 of file EmcCluster.cxx.

References fOwner, GetCorrPos(), EmcSectorRec::GetModSizex(), EmcSectorRec::GetModSizey(), EmcSectorRec::GetNx(), EmcSectorRec::GetNy(), EmcModule::ich, and lowint().

EmcModule EmcCluster::GetMaxTower  ) 
 

Returns the EmcModule with the maximum energy.

Definition at line 432 of file EmcCluster.cxx.

References fHitList, and EmcModule::ich.

Referenced by mEmcClusterizerv0::fillPeakArea(), GetDeadMap(), GetNDead(), and GetWarnMap().

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 479 of file EmcCluster.cxx.

References EmcModule::amp, fgXABSURD, fgYABSURD, fHitList, and EmcModule::ich.

Referenced by EmcPeakarea::GetChar(), GetChar(), EmcPeakarea::GetChi2New(), EmcPeakarea::GetCLNew(), GetCorrPos(), GetE4(), GetE9(), and GetECore().

int EmcCluster::GetNDead  ) 
 

Returns the number of dead channels around MaxTower.

Definition at line 196 of file EmcCluster.cxx.

References EmcModule::deadmap, and GetMaxTower().

Referenced by mEmcClusterizerv0::fillPeakArea().

int EmcCluster::GetNofHits  )  [inline]
 

Returns number of EmcModules in EmcCluster.

Definition at line 90 of file EmcCluster.h.

References fHitList.

Referenced by mEmcClusterizerv0::fillPeakArea().

int EmcCluster::GetPeaks EmcPeakarea ,
EmcModule
 

Splits the EmcCluster onto peakarea's; also returns peak tower array corresponding to peakarea array.

Definition at line 546 of file EmcCluster.cxx.

References fgMaxNofPeaks, fHitList, fOwner, EmcSectorRec::GetNx(), EmcSectorRec::GetPeakThreshold(), EmcSectorRec::HitNCompare(), EmcModule::ich, and ratio().

float EmcCluster::GetTotalEnergy  ) 
 

Returns the EmcCluster total energy.

Definition at line 239 of file EmcCluster.cxx.

References fHitList.

Referenced by EmcPeakarea::GetChar(), GetChar(), EmcPeakarea::GetChi2New(), EmcPeakarea::GetCLNew(), GetCorrPos(), GetECore(), and GetErrors().

float EmcCluster::GetTowerADC int  ich  ) 
 

Definition at line 164 of file EmcCluster.cxx.

References fHitList.

int EmcCluster::GetTowerDeadMap int  ich  ) 
 

Returns the Dead Map of the ich-tower (numbering from 0).

Definition at line 134 of file EmcCluster.cxx.

References fHitList.

float EmcCluster::GetTowerEnergy int  ix,
int  iy
 

Returns the energy of the tower ix,iy (numbering from 0).

Definition at line 100 of file EmcCluster.cxx.

References fHitList, fOwner, and EmcSectorRec::GetNx().

float EmcCluster::GetTowerEnergy int  ich  ) 
 

Returns the energy of the ich-tower (numbering from 0).

Definition at line 85 of file EmcCluster.cxx.

References fHitList.

Referenced by mEmcClusterizerv0::fillPeakArea(), EmcPeakarea::GetChi2New(), EmcPeakarea::GetCLNew(), and GetE4().

float EmcCluster::GetTowerTAC int  ich  ) 
 

Definition at line 179 of file EmcCluster.cxx.

References fHitList.

float EmcCluster::GetTowerToF int  ich  ) 
 

Returns the ToF of the ich-tower (numbering from 0).

Definition at line 119 of file EmcCluster.cxx.

References fHitList.

int EmcCluster::GetTowerWarnMap int  ich  ) 
 

Returns the Warning Map of the ich-tower (numbering from 0).

Definition at line 149 of file EmcCluster.cxx.

References fHitList.

int EmcCluster::GetWarnMap  ) 
 

Definition at line 228 of file EmcCluster.cxx.

References GetMaxTower(), and EmcModule::warnmap.

static int EmcCluster::lowint float  x  )  [inline, static]
 

Definition at line 213 of file EmcCluster.h.

Referenced by EmcScSectorRec::CorrectPosition(), and GetImpactTower().

static double EmcCluster::max double  a,
double  b
[inline, static]
 

Definition at line 182 of file EmcCluster.h.

static float EmcCluster::max float  a,
float  b
[inline, static]
 

Definition at line 178 of file EmcCluster.h.

static int EmcCluster::max int  a,
int  b
[inline, static]
 

Definition at line 174 of file EmcCluster.h.

Referenced by EmcScSectorRec::SetTowerThreshold(), and EmcGlSectorRec::ShapeFunc().

static double EmcCluster::min double  a,
double  b
[inline, static]
 

Definition at line 195 of file EmcCluster.h.

static float EmcCluster::min float  a,
float  b
[inline, static]
 

Definition at line 191 of file EmcCluster.h.

static int EmcCluster::min int  a,
int  b
[inline, static]
 

Definition at line 187 of file EmcCluster.h.

Referenced by EmcScSectorRec::Chi2Limit(), EmcGlSectorRec::Chi2Limit(), and GetHits().

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

Reinitializes EmcCluster supplying new Hit List.

Definition at line 84 of file EmcCluster.h.

References fHitList.

Referenced by EmcSectorRec::FindClusters().


Member Data Documentation

float const EmcCluster::fgChisq = 3. [static, protected]
 

Definition at line 166 of file EmcCluster.h.

Referenced by EmcPeakarea::GetCGmin(), EmcPeakarea::GetChar(), and EmcPeakarea::GetChi2().

float const EmcCluster::fgEmin = 0.002 [static, protected]
 

Definition at line 165 of file EmcCluster.h.

int const EmcCluster::fgMaxNofPeaks = 10 [static, protected]
 

Definition at line 163 of file EmcCluster.h.

Referenced by GetPeaks().

int const EmcCluster::fgPeakIter = 6 [static, protected]
 

Definition at line 164 of file EmcCluster.h.

float const EmcCluster::fgXABSURD = -999999. [static, protected]
 

Definition at line 167 of file EmcCluster.h.

Referenced by EmcPeakarea::GetCGmin(), EmcPeakarea::GetGammas(), and GetMoments().

float const EmcCluster::fgYABSURD = -999999. [static, protected]
 

Definition at line 168 of file EmcCluster.h.

Referenced by EmcPeakarea::GetCGmin(), EmcPeakarea::GetGammas(), and GetMoments().

std::vector<EmcModule> EmcCluster::fHitList [protected]
 

Definition at line 157 of file EmcCluster.h.

Referenced by EmcCluster(), EmcPeakarea::GetCGmin(), EmcPeakarea::GetChar(), EmcPeakarea::GetChi2(), GetE9(), GetECore(), EmcPeakarea::GetGammas(), GetHitList(), GetHits(), GetMaxTower(), GetMoments(), GetNofHits(), GetPeaks(), GetTotalEnergy(), GetTowerADC(), GetTowerDeadMap(), GetTowerEnergy(), GetTowerTAC(), GetTowerToF(), GetTowerWarnMap(), and ReInitialize().

EmcSectorRec* EmcCluster::fOwner [protected]
 

Definition at line 160 of file EmcCluster.h.

Referenced by EmcPeakarea::GetCGmin(), EmcPeakarea::GetChar(), GetChar(), EmcPeakarea::GetChi2(), EmcPeakarea::GetChi2New(), EmcPeakarea::GetCLNew(), GetCorrPos(), GetE4(), GetE9(), GetECore(), GetErrors(), EmcPeakarea::GetGammas(), GetGlobalPos(), GetHits(), GetImpactTower(), GetPeaks(), and GetTowerEnergy().


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