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