]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSRecoParam.h
Radius for core energy is set via AliPHOSRecoParam.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRecoParam.h
1 #ifndef ALIPHOSRECOPARAM_H
2 #define ALIPHOSRECOPARAM_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                          */
5
6 /* $Id$ */
7                                               
8 // Base class for the PHOS reconstruction parameters.
9 // Do not use in the reconstruction; use derivative classes instead.
10
11 #include "TNamed.h"
12
13
14 class AliPHOSRecoParam : public TNamed {
15
16 public:
17
18   AliPHOSRecoParam();
19   AliPHOSRecoParam(const AliPHOSRecoParam& recoParam);
20   AliPHOSRecoParam& operator = (const AliPHOSRecoParam& recoParam);
21   virtual ~AliPHOSRecoParam() {}
22
23   Float_t GetClusteringThreshold() const { return fClusteringThreshold;  }
24   Float_t GetLocalMaxCut()         const { return fLocMaxCut;            }
25   Float_t GetMinE()                const { return fMinE;                 }
26   Float_t GetLogWeight()           const { return fW0;                   }
27   Float_t GetSampleQualityCut()    const { return fSampleQualityCut;     }
28   Float_t GetEcoreRadius()         const { return fEcoreRadius;          }
29   Bool_t  Ecore2ESD()              const { return fEcore2ESD;            }
30   Bool_t  SubtractPedestals()      const { return fSubtractPedestals;    }
31   Bool_t  ToUnfold()               const { return fUnfold;               }
32   const char* DecoderVersion()     const { return fDecoderVersion.Data();}
33
34   void SetClusteringThreshold(Float_t cluth)      { fClusteringThreshold=cluth;   }
35   void SetLocalMaxCut(Float_t cut)                { fLocMaxCut          =cut;     }
36   void SetMinE(Float_t minE)                      { fMinE               =minE;    }
37   void SetLogWeight(Float_t w)                    { fW0                 =w;       }
38   void SetSampleQualityCut(Float_t qu)            { fSampleQualityCut   =qu;      }
39   void SetEcoreRadius(Float_t rCore)              { fEcoreRadius        =rCore;   }
40   void SetEcore2ESD(Bool_t ecore)                 { fEcore2ESD          =ecore;   }
41   void SetSubtractPedestals(Bool_t subtract)      { fSubtractPedestals  =subtract;} 
42   void SetDecoderVersion(const char* version="v1"){fDecoderVersion      =version ;}
43   void SetUnfolding(Bool_t toUnfold=kFALSE)       {fUnfold              =toUnfold;}
44
45 protected:
46
47   Float_t fClusteringThreshold; // Min.digit energy to start a new cluster, in GeV
48   Float_t fLocMaxCut;           // Min.energy difference between two local maxima, in GeV
49   Float_t fMinE;                // Min.E in the digits list associated with rec.point, in GeV
50   Float_t fW0;                  // Log.weight to evaluate a local coordinate of rec.point
51   Float_t fSampleQualityCut;    // Cut on pusle shape fit quality
52   Float_t fEcoreRadius;         // Radius within which the core energy is calculated, in cm
53   Bool_t  fEcore2ESD;           // true if Ecore is stored in ESD instead of Etot
54   Bool_t  fSubtractPedestals;   // true if pedestal should be subtracted (in non-ZS)
55   Bool_t  fUnfold;              // true if overlapped clusters should be unfolded
56   TString fDecoderVersion ;     // AliPHOSRawDecoder version
57
58   ClassDef(AliPHOSRecoParam,4)
59 };
60
61 #endif