EmcGlSectorRec Class Reference
[Tower clustering]

#include <EmcGlSectorRec.h>

Inherits EmcSectorRec.

Inheritance diagram for EmcGlSectorRec:

Inheritance graph
[legend]
List of all members.

Detailed Description

PbGl implementation of EmcSectorRec.

Definition at line 16 of file EmcGlSectorRec.h.

Public Member Functions

 EmcGlSectorRec ()
virtual ~EmcGlSectorRec ()
virtual void Gamma (int nmod, EmcModule *modules, float *pchi, float *pchi0, float *pe1, float *px1, float *py1, float *pe2, float *px2, float *py2, int &ndf)
virtual void SetTowerThreshold (float Thresh)
virtual float Chi2Limit (int ndf)
virtual float Chi2Correct (float chi2, int ndf)
virtual void SetProfileParameters (int sectorID, float energy, float z, float y)
virtual float PredictEnergy (float deltaz, float deltay, float energy)
virtual float ClusterChisq (int nmod, EmcModule *modules, float energy, float zcg, float ycg, int &ndf)
virtual void CorrectPosition (float energy, float zcg, float ycg, float *zcgcorr, float *ycgcorr, bool callSetPar=true)
virtual void CorrectEnergy (float energy, float x, float y, float *ecorr)
virtual void CorrectECore (float ecore, float x, float y, float *ecorecorr)
virtual void CalculateErrors (float e, float x, float y, float *pde, float *pdx, float *pdy, float *pdz)
virtual void TwoGamma (int nmod, EmcModule *modules, float *pchi, float *pe1, float *pz1, float *py1, float *pe2, float *pz2, float *py2)
virtual void getTowerPos (int ix, int iy, float &x, float &y)
void TowersToSector (float, float, float &, float &)
 Converts coordinates in units of towers into cm's (Local coord. system).
void TowersToSector (int, int, float &, float &)
 Returns coordinates of the tower centers in cm's (Local coord. system).
void SectorToTowers (float, float, int &, int &)
 Converts Local Sector coordinates in cm into integer tower numbers.

Protected Attributes

float fSinTx
float fSinTy
float fTheta
float fPhi
float fShift
float fExc1
float fExc2
float fShapePars [4]
float fSpecThr
float fThrCorr

Static Protected Attributes

static float fgEpar00 = 0.010
static float fgEpar0 = 0.01
static float fgEpar1 = 0.035
static float fgEpar2 = -0.035
static float fgEpar3 = 0.
static float fgEpar4 = 1.0
static float fSin4T = 0.
static float fgConfLevel = 0.01
static float const fgSigEcorr0 = 2.25e-02
static float const fgSigEcorr1 = 1.43e-02
static float const fgSigAcorr0 = 7.20815e-02
static float const fgSigAcorr1 = -3.22703e-01
static float const fgCutEcorr0 = 2.1e-02
static float const fgCutEcorr1 = 0.009
static float const fgCoorPar00 = 0.1584384
static float const fgCoorPar01 = 0.1125
static float const fgCoorPar02 = 4.89856
static float const fgCoorPar03 = 2.42169e-01
static float const fgCoorPar10 = 0.4777
static float const fgCoorPar11 = 4.87463
static float const fgCoorPar12 = 1.23336e-01
static float const fgCoorPar20 = 3.28647
static float const fgCoorPar21 = 6.30741e-01

Static Private Member Functions

static float ShiftFunc (float energy, float angle)
static float Sigma1Func (float energy, float angle)
static float Sigma2Func (float energy, float angle)
static float ShapeFunc (float *x, float *par)
static float AFunc (float energy, float angle, float phi)
static float CFunc (float energy, float angle, float phi)
static float DFunc (float energy, float angle, float phi)
static float SFunc (float energy, float angle, float phi)
static float PeriodicFunc (float *x, float *par)
static float InvScurveFunc (float cog, float *par)
static void Rotate (float phi, float &deltaRow, float &deltaCol)
static float CalcSigma (float predicted, float totSignal, float theta)


Constructor & Destructor Documentation

EmcGlSectorRec::EmcGlSectorRec  )  [inline]
 

Definition at line 21 of file EmcGlSectorRec.h.

References SetTowerThreshold().

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

Definition at line 22 of file EmcGlSectorRec.h.


Member Function Documentation

