1 #ifndef ALIEMCALRECPARAM_H
2 #define ALIEMCALRECPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //-----------------------------------------------------------------------------
9 // Container of EMCAL reconstruction parameters
10 // The purpose of this object is to store it to OCDB
11 // and retrieve it in AliEMCALClusterizerv1, AliEMCALPID and AliEMCALTracker
12 // Author: Yuri Kharlov
13 //-----------------------------------------------------------------------------
15 // --- ROOT system ---
19 class AliEMCALRecParam : public TObject
24 virtual ~AliEMCALRecParam() {}
27 Float_t GetClusteringThreshold() const {return fClusteringThreshold;}
28 Float_t GetW0 () const {return fW0 ;}
29 Float_t GetMinECut () const {return fMinECut ;}
30 void SetClusteringThreshold(Float_t thrsh) {fClusteringThreshold = thrsh;}
31 void SetW0 (Float_t w0) {fW0 = w0 ;}
32 void SetMinECut (Float_t minEcut) {fMinECut = minEcut ;}
35 Double_t GetGamma(Int_t i, Int_t j) const {return fGamma[i][j];}
36 Double_t GetHadron(Int_t i, Int_t j) const {return fHadron[i][j];}
37 Double_t GetPiZero5to10(Int_t i, Int_t j) const {return fPiZero5to10[i][j];}
38 Double_t GetPiZero10to60(Int_t i, Int_t j) const {return fPiZero10to60[i][j];}
40 void SetGamma(Int_t i, Int_t j,Double_t param ) {fGamma[i][j]=param;}
41 void SetHadron(Int_t i, Int_t j,Double_t param ) {fHadron[i][j]=param;}
42 void SetPiZero5to10(Int_t i, Int_t j,Double_t param) {fPiZero5to10[i][j]=param;}
43 void SetPiZero10to60(Int_t i, Int_t j,Double_t param) {fPiZero10to60[i][j]=param;}
45 //Track Matching (Alberto)
46 /* track matching cut setters */
47 void SetTrkCutX(Double_t value) {fTrkCutX = value;}
48 void SetTrkCutY(Double_t value) {fTrkCutY = value;}
49 void SetTrkCutZ(Double_t value) {fTrkCutZ = value;}
50 void SetTrkCutR(Double_t value) {fTrkCutR = value;}
51 void SetTrkCutAlphaMin(Double_t value) {fTrkCutAlphaMin = value;}
52 void SetTrkCutAlphaMax(Double_t value) {fTrkCutAlphaMax = value;}
53 void SetTrkCutAngle(Double_t value) {fTrkCutAngle = value;}
54 /* track matching cut getters */
55 Double_t GetTrkCutX() const {return fTrkCutX;}
56 Double_t GetTrkCutY() const {return fTrkCutY;}
57 Double_t GetTrkCutZ() const {return fTrkCutZ;}
58 Double_t GetTrkCutR() const {return fTrkCutR;}
59 Double_t GetTrkCutAlphaMin() const {return fTrkCutAlphaMin;}
60 Double_t GetTrkCutAlphaMax() const {return fTrkCutAlphaMax;}
61 Double_t GetTrkCutAngle() const {return fTrkCutAngle;}
63 virtual void Print(Option_t * option="") const ;
65 static const TObjArray* GetMappings();
69 Float_t fClusteringThreshold ; // minimum energy to seed a EC digit in a cluster
70 Float_t fW0 ; // logarithmic weight for the cluster center of gravity calculation
71 Float_t fMinECut; // Minimum energy for a digit to be a member of a cluster
74 Double_t fGamma[6][6]; // Parameter to Compute PID
75 Double_t fHadron[6][6]; // Parameter to Compute PID
76 Double_t fPiZero5to10[6][6]; // Parameter to Compute PID
77 Double_t fPiZero10to60[6][6]; // Parameter to Compute PID
79 //Track-Matching (Alberto)
80 Double_t fTrkCutX; // X-difference cut for track matching
81 Double_t fTrkCutY; // Y-difference cut for track matching
82 Double_t fTrkCutZ; // Z-difference cut for track matching
83 Double_t fTrkCutR; // cut on allowed track-cluster distance
84 Double_t fTrkCutAlphaMin; // cut on 'alpha' parameter for track matching (min)
85 Double_t fTrkCutAlphaMax; // cut on 'alpha' parameter for track matching (min)
86 Double_t fTrkCutAngle; // cut on relative angle between different track points for track matching
88 static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCUX
90 ClassDef(AliEMCALRecParam,3) // Reconstruction parameters
94 #endif // ALIEMCALRECPARAM_H