]>
Commit | Line | Data |
---|---|---|
3a8be91c | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* $Id$ */ | |
17 | // --- AliRoot header files --- | |
feedcab9 | 18 | #include "TObjArray.h" |
19 | #include "AliCDBManager.h" | |
20 | #include "AliCDBEntry.h" | |
3a8be91c | 21 | #include "AliEMCALRecParam.h" |
22 | #include "AliLog.h" | |
23 | ||
24 | ClassImp(AliEMCALRecParam) | |
25 | ||
feedcab9 | 26 | TObjArray* AliEMCALRecParam::fgkMaps =0; //ALTRO mappings |
27 | ||
3a8be91c | 28 | //----------------------------------------------------------------------------- |
29 | // Container of EMCAL reconstruction parameters | |
30 | // The purpose of this object is to store it to OCDB | |
31 | // and retrieve it in AliEMCALClusterizerv1 | |
32 | // Author: Yuri Kharlov | |
33 | //----------------------------------------------------------------------------- | |
34 | ||
35 | AliEMCALRecParam::AliEMCALRecParam(): | |
8ba062b1 | 36 | fClusteringThreshold(0.5),fW0(4.5),fMinECut(0.45), //clustering |
37 | fTrkCutX(6.0), fTrkCutY(6.0), fTrkCutZ(6.0), fTrkCutR(10.0),//track matching | |
38 | fTrkCutAlphaMin(-50.0), fTrkCutAlphaMax(50.0), fTrkCutAngle(10000.0) //track matching | |
c47157cd | 39 | { |
40 | // default reco values | |
8ba062b1 | 41 | |
42 | //PID parameters (Guenole) | |
43 | ||
44 | // as a first step, all array elements are initialized to 0.0 | |
45 | Int_t i, j; | |
46 | for (i = 0; i < 6; i++) { | |
47 | for (j = 0; j < 6; j++) { | |
48 | fGamma[i][j] = fHadron[i][j] = fPiZero5to10[i][j] = fPiZero10to60[i][j] = 0.; | |
49 | } | |
50 | } | |
51 | ||
52 | // then, only the ones which must be not zero are initialized | |
53 | // while the others will remain to the value 0.0 | |
54 | ||
55 | fGamma[0][0] = 0.038022; | |
56 | fGamma[0][1] = -0.0001883; | |
57 | fGamma[0][2] = 5.449e-06; | |
58 | ||
59 | fGamma[1][0] = 0.207313; | |
60 | fGamma[1][1] = -0.000978; | |
61 | fGamma[1][2] = 0.00001634; | |
62 | ||
63 | fGamma[2][0] = 0.043364; | |
64 | fGamma[2][1] = -0.0002048; | |
65 | fGamma[2][2] = 8.661e-06; | |
66 | fGamma[2][3] = -1.353e-07; | |
67 | ||
68 | fGamma[3][0] = 0.265004; | |
69 | fGamma[3][1] = 0.061298; | |
70 | fGamma[3][2] = -0.003203; | |
71 | fGamma[3][3] = 4.73e-05; | |
72 | ||
73 | fGamma[4][0] = 0.243579; | |
74 | fGamma[4][1] = -1.614e-05; | |
75 | ||
76 | fGamma[5][0] = 0.002942; | |
77 | fGamma[5][1] = -3.976e-05; | |
78 | ||
79 | fHadron[0][0] = 0.011945 / 3.; | |
80 | fHadron[0][1] = 0.000386 / 3.; | |
81 | fHadron[0][2] = -0.000014 / 3.; | |
82 | fHadron[0][3] = 1.336e-07 / 3.; | |
83 | ||
84 | fHadron[1][0] = 0.496544; | |
85 | fHadron[1][1] = -0.003226; | |
86 | fHadron[1][2] = 0.00001678; | |
87 | ||
88 | fHadron[2][0] = 0.144838; | |
89 | fHadron[2][1] = -0.002954; | |
90 | fHadron[2][2] = 0.00008754; | |
91 | fHadron[2][3] = -7.587e-07; | |
92 | ||
93 | fHadron[3][0] = 1.264461 / 7.; | |
94 | fHadron[3][1] = 0.002097 / 7.; | |
95 | ||
96 | fHadron[4][0] = 0.261950; | |
97 | fHadron[4][1] = -0.001078; | |
98 | fHadron[4][2] = 0.00003237; | |
99 | fHadron[4][3] = -3.241e-07; | |
100 | fHadron[4][4] = 0.; | |
101 | fHadron[4][5] = 0.; | |
102 | fHadron[5][0] = 0.010317; | |
103 | fHadron[5][1] = 0.; | |
104 | fHadron[5][2] = 0.; | |
105 | fHadron[5][3] = 0.; | |
106 | fHadron[5][4] = 0.; | |
107 | fHadron[5][5] = 0.; | |
108 | ||
109 | fPiZero5to10[0][0] = 0.009138; | |
110 | fPiZero5to10[0][1] = 0.0006377; | |
111 | ||
112 | fPiZero5to10[1][0] = 0.08; | |
113 | ||
114 | fPiZero5to10[2][0] = -0.061119; | |
115 | fPiZero5to10[2][1] = 0.019013; | |
116 | ||
117 | fPiZero5to10[3][0] = 0.2; | |
118 | ||
119 | fPiZero5to10[4][0] = 0.252044; | |
120 | fPiZero5to10[4][1] = -0.002315; | |
121 | ||
122 | fPiZero5to10[5][0] = 0.002942; | |
123 | fPiZero5to10[5][1] = -3.976e-05; | |
124 | ||
125 | fPiZero10to60[0][0] = 0.009138; | |
126 | fPiZero10to60[0][1] = 0.0006377; | |
127 | ||
128 | fPiZero10to60[1][0] = 1.272837; | |
129 | fPiZero10to60[1][1] = -0.069708; | |
130 | fPiZero10to60[1][2] = 0.001568; | |
131 | fPiZero10to60[1][3] = -1.162e-05; | |
132 | ||
133 | fPiZero10to60[2][0] = 0.139703; | |
134 | fPiZero10to60[2][1] = 0.003687; | |
135 | fPiZero10to60[2][2] = -0.000568; | |
136 | fPiZero10to60[2][3] = 1.498e-05; | |
137 | fPiZero10to60[2][4] = -1.174e-07; | |
138 | ||
139 | fPiZero10to60[3][0] = -0.826367; | |
140 | fPiZero10to60[3][1] = 0.096951; | |
141 | fPiZero10to60[3][2] = -0.002215; | |
142 | fPiZero10to60[3][3] = 2.523e-05; | |
143 | ||
144 | fPiZero10to60[4][0] = 0.249890; | |
145 | fPiZero10to60[4][1] = -0.000063; | |
146 | ||
147 | fPiZero10to60[5][0] = 0.002942; | |
148 | fPiZero10to60[5][1] = -3.976e-05; | |
149 | ||
150 | //track matching | |
151 | ||
152 | ||
153 | ||
c47157cd | 154 | } |
3a8be91c | 155 | |
156 | //----------------------------------------------------------------------------- | |
157 | void AliEMCALRecParam::Print(Option_t *) const | |
158 | { | |
159 | printf("AliEMCALRecParam::Print()\n"); | |
160 | // Print reconstruction parameters to stdout | |
8ba062b1 | 161 | AliInfo(Form("Clusterization parameters :\n fClusteringThreshold=%.3f,\n fW0=%.3f,\n fMinECut=%.3f\n", |
3a8be91c | 162 | fClusteringThreshold,fW0,fMinECut)); |
163 | ||
8ba062b1 | 164 | AliInfo(Form("Track-matching cuts :\n x %f, y %f, z %f, R %f \n alphaMin %f, alphaMax %f, Angle %f\n", fTrkCutX, fTrkCutY, fTrkCutZ, fTrkCutR,fTrkCutAlphaMin,fTrkCutAlphaMax, fTrkCutAngle)); |
165 | ||
166 | AliInfo(Form("PID parameters, Gamma :\n")); | |
167 | for(Int_t i = 0; i < 6; i++){ | |
168 | for(Int_t j = 0; j < 6; j++){ | |
169 | printf(" %f, ", fGamma[i][j]); | |
170 | } | |
171 | printf("\n"); | |
172 | } | |
173 | ||
174 | printf("\n"); | |
175 | ||
176 | AliInfo(Form("PID parameters, Hadron :\n")); | |
177 | for(Int_t i = 0; i < 6; i++){ | |
178 | for(Int_t j = 0; j < 6; j++){ | |
179 | printf(" %f, ", fHadron[i][j]); | |
180 | } | |
181 | printf("\n"); | |
182 | } | |
183 | ||
184 | printf("\n"); | |
185 | ||
186 | AliInfo(Form("PID parameters, Pi0zero5to10 :\n")); | |
187 | for(Int_t i = 0; i < 6; i++){ | |
188 | for(Int_t j = 0; j < 6; j++){ | |
189 | printf(" %f, ", fPiZero5to10[i][j]); | |
190 | } | |
191 | printf("\n"); | |
192 | } | |
193 | ||
194 | printf("\n"); | |
195 | ||
196 | AliInfo(Form("PID parameters, Pi0zero10to60 :\n")); | |
197 | for(Int_t i = 0; i < 6; i++){ | |
198 | for(Int_t j = 0; j < 6; j++){ | |
199 | printf(" %f, ", fPiZero10to60[i][j]); | |
200 | } | |
201 | printf("\n"); | |
202 | } | |
203 | ||
204 | printf("\n"); | |
205 | ||
3a8be91c | 206 | } |
8ba062b1 | 207 | |
feedcab9 | 208 | //----------------------------------------------------------------------------- |
209 | const TObjArray* AliEMCALRecParam::GetMappings() | |
210 | { | |
211 | //Returns array of AliAltroMappings for RCU0..RCUX. | |
212 | //If not found, read it from OCDB. | |
213 | ||
214 | //Quick check as follows: | |
215 | // root [0] | |
216 | //AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT"); | |
217 | // root [1] AliCDBManager::Instance()->SetRun(1); | |
218 | // root [2] TObjArray* maps = AliEMCALRecParam::GetMappings(); | |
219 | // root [3] maps->Print(); | |
220 | ||
221 | if(fgkMaps) return fgkMaps; | |
222 | ||
223 | AliCDBEntry* entry = AliCDBManager::Instance()->Get("EMCAL/Calib/Mapping"); | |
224 | if(entry) | |
225 | fgkMaps = (TObjArray*)entry->GetObject(); | |
226 | ||
227 | return fgkMaps; | |
228 | ||
229 | } | |
230 |