]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALRecParam.h
Coverity fix
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALRecParam.h
index 17b077eec3621ceeff2af0517e3a076ad4ce0d6f..b60fe412bd8265300800b18738b718c1cc8d85e1 100644 (file)
 class AliEMCALRecParam : public AliDetectorRecoParam
 {
  public:
+
+  enum AliEMCALClusterizerFlag
+  {
+    kClusterizerv1  = 0,
+    kClusterizerNxN = 1   
+  };
   
   AliEMCALRecParam() ;
   AliEMCALRecParam(const AliEMCALRecParam& recParam);
@@ -35,13 +41,18 @@ class AliEMCALRecParam : public AliDetectorRecoParam
   Float_t GetMinECut            () const     {return fMinECut             ;}
   Float_t GetLocMaxCut          () const     {return fLocMaxCut           ;}
   Float_t GetTimeCut            () const     {return fTimeCut             ;}
+  Float_t GetTimeMin            () const     {return fTimeMin             ;}
+  Float_t GetTimeMax            () const     {return fTimeMax             ;}
   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 SetW0                 (Float_t w0)        {fW0        = w0         ;}
+  void SetMinECut            (Float_t ecut)      {fMinECut   = ecut       ;}
   void SetLocMaxCut          (Float_t locMaxCut) {fLocMaxCut = locMaxCut  ;}
-  void SetTimeCut            (Float_t timeCut)   {fTimeCut = timeCut  ;}
-  void SetUnfold             (Bool_t unfold)     {fUnfold = unfold ; if(fUnfold) AliWarning("Cluster Unfolding ON. Implementing only for eta=0 case!!!");}
+  void SetTimeCut            (Float_t t)         {fTimeCut   = t          ;}
+  void SetTimeMin            (Float_t t)         {fTimeMin   = t          ;}
+  void SetTimeMax            (Float_t t)         {fTimeMax   = t          ;}
+  void SetUnfold             (Bool_t unfold)     {fUnfold = unfold ;}
   
   //PID (Guenole)
   Double_t GetGamma(Int_t i, Int_t j) const       {return fGamma[i][j];} 
@@ -93,7 +104,10 @@ class AliEMCALRecParam : public AliDetectorRecoParam
   void SetNPedSamples(Int_t value)          {fNPedSamples = value;} 
   void SetRemoveBadChannels(Bool_t val)     {fRemoveBadChannels=val; }
   void SetFittingAlgorithm(Int_t val)       {fFittingAlgorithm=val; }
+  void SetFALTROUsage(Bool_t val)           {fUseFALTRO=val; }
+  void SetLEDFit(Bool_t val)                {fFitLEDEvents=val; }
 
+       
   /* raw signal getters */
   Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;}
   Int_t    GetOrderParameter()    const {return fOrderParameter;}
@@ -102,18 +116,31 @@ class AliEMCALRecParam : public AliDetectorRecoParam
   Int_t    GetNPedSamples()       const {return fNPedSamples;}
   Bool_t   GetRemoveBadChannels() const {return fRemoveBadChannels;}
   Int_t    GetFittingAlgorithm()  const {return fFittingAlgorithm; }
-       
-       
-       virtual void Print(Option_t * option="") const ;
+  Bool_t   UseFALTRO()            const {return fUseFALTRO; }
+  Bool_t   FitLEDEvents()         const {return fFitLEDEvents; }
+
+  //Unfolding (Adam)
+  Double_t GetSSPars(Int_t i) const   {return fSSPars[i];}
+  Double_t GetPar5(Int_t i) const     {return fPar5[i];}
+  Double_t GetPar6(Int_t i) const     {return fPar6[i];}
+  void SetSSPars(Int_t i, Double_t param )     {fSSPars[i]=param;}
+  void SetPar5(Int_t i, Double_t param )       {fPar5[i]=param;}
+  void SetPar6(Int_t i, Double_t param )       {fPar6[i]=param;}
+
+
+  virtual void Print(Option_t * option="") const ;
   
   static AliEMCALRecParam* GetDefaultParameters();
   static AliEMCALRecParam* GetLowFluxParam();
   static AliEMCALRecParam* GetHighFluxParam();
   static AliEMCALRecParam* GetCalibParam();
   static AliEMCALRecParam* GetCosmicParam();
-  
+
   static const  TObjArray* GetMappings();
   
+  void    SetClusterizerFlag(Short_t val) { fClusterizerFlag = val;  }
+  Short_t GetClusterizerFlag() const      { return fClusterizerFlag; }
+  
  private:
   //Clustering
   Float_t fClusteringThreshold ; // Minimum energy to seed a EC digit in a cluster
@@ -121,7 +148,10 @@ class AliEMCALRecParam : public AliDetectorRecoParam
   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
-  Float_t fTimeCut ;             // Maximum time of digits in EMC cluster
+  Float_t fTimeCut ;             // Maximum time of digits with respect to EMC cluster max.
+  Float_t fTimeMin ;             // Minimum time of digits
+  Float_t fTimeMax ;             // Maximum time of digits
+  Short_t fClusterizerFlag ;     // Choice of the clusterizer; Default selection (v1) is zero
 
   //PID (Guenole)
   Double_t fGamma[6][6];         // Parameter to Compute PID for photons     
@@ -153,10 +183,17 @@ class AliEMCALRecParam : public AliDetectorRecoParam
   Int_t    fNPedSamples;           // number of time samples to use in pedestal calculation
   Bool_t   fRemoveBadChannels;     // select if bad channels are removed before fitting
   Int_t    fFittingAlgorithm;      // select the fitting algorithm
+  Bool_t   fUseFALTRO;             // get FALTRO (trigger) and put it on trigger digits.
+  Bool_t   fFitLEDEvents;          // fit LED events or not
+       
+  //Shower shape parameters (Adam)
+  Double_t fSSPars[8]; // Unfolding shower shape parameters
+  Double_t fPar5[3];   // UF SSPar nr 5
+  Double_t fPar6[3];   // UF SSPar nr 6
 
   static TObjArray* fgkMaps;       // ALTRO mappings for RCU0..RCUX
   
-  ClassDef(AliEMCALRecParam,9)     // Reconstruction parameters
+  ClassDef(AliEMCALRecParam,14)     // Reconstruction parameters
     
     } ;