]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALRecParam.h
warning fixed
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALRecParam.h
index 243c664682d09feefd4320afa07b042881b2c8bd..8e6cad227717c7e8b3931f6d87c85ddf044792a4 100644 (file)
@@ -8,28 +8,38 @@
 //-----------------------------------------------------------------------------
 // Container of EMCAL reconstruction parameters
 // The purpose of this object is to store it to OCDB
-// and retrieve it in AliEMCALClusterizerv1, AliEMCALPID and AliEMCALTracker
+// and retrieve it in AliEMCALClusterizerv1, AliEMCALPID,
+// AliEMCALTracker and use it to configure AliEMCALRawUtils
+// 
+// 
 // Author: Yuri Kharlov
 //-----------------------------------------------------------------------------
 
 // --- ROOT system ---
 
-#include "TObject.h" 
+#include "AliDetectorRecoParam.h" 
+#include "AliLog.h"
 
-class AliEMCALRecParam : public TObject
+class AliEMCALRecParam : public AliDetectorRecoParam
 {
 public:
   
   AliEMCALRecParam() ;
+  AliEMCALRecParam(const AliEMCALRecParam& recParam);
+  AliEMCALRecParam& operator = (const AliEMCALRecParam& recParam);
   virtual ~AliEMCALRecParam() {}
  
- //Clustering
+  //Clustering (Unfolding : Cynthia)
   Float_t GetClusteringThreshold() const     {return fClusteringThreshold;}
   Float_t GetW0                 () const     {return fW0                 ;}
   Float_t GetMinECut            () const     {return fMinECut            ;}
+  Float_t GetLocMaxCut          () const     {return fLocMaxCut            ;}
+  Bool_t  GetUnfold             () const     {return fUnfold            ;}
   void SetClusteringThreshold(Float_t thrsh)   {fClusteringThreshold = thrsh;}
   void SetW0                 (Float_t w0)      {fW0 = w0                    ;}
   void SetMinECut            (Float_t minEcut) {fMinECut = minEcut          ;}
+  void SetLocMaxCut          (Float_t locMaxCut) {fLocMaxCut = locMaxCut    ;}
+  void SetUnfold             (Bool_t unfold)     {fUnfold = unfold          ; if(fUnfold) AliWarning("Cluster Unfolding ON. Implementing only for eta=0 case!!!");}
 
   //PID (Guenole)
   Double_t GetGamma(Int_t i, Int_t j) const    {return fGamma[i][j];} 
@@ -60,14 +70,35 @@ public:
   Double_t GetTrkCutAlphaMax() const {return fTrkCutAlphaMax;}
   Double_t GetTrkCutAngle() const    {return fTrkCutAngle;}
 
+  //Raw signal fitting (Jenn)
+  /* raw signal setters */
+  void SetHighLowGainFactor(Double_t value) {fHighLowGainFactor = value;}
+  void SetOrderParameter(Int_t value)       {fOrderParameter = value;}
+  void SetTau(Double_t value)               {fTau = value;}
+  void SetNoiseThreshold(Int_t value)       {fNoiseThreshold = value;}
+  void SetNPedSamples(Int_t value)          {fNPedSamples = value;}
+  /* raw signal getters */
+  Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;}
+  Int_t    GetOrderParameter()    const {return fOrderParameter;}
+  Double_t GetTau()               const {return fTau;}
+  Int_t    GetNoiseThreshold()    const {return fNoiseThreshold;}
+  Int_t    GetNPedSamples()       const {return fNPedSamples;}
   virtual void Print(Option_t * option="") const ;
 
+  static AliEMCALRecParam* GetDefaultParameters();
+  static AliEMCALRecParam* GetLowFluxParam();
+  static AliEMCALRecParam* GetHighFluxParam();
+
+  static const  TObjArray* GetMappings();
 
 private:
   //Clustering
   Float_t fClusteringThreshold ; // minimum energy to seed a EC digit in a cluster
   Float_t fW0 ;                  // 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 fUnfold;               // flag to perform cluster unfolding
+  Float_t fLocMaxCut;            // minimum energy difference to consider local maxima in a cluster
 
   //PID (Guenole)
   Double_t fGamma[6][6];        // Parameter to Compute PID      
@@ -84,7 +115,16 @@ private:
   Double_t  fTrkCutAlphaMax;       // cut on 'alpha' parameter for track matching (min)
   Double_t  fTrkCutAngle;          // cut on relative angle between different track points for track matching
 
-  ClassDef(AliEMCALRecParam,2)   // Reconstruction parameters
+  //Raw signal fitting parameters (Jenn)
+  Double_t fHighLowGainFactor;     //gain factor to convert between high and low gain
+  Int_t    fOrderParameter;        //order parameter for raw signal fit
+  Double_t fTau;                   //decay constant for raw signal fit
+  Int_t    fNoiseThreshold;        //threshold to consider signal or noise
+  Int_t    fNPedSamples;           //number of time samples to use in pedestal calculation
+
+  static TObjArray* fgkMaps;       // ALTRO mappings for RCU0..RCUX
+
+  ClassDef(AliEMCALRecParam,6)   // Reconstruction parameters
 
 } ;