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