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