X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=PHOS%2FAliPHOSClusterizerv1.h;h=7b3e45ac0afa9a5e3301fac66b19690c2c352f8c;hp=1a42142e005c722aacd0f60997d3338972776bde;hb=d72dfbc38713834ede0f4d3c38af4798b6f23fa8;hpb=9f616d6157da38ebfea66eb5f514c7c6b77fa013;ds=sidebyside diff --git a/PHOS/AliPHOSClusterizerv1.h b/PHOS/AliPHOSClusterizerv1.h index 1a42142e005..7b3e45ac0af 100644 --- a/PHOS/AliPHOSClusterizerv1.h +++ b/PHOS/AliPHOSClusterizerv1.h @@ -3,14 +3,12 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -//////////////////////////////////////////////// -// Clusterizer implementation version 1 // -// algorithme class // -// // -// Author Yves Schutz SUBATECH // -// // -// // -//////////////////////////////////////////////// +/* $Id$ */ + +//_________________________________________________________________________ +// Implementation version 1 of the clusterization algorithm +// +//*-- Author: Yves Schutz (SUBATECH) // --- ROOT system --- @@ -20,6 +18,7 @@ #include "AliPHOSClusterizer.h" #include "AliPHOSDigit.h" +#include "AliPHOSGeometry.h" @@ -33,36 +32,51 @@ public: Int_t AreNeighbours(AliPHOSDigit * d1, AliPHOSDigit * d2) ; // Checks if digits are in neighbour cells Float_t Calibrate(Int_t Amp){ return (fA + fB * Amp) ;} // Tranforms Amp to energy void FillandSort(const DigitsList * dl, TObjArray * tl) ; // Sorts the list according to increasing id - Float_t GetLogWeightCut(void){return fW0 ; } - Float_t GetLocalMaxCut(void) {return fLocMaxCut ; } - virtual void GetNumberOfClustersFound(Int_t * numb) ; - Bool_t IsInEmc(AliPHOSDigit * digit) ; // Tells if id digit is in EMC - virtual void MakeClusters(const DigitsList * dl, RecPointsList * emcl, RecPointsList * ppsdl) ; // does the job - void PrintParameters() ; - void SetCalibrationParameters(Float_t A,Float_t B){ fA = A ; fB = B;} - void SetEmcClusteringThreshold(Float_t cluth) { fEmcClusteringThreshold = cluth ; } - void SetEmcEnergyThreshold(Float_t enth) { fEmcEnergyThreshold = enth ; } - void SetLocalMaxCut(Float_t cut) { fLocMaxCut = cut ; } - void SetLogWeightCut(Float_t w) { fW0 = w ; } - void SetPpsdClusteringThreshold(Float_t cluth) { fPpsdClusteringThreshold = cluth ; } - void SetPpsdEnergyThreshold(Float_t enth) { fPpsdEnergyThreshold = enth ; } + virtual void GetNumberOfClustersFound(Int_t * numb) ; + + virtual void GetCalibrationParameters(Float_t & A, Float_t &B) { A = fA; B = fB; } + virtual Float_t GetEmcClusteringThreshold() { return fEmcClusteringThreshold;} + virtual Float_t GetEmcEnergyThreshold() { return fEmcEnergyThreshold; } + virtual Float_t GetLocalMaxCut() { return fLocMaxCut;} + virtual Float_t GetLogWeightCut() { return fW0;} + virtual Float_t GetLocalMaxCutCPV() { return fLocMaxCutCPV;} + virtual Float_t GetLogWeightCutCPV() { return fW0CPV;} + virtual Float_t GetPpsdClusteringThreshold() { return fPpsdClusteringThreshold; } + virtual Float_t GetPpsdEnergyThreshold() { return fPpsdEnergyThreshold; } + + virtual Bool_t IsInEmc(AliPHOSDigit * digit) ; // Tells if id digit is in EMC + virtual void MakeClusters(const DigitsList * dl, + AliPHOSRecPoint::RecPointsList * emcl, + AliPHOSRecPoint::RecPointsList * ppsdl) ; // does the job + virtual void PrintParameters() ; + virtual void SetCalibrationParameters(Float_t A,Float_t B){ fA = A ; fB = B;} + virtual void SetEmcClusteringThreshold(Float_t cluth) { fEmcClusteringThreshold = cluth ; } + virtual void SetEmcEnergyThreshold(Float_t enth) { fEmcEnergyThreshold = enth ; } + virtual void SetLocalMaxCut(Float_t cut) { fLocMaxCut = cut ; } + virtual void SetLogWeightCut(Float_t w) { fW0 = w ; } + virtual void SetLocalMaxCutCPV(Float_t cut) { fLocMaxCutCPV = cut ; } + virtual void SetLogWeightCutCPV(Float_t w) { fW0CPV = w ; } + virtual void SetPpsdClusteringThreshold(Float_t cluth) { fPpsdClusteringThreshold = cluth ; } + virtual void SetPpsdEnergyThreshold(Float_t enth) { fPpsdEnergyThreshold = enth ; } private: - Float_t fA ; - Float_t fB ; - Float_t fEmcClusteringThreshold ; - Float_t fEmcEnergyThreshold ; - Float_t fLocMaxCut ; - Int_t fNumberOfEmcClusters ; - Int_t fNumberOfPpsdClusters ; - Float_t fPpsdClusteringThreshold ; - Float_t fPpsdEnergyThreshold ; - Float_t fW0 ; - -public: - - ClassDef(AliPHOSClusterizerv1,1) // Clusterizer implementation , version 1 + Float_t fA ; // offset of the energy calibration + Float_t fB ; // gain of the energy calibration + AliPHOSGeometry * fGeom ; // pointer to geometry + Float_t fEmcClusteringThreshold ; // minimum energy to include a EMC digit in a cluster + Float_t fEmcEnergyThreshold ; // minimum energy of EMC digit to be considered + Int_t fNumberOfEmcClusters ; // number of EMC clusters found + Int_t fNumberOfPpsdClusters ; // number of PPSD clusters found + Float_t fPpsdClusteringThreshold ; // minimum energy to include a PPSD digit in a cluster + Float_t fPpsdEnergyThreshold ; // minimum energy of PPSD digit to be considered + Float_t fLocMaxCut ; // minimum energy difference to distinguish local maxima in a cluster + Float_t fW0 ; // logarithmic weight for the cluster center of gravity calculation + + Float_t fLocMaxCutCPV ; // minimum energy difference to distinguish local maxima in a CPV cluster + Float_t fW0CPV ; // logarithmic weight for the CPV cluster center of gravity calculation + + ClassDef(AliPHOSClusterizerv1,1) // Clusterizer implementation version 1 };