]>
Commit | Line | Data |
---|---|---|
3a8be91c | 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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //----------------------------------------------------------------------------- | |
9 | // Container of EMCAL reconstruction parameters | |
10 | // The purpose of this object is to store it to OCDB | |
b4133f05 | 11 | // and retrieve it in AliEMCALClusterizerv1, AliEMCALPID, |
12 | // AliEMCALTracker and use it to configure AliEMCALRawUtils | |
13 | // | |
14 | // | |
3a8be91c | 15 | // Author: Yuri Kharlov |
16 | //----------------------------------------------------------------------------- | |
17 | ||
18 | // --- ROOT system --- | |
19 | ||
20 | #include "TObject.h" | |
225cd96d | 21 | #include "AliLog.h" |
3a8be91c | 22 | |
23 | class AliEMCALRecParam : public TObject | |
24 | { | |
25 | public: | |
26 | ||
27 | AliEMCALRecParam() ; | |
28 | virtual ~AliEMCALRecParam() {} | |
8ba062b1 | 29 | |
225cd96d | 30 | //Clustering (Unfolding : Cynthia) |
c47157cd | 31 | Float_t GetClusteringThreshold() const {return fClusteringThreshold;} |
32 | Float_t GetW0 () const {return fW0 ;} | |
33 | Float_t GetMinECut () const {return fMinECut ;} | |
225cd96d | 34 | Float_t GetLocMaxCut () const {return fLocMaxCut ;} |
35 | Bool_t GetUnfold () const {return fUnfold ;} | |
3a8be91c | 36 | void SetClusteringThreshold(Float_t thrsh) {fClusteringThreshold = thrsh;} |
37 | void SetW0 (Float_t w0) {fW0 = w0 ;} | |
38 | void SetMinECut (Float_t minEcut) {fMinECut = minEcut ;} | |
225cd96d | 39 | void SetLocMaxCut (Float_t locMaxCut) {fLocMaxCut = locMaxCut ;} |
0561e246 | 40 | void SetUnfold (Bool_t unfold) {fUnfold = unfold ; if(fUnfold) AliWarning("Cluster Unfolding ON. Implementing only for eta=0 case!!!");} |
8ba062b1 | 41 | |
42 | //PID (Guenole) | |
43 | Double_t GetGamma(Int_t i, Int_t j) const {return fGamma[i][j];} | |
44 | Double_t GetHadron(Int_t i, Int_t j) const {return fHadron[i][j];} | |
45 | Double_t GetPiZero5to10(Int_t i, Int_t j) const {return fPiZero5to10[i][j];} | |
46 | Double_t GetPiZero10to60(Int_t i, Int_t j) const {return fPiZero10to60[i][j];} | |
47 | ||
48 | void SetGamma(Int_t i, Int_t j,Double_t param ) {fGamma[i][j]=param;} | |
49 | void SetHadron(Int_t i, Int_t j,Double_t param ) {fHadron[i][j]=param;} | |
50 | void SetPiZero5to10(Int_t i, Int_t j,Double_t param) {fPiZero5to10[i][j]=param;} | |
51 | void SetPiZero10to60(Int_t i, Int_t j,Double_t param) {fPiZero10to60[i][j]=param;} | |
52 | ||
53 | //Track Matching (Alberto) | |
54 | /* track matching cut setters */ | |
55 | void SetTrkCutX(Double_t value) {fTrkCutX = value;} | |
56 | void SetTrkCutY(Double_t value) {fTrkCutY = value;} | |
57 | void SetTrkCutZ(Double_t value) {fTrkCutZ = value;} | |
58 | void SetTrkCutR(Double_t value) {fTrkCutR = value;} | |
59 | void SetTrkCutAlphaMin(Double_t value) {fTrkCutAlphaMin = value;} | |
60 | void SetTrkCutAlphaMax(Double_t value) {fTrkCutAlphaMax = value;} | |
61 | void SetTrkCutAngle(Double_t value) {fTrkCutAngle = value;} | |
62 | /* track matching cut getters */ | |
63 | Double_t GetTrkCutX() const {return fTrkCutX;} | |
64 | Double_t GetTrkCutY() const {return fTrkCutY;} | |
65 | Double_t GetTrkCutZ() const {return fTrkCutZ;} | |
66 | Double_t GetTrkCutR() const {return fTrkCutR;} | |
67 | Double_t GetTrkCutAlphaMin() const {return fTrkCutAlphaMin;} | |
68 | Double_t GetTrkCutAlphaMax() const {return fTrkCutAlphaMax;} | |
69 | Double_t GetTrkCutAngle() const {return fTrkCutAngle;} | |
70 | ||
b4133f05 | 71 | //Raw signal fitting (Jenn) |
72 | /* raw signal setters */ | |
73 | void SetHighLowGainFactor(Double_t value) {fHighLowGainFactor = value;} | |
74 | void SetOrderParameter(Int_t value) {fOrderParameter = value;} | |
75 | void SetTau(Double_t value) {fTau = value;} | |
76 | void SetNoiseThreshold(Int_t value) {fNoiseThreshold = value;} | |
77 | void SetNPedSamples(Int_t value) {fNPedSamples = value;} | |
78 | /* raw signal getters */ | |
79 | Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;} | |
80 | Int_t GetOrderParameter() const {return fOrderParameter;} | |
81 | Double_t GetTau() const {return fTau;} | |
82 | Int_t GetNoiseThreshold() const {return fNoiseThreshold;} | |
83 | Int_t GetNPedSamples() const {return fNPedSamples;} | |
84 | ||
8ba062b1 | 85 | virtual void Print(Option_t * option="") const ; |
86 | ||
feedcab9 | 87 | static const TObjArray* GetMappings(); |
3a8be91c | 88 | |
89 | private: | |
8ba062b1 | 90 | //Clustering |
3a8be91c | 91 | Float_t fClusteringThreshold ; // minimum energy to seed a EC digit in a cluster |
92 | Float_t fW0 ; // logarithmic weight for the cluster center of gravity calculation | |
93 | Float_t fMinECut; // Minimum energy for a digit to be a member of a cluster | |
225cd96d | 94 | Bool_t fUnfold; // flag to perform cluster unfolding |
95 | Float_t fLocMaxCut; // minimum energy difference to consider local maxima in a cluster | |
3a8be91c | 96 | |
8ba062b1 | 97 | //PID (Guenole) |
98 | Double_t fGamma[6][6]; // Parameter to Compute PID | |
99 | Double_t fHadron[6][6]; // Parameter to Compute PID | |
100 | Double_t fPiZero5to10[6][6]; // Parameter to Compute PID | |
101 | Double_t fPiZero10to60[6][6]; // Parameter to Compute PID | |
102 | ||
103 | //Track-Matching (Alberto) | |
104 | Double_t fTrkCutX; // X-difference cut for track matching | |
105 | Double_t fTrkCutY; // Y-difference cut for track matching | |
106 | Double_t fTrkCutZ; // Z-difference cut for track matching | |
107 | Double_t fTrkCutR; // cut on allowed track-cluster distance | |
108 | Double_t fTrkCutAlphaMin; // cut on 'alpha' parameter for track matching (min) | |
109 | Double_t fTrkCutAlphaMax; // cut on 'alpha' parameter for track matching (min) | |
110 | Double_t fTrkCutAngle; // cut on relative angle between different track points for track matching | |
111 | ||
b4133f05 | 112 | //Raw signal fitting parameters (Jenn) |
113 | Double_t fHighLowGainFactor; //gain factor to convert between high and low gain | |
114 | Int_t fOrderParameter; //order parameter for raw signal fit | |
115 | Double_t fTau; //decay constant for raw signal fit | |
116 | Int_t fNoiseThreshold; //threshold to consider signal or noise | |
117 | Int_t fNPedSamples; //number of time samples to use in pedestal calculation | |
118 | ||
feedcab9 | 119 | static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCUX |
120 | ||
225cd96d | 121 | ClassDef(AliEMCALRecParam,5) // Reconstruction parameters |
3a8be91c | 122 | |
123 | } ; | |
124 | ||
125 | #endif // ALIEMCALRECPARAM_H | |
8ba062b1 | 126 |