float EmcGlSectorRec::AFunc float  energy,
float  angle,
float  phi
[static, private]
 

Definition at line 652 of file EmcGlSectorRec.cxx.

References PeriodicFunc().

Referenced by SetProfileParameters().

float EmcGlSectorRec::CalcSigma float  predicted,
float  totSignal,
float  theta
[static, private]
 

Definition at line 809 of file EmcGlSectorRec.cxx.

References fgSigAcorr0, fgSigAcorr1, fgSigEcorr0, and fgSigEcorr1.

void EmcGlSectorRec::CalculateErrors float  e,
float  x,
float  y,
float *  pde,
float *  pdx,
float *  pdy,
float *  pdz
[virtual]
 

Implements EmcSectorRec.

Definition at line 560 of file EmcGlSectorRec.cxx.

float EmcGlSectorRec::CFunc float  energy,
float  angle,
float  phi
[static, private]
 

Definition at line 700 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

float EmcGlSectorRec::Chi2Correct float  chi2,
int  ndf
[virtual]
 

Implements EmcSectorRec.

Definition at line 136 of file EmcGlSectorRec.cxx.

float EmcGlSectorRec::Chi2Limit int  ndf  )  [virtual]
 

Implements EmcSectorRec.

Definition at line 125 of file EmcGlSectorRec.cxx.

References EmcSectorRec::fgChi2Level, and EmcCluster::min().

float EmcGlSectorRec::ClusterChisq int  nmod,
EmcModule modules,
float  energy,
float  zcg,
float  ycg,
int &  ndf
[virtual]
 

Implements EmcSectorRec.

Definition at line 258 of file EmcGlSectorRec.cxx.

References fgEpar0, fgEpar00, fgEpar1, fgEpar2, fgEpar3, fgEpar4, EmcSectorRec::fNx, fSin4T, and PredictEnergy().

Referenced by Gamma().

void EmcGlSectorRec::CorrectECore float  ecore,
float  x,
float  y,
float *  ecorecorr
[virtual]
 

Implements EmcSectorRec.

Definition at line 492 of file EmcGlSectorRec.cxx.

void EmcGlSectorRec::CorrectEnergy float  energy,
float  x,
float  y,
float *  ecorr
[virtual]
 

Implements EmcSectorRec.

Definition at line 415 of file EmcGlSectorRec.cxx.

References EmcSectorRec::GetImpactAngle().

void EmcGlSectorRec::CorrectPosition float  energy,
float  zcg,
float  ycg,
float *  zcgcorr,
float *  ycgcorr,
bool  callSetPar = true
[virtual]
 

Implements EmcSectorRec.

Definition at line 505 of file EmcGlSectorRec.cxx.

References fgCoorPar00, fgCoorPar01, fgCoorPar02, fgCoorPar03, fgCoorPar10, fgCoorPar11, fgCoorPar12, fgCoorPar20, fgCoorPar21, fSinTx, fSinTy, EmcSectorRec::GetModSizex(), EmcSectorRec::GetModSizey(), InvScurveFunc(), and SetProfileParameters().

Referenced by SetProfileParameters().

float EmcGlSectorRec::DFunc float  energy,
float  angle,
float  phi
[static, private]
 

Definition at line 725 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

void EmcGlSectorRec::Gamma int  nmod,
EmcModule modules,
float *  pchi,
float *  pchi0,
float *  pe1,
float *  px1,
float *  py1,
float *  pe2,
float *  px2,
float *  py2,
int &  ndf
[virtual]
 

Reimplemented from EmcSectorRec.

Definition at line 49 of file EmcGlSectorRec.cxx.

References ClusterChisq(), EmcSectorRec::fgMinShowerEnergy, EmcSectorRec::Mom1(), SetProfileParameters(), and TwoGamma().

void EmcGlSectorRec::getTowerPos int  ix,
int  iy,
float &  x,
float &  y
[virtual]
 

Implements EmcSectorRec.

Definition at line 833 of file EmcGlSectorRec.cxx.

References EmcSectorRec::fModSizex, and EmcSectorRec::fModSizey.

float EmcGlSectorRec::InvScurveFunc float  cog,
float *  par
[static, private]
 

Definition at line 774 of file EmcGlSectorRec.cxx.

Referenced by CorrectPosition().

float EmcGlSectorRec::PeriodicFunc float *  x,
float *  par
[static, private]
 

