// --- 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];}
virtual void Print(Option_t * option="") const ;
+ static AliEMCALRecParam* GetDefaultParameters();
+ static AliEMCALRecParam* GetLowFluxParam();
+ static AliEMCALRecParam* GetHighFluxParam();
+
static const TObjArray* GetMappings();
private:
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
static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCUX
- ClassDef(AliEMCALRecParam,4) // Reconstruction parameters
+ ClassDef(AliEMCALRecParam,6) // Reconstruction parameters
} ;