]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALClusterizer.h
change method name
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizer.h
index 011b9671e79bc4288e7fa6b08c5be4c72f1865f8..3c2c81756db74c99ec1322daa870ad05044aa93a 100644 (file)
 //_________________________________________________________________________
 
 // --- ROOT system ---
-#include "AliLog.h"
-#include "TObject.h" 
+#include <TObject.h>
+#include <TClonesArray.h>
 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