]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRecoParam.cxx
Error message removed when data is posted by other than the owner.
[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),
9be1d1c7 112fStepSizeTGeo(0.1),
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),
163fUseCosmicRunShiftsSSD(kFALSE)
44347160 164{
165 //
166 // constructor
167 //
6518a6c5 168 SetName("ITS");
169 SetTitle("ITS");
170
44347160 171 SetLayersParameters();
2755f080 172 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
6518a6c5 173 SetUseTGeoInTracker(3);
9be1d1c7 174 SetStepSizeTGeo(0.1);
afd25725 175 SetAllowSharedClusters(kTRUE);
176 SetFindV0s(kTRUE);
6518a6c5 177 SetAddVirtualClustersInDeadZone(kFALSE);
572f41f9 178 SetUseAmplitudeInfo(kTRUE);
e50912db 179 SetClusterErrorsParam(1);
f9119eb9 180 SetClusterMisalError(0.);
7203e11a 181 SetVertexer3DDefaults();
44347160 182}
183//_____________________________________________________________________________
184AliITSRecoParam::~AliITSRecoParam()
185{
186 //
187 // destructor
188 //
189}
190//_____________________________________________________________________________
191AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
192{
193 //
194 // make default reconstruction parameters for hig flux env.
195 //
196 AliITSRecoParam *param = new AliITSRecoParam();
14bcd755 197 param->SetVertexerZ();
44347160 198
1aa655ec 199 // use of bads from OCDB
200 param->SetUseBadZonesFromOCDB(kTRUE);
201 param->SetUseSingleBadChannelsFromOCDB(kFALSE);
202 // extended eta acceptance
203 param->SetExtendedEtaAcceptance(kFALSE);
204 // allow to skip layer if no cluster and no bad
205 param->SetAllowProlongationWithEmptyRoad(kFALSE);
206
9be1d1c7 207
44347160 208 param->fMaxSnp = 0.95;
209
210 param->fNSigmaYLayerForRoadY = 4.;
211 param->fNSigmaRoadY = 7.5;
212 param->fNSigmaZLayerForRoadZ = 4.;
213 param->fNSigmaRoadZ = 7.5;
214
215 param->fNSigma2RoadZC = 60.; //7.75^2
216 param->fNSigma2RoadYC = 60.; //7.75^2
217 param->fNSigma2RoadZNonC = 50.; //7.07^2
218 param->fNSigma2RoadYNonC = 50.; //7.07^2
219
220 param->fMaxChi2PerCluster[0] = 11.; //7
221 param->fMaxChi2PerCluster[1] = 12.; //5
222 param->fMaxChi2PerCluster[2] = 12.; //8
223 param->fMaxChi2PerCluster[3] = 5.; //8
224 param->fMaxChi2PerCluster[4] = 12.; //6.5
225
226 param->fMaxNormChi2NonC[0] = 7.;
227 param->fMaxNormChi2NonC[1] = 8.;
228 param->fMaxNormChi2NonC[2] = 8.;
229 param->fMaxNormChi2NonC[3] = 11.;
230 param->fMaxNormChi2NonC[4] = 14.;
231 param->fMaxNormChi2NonC[5] = 25.;
232
233 param->fMaxNormChi2C[0] = 11.;
234 param->fMaxNormChi2C[1] = 13.;
235 param->fMaxNormChi2C[2] = 15.;
236 param->fMaxNormChi2C[3] = 18.;
237 param->fMaxNormChi2C[4] = 30.;
238 param->fMaxNormChi2C[5] = 35.;
afd25725 239
240 param->fMaxNormChi2NonCForHypothesis = 7.;
44347160 241
242 param->fMaxChi2 = 35.;
243
244 param->fMaxChi2s[0] = 25.; //40
245 param->fMaxChi2s[1] = 25.; //40
246 param->fMaxChi2s[2] = 25.; //40
247 param->fMaxChi2s[3] = 25.; //40
248 param->fMaxChi2s[4] = 40.; //40
249 param->fMaxChi2s[5] = 50.; //40
250
251 param->fMaxRoad = 6.;
252
253 // not used
254 param->fMaxChi2In = 16.;
255
256 param->fMaxChi2sR[0] = 10.;
257 param->fMaxChi2sR[1] = 10.;
258 param->fMaxChi2sR[2] = 10.;
259 param->fMaxChi2sR[3] = 10.;
260 param->fMaxChi2sR[4] = 30.;
261 param->fMaxChi2sR[5] = 40.;
262
263 param->fChi2PerCluster = 9.;
264 // not used
265
266 param->fXV = 0.;
267 param->fYV = 0.;
268 param->fZV = 0.;
269 param->fSigmaXV = 0.0050;
270 param->fSigmaYV = 0.0050;
271 param->fSigmaZV = 0.0100;
272
273 param->fVertexCut = 25.;
afd25725 274
275 param->fMaxDZforPrimTrk = 0.4;
276 param->fMaxDZToUseConstraint = 3.;
277
278 param->fMaxDforV0dghtrForProlongation = 30.;
6518a6c5 279 param->fMaxDForProlongation = 40.;//10.;
280 param->fMaxDZForProlongation = 60.;//20.;
afd25725 281 param->fMinPtForProlongation = 0.120;
282
283 param->fZWindowDeadZone = 2.0;
284 param->fSigmaXDeadZoneHit2 = 0.004/12.;
285 param->fSigmaZDeadZoneHit2 = 0.001/12.;
286 param->fXPassDeadZoneHits = 0.018;
44347160 287
288 return param;
289}
290//_____________________________________________________________________________
291AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
292{
293 //
294 // make default reconstruction parameters for low flux env.
295 //
c7d6d7b7 296 AliITSRecoParam *param = new AliITSRecoParam();
7203e11a 297 param->SetVertexer3DDefaults();
c7d6d7b7 298
1aa655ec 299 // full use of bads from OCDB
300 param->SetUseBadZonesFromOCDB(kTRUE);
301 param->SetUseSingleBadChannelsFromOCDB(kTRUE);
302 // extended eta acceptance
303 param->SetExtendedEtaAcceptance(kTRUE);
304 // allow to skip layer if no cluster and no bad
305 param->SetAllowProlongationWithEmptyRoad(kTRUE);
306
9be1d1c7 307
c7d6d7b7 308 param->fMaxSnp = 0.95;
309
310 param->fNSigmaYLayerForRoadY = 4.;
311 param->fNSigmaRoadY = 7.5;
312 param->fNSigmaZLayerForRoadZ = 4.;
313 param->fNSigmaRoadZ = 7.5;
314
315 param->fNSigma2RoadZC = 60.; //7.75^2
316 param->fNSigma2RoadYC = 60.; //7.75^2
317 param->fNSigma2RoadZNonC = 50.; //7.07^2
318 param->fNSigma2RoadYNonC = 50.; //7.07^2
319
320 param->fMaxChi2PerCluster[0] = 11.; //7
321 param->fMaxChi2PerCluster[1] = 12.; //5
322 param->fMaxChi2PerCluster[2] = 12.; //8
323 param->fMaxChi2PerCluster[3] = 5.; //8
324 param->fMaxChi2PerCluster[4] = 12.; //6.5
325
326 param->fMaxNormChi2NonC[0] = 7.;
327 param->fMaxNormChi2NonC[1] = 8.;
328 param->fMaxNormChi2NonC[2] = 8.;
329 param->fMaxNormChi2NonC[3] = 11.;
330 param->fMaxNormChi2NonC[4] = 14.;
331 param->fMaxNormChi2NonC[5] = 25.;
332
333 param->fMaxNormChi2C[0] = 11.;
334 param->fMaxNormChi2C[1] = 13.;
335 param->fMaxNormChi2C[2] = 15.;
336 param->fMaxNormChi2C[3] = 18.;
337 param->fMaxNormChi2C[4] = 30.;
338 param->fMaxNormChi2C[5] = 35.;
339
340 param->fMaxNormChi2NonCForHypothesis = 7.;
341
342 param->fMaxChi2 = 35.;
343
344 param->fMaxChi2s[0] = 25.; //40
345 param->fMaxChi2s[1] = 25.; //40
346 param->fMaxChi2s[2] = 25.; //40
347 param->fMaxChi2s[3] = 25.; //40
348 param->fMaxChi2s[4] = 40.; //40
349 param->fMaxChi2s[5] = 50.; //40
350
351 param->fMaxRoad = 6.;
352
353 // not used
354 param->fMaxChi2In = 16.;
355
356 param->fMaxChi2sR[0] = 10.;
357 param->fMaxChi2sR[1] = 10.;
358 param->fMaxChi2sR[2] = 10.;
359 param->fMaxChi2sR[3] = 10.;
360 param->fMaxChi2sR[4] = 30.;
361 param->fMaxChi2sR[5] = 40.;
362
363 param->fChi2PerCluster = 9.;
364 // not used
365
366 param->fXV = 0.;
367 param->fYV = 0.;
368 param->fZV = 0.;
369 param->fSigmaXV = 0.0050;
370 param->fSigmaYV = 0.0050;
371 param->fSigmaZV = 0.0100;
372
373 param->fVertexCut = 25.;
374
375 param->fMaxDZforPrimTrk = 0.4;
376 param->fMaxDZToUseConstraint = 3.;
377
378 param->fMaxDforV0dghtrForProlongation = 30.;
379 param->fMaxDForProlongation = 40.;//10.;
380 param->fMaxDZForProlongation = 60.;//20.;
381 param->fMinPtForProlongation = 0.120;
382
383 param->fZWindowDeadZone = 2.0;
384 param->fSigmaXDeadZoneHit2 = 0.004/12.;
385 param->fSigmaZDeadZoneHit2 = 0.001/12.;
386 param->fXPassDeadZoneHits = 0.018;
3733ccd2 387 param->SetNLoopsSA(20);
388 param->fMaxPhiSA = 0.07;
389 param->fMaxLambdaSA = 0.04;
c7d6d7b7 390 return param;
44347160 391}
392//_____________________________________________________________________________
393AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
394{
395 //
396 // make default reconstruction parameters for cosmics
397 //
e340bb86 398 AliITSRecoParam *param = new AliITSRecoParam();
399
f9119eb9 400 // vertexer for cosmics
401 param->SetVertexer(2);
402
9f9cae94 403 // find independently ITS SA tracks
404 param->SetSAUseAllClusters();
405 param->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
f9119eb9 406
2755f080 407 // larger seach windows for SA (in case of large misalignments)
408 param->SetFactorSAWindowSizes(3.);
e340bb86 409
410 param->fMaxSnp = 0.95;
411
412 param->fNSigmaYLayerForRoadY = 4.;
413 param->fNSigmaRoadY = 7.5;
414 param->fNSigmaZLayerForRoadZ = 4.;
415 param->fNSigmaRoadZ = 7.5;
416
417 param->fNSigma2RoadZC = 60.; //7.75^2
418 param->fNSigma2RoadYC = 60.; //7.75^2
419 param->fNSigma2RoadZNonC = 50.; //7.07^2
420 param->fNSigma2RoadYNonC = 50.; //7.07^2
421
422 param->fMaxChi2PerCluster[0] = 11.; //7
423 param->fMaxChi2PerCluster[1] = 12.; //5
424 param->fMaxChi2PerCluster[2] = 12.; //8
425 param->fMaxChi2PerCluster[3] = 5.; //8
426 param->fMaxChi2PerCluster[4] = 12.; //6.5
427
428 param->fMaxNormChi2NonC[0] = 7.;
429 param->fMaxNormChi2NonC[1] = 8.;
430 param->fMaxNormChi2NonC[2] = 8.;
431 param->fMaxNormChi2NonC[3] = 11.;
432 param->fMaxNormChi2NonC[4] = 14.;
433 param->fMaxNormChi2NonC[5] = 25.;
434
435 param->fMaxNormChi2C[0] = 11.;
436 param->fMaxNormChi2C[1] = 13.;
437 param->fMaxNormChi2C[2] = 15.;
438 param->fMaxNormChi2C[3] = 18.;
439 param->fMaxNormChi2C[4] = 30.;
440 param->fMaxNormChi2C[5] = 35.;
441
442 param->fMaxNormChi2NonCForHypothesis = 7.;
443
444 param->fMaxChi2 = 35.;
445
446 param->fMaxChi2s[0] = 25.; //40
447 param->fMaxChi2s[1] = 25.; //40
448 param->fMaxChi2s[2] = 25.; //40
449 param->fMaxChi2s[3] = 25.; //40
450 param->fMaxChi2s[4] = 40.; //40
451 param->fMaxChi2s[5] = 50.; //40
452
453 param->fMaxRoad = 6.;
454
455 // not used
456 param->fMaxChi2In = 16.;
457
458 param->fMaxChi2sR[0] = 10.;
459 param->fMaxChi2sR[1] = 10.;
460 param->fMaxChi2sR[2] = 10.;
461 param->fMaxChi2sR[3] = 10.;
462 param->fMaxChi2sR[4] = 30.;
463 param->fMaxChi2sR[5] = 40.;
464
465 param->fChi2PerCluster = 9.;
466 // not used
467
468 param->fXV = 0.;
469 param->fYV = 0.;
470 param->fZV = 0.;
471 param->fSigmaXV = 0.0050;
472 param->fSigmaYV = 0.0050;
473 param->fSigmaZV = 0.0100;
474
475 param->fVertexCut = 25.;
476
477 param->fMaxDZforPrimTrk = 0.4;
478 param->fMaxDZToUseConstraint = 3.;
479
480 param->fMaxDforV0dghtrForProlongation = 30.;
481 param->fMaxDForProlongation = 10.;
482 param->fMaxDZForProlongation = 20.;
483 param->fMinPtForProlongation = 0.120;
484
485 param->fZWindowDeadZone = 2.0;
486 param->fSigmaXDeadZoneHit2 = 0.004/12.;
487 param->fSigmaZDeadZoneHit2 = 0.001/12.;
488 param->fXPassDeadZoneHits = 0.018;
489
490
491 return param;
44347160 492}
493//_____________________________________________________________________________
ae00569a 494AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
495{
496 //
58e8dc31 497 // make special reconstruction parameters for Plane Efficiency study on layer i (0,5)
498 //
499 // if i=-1, then the evaluation for both pixel layers is tried with the tracklet method
ae00569a 500 //
58e8dc31 501 if (i<-1 || i>=AliITSgeomTGeo::kNLayers) {
502 printf("AliITSRecoParam::GetPlaneEffParam: index of ITS Plane nor in the range [0,5] neither =-1\n");
0ed58a47 503 printf("returning null pointer");
504 return NULL;
505 }
58e8dc31 506 if(i>=0) { // Method using tracks (remove given plane from tracking)
507 AliITSRecoParam *param;
508 param = GetHighFluxParam();
509 param->SetComputePlaneEff();
510 param->SetLayerToSkip(i);
511 param->SetIPlanePlaneEff(i);
512 // optimized setting for SPD0 (i==0)
513 if (i==0 || i==1) {
514 param->fMinPtPlaneEff = 0.200; // high pt particles
515 param->fMaxMissingClustersPlaneEff = 1; // at most 1 layer out of 5 without cluster
516 param->fRequireClusterInOuterLayerPlaneEff = kTRUE; // cluster on SPD1 must be
517 //param->fOnlyConstraintPlaneEff = kTRUE;
518 }
519 if (i==2 || i==3) {
520 param->fMinPtPlaneEff = 0.200; // high pt particles
521 param->fMaxMissingClustersPlaneEff = 1; // at most 1 layer out of 5 without cluster
522 param->fRequireClusterInOuterLayerPlaneEff = kTRUE;
523 //param->fOnlyConstraintPlaneEff = kTRUE;
524 }
525 if (i==4) {
526 param->fMinPtPlaneEff = 0.200; // high pt particles
527 param->fMaxMissingClustersPlaneEff = 0; // at most 1 layer out of 5 without cluster
528 param->fRequireClusterInOuterLayerPlaneEff = kTRUE;
529 //param->fOnlyConstraintPlaneEff = kTRUE;
530 }
531 if (i==5) {
532 param->fMinPtPlaneEff = 0.200; // high pt particles
533 }
534 //
535 return param;
0ed58a47 536 }
58e8dc31 537 else if (i==-1) { // Method using tracklets
538 AliITSRecoParam *param;
539 param = GetLowFluxParam();
540 param->SetIPlanePlaneEff(i);
541 param->SetComputePlaneEff(kTRUE,kFALSE);
542 param->SetUseTrackletsPlaneEff(kTRUE);
543 param->SetTrackleterPhiWindow(0.07);
544 param->SetTrackleterZetaWindow(0.4);
545 param->SetTrackleterPhiWindowL1(0.10);
546 param->SetTrackleterZetaWindowL1(0.6);
547 param->SetUpdateOncePerEventPlaneEff(kTRUE);
548 param->SetMinContVtxPlaneEff(3);
549 return param;
0ed58a47 550 }
5bd7ec3a 551 else {
552 AliErrorGeneral("AliITSRecoParam",Form("Unrecognised value of i %d\n",i));
553 return 0;
554 }
ae00569a 555}
556//_____________________________________________________________________________
44347160 557void AliITSRecoParam::SetLayersParameters()
558{
559 //
560 // number of layers and layers spatial resolutions
561 //
562
563 // spatial resolutions of the detectors
564 // y: 12 12 38 38 20 20 micron
565 fSigmaY2[0]=1.44e-6;
566 fSigmaY2[1]=1.44e-6;
567 fSigmaY2[2]=1.444e-5;
568 fSigmaY2[3]=1.444e-5;
569 fSigmaY2[4]=4.0e-6;
570 fSigmaY2[5]=4.0e-6;
571 // z: 120 120 28 28 830 830 micron
572 fSigmaZ2[0]=1.44e-4;
573 fSigmaZ2[1]=1.44e-4;
574 fSigmaZ2[2]=7.84e-6;
575 fSigmaZ2[3]=7.84e-6;
576 fSigmaZ2[4]=6.889e-3;
577 fSigmaZ2[5]=6.889e-3;
578
579 return;
580}
ed446fa3 581//_____________________________________________________________________________
582void AliITSRecoParam::PrintParameters() const
583{
584 //
585 // print parameters
586 //
587
588 printf("============================= AliITSRecoParam::PrintParameters ");
f9119eb9 589 printf("============================= \n\n");
ed446fa3 590 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) {
591 if(!fLayersToSkip[i]) {
592 printf("ITS Traking: using layer %d\n",i);
593 } else {
594 printf("ITS Traking: skipping layer %d\n",i);
595 }
596 }
597 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) {
598 if(fUseAmplitudeInfo[i]) {
599 printf("ITS Traking: use amplitude info for layer %d\n",i);
600 } else {
601 printf("ITS Traking: don't use amplitude info for layer %d\n",i);
602 }
603 }
604 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++)
f9119eb9 605 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 606
607
608 Dump();
609
610 return;
611}