Correction in ion definition.
[u/mrichter/AliRoot.git] / ITS / AliITSRecoParam.cxx
CommitLineData
44347160 1/**************************************************************************
572f41f9 2 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
44347160 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
572f41f9 16#include "AliITSRecoParam.h"
17
18/* $Id$ */
44347160 19
20///////////////////////////////////////////////////////////////////////////////
21// //
22// Class with ITS reconstruction parameters //
23// Origin: andrea.dainese@lnl.infn.it //
24// //
25///////////////////////////////////////////////////////////////////////////////
26
27
44347160 28
29ClassImp(AliITSRecoParam)
30
e50912db 31const Int_t AliITSRecoParam::fgkLayersNotToSkip[AliITSgeomTGeo::kNLayers]={0,0,0,0,0,0};
32const Int_t AliITSRecoParam::fgkLastLayerToTrackTo=0;
33const Int_t AliITSRecoParam::fgkMaxDetectorPerLayer=1000;
34const Double_t AliITSRecoParam::fgkriw=80.0;
35const Double_t AliITSRecoParam::fgkdiw=0.0053;
36const Double_t AliITSRecoParam::fgkX0iw=30.0;
37const Double_t AliITSRecoParam::fgkrcd=61.0;
38const Double_t AliITSRecoParam::fgkdcd=0.0053;
39const Double_t AliITSRecoParam::fgkX0cd=30.0;
40const Double_t AliITSRecoParam::fgkyr=12.8;
41const Double_t AliITSRecoParam::fgkdr=0.03;
42const Double_t AliITSRecoParam::fgkzm=0.2;
43const Double_t AliITSRecoParam::fgkdm=0.40;
44const Double_t AliITSRecoParam::fgkrs=50.0;
45const Double_t AliITSRecoParam::fgkds=0.001;
46const Double_t AliITSRecoParam::fgkrInsideITSscreen=49.0;
47const Double_t AliITSRecoParam::fgkrInsideSPD1=3.7;
48const Double_t AliITSRecoParam::fgkrPipe=3.;
49const Double_t AliITSRecoParam::fgkrInsidePipe=2.7;
50const Double_t AliITSRecoParam::fgkrOutsidePipe=3.3;
51const Double_t AliITSRecoParam::fgkdPipe=0.0028;
52const Double_t AliITSRecoParam::fgkrInsideShield[2]={7.5,25.0};
53const Double_t AliITSRecoParam::fgkrOutsideShield[2]={10.5,30.0};
54const Double_t AliITSRecoParam::fgkdshield[2]={0.0097,0.0034};
55const Double_t AliITSRecoParam::fgkX0shield[2]={38.6,42.0};
56const Double_t AliITSRecoParam::fgkX0Air=21.82;
57const Double_t AliITSRecoParam::fgkX0Be=65.19;
58const Double_t AliITSRecoParam::fgkBoundaryWidth=0.2;
59const Double_t AliITSRecoParam::fgkDeltaXNeighbDets=0.5;
60const Double_t AliITSRecoParam::fgkSPDdetzlength=6.960; // 7.072-2*0.056
61const Double_t AliITSRecoParam::fgkSPDdetxlength=1.298; // 1.410-2*0.056
44347160 62
63//_____________________________________________________________________________
6518a6c5 64AliITSRecoParam::AliITSRecoParam() : AliDetectorRecoParam(),
e50912db 65fMaxSnp(1.),
572f41f9 66fNSigmaYLayerForRoadY(0),
67fNSigmaRoadY(0),
68fNSigmaZLayerForRoadZ(0),
69fNSigmaRoadZ(0),
70fNSigma2RoadZC(0),
71fNSigma2RoadYC(0),
72fNSigma2RoadZNonC(0),
73fNSigma2RoadYNonC(0),
74fMaxNormChi2NonCForHypothesis(0),
75fMaxChi2(0),
76fMaxRoad(0),
77fMaxChi2In(0),
78fChi2PerCluster(0),
79fXV(0),
80fYV(0),
81fZV(0),
82fSigmaXV(0),
83fSigmaYV(0),
84fSigmaZV(0),
85fVertexCut(0),
86fMaxDZforPrimTrk(0),
87fMaxDZToUseConstraint(0),
88fMaxDforV0dghtrForProlongation(0),
89fMaxDForProlongation(0),
90fMaxDZForProlongation(0),
91fMinPtForProlongation(0),
6518a6c5 92fAddVirtualClustersInDeadZone(kFALSE),
572f41f9 93fZWindowDeadZone(0),
94fSigmaXDeadZoneHit2(0),
95fSigmaZDeadZoneHit2(0),
96fXPassDeadZoneHits(0),
6518a6c5 97fUseTGeoInTracker(3),
572f41f9 98fAllowSharedClusters(kTRUE),
e50912db 99fClusterErrorsParam(1),
4a66240a 100fComputePlaneEff(kFALSE),
5fbd4fd6 101fHistoPlaneEff(kFALSE),
2755f080 102fExtendedEtaAcceptance(kFALSE),
6518a6c5 103fUseDeadZonesFromOCDB(kFALSE),
ae00569a 104fAllowProlongationWithEmptyRoad(kFALSE),
2755f080 105fFactorSAWindowSizes(1.),
c7d6d7b7 106fNLoopsSA(33),
107fMinPhiSA(0.002),
108fMaxPhiSA(0.0145),
109fMinLambdaSA(0.003),
110fMaxLambdaSA(0.008),
5a03f353 111fSAOnePointTracks(kFALSE),
112fSAUseAllClusters(kFALSE),
6518a6c5 113fFindV0s(kTRUE),
114fUseUnfoldingInClusterFinderSPD(kFALSE),
115fUseUnfoldingInClusterFinderSDD(kTRUE),
116fUseUnfoldingInClusterFinderSSD(kTRUE)
44347160 117{
118 //
119 // constructor
120 //
6518a6c5 121 SetName("ITS");
122 SetTitle("ITS");
123
44347160 124 SetLayersParameters();
2755f080 125 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
6518a6c5 126 SetUseTGeoInTracker(3);
afd25725 127 SetAllowSharedClusters(kTRUE);
128 SetFindV0s(kTRUE);
6518a6c5 129 SetAddVirtualClustersInDeadZone(kFALSE);
572f41f9 130 SetUseAmplitudeInfo(kTRUE);
e50912db 131 SetClusterErrorsParam(1);
44347160 132}
133//_____________________________________________________________________________
134AliITSRecoParam::~AliITSRecoParam()
135{
136 //
137 // destructor
138 //
139}
140//_____________________________________________________________________________
141AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
142{
143 //
144 // make default reconstruction parameters for hig flux env.
145 //
146 AliITSRecoParam *param = new AliITSRecoParam();
147
148 param->fMaxSnp = 0.95;
149
150 param->fNSigmaYLayerForRoadY = 4.;
151 param->fNSigmaRoadY = 7.5;
152 param->fNSigmaZLayerForRoadZ = 4.;
153 param->fNSigmaRoadZ = 7.5;
154
155 param->fNSigma2RoadZC = 60.; //7.75^2
156 param->fNSigma2RoadYC = 60.; //7.75^2
157 param->fNSigma2RoadZNonC = 50.; //7.07^2
158 param->fNSigma2RoadYNonC = 50.; //7.07^2
159
160 param->fMaxChi2PerCluster[0] = 11.; //7
161 param->fMaxChi2PerCluster[1] = 12.; //5
162 param->fMaxChi2PerCluster[2] = 12.; //8
163 param->fMaxChi2PerCluster[3] = 5.; //8
164 param->fMaxChi2PerCluster[4] = 12.; //6.5
165
166 param->fMaxNormChi2NonC[0] = 7.;
167 param->fMaxNormChi2NonC[1] = 8.;
168 param->fMaxNormChi2NonC[2] = 8.;
169 param->fMaxNormChi2NonC[3] = 11.;
170 param->fMaxNormChi2NonC[4] = 14.;
171 param->fMaxNormChi2NonC[5] = 25.;
172
173 param->fMaxNormChi2C[0] = 11.;
174 param->fMaxNormChi2C[1] = 13.;
175 param->fMaxNormChi2C[2] = 15.;
176 param->fMaxNormChi2C[3] = 18.;
177 param->fMaxNormChi2C[4] = 30.;
178 param->fMaxNormChi2C[5] = 35.;
afd25725 179
180 param->fMaxNormChi2NonCForHypothesis = 7.;
44347160 181
182 param->fMaxChi2 = 35.;
183
184 param->fMaxChi2s[0] = 25.; //40
185 param->fMaxChi2s[1] = 25.; //40
186 param->fMaxChi2s[2] = 25.; //40
187 param->fMaxChi2s[3] = 25.; //40
188 param->fMaxChi2s[4] = 40.; //40
189 param->fMaxChi2s[5] = 50.; //40
190
191 param->fMaxRoad = 6.;
192
193 // not used
194 param->fMaxChi2In = 16.;
195
196 param->fMaxChi2sR[0] = 10.;
197 param->fMaxChi2sR[1] = 10.;
198 param->fMaxChi2sR[2] = 10.;
199 param->fMaxChi2sR[3] = 10.;
200 param->fMaxChi2sR[4] = 30.;
201 param->fMaxChi2sR[5] = 40.;
202
203 param->fChi2PerCluster = 9.;
204 // not used
205
206 param->fXV = 0.;
207 param->fYV = 0.;
208 param->fZV = 0.;
209 param->fSigmaXV = 0.0050;
210 param->fSigmaYV = 0.0050;
211 param->fSigmaZV = 0.0100;
212
213 param->fVertexCut = 25.;
afd25725 214
215 param->fMaxDZforPrimTrk = 0.4;
216 param->fMaxDZToUseConstraint = 3.;
217
218 param->fMaxDforV0dghtrForProlongation = 30.;
6518a6c5 219 param->fMaxDForProlongation = 40.;//10.;
220 param->fMaxDZForProlongation = 60.;//20.;
afd25725 221 param->fMinPtForProlongation = 0.120;
222
223 param->fZWindowDeadZone = 2.0;
224 param->fSigmaXDeadZoneHit2 = 0.004/12.;
225 param->fSigmaZDeadZoneHit2 = 0.001/12.;
226 param->fXPassDeadZoneHits = 0.018;
44347160 227
228 return param;
229}
230//_____________________________________________________________________________
231AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
232{
233 //
234 // make default reconstruction parameters for low flux env.
235 //
c7d6d7b7 236 AliITSRecoParam *param = new AliITSRecoParam();
237
238 param->fMaxSnp = 0.95;
239
240 param->fNSigmaYLayerForRoadY = 4.;
241 param->fNSigmaRoadY = 7.5;
242 param->fNSigmaZLayerForRoadZ = 4.;
243 param->fNSigmaRoadZ = 7.5;
244
245 param->fNSigma2RoadZC = 60.; //7.75^2
246 param->fNSigma2RoadYC = 60.; //7.75^2
247 param->fNSigma2RoadZNonC = 50.; //7.07^2
248 param->fNSigma2RoadYNonC = 50.; //7.07^2
249
250 param->fMaxChi2PerCluster[0] = 11.; //7
251 param->fMaxChi2PerCluster[1] = 12.; //5
252 param->fMaxChi2PerCluster[2] = 12.; //8
253 param->fMaxChi2PerCluster[3] = 5.; //8
254 param->fMaxChi2PerCluster[4] = 12.; //6.5
255
256 param->fMaxNormChi2NonC[0] = 7.;
257 param->fMaxNormChi2NonC[1] = 8.;
258 param->fMaxNormChi2NonC[2] = 8.;
259 param->fMaxNormChi2NonC[3] = 11.;
260 param->fMaxNormChi2NonC[4] = 14.;
261 param->fMaxNormChi2NonC[5] = 25.;
262
263 param->fMaxNormChi2C[0] = 11.;
264 param->fMaxNormChi2C[1] = 13.;
265 param->fMaxNormChi2C[2] = 15.;
266 param->fMaxNormChi2C[3] = 18.;
267 param->fMaxNormChi2C[4] = 30.;
268 param->fMaxNormChi2C[5] = 35.;
269
270 param->fMaxNormChi2NonCForHypothesis = 7.;
271
272 param->fMaxChi2 = 35.;
273
274 param->fMaxChi2s[0] = 25.; //40
275 param->fMaxChi2s[1] = 25.; //40
276 param->fMaxChi2s[2] = 25.; //40
277 param->fMaxChi2s[3] = 25.; //40
278 param->fMaxChi2s[4] = 40.; //40
279 param->fMaxChi2s[5] = 50.; //40
280
281 param->fMaxRoad = 6.;
282
283 // not used
284 param->fMaxChi2In = 16.;
285
286 param->fMaxChi2sR[0] = 10.;
287 param->fMaxChi2sR[1] = 10.;
288 param->fMaxChi2sR[2] = 10.;
289 param->fMaxChi2sR[3] = 10.;
290 param->fMaxChi2sR[4] = 30.;
291 param->fMaxChi2sR[5] = 40.;
292
293 param->fChi2PerCluster = 9.;
294 // not used
295
296 param->fXV = 0.;
297 param->fYV = 0.;
298 param->fZV = 0.;
299 param->fSigmaXV = 0.0050;
300 param->fSigmaYV = 0.0050;
301 param->fSigmaZV = 0.0100;
302
303 param->fVertexCut = 25.;
304
305 param->fMaxDZforPrimTrk = 0.4;
306 param->fMaxDZToUseConstraint = 3.;
307
308 param->fMaxDforV0dghtrForProlongation = 30.;
309 param->fMaxDForProlongation = 40.;//10.;
310 param->fMaxDZForProlongation = 60.;//20.;
311 param->fMinPtForProlongation = 0.120;
312
313 param->fZWindowDeadZone = 2.0;
314 param->fSigmaXDeadZoneHit2 = 0.004/12.;
315 param->fSigmaZDeadZoneHit2 = 0.001/12.;
316 param->fXPassDeadZoneHits = 0.018;
317 param->SetNLoopsSA(10);
318
319 return param;
44347160 320}
321//_____________________________________________________________________________
322AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
323{
324 //
325 // make default reconstruction parameters for cosmics
326 //
e340bb86 327 AliITSRecoParam *param = new AliITSRecoParam();
328
2755f080 329 // larger seach windows for SA (in case of large misalignments)
330 param->SetFactorSAWindowSizes(3.);
e340bb86 331
332 param->fMaxSnp = 0.95;
333
334 param->fNSigmaYLayerForRoadY = 4.;
335 param->fNSigmaRoadY = 7.5;
336 param->fNSigmaZLayerForRoadZ = 4.;
337 param->fNSigmaRoadZ = 7.5;
338
339 param->fNSigma2RoadZC = 60.; //7.75^2
340 param->fNSigma2RoadYC = 60.; //7.75^2
341 param->fNSigma2RoadZNonC = 50.; //7.07^2
342 param->fNSigma2RoadYNonC = 50.; //7.07^2
343
344 param->fMaxChi2PerCluster[0] = 11.; //7
345 param->fMaxChi2PerCluster[1] = 12.; //5
346 param->fMaxChi2PerCluster[2] = 12.; //8
347 param->fMaxChi2PerCluster[3] = 5.; //8
348 param->fMaxChi2PerCluster[4] = 12.; //6.5
349
350 param->fMaxNormChi2NonC[0] = 7.;
351 param->fMaxNormChi2NonC[1] = 8.;
352 param->fMaxNormChi2NonC[2] = 8.;
353 param->fMaxNormChi2NonC[3] = 11.;
354 param->fMaxNormChi2NonC[4] = 14.;
355 param->fMaxNormChi2NonC[5] = 25.;
356
357 param->fMaxNormChi2C[0] = 11.;
358 param->fMaxNormChi2C[1] = 13.;
359 param->fMaxNormChi2C[2] = 15.;
360 param->fMaxNormChi2C[3] = 18.;
361 param->fMaxNormChi2C[4] = 30.;
362 param->fMaxNormChi2C[5] = 35.;
363
364 param->fMaxNormChi2NonCForHypothesis = 7.;
365
366 param->fMaxChi2 = 35.;
367
368 param->fMaxChi2s[0] = 25.; //40
369 param->fMaxChi2s[1] = 25.; //40
370 param->fMaxChi2s[2] = 25.; //40
371 param->fMaxChi2s[3] = 25.; //40
372 param->fMaxChi2s[4] = 40.; //40
373 param->fMaxChi2s[5] = 50.; //40
374
375 param->fMaxRoad = 6.;
376
377 // not used
378 param->fMaxChi2In = 16.;
379
380 param->fMaxChi2sR[0] = 10.;
381 param->fMaxChi2sR[1] = 10.;
382 param->fMaxChi2sR[2] = 10.;
383 param->fMaxChi2sR[3] = 10.;
384 param->fMaxChi2sR[4] = 30.;
385 param->fMaxChi2sR[5] = 40.;
386
387 param->fChi2PerCluster = 9.;
388 // not used
389
390 param->fXV = 0.;
391 param->fYV = 0.;
392 param->fZV = 0.;
393 param->fSigmaXV = 0.0050;
394 param->fSigmaYV = 0.0050;
395 param->fSigmaZV = 0.0100;
396
397 param->fVertexCut = 25.;
398
399 param->fMaxDZforPrimTrk = 0.4;
400 param->fMaxDZToUseConstraint = 3.;
401
402 param->fMaxDforV0dghtrForProlongation = 30.;
403 param->fMaxDForProlongation = 10.;
404 param->fMaxDZForProlongation = 20.;
405 param->fMinPtForProlongation = 0.120;
406
407 param->fZWindowDeadZone = 2.0;
408 param->fSigmaXDeadZoneHit2 = 0.004/12.;
409 param->fSigmaZDeadZoneHit2 = 0.001/12.;
410 param->fXPassDeadZoneHits = 0.018;
411
412
413 return param;
44347160 414}
415//_____________________________________________________________________________
ae00569a 416AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
417{
418 //
419 // make special reconstruction parameters for Plane Efficiency study on layer i
420 //
421 AliITSRecoParam *param;
422 param = GetHighFluxParam();
423 param->SetComputePlaneEff();
424 param->SetLayerToSkip(i);
425 return param;
426}
427//_____________________________________________________________________________
44347160 428void AliITSRecoParam::SetLayersParameters()
429{
430 //
431 // number of layers and layers spatial resolutions
432 //
433
434 // spatial resolutions of the detectors
435 // y: 12 12 38 38 20 20 micron
436 fSigmaY2[0]=1.44e-6;
437 fSigmaY2[1]=1.44e-6;
438 fSigmaY2[2]=1.444e-5;
439 fSigmaY2[3]=1.444e-5;
440 fSigmaY2[4]=4.0e-6;
441 fSigmaY2[5]=4.0e-6;
442 // z: 120 120 28 28 830 830 micron
443 fSigmaZ2[0]=1.44e-4;
444 fSigmaZ2[1]=1.44e-4;
445 fSigmaZ2[2]=7.84e-6;
446 fSigmaZ2[3]=7.84e-6;
447 fSigmaZ2[4]=6.889e-3;
448 fSigmaZ2[5]=6.889e-3;
449
450 return;
451}
ae00569a 452