X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSRecoParam.h;h=fb939582c0bfa83838e9fab8a7cd7cfc583d9782;hb=daf018d547d0e6fc944cb23dfe7926d1cac53476;hp=dbe055f595180e235f006b2808fa34f1023b0e3e;hpb=a42611a93d02111e0ebe98f06459b7ab4e647f1d;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSRecoParam.h b/PHOS/AliPHOSRecoParam.h index dbe055f5951..fb939582c0b 100644 --- a/PHOS/AliPHOSRecoParam.h +++ b/PHOS/AliPHOSRecoParam.h @@ -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,33 +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; } - 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 ;} + 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* EMCDecoderVersion() const { return fEMCDecoderVersion.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 SetEMCDecoderVersion(const char* version="v1"){ fEMCDecoderVersion =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; - 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 fEMCDecoderVersion ; // EMC: AliPHOSRawDecoder 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,1) + ClassDef(AliPHOSRecoParam,10) }; #endif