]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ITS/AliITSRecoParam.cxx
new bugs fixed by Tomek
[u/mrichter/AliRoot.git] / ITS / AliITSRecoParam.cxx
... / ...
CommitLineData
1/**************************************************************************
2 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
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
16#include "AliITSRecoParam.h"
17
18/* $Id$ */
19
20///////////////////////////////////////////////////////////////////////////////
21// //
22// Class with ITS reconstruction parameters //
23// Origin: andrea.dainese@lnl.infn.it //
24// //
25///////////////////////////////////////////////////////////////////////////////
26
27
28
29ClassImp(AliITSRecoParam)
30
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
62
63//_____________________________________________________________________________
64AliITSRecoParam::AliITSRecoParam() : AliDetectorRecoParam(),
65fMaxSnp(1.),
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),
92fAddVirtualClustersInDeadZone(kFALSE),
93fZWindowDeadZone(0),
94fSigmaXDeadZoneHit2(0),
95fSigmaZDeadZoneHit2(0),
96fXPassDeadZoneHits(0),
97fUseTGeoInTracker(3),
98fAllowSharedClusters(kTRUE),
99fClusterErrorsParam(1),
100fComputePlaneEff(kFALSE),
101fExtendedEtaAcceptance(kFALSE),
102fUseDeadZonesFromOCDB(kFALSE),
103fFactorSAWindowSizes(1.),
104fFindV0s(kTRUE),
105fUseUnfoldingInClusterFinderSPD(kFALSE),
106fUseUnfoldingInClusterFinderSDD(kTRUE),
107fUseUnfoldingInClusterFinderSSD(kTRUE)
108{
109 //
110 // constructor
111 //
112 SetName("ITS");
113 SetTitle("ITS");
114
115 SetLayersParameters();
116 for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
117 SetUseTGeoInTracker(3);
118 SetAllowSharedClusters(kTRUE);
119 SetFindV0s(kTRUE);
120 SetAddVirtualClustersInDeadZone(kFALSE);
121 SetUseAmplitudeInfo(kTRUE);
122 SetClusterErrorsParam(1);
123}
124//_____________________________________________________________________________
125AliITSRecoParam::~AliITSRecoParam()
126{
127 //
128 // destructor
129 //
130}
131//_____________________________________________________________________________
132AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
133{
134 //
135 // make default reconstruction parameters for hig flux env.
136 //
137 AliITSRecoParam *param = new AliITSRecoParam();
138
139 param->fMaxSnp = 0.95;
140
141 param->fNSigmaYLayerForRoadY = 4.;
142 param->fNSigmaRoadY = 7.5;
143 param->fNSigmaZLayerForRoadZ = 4.;
144 param->fNSigmaRoadZ = 7.5;
145
146 param->fNSigma2RoadZC = 60.; //7.75^2
147 param->fNSigma2RoadYC = 60.; //7.75^2
148 param->fNSigma2RoadZNonC = 50.; //7.07^2
149 param->fNSigma2RoadYNonC = 50.; //7.07^2
150
151 param->fMaxChi2PerCluster[0] = 11.; //7
152 param->fMaxChi2PerCluster[1] = 12.; //5
153 param->fMaxChi2PerCluster[2] = 12.; //8
154 param->fMaxChi2PerCluster[3] = 5.; //8
155 param->fMaxChi2PerCluster[4] = 12.; //6.5
156
157 param->fMaxNormChi2NonC[0] = 7.;
158 param->fMaxNormChi2NonC[1] = 8.;
159 param->fMaxNormChi2NonC[2] = 8.;
160 param->fMaxNormChi2NonC[3] = 11.;
161 param->fMaxNormChi2NonC[4] = 14.;
162 param->fMaxNormChi2NonC[5] = 25.;
163
164 param->fMaxNormChi2C[0] = 11.;
165 param->fMaxNormChi2C[1] = 13.;
166 param->fMaxNormChi2C[2] = 15.;
167 param->fMaxNormChi2C[3] = 18.;
168 param->fMaxNormChi2C[4] = 30.;
169 param->fMaxNormChi2C[5] = 35.;
170
171 param->fMaxNormChi2NonCForHypothesis = 7.;
172
173 param->fMaxChi2 = 35.;
174
175 param->fMaxChi2s[0] = 25.; //40
176 param->fMaxChi2s[1] = 25.; //40
177 param->fMaxChi2s[2] = 25.; //40
178 param->fMaxChi2s[3] = 25.; //40
179 param->fMaxChi2s[4] = 40.; //40
180 param->fMaxChi2s[5] = 50.; //40
181
182 param->fMaxRoad = 6.;
183
184 // not used
185 param->fMaxChi2In = 16.;
186
187 param->fMaxChi2sR[0] = 10.;
188 param->fMaxChi2sR[1] = 10.;
189 param->fMaxChi2sR[2] = 10.;
190 param->fMaxChi2sR[3] = 10.;
191 param->fMaxChi2sR[4] = 30.;
192 param->fMaxChi2sR[5] = 40.;
193
194 param->fChi2PerCluster = 9.;
195 // not used
196
197 param->fXV = 0.;
198 param->fYV = 0.;
199 param->fZV = 0.;
200 param->fSigmaXV = 0.0050;
201 param->fSigmaYV = 0.0050;
202 param->fSigmaZV = 0.0100;
203
204 param->fVertexCut = 25.;
205
206 param->fMaxDZforPrimTrk = 0.4;
207 param->fMaxDZToUseConstraint = 3.;
208
209 param->fMaxDforV0dghtrForProlongation = 30.;
210 param->fMaxDForProlongation = 40.;//10.;
211 param->fMaxDZForProlongation = 60.;//20.;
212 param->fMinPtForProlongation = 0.120;
213
214 param->fZWindowDeadZone = 2.0;
215 param->fSigmaXDeadZoneHit2 = 0.004/12.;
216 param->fSigmaZDeadZoneHit2 = 0.001/12.;
217 param->fXPassDeadZoneHits = 0.018;
218
219
220 return param;
221}
222//_____________________________________________________________________________
223AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
224{
225 //
226 // make special reconstruction parameters for Plane Efficiency study on layer i
227 //
228 AliITSRecoParam *param;
229 param = GetHighFluxParam();
230 param->SetComputePlaneEff();
231 param->SetLayerToSkip(i);
232 return param;
233}
234//_____________________________________________________________________________
235AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
236{
237 //
238 // make default reconstruction parameters for low flux env.
239 //
240 return GetHighFluxParam();
241}
242//_____________________________________________________________________________
243AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
244{
245 //
246 // make default reconstruction parameters for cosmics
247 //
248 AliITSRecoParam *param = new AliITSRecoParam();
249
250 // larger seach windows for SA (in case of large misalignments)
251 param->SetFactorSAWindowSizes(3.);
252
253 param->fMaxSnp = 0.95;
254
255 param->fNSigmaYLayerForRoadY = 4.;
256 param->fNSigmaRoadY = 7.5;
257 param->fNSigmaZLayerForRoadZ = 4.;
258 param->fNSigmaRoadZ = 7.5;
259
260 param->fNSigma2RoadZC = 60.; //7.75^2
261 param->fNSigma2RoadYC = 60.; //7.75^2
262 param->fNSigma2RoadZNonC = 50.; //7.07^2
263 param->fNSigma2RoadYNonC = 50.; //7.07^2
264
265 param->fMaxChi2PerCluster[0] = 11.; //7
266 param->fMaxChi2PerCluster[1] = 12.; //5
267 param->fMaxChi2PerCluster[2] = 12.; //8
268 param->fMaxChi2PerCluster[3] = 5.; //8
269 param->fMaxChi2PerCluster[4] = 12.; //6.5
270
271 param->fMaxNormChi2NonC[0] = 7.;
272 param->fMaxNormChi2NonC[1] = 8.;
273 param->fMaxNormChi2NonC[2] = 8.;
274 param->fMaxNormChi2NonC[3] = 11.;
275 param->fMaxNormChi2NonC[4] = 14.;
276 param->fMaxNormChi2NonC[5] = 25.;
277
278 param->fMaxNormChi2C[0] = 11.;
279 param->fMaxNormChi2C[1] = 13.;
280 param->fMaxNormChi2C[2] = 15.;
281 param->fMaxNormChi2C[3] = 18.;
282 param->fMaxNormChi2C[4] = 30.;
283 param->fMaxNormChi2C[5] = 35.;
284
285 param->fMaxNormChi2NonCForHypothesis = 7.;
286
287 param->fMaxChi2 = 35.;
288
289 param->fMaxChi2s[0] = 25.; //40
290 param->fMaxChi2s[1] = 25.; //40
291 param->fMaxChi2s[2] = 25.; //40
292 param->fMaxChi2s[3] = 25.; //40
293 param->fMaxChi2s[4] = 40.; //40
294 param->fMaxChi2s[5] = 50.; //40
295
296 param->fMaxRoad = 6.;
297
298 // not used
299 param->fMaxChi2In = 16.;
300
301 param->fMaxChi2sR[0] = 10.;
302 param->fMaxChi2sR[1] = 10.;
303 param->fMaxChi2sR[2] = 10.;
304 param->fMaxChi2sR[3] = 10.;
305 param->fMaxChi2sR[4] = 30.;
306 param->fMaxChi2sR[5] = 40.;
307
308 param->fChi2PerCluster = 9.;
309 // not used
310
311 param->fXV = 0.;
312 param->fYV = 0.;
313 param->fZV = 0.;
314 param->fSigmaXV = 0.0050;
315 param->fSigmaYV = 0.0050;
316 param->fSigmaZV = 0.0100;
317
318 param->fVertexCut = 25.;
319
320 param->fMaxDZforPrimTrk = 0.4;
321 param->fMaxDZToUseConstraint = 3.;
322
323 param->fMaxDforV0dghtrForProlongation = 30.;
324 param->fMaxDForProlongation = 10.;
325 param->fMaxDZForProlongation = 20.;
326 param->fMinPtForProlongation = 0.120;
327
328 param->fZWindowDeadZone = 2.0;
329 param->fSigmaXDeadZoneHit2 = 0.004/12.;
330 param->fSigmaZDeadZoneHit2 = 0.001/12.;
331 param->fXPassDeadZoneHits = 0.018;
332
333
334 return param;
335}
336//_____________________________________________________________________________
337void AliITSRecoParam::SetLayersParameters()
338{
339 //
340 // number of layers and layers spatial resolutions
341 //
342
343 // spatial resolutions of the detectors
344 // y: 12 12 38 38 20 20 micron
345 fSigmaY2[0]=1.44e-6;
346 fSigmaY2[1]=1.44e-6;
347 fSigmaY2[2]=1.444e-5;
348 fSigmaY2[3]=1.444e-5;
349 fSigmaY2[4]=4.0e-6;
350 fSigmaY2[5]=4.0e-6;
351 // z: 120 120 28 28 830 830 micron
352 fSigmaZ2[0]=1.44e-4;
353 fSigmaZ2[1]=1.44e-4;
354 fSigmaZ2[2]=7.84e-6;
355 fSigmaZ2[3]=7.84e-6;
356 fSigmaZ2[4]=6.889e-3;
357 fSigmaZ2[5]=6.889e-3;
358
359 return;
360}