AliFatal changed to AliError in InitRaws when DDL map is not found on the OCDB. In...
[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),
a86176e3 116fUseUnfoldingInClusterFinderSSD(kTRUE),
117fUseChargeMatchingInClusterFinderSSD(kTRUE)
44347160 118{
119 //
120 // constructor
121 //
6518a6c5 122 SetName("ITS");
123 SetTitle("ITS");
124
44347160 125 SetLayersParameters();
2755f080 126 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
6518a6c5 127 SetUseTGeoInTracker(3);
afd25725 128 SetAllowSharedClusters(kTRUE);
129 SetFindV0s(kTRUE);
6518a6c5 130 SetAddVirtualClustersInDeadZone(kFALSE);
572f41f9 131 SetUseAmplitudeInfo(kTRUE);
e50912db 132 SetClusterErrorsParam(1);
44347160 133}
134//_____________________________________________________________________________
135AliITSRecoParam::~AliITSRecoParam()
136{
137 //
138 // destructor
139 //
140}
141//_____________________________________________________________________________
142AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
143{
144 //
145 // make default reconstruction parameters for hig flux env.
146 //
147 AliITSRecoParam *param = new AliITSRecoParam();
148
149 param->fMaxSnp = 0.95;
150
151 param->fNSigmaYLayerForRoadY = 4.;
152 param->fNSigmaRoadY = 7.5;
153 param->fNSigmaZLayerForRoadZ = 4.;
154 param->fNSigmaRoadZ = 7.5;
155
156 param->fNSigma2RoadZC = 60.; //7.75^2
157 param->fNSigma2RoadYC = 60.; //7.75^2
158 param->fNSigma2RoadZNonC = 50.; //7.07^2
159 param->fNSigma2RoadYNonC = 50.; //7.07^2
160
161 param->fMaxChi2PerCluster[0] = 11.; //7
162 param->fMaxChi2PerCluster[1] = 12.; //5
163 param->fMaxChi2PerCluster[2] = 12.; //8
164 param->fMaxChi2PerCluster[3] = 5.; //8
165 param->fMaxChi2PerCluster[4] = 12.; //6.5
166
167 param->fMaxNormChi2NonC[0] = 7.;
168 param->fMaxNormChi2NonC[1] = 8.;
169 param->fMaxNormChi2NonC[2] = 8.;
170 param->fMaxNormChi2NonC[3] = 11.;
171 param->fMaxNormChi2NonC[4] = 14.;
172 param->fMaxNormChi2NonC[5] = 25.;
173
174 param->fMaxNormChi2C[0] = 11.;
175 param->fMaxNormChi2C[1] = 13.;
176 param->fMaxNormChi2C[2] = 15.;
177 param->fMaxNormChi2C[3] = 18.;
178 param->fMaxNormChi2C[4] = 30.;
179 param->fMaxNormChi2C[5] = 35.;
afd25725 180
181 param->fMaxNormChi2NonCForHypothesis = 7.;
44347160 182
183 param->fMaxChi2 = 35.;
184
185 param->fMaxChi2s[0] = 25.; //40
186 param->fMaxChi2s[1] = 25.; //40
187 param->fMaxChi2s[2] = 25.; //40
188 param->fMaxChi2s[3] = 25.; //40
189 param->fMaxChi2s[4] = 40.; //40
190 param->fMaxChi2s[5] = 50.; //40
191
192 param->fMaxRoad = 6.;
193
194 // not used
195 param->fMaxChi2In = 16.;
196
197 param->fMaxChi2sR[0] = 10.;
198 param->fMaxChi2sR[1] = 10.;
199 param->fMaxChi2sR[2] = 10.;
200 param->fMaxChi2sR[3] = 10.;
201 param->fMaxChi2sR[4] = 30.;
202 param->fMaxChi2sR[5] = 40.;
203
204 param->fChi2PerCluster = 9.;
205 // not used
206
207 param->fXV = 0.;
208 param->fYV = 0.;
209 param->fZV = 0.;
210 param->fSigmaXV = 0.0050;
211 param->fSigmaYV = 0.0050;
212 param->fSigmaZV = 0.0100;
213
214 param->fVertexCut = 25.;
afd25725 215
216 param->fMaxDZforPrimTrk = 0.4;
217 param->fMaxDZToUseConstraint = 3.;
218
219 param->fMaxDforV0dghtrForProlongation = 30.;
6518a6c5 220 param->fMaxDForProlongation = 40.;//10.;
221 param->fMaxDZForProlongation = 60.;//20.;
afd25725 222 param->fMinPtForProlongation = 0.120;
223
224 param->fZWindowDeadZone = 2.0;
225 param->fSigmaXDeadZoneHit2 = 0.004/12.;
226 param->fSigmaZDeadZoneHit2 = 0.001/12.;
227 param->fXPassDeadZoneHits = 0.018;
44347160 228
229 return param;
230}
231//_____________________________________________________________________________
232AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
233{
234 //
235 // make default reconstruction parameters for low flux env.
236 //
c7d6d7b7 237 AliITSRecoParam *param = new AliITSRecoParam();
238
239 param->fMaxSnp = 0.95;
240
241 param->fNSigmaYLayerForRoadY = 4.;
242 param->fNSigmaRoadY = 7.5;
243 param->fNSigmaZLayerForRoadZ = 4.;
244 param->fNSigmaRoadZ = 7.5;
245
246 param->fNSigma2RoadZC = 60.; //7.75^2
247 param->fNSigma2RoadYC = 60.; //7.75^2
248 param->fNSigma2RoadZNonC = 50.; //7.07^2
249 param->fNSigma2RoadYNonC = 50.; //7.07^2
250
251 param->fMaxChi2PerCluster[0] = 11.; //7
252 param->fMaxChi2PerCluster[1] = 12.; //5
253 param->fMaxChi2PerCluster[2] = 12.; //8
254 param->fMaxChi2PerCluster[3] = 5.; //8
255 param->fMaxChi2PerCluster[4] = 12.; //6.5
256
257 param->fMaxNormChi2NonC[0] = 7.;
258 param->fMaxNormChi2NonC[1] = 8.;
259 param->fMaxNormChi2NonC[2] = 8.;
260 param->fMaxNormChi2NonC[3] = 11.;
261 param->fMaxNormChi2NonC[4] = 14.;
262 param->fMaxNormChi2NonC[5] = 25.;
263
264 param->fMaxNormChi2C[0] = 11.;
265 param->fMaxNormChi2C[1] = 13.;
266 param->fMaxNormChi2C[2] = 15.;
267 param->fMaxNormChi2C[3] = 18.;
268 param->fMaxNormChi2C[4] = 30.;
269 param->fMaxNormChi2C[5] = 35.;
270
271 param->fMaxNormChi2NonCForHypothesis = 7.;
272
273 param->fMaxChi2 = 35.;
274
275 param->fMaxChi2s[0] = 25.; //40
276 param->fMaxChi2s[1] = 25.; //40
277 param->fMaxChi2s[2] = 25.; //40
278 param->fMaxChi2s[3] = 25.; //40
279 param->fMaxChi2s[4] = 40.; //40
280 param->fMaxChi2s[5] = 50.; //40
281
282 param->fMaxRoad = 6.;
283
284 // not used
285 param->fMaxChi2In = 16.;
286
287 param->fMaxChi2sR[0] = 10.;
288 param->fMaxChi2sR[1] = 10.;
289 param->fMaxChi2sR[2] = 10.;
290 param->fMaxChi2sR[3] = 10.;
291 param->fMaxChi2sR[4] = 30.;
292 param->fMaxChi2sR[5] = 40.;
293
294 param->fChi2PerCluster = 9.;
295 // not used
296
297 param->fXV = 0.;
298 param->fYV = 0.;
299 param->fZV = 0.;
300 param->fSigmaXV = 0.0050;
301 param->fSigmaYV = 0.0050;
302 param->fSigmaZV = 0.0100;
303
304 param->fVertexCut = 25.;
305
306 param->fMaxDZforPrimTrk = 0.4;
307 param->fMaxDZToUseConstraint = 3.;
308
309 param->fMaxDforV0dghtrForProlongation = 30.;
310 param->fMaxDForProlongation = 40.;//10.;
311 param->fMaxDZForProlongation = 60.;//20.;
312 param->fMinPtForProlongation = 0.120;
313
314 param->fZWindowDeadZone = 2.0;
315 param->fSigmaXDeadZoneHit2 = 0.004/12.;
316 param->fSigmaZDeadZoneHit2 = 0.001/12.;
317 param->fXPassDeadZoneHits = 0.018;
318 param->SetNLoopsSA(10);
319
320 return param;
44347160 321}
322//_____________________________________________________________________________
323AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
324{
325 //
326 // make default reconstruction parameters for cosmics
327 //
e340bb86 328 AliITSRecoParam *param = new AliITSRecoParam();
329
2755f080 330 // larger seach windows for SA (in case of large misalignments)
331 param->SetFactorSAWindowSizes(3.);
e340bb86 332
333 param->fMaxSnp = 0.95;
334
335 param->fNSigmaYLayerForRoadY = 4.;
336 param->fNSigmaRoadY = 7.5;
337 param->fNSigmaZLayerForRoadZ = 4.;
338 param->fNSigmaRoadZ = 7.5;
339
340 param->fNSigma2RoadZC = 60.; //7.75^2
341 param->fNSigma2RoadYC = 60.; //7.75^2
342 param->fNSigma2RoadZNonC = 50.; //7.07^2
343 param->fNSigma2RoadYNonC = 50.; //7.07^2
344
345 param->fMaxChi2PerCluster[0] = 11.; //7
346 param->fMaxChi2PerCluster[1] = 12.; //5
347 param->fMaxChi2PerCluster[2] = 12.; //8
348 param->fMaxChi2PerCluster[3] = 5.; //8
349 param->fMaxChi2PerCluster[4] = 12.; //6.5
350
351 param->fMaxNormChi2NonC[0] = 7.;
352 param->fMaxNormChi2NonC[1] = 8.;
353 param->fMaxNormChi2NonC[2] = 8.;
354 param->fMaxNormChi2NonC[3] = 11.;
355 param->fMaxNormChi2NonC[4] = 14.;
356 param->fMaxNormChi2NonC[5] = 25.;
357
358 param->fMaxNormChi2C[0] = 11.;
359 param->fMaxNormChi2C[1] = 13.;
360 param->fMaxNormChi2C[2] = 15.;
361 param->fMaxNormChi2C[3] = 18.;
362 param->fMaxNormChi2C[4] = 30.;
363 param->fMaxNormChi2C[5] = 35.;
364
365 param->fMaxNormChi2NonCForHypothesis = 7.;
366
367 param->fMaxChi2 = 35.;
368
369 param->fMaxChi2s[0] = 25.; //40
370 param->fMaxChi2s[1] = 25.; //40
371 param->fMaxChi2s[2] = 25.; //40
372 param->fMaxChi2s[3] = 25.; //40
373 param->fMaxChi2s[4] = 40.; //40
374 param->fMaxChi2s[5] = 50.; //40
375
376 param->fMaxRoad = 6.;
377
378 // not used
379 param->fMaxChi2In = 16.;
380
381 param->fMaxChi2sR[0] = 10.;
382 param->fMaxChi2sR[1] = 10.;
383 param->fMaxChi2sR[2] = 10.;
384 param->fMaxChi2sR[3] = 10.;
385 param->fMaxChi2sR[4] = 30.;
386 param->fMaxChi2sR[5] = 40.;
387
388 param->fChi2PerCluster = 9.;
389 // not used
390
391 param->fXV = 0.;
392 param->fYV = 0.;
393 param->fZV = 0.;
394 param->fSigmaXV = 0.0050;
395 param->fSigmaYV = 0.0050;
396 param->fSigmaZV = 0.0100;
397
398 param->fVertexCut = 25.;
399
400 param->fMaxDZforPrimTrk = 0.4;
401 param->fMaxDZToUseConstraint = 3.;
402
403 param->fMaxDforV0dghtrForProlongation = 30.;
404 param->fMaxDForProlongation = 10.;
405 param->fMaxDZForProlongation = 20.;
406 param->fMinPtForProlongation = 0.120;
407
408 param->fZWindowDeadZone = 2.0;
409 param->fSigmaXDeadZoneHit2 = 0.004/12.;
410 param->fSigmaZDeadZoneHit2 = 0.001/12.;
411 param->fXPassDeadZoneHits = 0.018;
412
413
414 return param;
44347160 415}
416//_____________________________________________________________________________
ae00569a 417AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
418{
419 //
420 // make special reconstruction parameters for Plane Efficiency study on layer i
421 //
422 AliITSRecoParam *param;
423 param = GetHighFluxParam();
424 param->SetComputePlaneEff();
425 param->SetLayerToSkip(i);
426 return param;
427}
428//_____________________________________________________________________________
44347160 429void AliITSRecoParam::SetLayersParameters()
430{
431 //
432 // number of layers and layers spatial resolutions
433 //
434
435 // spatial resolutions of the detectors
436 // y: 12 12 38 38 20 20 micron
437 fSigmaY2[0]=1.44e-6;
438 fSigmaY2[1]=1.44e-6;
439 fSigmaY2[2]=1.444e-5;
440 fSigmaY2[3]=1.444e-5;
441 fSigmaY2[4]=4.0e-6;
442 fSigmaY2[5]=4.0e-6;
443 // z: 120 120 28 28 830 830 micron
444 fSigmaZ2[0]=1.44e-4;
445 fSigmaZ2[1]=1.44e-4;
446 fSigmaZ2[2]=7.84e-6;
447 fSigmaZ2[3]=7.84e-6;
448 fSigmaZ2[4]=6.889e-3;
449 fSigmaZ2[5]=6.889e-3;
450
451 return;
452}