Definition at line 757 of file EmcGlSectorRec.cxx.

Referenced by AFunc().

float EmcGlSectorRec::PredictEnergy float  deltaz,
float  deltay,
float  energy
[virtual]
 

Implements EmcSectorRec.

Definition at line 233 of file EmcGlSectorRec.cxx.

References fExc1, fExc2, fPhi, fShapePars, fShift, fThrCorr, Rotate(), SetProfileParameters(), and ShapeFunc().

Referenced by ClusterChisq().

void EmcGlSectorRec::Rotate float  phi,
float &  deltaRow,
float &  deltaCol
[static, private]
 

Definition at line 792 of file EmcGlSectorRec.cxx.

Referenced by PredictEnergy().

void EmcGlSectorRec::SectorToTowers float  ,
float  ,
int &  ,
int & 
[virtual]
 

Converts Local Sector coordinates in cm into integer tower numbers.

Implements EmcSectorRec.

Definition at line 864 of file EmcGlSectorRec.cxx.

References EmcSectorRec::fModSizex, and EmcSectorRec::fModSizey.

void EmcGlSectorRec::SetProfileParameters int  sectorID,
float  energy,
float  z,
float  y
[virtual]
 

Implements EmcSectorRec.

Definition at line 145 of file EmcGlSectorRec.cxx.

References AFunc(), CFunc(), CorrectPosition(), DFunc(), fExc1, fExc2, fgCutEcorr0, fgCutEcorr1, EmcSectorRec::fModSizex, EmcSectorRec::fModSizey, fPhi, fShapePars, fShift, fSin4T, fSinTx, fSinTy, fSpecThr, fTheta, fThrCorr, EmcSectorRec::fVx, EmcSectorRec::fVy, EmcSectorRec::fVz, EmcSectorRec::GlobalToSector(), SFunc(), ShiftFunc(), Sigma1Func(), and Sigma2Func().

Referenced by CorrectPosition(), Gamma(), and PredictEnergy().

virtual void EmcGlSectorRec::SetTowerThreshold float  Thresh  )  [inline, virtual]
 

Implements EmcSectorRec.

Definition at line 30 of file EmcGlSectorRec.h.

References EmcSectorRec::fgTowerThresh.

Referenced by EmcGlSectorRec(), and mEmcClusterNewModule::SetTowerThreshold().

float EmcGlSectorRec::SFunc float  energy,
float  angle,
float  phi
[static, private]
 

Definition at line 741 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

float EmcGlSectorRec::ShapeFunc float *  x,
float *  par
[static, private]
 

Definition at line 633 of file EmcGlSectorRec.cxx.

References EmcCluster::max().

Referenced by PredictEnergy().

float EmcGlSectorRec::ShiftFunc float  energy,
float  angle
[static, private]
 

Definition at line 596 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

float EmcGlSectorRec::Sigma1Func float  energy,
float  angle
[static, private]
 

Definition at line 608 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

float EmcGlSectorRec::Sigma2Func float  energy,
float  angle
[static, private]
 

Definition at line 620 of file EmcGlSectorRec.cxx.

Referenced by SetProfileParameters().

void EmcGlSectorRec::TowersToSector int  ,
int  ,
float &  ,
float & 
[virtual]
 

Returns coordinates of the tower centers in cm's (Local coord. system).

Implements EmcSectorRec.

Definition at line 855 of file EmcGlSectorRec.cxx.

References EmcSectorRec::fModSizex, and EmcSectorRec::fModSizey.

void EmcGlSectorRec::TowersToSector float  ,
float  ,
float &  ,
float & 
[virtual]
 

Converts coordinates in units of towers into cm's (Local coord. system).

Implements EmcSectorRec.

Definition at line 842 of file EmcGlSectorRec.cxx.

References EmcSectorRec::fModSizex, and EmcSectorRec::fModSizey.

void EmcGlSectorRec::TwoGamma int  nmod,
EmcModule modules,
float *  pchi,
float *  pe1,
float *  pz1,
float *  py1,
float *  pe2,
float *  pz2,
float *  py2
[virtual]
 

Implements EmcSectorRec.

Definition at line 576 of file EmcGlSectorRec.cxx.

References EmcSectorRec::Momenta().

Referenced by Gamma().


Member Data Documentation

float EmcGlSectorRec::fExc1 [protected]
 

