]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRecoParam.cxx
Most of these updates are related to the offline software needed for the pixel trigge...
[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"
5bd7ec3a 17#include "AliLog.h"
572f41f9 18
19/* $Id$ */
44347160 20
21///////////////////////////////////////////////////////////////////////////////
22// //
23// Class with ITS reconstruction parameters //
24// Origin: andrea.dainese@lnl.infn.it //
25// //
26///////////////////////////////////////////////////////////////////////////////
27
28
44347160 29
30ClassImp(AliITSRecoParam)
31
e50912db 32const Int_t AliITSRecoParam::fgkLayersNotToSkip[AliITSgeomTGeo::kNLayers]={0,0,0,0,0,0};
33const Int_t AliITSRecoParam::fgkLastLayerToTrackTo=0;
34const Int_t AliITSRecoParam::fgkMaxDetectorPerLayer=1000;
35const Double_t AliITSRecoParam::fgkriw=80.0;
36const Double_t AliITSRecoParam::fgkdiw=0.0053;
37const Double_t AliITSRecoParam::fgkX0iw=30.0;
38const Double_t AliITSRecoParam::fgkrcd=61.0;
39const Double_t AliITSRecoParam::fgkdcd=0.0053;
40const Double_t AliITSRecoParam::fgkX0cd=30.0;
41const Double_t AliITSRecoParam::fgkyr=12.8;
42const Double_t AliITSRecoParam::fgkdr=0.03;
43const Double_t AliITSRecoParam::fgkzm=0.2;
44const Double_t AliITSRecoParam::fgkdm=0.40;
45const Double_t AliITSRecoParam::fgkrs=50.0;
46const Double_t AliITSRecoParam::fgkds=0.001;
47const Double_t AliITSRecoParam::fgkrInsideITSscreen=49.0;
48const Double_t AliITSRecoParam::fgkrInsideSPD1=3.7;
49const Double_t AliITSRecoParam::fgkrPipe=3.;
50const Double_t AliITSRecoParam::fgkrInsidePipe=2.7;
51const Double_t AliITSRecoParam::fgkrOutsidePipe=3.3;
52const Double_t AliITSRecoParam::fgkdPipe=0.0028;
53const Double_t AliITSRecoParam::fgkrInsideShield[2]={7.5,25.0};
54const Double_t AliITSRecoParam::fgkrOutsideShield[2]={10.5,30.0};
55const Double_t AliITSRecoParam::fgkdshield[2]={0.0097,0.0034};
56const Double_t AliITSRecoParam::fgkX0shield[2]={38.6,42.0};
57const Double_t AliITSRecoParam::fgkX0Air=21.82;
58const Double_t AliITSRecoParam::fgkX0Be=65.19;
59const Double_t AliITSRecoParam::fgkBoundaryWidth=0.2;
60const Double_t AliITSRecoParam::fgkDeltaXNeighbDets=0.5;
61const Double_t AliITSRecoParam::fgkSPDdetzlength=6.960; // 7.072-2*0.056
62const Double_t AliITSRecoParam::fgkSPDdetxlength=1.298; // 1.410-2*0.056
44347160 63
64//_____________________________________________________________________________
6518a6c5 65AliITSRecoParam::AliITSRecoParam() : AliDetectorRecoParam(),
f9119eb9 66fTracker(0),
67fITSonly(kFALSE),
68fVertexer(0),
876026b6 69fClusterFinder(0),
70fPID(0),
7203e11a 71fVtxr3DZCutWide(0.),
72fVtxr3DRCutWide(0.),
73fVtxr3DZCutNarrow(0.),
74fVtxr3DRCutNarrow(0.),
75fVtxr3DPhiCutLoose(0.),
76fVtxr3DPhiCutTight(0.),
77fVtxr3DDCACut(0.),
e50912db 78fMaxSnp(1.),
572f41f9 79fNSigmaYLayerForRoadY(0),
80fNSigmaRoadY(0),
81fNSigmaZLayerForRoadZ(0),
82fNSigmaRoadZ(0),
83fNSigma2RoadZC(0),
84fNSigma2RoadYC(0),
85fNSigma2RoadZNonC(0),
86fNSigma2RoadYNonC(0),
1c97ce2f 87fRoadMisal(0),
572f41f9 88fMaxNormChi2NonCForHypothesis(0),
89fMaxChi2(0),
90fMaxRoad(0),
91fMaxChi2In(0),
92fChi2PerCluster(0),
93fXV(0),
94fYV(0),
95fZV(0),
96fSigmaXV(0),
97fSigmaYV(0),
98fSigmaZV(0),
99fVertexCut(0),
100fMaxDZforPrimTrk(0),
101fMaxDZToUseConstraint(0),
102fMaxDforV0dghtrForProlongation(0),
103fMaxDForProlongation(0),
104fMaxDZForProlongation(0),
105fMinPtForProlongation(0),
6518a6c5 106fAddVirtualClustersInDeadZone(kFALSE),
572f41f9 107fZWindowDeadZone(0),
108fSigmaXDeadZoneHit2(0),
109fSigmaZDeadZoneHit2(0),
110fXPassDeadZoneHits(0),
6518a6c5 111fUseTGeoInTracker(3),
908753cb 112fStepSizeTGeo(5.),
572f41f9 113fAllowSharedClusters(kTRUE),
e50912db 114fClusterErrorsParam(1),
4a66240a 115fComputePlaneEff(kFALSE),
5fbd4fd6 116fHistoPlaneEff(kFALSE),
58e8dc31 117fUseTrackletsPlaneEff(kFALSE),
118fMCTrackletsPlaneEff(kFALSE),
119fBkgTrackletsPlaneEff(kFALSE),
120fTrackleterPhiWindowL1(0.10),
121fTrackleterZetaWindowL1(0.6),
122fUpdateOncePerEventPlaneEff(kTRUE),
123fMinContVtxPlaneEff(3),
0ed58a47 124fIPlanePlaneEff(0),
275a301c 125fReadPlaneEffFromOCDB(kFALSE),
0ed58a47 126fMinPtPlaneEff(0),
127fMaxMissingClustersPlaneEff(0),
128fRequireClusterInOuterLayerPlaneEff(kFALSE),
129fRequireClusterInInnerLayerPlaneEff(kFALSE),
130fOnlyConstraintPlaneEff(kFALSE),
2755f080 131fExtendedEtaAcceptance(kFALSE),
b406db2e 132fUseBadZonesFromOCDB(kTRUE),
23197852 133fUseSingleBadChannelsFromOCDB(kFALSE),
134fMinFractionOfBadInRoad(0),
ae00569a 135fAllowProlongationWithEmptyRoad(kFALSE),
12b1afb7 136fInwardFlagSA(kFALSE),
137fOuterStartLayerSA(2),
138fInnerStartLayerSA(3),
139fMinNPointsSA(3),
2755f080 140fFactorSAWindowSizes(1.),
c7d6d7b7 141fNLoopsSA(33),
142fMinPhiSA(0.002),
143fMaxPhiSA(0.0145),
144fMinLambdaSA(0.003),
145fMaxLambdaSA(0.008),
3733ccd2 146fMinClusterChargeSA(0.),
5a03f353 147fSAOnePointTracks(kFALSE),
148fSAUseAllClusters(kFALSE),
6518a6c5 149fFindV0s(kTRUE),
b0160ebc 150fStoreLikeSignV0s(kFALSE),
6518a6c5 151fUseUnfoldingInClusterFinderSPD(kFALSE),
152fUseUnfoldingInClusterFinderSDD(kTRUE),
a86176e3 153fUseUnfoldingInClusterFinderSSD(kTRUE),
b779c7dc 154fUseSDDClusterSizeSelection(kFALSE),
155fMinClusterChargeSDD(0.),
7b116aa1 156fUseChargeMatchingInClusterFinderSSD(kTRUE),
157fTrackleterOnlyOneTrackletPerC2(kTRUE),
158fTrackleterPhiWindow(0.08),
159fTrackleterZetaWindow(1.00),
160fTrackleterRemoveClustersFromOverlaps(kFALSE),
161fTrackleterPhiOverlapCut(0.005),
42ed6062 162fTrackleterZetaOverlapCut(0.05),
ad7f2bfa 163fUseCosmicRunShiftsSSD(kFALSE),
164fSPDRemoveNoisyFlag(kTRUE),
165fSPDRemoveDeadFlag(kTRUE)
44347160 166{
167 //
168 // constructor
169 //
6518a6c5 170 SetName("ITS");
171 SetTitle("ITS");
172
44347160 173 SetLayersParameters();
2755f080 174 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
6518a6c5 175 SetUseTGeoInTracker(3);
908753cb 176 SetStepSizeTGeo(5.);
afd25725 177 SetAllowSharedClusters(kTRUE);
178 SetFindV0s(kTRUE);
6518a6c5 179 SetAddVirtualClustersInDeadZone(kFALSE);
572f41f9 180 SetUseAmplitudeInfo(kTRUE);
e50912db 181 SetClusterErrorsParam(1);
f9119eb9 182 SetClusterMisalError(0.);
7203e11a 183 SetVertexer3DDefaults();
44347160 184}
185//_____________________________________________________________________________
186AliITSRecoParam::~AliITSRecoParam()
187{
188 //
189 // destructor
190 //
191}
192//_____________________________________________________________________________
193AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
194{
195 //
196 // make default reconstruction parameters for hig flux env.
197 //
198 AliITSRecoParam *param = new AliITSRecoParam();
14bcd755 199 param->SetVertexerZ();
44347160 200
1aa655ec 201 // use of bads from OCDB
202 param->SetUseBadZonesFromOCDB(kTRUE);
203 param->SetUseSingleBadChannelsFromOCDB(kFALSE);
204 // extended eta acceptance
205 param->SetExtendedEtaAcceptance(kFALSE);
206 // allow to skip layer if no cluster and no bad
207 param->SetAllowProlongationWithEmptyRoad(kFALSE);
208
9be1d1c7 209
44347160 210 param->fMaxSnp = 0.95;
211
212 param->fNSigmaYLayerForRoadY = 4.;
213 param->fNSigmaRoadY = 7.5;
214 param->fNSigmaZLayerForRoadZ = 4.;
215 param->fNSigmaRoadZ = 7.5;
216
217 param->fNSigma2RoadZC = 60.; //7.75^2
218 param->fNSigma2RoadYC = 60.; //7.75^2
219 param->fNSigma2RoadZNonC = 50.; //7.07^2
220 param->fNSigma2RoadYNonC = 50.; //7.07^2
221
222 param->fMaxChi2PerCluster[0] = 11.; //7
223 param->fMaxChi2PerCluster[1] = 12.; //5
224 param->fMaxChi2PerCluster[2] = 12.; //8
225 param->fMaxChi2PerCluster[3] = 5.; //8
226 param->fMaxChi2PerCluster[4] = 12.; //6.5
227
228 param->fMaxNormChi2NonC[0] = 7.;
229 param->fMaxNormChi2NonC[1] = 8.;
230 param->fMaxNormChi2NonC[2] = 8.;
231 param->fMaxNormChi2NonC[3] = 11.;
232 param->fMaxNormChi2NonC[4] = 14.;
233 param->fMaxNormChi2NonC[5] = 25.;
234
235 param->fMaxNormChi2C[0] = 11.;
236 param->fMaxNormChi2C[1] = 13.;
237 param->fMaxNormChi2C[2] = 15.;
238 param->fMaxNormChi2C[3] = 18.;
239 param->fMaxNormChi2C[4] = 30.;
240 param->fMaxNormChi2C[5] = 35.;
afd25725 241
242 param->fMaxNormChi2NonCForHypothesis = 7.;
44347160 243
244 param->fMaxChi2 = 35.;
245
246 param->fMaxChi2s[0] = 25.; //40
247 param->fMaxChi2s[1] = 25.; //40
248 param->fMaxChi2s[2] = 25.; //40
249 param->fMaxChi2s[3] = 25.; //40
250 param->fMaxChi2s[4] = 40.; //40
251 param->fMaxChi2s[5] = 50.; //40
252
253 param->fMaxRoad = 6.;
254
255 // not used
256 param->fMaxChi2In = 16.;
257
258 param->fMaxChi2sR[0] = 10.;
259 param->fMaxChi2sR[1] = 10.;
260 param->fMaxChi2sR[2] = 10.;
261 param->fMaxChi2sR[3] = 10.;
262 param->fMaxChi2sR[4] = 30.;
263 param->fMaxChi2sR[5] = 40.;
264
265 param->fChi2PerCluster = 9.;
266 // not used
267
268 param->fXV = 0.;
269 param->fYV = 0.;
270 param->fZV = 0.;
271 param->fSigmaXV = 0.0050;
272 param->fSigmaYV = 0.0050;
273 param->fSigmaZV = 0.0100;
274
275 param->fVertexCut = 25.;
afd25725 276
277 param->fMaxDZforPrimTrk = 0.4;
278 param->fMaxDZToUseConstraint = 3.;
279
280 param->fMaxDforV0dghtrForProlongation = 30.;
6518a6c5 281 param->fMaxDForProlongation = 40.;//10.;
282 param->fMaxDZForProlongation = 60.;//20.;
afd25725 283 param->fMinPtForProlongation = 0.120;
284
285 param->fZWindowDeadZone = 2.0;
286 param->fSigmaXDeadZoneHit2 = 0.004/12.;
287 param->fSigmaZDeadZoneHit2 = 0.001/12.;
288 param->fXPassDeadZoneHits = 0.018;
44347160 289
290 return param;
291}
292//_____________________________________________________________________________
293AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
294{
295 //
296 // make default reconstruction parameters for low flux env.
297 //
c7d6d7b7 298 AliITSRecoParam *param = new AliITSRecoParam();
7203e11a 299 param->SetVertexer3DDefaults();
c7d6d7b7 300
1aa655ec 301 // full use of bads from OCDB
302 param->SetUseBadZonesFromOCDB(kTRUE);
303 param->SetUseSingleBadChannelsFromOCDB(kTRUE);
304 // extended eta acceptance
305 param->SetExtendedEtaAcceptance(kTRUE);
306 // allow to skip layer if no cluster and no bad
307 param->SetAllowProlongationWithEmptyRoad(kTRUE);
308
9be1d1c7 309
c7d6d7b7 310 param->fMaxSnp = 0.95;
311
312 param->fNSigmaYLayerForRoadY = 4.;
313 param->fNSigmaRoadY = 7.5;
314 param->fNSigmaZLayerForRoadZ = 4.;
315 param->fNSigmaRoadZ = 7.5;
316
317 param->fNSigma2RoadZC = 60.; //7.75^2
318 param->fNSigma2RoadYC = 60.; //7.75^2
319 param->fNSigma2RoadZNonC = 50.; //7.07^2
320 param->fNSigma2RoadYNonC = 50.; //7.07^2
321
322 param->fMaxChi2PerCluster[0] = 11.; //7
323 param->fMaxChi2PerCluster[1] = 12.; //5
324 param->fMaxChi2PerCluster[2] = 12.; //8
325 param->fMaxChi2PerCluster[3] = 5.; //8
326 param->fMaxChi2PerCluster[4] = 12.; //6.5
327
328 param->fMaxNormChi2NonC[0] = 7.;
329 param->fMaxNormChi2NonC[1] = 8.;
330 param->fMaxNormChi2NonC[2] = 8.;
331 param->fMaxNormChi2NonC[3] = 11.;
332 param->fMaxNormChi2NonC[4] = 14.;
333 param->fMaxNormChi2NonC[5] = 25.;
334
335 param->fMaxNormChi2C[0] = 11.;
336 param->fMaxNormChi2C[1] = 13.;
337 param->fMaxNormChi2C[2] = 15.;
338 param->fMaxNormChi2C[3] = 18.;
339 param->fMaxNormChi2C[4] = 30.;
340 param->fMaxNormChi2C[5] = 35.;
341
342 param->fMaxNormChi2NonCForHypothesis = 7.;
343
344 param->fMaxChi2 = 35.;
345
346 param->fMaxChi2s[0] = 25.; //40
347 param->fMaxChi2s[1] = 25.; //40
348 param->fMaxChi2s[2] = 25.; //40
349 param->fMaxChi2s[3] = 25.; //40
350 param->fMaxChi2s[4] = 40.; //40
351 param->fMaxChi2s[5] = 50.; //40
352
353 param->fMaxRoad = 6.;
354
355 // not used
356 param->fMaxChi2In = 16.;
357
358 param->fMaxChi2sR[0] = 10.;
359 param->fMaxChi2sR[1] = 10.;
360 param->fMaxChi2sR[2] = 10.;
361 param->fMaxChi2sR[3] = 10.;
362 param->fMaxChi2sR[4] = 30.;
363 param->fMaxChi2sR[5] = 40.;
364
365 param->fChi2PerCluster = 9.;
366 // not used
367
368 param->fXV = 0.;
369 param->fYV = 0.;
370 param->fZV = 0.;
371 param->fSigmaXV = 0.0050;
372 param->fSigmaYV = 0.0050;
373 param->fSigmaZV = 0.0100;
374
375 param->fVertexCut = 25.;
376
377 param->fMaxDZforPrimTrk = 0.4;
378 param->fMaxDZToUseConstraint = 3.;
379
380 param->fMaxDforV0dghtrForProlongation = 30.;
381 param->fMaxDForProlongation = 40.;//10.;
382 param->fMaxDZForProlongation = 60.;//20.;
383 param->fMinPtForProlongation = 0.120;
384
385 param->fZWindowDeadZone = 2.0;
386 param->fSigmaXDeadZoneHit2 = 0.004/12.;
387 param->fSigmaZDeadZoneHit2 = 0.001/12.;
388 param->fXPassDeadZoneHits = 0.018;
3733ccd2 389 param->SetNLoopsSA(20);
390 param->fMaxPhiSA = 0.07;
391 param->fMaxLambdaSA = 0.04;
c7d6d7b7 392 return param;
44347160 393}
394//_____________________________________________________________________________
395AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
396{
397 //
398 // make default reconstruction parameters for cosmics
399 //
e340bb86 400 AliITSRecoParam *param = new AliITSRecoParam();
401
f9119eb9 402 // vertexer for cosmics
403 param->SetVertexer(2);
404
9f9cae94 405 // find independently ITS SA tracks
406 param->SetSAUseAllClusters();
407 param->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
f9119eb9 408
2755f080 409 // larger seach windows for SA (in case of large misalignments)
410 param->SetFactorSAWindowSizes(3.);
e340bb86 411
412 param->fMaxSnp = 0.95;
413
414 param->fNSigmaYLayerForRoadY = 4.;
415 param->fNSigmaRoadY = 7.5;
416 param->fNSigmaZLayerForRoadZ = 4.;
417 param->fNSigmaRoadZ = 7.5;
418
419 param->fNSigma2RoadZC = 60.; //7.75^2
420 param->fNSigma2RoadYC = 60.; //7.75^2
421 param->fNSigma2RoadZNonC = 50.; //7.07^2
422 param->fNSigma2RoadYNonC = 50.; //7.07^2
423
424 param->fMaxChi2PerCluster[0] = 11.; //7
425 param->fMaxChi2PerCluster[1] = 12.; //5
426 param->fMaxChi2PerCluster[2] = 12.; //8
427 param->fMaxChi2PerCluster[3] = 5.; //8
428 param->fMaxChi2PerCluster[4] = 12.; //6.5
429
430 param->fMaxNormChi2NonC[0] = 7.;
431 param->fMaxNormChi2NonC[1] = 8.;
432 param->fMaxNormChi2NonC[2] = 8.;
433 param->fMaxNormChi2NonC[3] = 11.;
434 param->fMaxNormChi2NonC[4] = 14.;
435 param->fMaxNormChi2NonC[5] = 25.;
436
437 param->fMaxNormChi2C[0] = 11.;
438 param->fMaxNormChi2C[1] = 13.;
439 param->fMaxNormChi2C[2] = 15.;
440 param->fMaxNormChi2C[3] = 18.;
441 param->fMaxNormChi2C[4] = 30.;
442 param->fMaxNormChi2C[5] = 35.;
443
444 param->fMaxNormChi2NonCForHypothesis = 7.;
445
446 param->fMaxChi2 = 35.;
447
448 param->fMaxChi2s[0] = 25.; //40
449 param->fMaxChi2s[1] = 25.; //40
450 param->fMaxChi2s[2] = 25.; //40
451 param->fMaxChi2s[3] = 25.; //40
452 param->fMaxChi2s[4] = 40.; //40
453 param->fMaxChi2s[5] = 50.; //40
454
455 param->fMaxRoad = 6.;
456
457 // not used
458 param->fMaxChi2In = 16.;
459
460 param->fMaxChi2sR[0] = 10.;
461 param->fMaxChi2sR[1] = 10.;
462 param->fMaxChi2sR[2] = 10.;
463 param->fMaxChi2sR[3] = 10.;
464 param->fMaxChi2sR[4] = 30.;
465 param->fMaxChi2sR[5] = 40.;
466
467 param->fChi2PerCluster = 9.;
468 // not used
469
470 param->fXV = 0.;
471 param->fYV = 0.;
472 param->fZV = 0.;
473 param->fSigmaXV = 0.0050;
474 param->fSigmaYV = 0.0050;
475 param->fSigmaZV = 0.0100;
476
477 param->fVertexCut = 25.;
478
479 param->fMaxDZforPrimTrk = 0.4;
480 param->fMaxDZToUseConstraint = 3.;
481
482 param->fMaxDforV0dghtrForProlongation = 30.;
483 param->fMaxDForProlongation = 10.;
484 param->fMaxDZForProlongation = 20.;
485 param->fMinPtForProlongation = 0.120;
486
487 param->fZWindowDeadZone = 2.0;
488 param->fSigmaXDeadZoneHit2 = 0.004/12.;
489 param->fSigmaZDeadZoneHit2 = 0.001/12.;
490 param->fXPassDeadZoneHits = 0.018;
491
492
493 return param;
44347160 494}
495//_____________________________________________________________________________
ae00569a 496AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
497{
498 //
58e8dc31 499 // make special reconstruction parameters for Plane Efficiency study on layer i (0,5)
500 //
501 // if i=-1, then the evaluation for both pixel layers is tried with the tracklet method
ae00569a 502 //
58e8dc31 503 if (i<-1 || i>=AliITSgeomTGeo::kNLayers) {
504 printf("AliITSRecoParam::GetPlaneEffParam: index of ITS Plane nor in the range [0,5] neither =-1\n");
0ed58a47 505 printf("returning null pointer");
506 return NULL;
507 }
58e8dc31 508 if(i>=0) { // Method using tracks (remove given plane from tracking)
509 AliITSRecoParam *param;
510 param = GetHighFluxParam();
511 param->SetComputePlaneEff();
512 param->SetLayerToSkip(i);
513 param->SetIPlanePlaneEff(i);
514 // optimized setting for SPD0 (i==0)
515 if (i==0 || i==1) {
516 param->fMinPtPlaneEff = 0.200; // high pt particles
517 param->fMaxMissingClustersPlaneEff = 1; // at most 1 layer out of 5 without cluster
518 param->fRequireClusterInOuterLayerPlaneEff = kTRUE; // cluster on SPD1 must be
519 //param->fOnlyConstraintPlaneEff = kTRUE;
520 }
521 if (i==2 || i==3) {
522 param->fMinPtPlaneEff = 0.200; // high pt particles
523 param->fMaxMissingClustersPlaneEff = 1; // at most 1 layer out of 5 without cluster
524 param->fRequireClusterInOuterLayerPlaneEff = kTRUE;
525 //param->fOnlyConstraintPlaneEff = kTRUE;
526 }
527 if (i==4) {
528 param->fMinPtPlaneEff = 0.200; // high pt particles
529 param->fMaxMissingClustersPlaneEff = 0; // at most 1 layer out of 5 without cluster
530 param->fRequireClusterInOuterLayerPlaneEff = kTRUE;
531 //param->fOnlyConstraintPlaneEff = kTRUE;
532 }
533 if (i==5) {
534 param->fMinPtPlaneEff = 0.200; // high pt particles
535 }
536 //
537 return param;
0ed58a47 538 }
58e8dc31 539 else if (i==-1) { // Method using tracklets
540 AliITSRecoParam *param;
541 param = GetLowFluxParam();
542 param->SetIPlanePlaneEff(i);
543 param->SetComputePlaneEff(kTRUE,kFALSE);
544 param->SetUseTrackletsPlaneEff(kTRUE);
545 param->SetTrackleterPhiWindow(0.07);
546 param->SetTrackleterZetaWindow(0.4);
547 param->SetTrackleterPhiWindowL1(0.10);
548 param->SetTrackleterZetaWindowL1(0.6);
549 param->SetUpdateOncePerEventPlaneEff(kTRUE);
550 param->SetMinContVtxPlaneEff(3);
551 return param;
0ed58a47 552 }
5bd7ec3a 553 else {
554 AliErrorGeneral("AliITSRecoParam",Form("Unrecognised value of i %d\n",i));
555 return 0;
556 }
ae00569a 557}
558//_____________________________________________________________________________
44347160 559void AliITSRecoParam::SetLayersParameters()
560{
561 //
562 // number of layers and layers spatial resolutions
563 //
564
565 // spatial resolutions of the detectors
566 // y: 12 12 38 38 20 20 micron
567 fSigmaY2[0]=1.44e-6;
568 fSigmaY2[1]=1.44e-6;
569 fSigmaY2[2]=1.444e-5;
570 fSigmaY2[3]=1.444e-5;
571 fSigmaY2[4]=4.0e-6;
572 fSigmaY2[5]=4.0e-6;
573 // z: 120 120 28 28 830 830 micron
574 fSigmaZ2[0]=1.44e-4;
575 fSigmaZ2[1]=1.44e-4;
576 fSigmaZ2[2]=7.84e-6;
577 fSigmaZ2[3]=7.84e-6;
578 fSigmaZ2[4]=6.889e-3;
579 fSigmaZ2[5]=6.889e-3;
580
581 return;
582}
ed446fa3 583//_____________________________________________________________________________
584void AliITSRecoParam::PrintParameters() const
585{
586 //
587 // print parameters
588 //
589
590 printf("============================= AliITSRecoParam::PrintParameters ");
f9119eb9 591 printf("============================= \n\n");
ed446fa3 592 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) {
593 if(!fLayersToSkip[i]) {
594 printf("ITS Traking: using layer %d\n",i);
595 } else {
596 printf("ITS Traking: skipping layer %d\n",i);
597 }
598 }
599 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) {
600 if(fUseAmplitudeInfo[i]) {
601 printf("ITS Traking: use amplitude info for layer %d\n",i);
602 } else {
603 printf("ITS Traking: don't use amplitude info for layer %d\n",i);
604 }
605 }
606 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++)
f9119eb9 607 printf("Layer %d:\n sigmaY2 %f, sigmaZ2 %f\n sigmaMisalY %f, sigmaMisalZ %f\n max norm chi2 for non constrained tracks %f\n max norm chi2 for constrained tracks %f\n max predicted chi2 (cluster & track prol.) %f\n",i,fSigmaY2[i],fSigmaZ2[i],fClusterMisalErrorY[i],fClusterMisalErrorZ[i],fMaxNormChi2NonC[i],fMaxNormChi2C[i],fMaxChi2s[i]);
ed446fa3 608
609
610 Dump();
611
612 return;
613}