]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/macros/RecParamDB/AliEMCALSetRecParamCDB.C
1) Set reconstruction parameter fTimeCut (maximum digit time) in OCDB
[u/mrichter/AliRoot.git] / EMCAL / macros / RecParamDB / AliEMCALSetRecParamCDB.C
CommitLineData
3a8be91c 1// Script to create reconstruction parameters and store them into CDB
2// Author: Yuri Kharlov
3
4/* $Id$ */
5
6#if !defined(__CINT__)
7#include "TControlBar.h"
8#include "TString.h"
9
10#include "AliEMCALRecParam.h"
11#include "AliCDBMetaData.h"
12#include "AliCDBId.h"
13#include "AliCDBEntry.h"
14#include "AliCDBManager.h"
15#include "AliCDBStorage.h"
16#endif
17
18
88cf6bfb 19void AliEMCALSetRecParamCDB(AliRecoParam::EventSpecie_t default = AliRecoParam::kLowMult)
3a8be91c 20{
1e7c9b89 21
3a8be91c 22 // Create an object AliEMCALRecParam and store it to OCDB
1e7c9b89 23
413e6b81 24 //Activate CDB storage
25 AliCDBManager* cdb = AliCDBManager::Instance();
3aa21746 26 if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
1e7c9b89 27
3a8be91c 28 // Create reconstruction parameter object and set parameter values
413e6b81 29 TObjArray* recParamArray = new TObjArray();
1e7c9b89 30
c8a7579b 31 {
32 //default
1e7c9b89 33 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetDefaultParameters();
e658398a 34 AliEMCALRecParam *recParamDB = GetLowMultiplicityParameters();
35 recParamDB->SetName("Default - p+p");
36 recParamDB->SetTitle("Default - p+p");
c8a7579b 37 //Add to the recParamArray
38 recParamDB->SetEventSpecie(AliRecoParam::kDefault);
39 recParamArray->AddLast(recParamDB);
88cf6bfb 40
c8a7579b 41 }
1e7c9b89 42
413e6b81 43 //Add other options here, if desired, for
44 //Cosmic, LowMult and HighMult type events
45 //and add them to the array
1e7c9b89 46
c8a7579b 47 {
48 //For now, default is Pb+Pb, but let's add it again as
49 //the "high mult" version too...
1e7c9b89 50 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetHighFluxParam();
51 AliEMCALRecParam *recParamDB = GetHighMultiplicityParameters();
52 recParamDB->SetName("High Flux - Pb+Pb");
53 recParamDB->SetTitle("High Flux - Pb+Pb");
c8a7579b 54 recParamDB->SetEventSpecie(AliRecoParam::kHighMult);
55 recParamArray->AddLast(recParamDB);
56 }
1e7c9b89 57
c8a7579b 58 {
59 //Low multiplicity parameter modifications:
1e7c9b89 60 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetLowFluxParam();
61 AliEMCALRecParam *recParamDB = GetLowMultiplicityParameters();
62 recParamDB->SetName("Low Flux - p+p");
63 recParamDB->SetTitle("Low Flux - p+p");
c8a7579b 64 recParamDB->SetEventSpecie(AliRecoParam::kLowMult);
65 recParamArray->AddLast(recParamDB);
66
67 }
1e7c9b89 68
98cf874d 69 {
1e7c9b89 70 //Cosmic parameter modifications (same as low multiplicity):
71 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetLowFluxParam();
72 AliEMCALRecParam *recParamDB = GetLowMultiplicityParameters();
73 recParamDB->SetName("Cosmic");
74 recParamDB->SetTitle("Cosmic");
75 recParamDB->SetEventSpecie(AliRecoParam::kCosmic);
76 recParamArray->AddLast(recParamDB);
77
98cf874d 78 }
1e7c9b89 79
98cf874d 80 {
1e7c9b89 81 //Calib parameter modifications (same as low multiplicity):
82 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetLowFluxParam();
83 AliEMCALRecParam *recParamDB = GetLowMultiplicityParameters();
84 recParamDB->SetName("Calibration - LED");
85 recParamDB->SetTitle("Calibration - LED");
86 recParamDB->SetEventSpecie(AliRecoParam::kCalib);
87 recParamArray->AddLast(recParamDB);
88
89 }
90
413e6b81 91 //Set the default version in the array
92 Bool_t defaultIsSet = kFALSE;
93 for(Int_t i = 0; i < recParamArray->GetEntriesFast(); i++) {
94 AliDetectorRecoParam* param = (AliDetectorRecoParam*)recParamArray->UncheckedAt(i);
95 if(!param) continue;
96 if(default & param->GetEventSpecie()) {
97 param->SetAsDefault();
98 defaultIsSet = kTRUE;
99 }
100 }
1e7c9b89 101
413e6b81 102 if(!defaultIsSet) {
103 AliError("The default reconstruction parameters are not set! Exiting...");
3a8be91c 104 return;
105 }
1e7c9b89 106
413e6b81 107 // Store calibration data into database
108 AliCDBMetaData *md = new AliCDBMetaData();
109 md->SetResponsible("J. Klay");
110 md->SetComment("Reconstruction Parameters: EMCAL");
111 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
112 md->SetBeamPeriod(0);
113
114 AliCDBId id("EMCAL/Calib/RecoParam",0,AliCDBRunRange::Infinity());
c8a7579b 115 cdb->GetDefaultStorage()->Put(recParamArray, id, md);
1e7c9b89 116
413e6b81 117 return;
3a8be91c 118}
1e7c9b89 119
120//-----------------------------------------------------------------------------
121AliEMCALRecParam* GetHighMultiplicityParameters()
122{
123 //Set here the high flux/multiplicity ("Pb+Pb") parameters for the reconstruction
124 //Right now it should be the same settings as with
125 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetHighFluxParam();
126 //or
127 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetDefaultParameters();
128
129 AliEMCALRecParam* params = AliEMCALRecParam::GetDefaultParameters();
130
131 //Clusterization
132 params->SetClusteringThreshold(0.5);
133 params->SetW0(4.5);
134 params->SetMinECut(0.45);
135 params->SetUnfold(kFALSE);
136 params->SetLocMaxCut(0.03);
137
138 //Track matching
139 params->SetTrkCutX(6.0);
140 params->SetTrkCutY(6.0);
141 params->SetTrkCutZ(6.0);
142 params->SetTrkCutR(10.0);
143 params->SetTrkCutAlphaMin(-50.0);
144 params->SetTrkCutAlphaMax( 50.0);
145 params->SetTrkCutNITS(3.0);
146 params->SetTrkCutNTPC(20.0);
147 params->SetTrkCutAngle(10000.0); // i.e. exclude this for the moment
148
149 //PID
150
151 // as a first step, all array elements are initialized to 0.0
152 Int_t i, j;
153 for (i = 0; i < 6; i++) {
154 params->SetGammaEnergyProb(i,0.);
155 params->SetHadronEnergyProb(i,0.);
156 params->SetPiZeroEnergyProb(i,0.);
157
158 for (j = 0; j < 6; j++) {
159
160 params->SetGamma(i,j,0.);
161 params->SetHadron(i,j,0.);
162 params->SetPiZero(i,j, 0.);
163 params->SetGamma1to10(i,j,0.);
164 params->SetHadron1to10(i,j,0.);
165 }
166 }
167
168 params->SetGamma(0,0, -7.656908e-01);
169 params->SetGamma(0,1, 2.352536e-01);
170 params->SetGamma(0,2, 1.555996e-02);
171 params->SetGamma(0,3, 2.243525e-04);
172 params->SetGamma(0,4, -2.560087e-06);
173
174 params->SetGamma(1,0, 6.500216e+00);
175 params->SetGamma(1,1, -2.564958e-01);
176 params->SetGamma(1,2, 1.967894e-01);
177 params->SetGamma(1,3, -3.982273e-04);
178 params->SetGamma(1,4, 2.797737e-06);
179
180 params->SetGamma(2,0, 2.416489e+00);
181 params->SetGamma(2,1, -1.601258e-01);
182 params->SetGamma(2,2, 3.126839e-02);
183 params->SetGamma(2,3, 3.387532e-04);
184 params->SetGamma(2,4, -4.089145e-06);
185
186 params->SetGamma(3,0, 0.);
187 params->SetGamma(3,1, -2.696008e+00);
188 params->SetGamma(3,2, 6.920305e-01);
189 params->SetGamma(3,3, -2.281122e-03);
190 params->SetGamma(3,4, 0.);
191
192 params->SetGamma(4,0, 2.281564e-01);
193 params->SetGamma(4,1, -7.575040e-02);
194 params->SetGamma(4,2, 3.813423e-01);
195 params->SetGamma(4,3, -1.243854e-04);
196 params->SetGamma(4,4, 1.232045e-06);
197
198 params->SetGamma(5,0, -3.290107e-01);
199 params->SetGamma(5,1, 3.707545e-02);
200 params->SetGamma(5,2, 2.917397e-03);
201 params->SetGamma(5,3, 4.695306e-05);
202 params->SetGamma(5,4, -3.572981e-07);
203
204 params->SetHadron(0,0, 1.519112e-01);
205 params->SetHadron(0,1, -8.267603e-02);
206 params->SetHadron(0,2, 1.914574e-02);
207 params->SetHadron(0,3, -2.677921e-04);
208 params->SetHadron(0,4, 5.447939e-06);
209
210 params->SetHadron(1,0, 0.);
211 params->SetHadron(1,1, -7.549870e-02);
212 params->SetHadron(1,2, 3.930087e-01);
213 params->SetHadron(1,3, -2.368500e-03);
214 params->SetHadron(1,4, 0.);
215
216 params->SetHadron(2,0, 0.);
217 params->SetHadron(2,1, -2.463152e-02);
218 params->SetHadron(2,2, 1.349257e-01);
219 params->SetHadron(2,3, -1.089440e-03);
220 params->SetHadron(2,4, 0.);
221
222 params->SetHadron(3,0, 0.);
223 params->SetHadron(3,1, 5.101560e-01);
224 params->SetHadron(3,2, 1.458679e-01);
225 params->SetHadron(3,3, 4.903068e-04);
226 params->SetHadron(3,4, 0.);
227
228 params->SetHadron(4,0, 0.);
229 params->SetHadron(4,1, -6.693943e-03);
230 params->SetHadron(4,2, 2.444753e-01);
231 params->SetHadron(4,3, -5.553749e-05);
232 params->SetHadron(4,4, 0.);
233
234 params->SetHadron(5,0, -4.414030e-01);
235 params->SetHadron(5,1, 2.292277e-01);
236 params->SetHadron(5,2, -2.433737e-02);
237 params->SetHadron(5,3, 1.758422e-03);
238 params->SetHadron(5,4, -3.001493e-05);
239
240 params->SetPiZero(0,0, 5.072157e-01);
241 params->SetPiZero(0,1, -5.352747e-01);
242 params->SetPiZero(0,2, 8.499259e-02);
243 params->SetPiZero(0,3, -3.687401e-03);
244 params->SetPiZero(0,4, 5.482280e-05);
245
246 params->SetPiZero(1,0, 4.590137e+02);
247 params->SetPiZero(1,1, -7.079341e+01);
248 params->SetPiZero(1,2, 4.990735e+00);
249 params->SetPiZero(1,3, -1.241302e-01);
250 params->SetPiZero(1,4, 1.065772e-03);
251
252 params->SetPiZero(2,0, 1.376415e+02);
253 params->SetPiZero(2,1, -3.031577e+01);
254 params->SetPiZero(2,2, 2.474338e+00);
255 params->SetPiZero(2,3, -6.903410e-02);
256 params->SetPiZero(2,4, 6.244089e-04);
257
258 params->SetPiZero(3,0, 0.);
259 params->SetPiZero(3,1, 1.145983e+00);
260 params->SetPiZero(3,2, -2.476052e-01);
261 params->SetPiZero(3,3, 1.367373e-02);
262 params->SetPiZero(3,4, 0.);
263
264 params->SetPiZero(4,0, -2.097586e+02);
265 params->SetPiZero(4,1, 6.300800e+01);
266 params->SetPiZero(4,2, -4.038906e+00);
267 params->SetPiZero(4,3, 1.088543e-01);
268 params->SetPiZero(4,4, -9.362485e-04);
269
270 params->SetPiZero(5,0, -1.671477e+01);
271 params->SetPiZero(5,1, 2.995415e+00);
272 params->SetPiZero(5,2, -6.040360e-02);
273 params->SetPiZero(5,3, -6.137459e-04);
274 params->SetPiZero(5,4, 1.847328e-05);
275
276 // High flux ones pp
277
278 params->SetHadronEnergyProb(0, 0.);
279 params->SetHadronEnergyProb(1, 0.);
280 params->SetHadronEnergyProb(2, 6.188452e-02);
281 params->SetHadronEnergyProb(3, 2.030230e+00);
282 params->SetHadronEnergyProb(4, -6.402242e-02);
283
284 // raw signal fitting
285 params->SetHighLowGainFactor(16.);
286 params->SetOrderParameter(2);
287 params->SetTau(2.35);
288 params->SetNoiseThreshold(3);
289 params->SetNPedSamples(5);
290
291 return params ;
292}
293
294//-----------------------------------------------------------------------------
295AliEMCALRecParam* GetLowMultiplicityParameters()
296{
297 // Set here the low flux/multiplicity ("p+p") parameters for the reconstruction
298 //Right now it should be the same settings as with
299 //AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetLowFluxParam();
300
301 AliEMCALRecParam* params = AliEMCALRecParam::GetDefaultParameters();
e658398a 302 params->SetClusteringThreshold(0.1); // 100 MeV
1e7c9b89 303 params->SetMinECut(0.01); //10 MeV
304
305 //PID parameters for pp implemented
306 // as a first step, all array elements are initialized to 0.0
307 Int_t i, j;
308 for (i = 0; i < 6; i++) {
309 for (j = 0; j < 6; j++) {
310 params->SetGamma(i,j,0.);
311 params->SetGamma1to10(i,j,0.);
312 params->SetHadron(i,j,0.);
313 params->SetHadron1to10(i,j,0.);
314 params->SetPiZero(i,j,0.);
315
316 }
317 params->SetGammaEnergyProb(i,0.); // not yet implemented
318 params->SetHadronEnergyProb(i,0.);
319 params->SetPiZeroEnergyProb(i,0.); // not yet implemented
320 }
321
322 params->SetGamma(0,0, -7.656908e-01);
323 params->SetGamma(0,1, 2.352536e-01);
324 params->SetGamma(0,2, 1.555996e-02);
325 params->SetGamma(0,3, 2.243525e-04);
326 params->SetGamma(0,4, -2.560087e-06);
327
328 params->SetGamma(1,0, 6.500216e+00);
329 params->SetGamma(1,1, -2.564958e-01);
330 params->SetGamma(1,2, 1.967894e-01);
331 params->SetGamma(1,3, -3.982273e-04);
332 params->SetGamma(1,4, 2.797737e-06);
333
334 params->SetGamma(2,0, 2.416489e+00);
335 params->SetGamma(2,1, -1.601258e-01);
336 params->SetGamma(2,2, 3.126839e-02);
337 params->SetGamma(2,3, 3.387532e-04);
338 params->SetGamma(2,4, -4.089145e-06);
339
340 params->SetGamma(3,0,0.);
341 params->SetGamma(3,1,-2.696008e+00);
342 params->SetGamma(3,2, 6.920305e-01);
343 params->SetGamma(3,3,-2.281122e-03);
344 params->SetGamma(3,4,0.);
345
346 params->SetGamma(4,0, 2.281564e-01);
347 params->SetGamma(4,1, -7.575040e-02);
348 params->SetGamma(4,2, 3.813423e-01);
349 params->SetGamma(4,3, -1.243854e-04);
350 params->SetGamma(4,4, 1.232045e-06);
351
352 params->SetGamma(5,0, -3.290107e-01);
353 params->SetGamma(5,1, 3.707545e-02);
354 params->SetGamma(5,2, 2.917397e-03);
355 params->SetGamma(5,3, 4.695306e-05);
356 params->SetGamma(5,4, -3.572981e-07);
357
358 params->SetHadron(0,0, 9.482243e-01);
359 params->SetHadron(0,1, -2.780896e-01);
360 params->SetHadron(0,2, 2.223507e-02);
361 params->SetHadron(0,3, 7.294263e-04);
362 params->SetHadron(0,4, -5.665872e-06);
363
364 params->SetHadron(1,0, 0.);
365 params->SetHadron(1,1, 0.);
366 params->SetHadron(1,2, 2.483298e-01);
367 params->SetHadron(1,3, 0.);
368 params->SetHadron(1,4, 0.);
369
370 params->SetHadron(2,0, -5.601199e+00);
371 params->SetHadron(2,1, 2.097382e+00);
372 params->SetHadron(2,2, -2.307965e-01);
373 params->SetHadron(2,3, 9.206871e-03);
374 params->SetHadron(2,4, -8.887548e-05);
375
376 params->SetHadron(3,0, 6.543101e+00);
377 params->SetHadron(3,1, -2.305203e+00);
378 params->SetHadron(3,2, 2.761673e-01);
379 params->SetHadron(3,3, -5.465855e-03);
380 params->SetHadron(3,4, 2.784329e-05);
381
382 params->SetHadron(4,0, -2.443530e+01);
383 params->SetHadron(4,1, 8.902578e+00);
384 params->SetHadron(4,2, -5.265901e-01);
385 params->SetHadron(4,3, 2.549111e-02);
386 params->SetHadron(4,4, -2.196801e-04);
387
388 params->SetHadron(5,0, 2.102007e-01);
389 params->SetHadron(5,1, -3.844418e-02);
390 params->SetHadron(5,2, 1.234682e-01);
391 params->SetHadron(5,3, -3.866733e-03);
392 params->SetHadron(5,4, 3.362719e-05);
393
394 params->SetPiZero(0,0, 5.07215e-01);
395 params->SetPiZero(0,1, -5.35274e-01);
396 params->SetPiZero(0,2, 8.49925e-02);
397 params->SetPiZero(0,3, -3.68740e-03);
398 params->SetPiZero(0,4, 5.48228e-05);
399
400 params->SetPiZero(1,0, 4.590137e+02);
401 params->SetPiZero(1,1, -7.079341e+01);
402 params->SetPiZero(1,2, 4.990735e+00);
403 params->SetPiZero(1,3, -1.241302e-01);
404 params->SetPiZero(1,4, 1.065772e-03);
405
406 params->SetPiZero(2,0, 1.376415e+02);
407 params->SetPiZero(2,1, -3.031577e+01);
408 params->SetPiZero(2,2, 2.474338e+00);
409 params->SetPiZero(2,3, -6.903410e-02);
410 params->SetPiZero(2,4, 6.244089e-04);
411
412 params->SetPiZero(3,0, 0.);
413 params->SetPiZero(3,1, 1.145983e+00);
414 params->SetPiZero(3,2, -2.476052e-01);
415 params->SetPiZero(3,3, 1.367373e-02);
416 params->SetPiZero(3,4, 0.);
417
418 params->SetPiZero(4,0, -2.09758e+02);
419 params->SetPiZero(4,1, 6.30080e+01);
420 params->SetPiZero(4,2, -4.03890e+00);
421 params->SetPiZero(4,3, 1.08854e-01);
422 params->SetPiZero(4,4, -9.36248e-04);
423
424 params->SetPiZero(5,0, -1.671477e+01);
425 params->SetPiZero(5,1, 2.995415e+00);
426 params->SetPiZero(5,2, -6.040360e-02);
427 params->SetPiZero(5,3, -6.137459e-04);
428 params->SetPiZero(5,4, 1.847328e-05);
429
430 // params->SetHadronEnergyProb(0,0.);
431 // params->SetHadronEnergyProb(1,0.);
432 // params->SetHadronEnergyProb(2,1.);
433 // params->SetHadronEnergyProb(3,0.);
434 // params->SetHadronEnergyProb(4,0.);
435
436 params->SetHadronEnergyProb(0, 4.767543e-02);
437 params->SetHadronEnergyProb(1, -1.537523e+00);
438 params->SetHadronEnergyProb(2, 2.956727e-01);
439 params->SetHadronEnergyProb(3, -3.051022e+01);
440 params->SetHadronEnergyProb(4, -6.036931e-02);
441
442 return params;
443
444}
445
446