Definition at line 98 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().

float EmcGlSectorRec::fExc2 [protected]
 

Definition at line 99 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().

float EmcGlSectorRec::fgConfLevel = 0.01 [static, protected]
 

Definition at line 69 of file EmcGlSectorRec.h.

float const EmcGlSectorRec::fgCoorPar00 = 0.1584384 [static, protected]
 

Definition at line 82 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar01 = 0.1125 [static, protected]
 

Definition at line 83 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar02 = 4.89856 [static, protected]
 

Definition at line 84 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar03 = 2.42169e-01 [static, protected]
 

Definition at line 85 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar10 = 0.4777 [static, protected]
 

Definition at line 86 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar11 = 4.87463 [static, protected]
 

Definition at line 87 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar12 = 1.23336e-01 [static, protected]
 

Definition at line 88 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar20 = 3.28647 [static, protected]
 

Definition at line 89 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCoorPar21 = 6.30741e-01 [static, protected]
 

Definition at line 90 of file EmcGlSectorRec.h.

Referenced by CorrectPosition().

float const EmcGlSectorRec::fgCutEcorr0 = 2.1e-02 [static, protected]
 

Definition at line 78 of file EmcGlSectorRec.h.

Referenced by SetProfileParameters().

float const EmcGlSectorRec::fgCutEcorr1 = 0.009 [static, protected]
 

Definition at line 79 of file EmcGlSectorRec.h.

Referenced by SetProfileParameters().

float EmcGlSectorRec::fgEpar0 = 0.01 [static, protected]
 

Definition at line 61 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float EmcGlSectorRec::fgEpar00 = 0.010 [static, protected]
 

Definition at line 60 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float EmcGlSectorRec::fgEpar1 = 0.035 [static, protected]
 

Definition at line 62 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float EmcGlSectorRec::fgEpar2 = -0.035 [static, protected]
 

Definition at line 63 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float EmcGlSectorRec::fgEpar3 = 0. [static, protected]
 

Definition at line 64 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float EmcGlSectorRec::fgEpar4 = 1.0 [static, protected]
 

Definition at line 65 of file EmcGlSectorRec.h.

Referenced by ClusterChisq().

float const EmcGlSectorRec::fgSigAcorr0 = 7.20815e-02 [static, protected]
 

Definition at line 74 of file EmcGlSectorRec.h.

Referenced by CalcSigma().

float const EmcGlSectorRec::fgSigAcorr1 = -3.22703e-01 [static, protected]
 

Definition at line 75 of file EmcGlSectorRec.h.

Referenced by CalcSigma().

float const EmcGlSectorRec::fgSigEcorr0 = 2.25e-02 [static, protected]
 

Definition at line 72 of file EmcGlSectorRec.h.

Referenced by CalcSigma().

float const EmcGlSectorRec::fgSigEcorr1 = 1.43e-02 [static, protected]
 

Definition at line 73 of file EmcGlSectorRec.h.

Referenced by CalcSigma().

float EmcGlSectorRec::fPhi [protected]
 

Definition at line 96 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().

float EmcGlSectorRec::fShapePars[4] [protected]
 

Definition at line 100 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().

float EmcGlSectorRec::fShift [protected]
 

Definition at line 97 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().

float EmcGlSectorRec::fSin4T = 0. [static, protected]
 

Definition at line 67 of file EmcGlSectorRec.h.

Referenced by ClusterChisq(), and SetProfileParameters().

float EmcGlSectorRec::fSinTx [protected]
 

Definition at line 93 of file EmcGlSectorRec.h.

Referenced by CorrectPosition(), and SetProfileParameters().

float EmcGlSectorRec::fSinTy [protected]
 

Definition at line 94 of file EmcGlSectorRec.h.

Referenced by CorrectPosition(), and SetProfileParameters().

float EmcGlSectorRec::fSpecThr [protected]
 

Definition at line 102 of file EmcGlSectorRec.h.

Referenced by SetProfileParameters().

float EmcGlSectorRec::fTheta [protected]
 

Definition at line 95 of file EmcGlSectorRec.h.

Referenced by SetProfileParameters().

float EmcGlSectorRec::fThrCorr [protected]
 

Definition at line 103 of file EmcGlSectorRec.h.

Referenced by PredictEnergy(), and SetProfileParameters().


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