X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=EMCAL%2FAliEMCALClusterizer.h;h=3c2c81756db74c99ec1322daa870ad05044aa93a;hb=cbf2835640b69aa453a60d281d68666b68355002;hp=011b9671e79bc4288e7fa6b08c5be4c72f1865f8;hpb=d464daf4f377d98df68193da5d04578efc5cf3db;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALClusterizer.h b/EMCAL/AliEMCALClusterizer.h index 011b9671e79..3c2c81756db 100644 --- a/EMCAL/AliEMCALClusterizer.h +++ b/EMCAL/AliEMCALClusterizer.h @@ -14,13 +14,12 @@ //_________________________________________________________________________ // --- ROOT system --- -#include "AliLog.h" -#include "TObject.h" +#include +#include class TTree; -// --- Standard library --- - // --- AliRoot header files --- +#include "AliLog.h" class AliEMCALGeometry; class AliEMCALCalibData; class AliCaloCalibPedestal; @@ -48,12 +47,12 @@ public: virtual void InitParameters(); virtual void InitParameters(const AliEMCALRecParam* recParam); - virtual void Print (Option_t *option) const ; + virtual void Print (Option_t *option) const ; virtual void PrintRecPoints(Option_t *option); virtual void PrintRecoInfo(); - virtual const char *Version() const { Warning("Version", "Not Defined"); return 0; } - + virtual const char *Version() const { Warning("Version", "Not Defined"); + return 0 ; } //Getters-Setters @@ -72,14 +71,16 @@ public: virtual Float_t GetECALocalMaxCut() const { return fECALocMaxCut; } virtual Float_t GetECALogWeight() const { return fECAW0; } virtual Float_t GetMinECut() const { return fMinECut; } + virtual Bool_t GetRejectBelowThreshold() const { return fRejectBelowThreshold; } - virtual void SetTimeMin(Float_t t) { fTimeMin = t; } - virtual void SetTimeMax(Float_t t) { fTimeMax = t; } - virtual void SetTimeCut(Float_t t) { fTimeCut = t; } + virtual void SetTimeMin(Float_t t) { fTimeMin = t; } + virtual void SetTimeMax(Float_t t) { fTimeMax = t; } + virtual void SetTimeCut(Float_t t) { fTimeCut = t; } virtual void SetECAClusteringThreshold(Float_t th) { fECAClusteringThreshold = th; } virtual void SetMinECut(Float_t mine) { fMinECut = mine; } virtual void SetECALocalMaxCut(Float_t cut) { fECALocMaxCut = cut; } virtual void SetECALogWeight(Float_t w) { fECAW0 = w; } + virtual void SetRejectBelowThreshold(Bool_t reject) { fRejectBelowThreshold = reject; } //Unfolding @@ -88,24 +89,29 @@ public: virtual void SetPar5 (Int_t ipar, Double_t par) { fPar5 [ipar] = par; } virtual void SetPar6 (Int_t ipar, Double_t par) { fPar6 [ipar] = par; } virtual void InitClusterUnfolding() { - fClusterUnfolding=new AliEMCALUnfolding(fGeom,fECALocMaxCut,fSSPars,fPar5,fPar6); } + fClusterUnfolding=new AliEMCALUnfolding(fGeom,fECALocMaxCut,fSSPars,fPar5,fPar6); + fClusterUnfolding->SetThreshold(fMinECut); + fClusterUnfolding->SetRejectBelowThreshold(fRejectBelowThreshold); } //NxN (only used in NxN clusterizer) - virtual void SetNRowDiff(Int_t ) { ; } - virtual void SetNColDiff(Int_t ) { ; } - virtual void SetEnergyGrad(Bool_t ) { ; } + virtual void SetNRowDiff(Int_t ) { ; } + virtual void SetNColDiff(Int_t ) { ; } + virtual void SetEnergyGrad(Bool_t ) { ; } - virtual Int_t GetNRowDiff() const { return -1 ; } - virtual Int_t GetNColDiff() const { return -1 ; } - virtual Bool_t GetEnergyGrad() const { return -1 ; } + virtual Int_t GetNRowDiff() const { return -1 ; } + virtual Int_t GetNColDiff() const { return -1 ; } + virtual Bool_t GetEnergyGrad() const { return -1 ; } // add for clusterizing task - virtual void SetDigitsArr(TClonesArray *arr) { fDigitsArr = arr; } - virtual const TObjArray *GetRecPoints() const { return fRecPoints; } - void SetInputCalibrated(Bool_t val); - void SetJustClusters (Bool_t val); + virtual void SetDigitsArr(TClonesArray *arr) { fDigitsArr = arr ; } + virtual TClonesArray *GetDigits() { if (!fDigitsArr) + fDigitsArr = new TClonesArray("AliEMCALDigit",12000); + return fDigitsArr ; } + virtual const TObjArray *GetRecPoints() const { return fRecPoints ; } + void SetInputCalibrated(Bool_t val); + void SetJustClusters (Bool_t val); protected: @@ -138,6 +144,7 @@ protected: Float_t fECALocMaxCut; // minimum energy difference to distinguish local maxima in a cluster Float_t fECAW0; // logarithmic weight for the cluster center of gravity calculation Float_t fMinECut; // minimum energy for a digit to be a member of a cluster + Bool_t fRejectBelowThreshold; // split (false-default) or reject (true) cell energy below threshold after UF AliEMCALUnfolding *fClusterUnfolding; //!pointer to unfolding object Double_t fSSPars[8]; // shower shape parameters @@ -145,9 +152,10 @@ protected: Double_t fPar6[3]; // shower shape parameter 6 private: - AliEMCALClusterizer(const AliEMCALClusterizer &); + AliEMCALClusterizer( const AliEMCALClusterizer &); AliEMCALClusterizer & operator = (const AliEMCALClusterizer &); - ClassDef(AliEMCALClusterizer,7) // Clusterization algorithm class + ClassDef(AliEMCALClusterizer,8) // Clusterization algorithm class + }; #endif // AliEMCALCLUSTERIZER_H