]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRecoParam.h
Fixes for cmake
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRecoParam.h
index 0b14d425dd6b439a65a0d9ae754dca4e4b70b25f..bd2037073c41b3b11865541229a36824fdd89c59 100644 (file)
@@ -8,10 +8,9 @@
 // Base class for the PHOS reconstruction parameters.
 // Do not use in the reconstruction; use derivative classes instead.
 
-#include "TNamed.h"
+#include "AliDetectorRecoParam.h"
 
-
-class AliPHOSRecoParam : public TNamed {
+class AliPHOSRecoParam : public AliDetectorRecoParam {
 
 public:
 
@@ -20,36 +19,79 @@ public:
   AliPHOSRecoParam& operator = (const AliPHOSRecoParam& recoParam);
   virtual ~AliPHOSRecoParam() {}
 
-  Float_t GetClusteringThreshold() const { return fClusteringThreshold;  }
-  Float_t GetLocalMaxCut()         const { return fLocMaxCut;            }
-  Float_t GetMinE()                const { return fMinE;                 }
-  Float_t GetLogWeight()           const { return fW0;                   }
-  Bool_t  SubtractPedestals()      const { return fSubtractPedestals;    }
-  Bool_t  ToUnfold()               const { return fUnfold;               }
-  Bool_t  IsOldRCUFormat()         const { return fOldRCUFormat;         }
-  const char* DecoderVersion()     const { return fDecoderVersion.Data();}
-
-  void SetClusteringThreshold(Float_t cluth)      { fClusteringThreshold=cluth;   }
-  void SetLocalMaxCut(Float_t cut)                { fLocMaxCut          =cut;     }
-  void SetMinE(Float_t minE)                      { fMinE               =minE;    }
-  void SetLogWeight(Float_t w)                    { fW0                 =w;       }
-  void SetSubtractPedestals(Bool_t subtract)      { fSubtractPedestals  =subtract;} 
-  void SetDecoderVersion(const char* version="v1"){fDecoderVersion      =version ;}
-  void SetUnfolding(Bool_t toUnfold=kFALSE)       {fUnfold              =toUnfold;}
-  void SetOldRCUFormat(Bool_t oldRCU = kTRUE)     {fOldRCUFormat        =oldRCU;  }
+  Float_t GetEMCClusteringThreshold() const { return fEMCClusteringThreshold;  }
+  Float_t GetEMCLocalMaxCut()         const { return fEMCLocMaxCut;            }
+  Float_t GetEMCRawDigitThreshold()   const { return fEMCRawDigitThreshold;  }
+  Float_t GetEMCMinE()                const { return fEMCMinE;                 }
+  Float_t GetEMCLogWeight()           const { return fEMCW0;                   }
+  Float_t GetEMCSampleQualityCut()    const { return fEMCSampleQualityCut;     }
+  Float_t GetEMCEcoreRadius()         const { return fEMCEcoreRadius;          }
+  Bool_t  EMCEcore2ESD()              const { return fEMCEcore2ESD;            }
+  Bool_t  EMCSubtractPedestals()      const { return fEMCSubtractPedestals;    }
+  Bool_t  EMCToUnfold()               const { return fEMCUnfold;               }
+  const char* EMCFitterVersion()      const { return fEMCFitterVersion.Data(); }
+  Bool_t  GetEMCEnergyCorrectionOn()  const { return fEMCEnergyCorrectionOn;   }
+  Int_t   GetGlobalAltroOffset()      const { return fGlobalAltroOffset ;      }
+  Int_t   GetGlobalAltroThreshold()   const { return fGlobalAltroThreshold ;   }
+
+  Float_t GetCPVClusteringThreshold() const { return fCPVClusteringThreshold;  }
+  Float_t GetCPVLocalMaxCut()         const { return fCPVLocMaxCut;            }
+  Float_t GetCPVMinE()                const { return fCPVMinE;                 }
+  Float_t GetCPVLogWeight()           const { return fCPVW0;                   }
+  Bool_t  CPVToUnfold()               const { return fCPVUnfold;               }
+
+  void SetEMCClusteringThreshold(Float_t cluth)      { fEMCClusteringThreshold=cluth;   }
+  void SetEMCLocalMaxCut(Float_t cut)                { fEMCLocMaxCut          =cut;     }
+  void SetEMCRawDigitThreshold(Float_t rawDigTh)     { fEMCRawDigitThreshold  =rawDigTh;}
+  void SetEMCMinE(Float_t minE)                      { fEMCMinE               =minE;    }
+  void SetEMCLogWeight(Float_t w)                    { fEMCW0                 =w;       }
+  void SetEMCSampleQualityCut(Float_t qu)            { fEMCSampleQualityCut   =qu;      }
+  void SetEMCEcoreRadius(Float_t rCore)              { fEMCEcoreRadius        =rCore;   }
+  void SetEMCEcore2ESD(Bool_t ecore)                 { fEMCEcore2ESD          =ecore;   }
+  void SetEMCSubtractPedestals(Bool_t subtract)      { fEMCSubtractPedestals  =subtract;} 
+  void SetEMCFitterVersion(const char* version="v1") { fEMCFitterVersion     =version ; }
+  void SetEMCUnfolding(Bool_t toUnfold=kFALSE)       { fEMCUnfold             =toUnfold;}
+  void SetEMCEnergyCorrectionOn(Bool_t on=kTRUE)     { fEMCEnergyCorrectionOn =on;      }
+  void SetGlobalAltroOffset(Int_t offset=5)          { fGlobalAltroOffset     =offset ; }
+  void SetGlobalAltroThreshold(Int_t ZSth=5)         { fGlobalAltroThreshold  =ZSth;    }
+
+  void SetCPVClusteringThreshold(Float_t cluth)      { fCPVClusteringThreshold=cluth;   }
+  void SetCPVLocalMaxCut(Float_t cut)                { fCPVLocMaxCut          =cut;     }
+  void SetCPVMinE(Float_t minE)                      { fCPVMinE               =minE;    }
+  void SetCPVLogWeight(Float_t w)                    { fCPVW0                 =w;       }
+  void SetCPVUnfolding(Bool_t toUnfold=kFALSE)       { fCPVUnfold            =toUnfold;}
+
+  virtual void Print(const Option_t *option="RecoParam") const;
+
+  static AliPHOSRecoParam* GetDefaultParameters();
+  static const  TObjArray* GetMappings();
 
 protected:
 
-  Float_t fClusteringThreshold;
-  Float_t fLocMaxCut;
-  Float_t fMinE;
-  Float_t fW0;
-  Bool_t  fSubtractPedestals;
-  Bool_t  fUnfold;
-  Bool_t  fOldRCUFormat; // kTRUE if RCU has old firmware (2006-2007)
-  TString fDecoderVersion ;
+  Float_t fEMCClusteringThreshold; // EMC: Min.digit energy to start a new cluster, in GeV
+  Float_t fEMCLocMaxCut;           // EMC: Min.energy difference between two local maxima, in GeV
+  Float_t fEMCRawDigitThreshold;   // EMC: Min.amplitude of a digit produced from raw data in ADC
+  Float_t fEMCMinE;                // EMC: Min.E in the digits list associated with rec.point, in GeV
+  Float_t fEMCW0;                  // EMC: Log.weight to evaluate a local coordinate of rec.point
+  Float_t fEMCSampleQualityCut;    // EMC: Cut on pulse shape fit quality
+  Float_t fEMCEcoreRadius;         // EMC: Radius within which the core energy is calculated, in cm
+  Bool_t  fEMCEcore2ESD;           // EMC: true if Ecore is stored in ESD instead of Etot
+  Bool_t  fEMCSubtractPedestals;   // EMC: true if pedestal should be subtracted (in non-ZS)
+  Bool_t  fEMCUnfold;              // EMC: true if overlapped clusters should be unfolded
+  Bool_t  fEMCEnergyCorrectionOn;  // EMC: if true do non-linear correction of cluster energy
+  TString fEMCFitterVersion ;      // EMC: AliPHOSRawFitter version
+  Int_t   fGlobalAltroOffset ;     // Offset used in ALTRO chips in SZ runs
+  Int_t   fGlobalAltroThreshold ;  // Threshold used in ALTRO chips in SZ runs
+
+  Float_t fCPVClusteringThreshold; // CPV: Min.digit energy to start a new cluster, in GeV
+  Float_t fCPVLocMaxCut;           // CPV: Min.energy difference between two local maxima, in GeV
+  Float_t fCPVMinE;                // CPV: Min.E in the digits list associated with rec.point, in GeV
+  Float_t fCPVW0;                  // CPV: Log.weight to evaluate a local coordinate of rec.point
+  Bool_t  fCPVUnfold;              // CPV: true if overlapped clusters should be unfolded
+
+  static TObjArray* fgkMaps;       // ALTRO mappings for RCU0..RCU3
 
-  ClassDef(AliPHOSRecoParam,2)
+  ClassDef(AliPHOSRecoParam,10)
 };
 
 #endif