GetFile error handling modified after Shuttle failover tests
[u/mrichter/AliRoot.git] / ITS / AliITSRecoParam.h
CommitLineData
44347160 1#ifndef ALIITSRECOPARAM_H
2#define ALIITSRECOPARAM_H
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6///////////////////////////////////////////////////////////////////////////////
7// //
8// Class with ITS reconstruction parameters //
9// Origin: andrea.dainese@lnl.infn.it //
10// //
11///////////////////////////////////////////////////////////////////////////////
12
13
14#include "TObject.h"
afd25725 15#include "AliITSgeomTGeo.h"
44347160 16
17//--------------- move from AliITSrecoV2.h ---------------------------
afd25725 18const Int_t kMaxLayer = 6;
44347160 19
20const Int_t kLayersNotToSkip[6]={0,0,0,0,0,0};
21const Int_t kLastLayerToTrackTo=0;
22
23const Int_t kMaxClusterPerLayer=7000*10;
24const Int_t kMaxClusterPerLayer5=7000*10*2/5;
25const Int_t kMaxClusterPerLayer10=7000*10*2/10;
26const Int_t kMaxClusterPerLayer20=7000*10*2/20;
27const Int_t kMaxDetectorPerLayer=1000;
28//------------- end of move from AliITSrecoV2.h --------------------
29
afd25725 30const Double_t kriw=80.0,kdiw=0.0053,kX0iw=30.0; // TPC inner wall
31const Double_t krcd=61.0,kdcd=0.0053,kX0cd=30.0; // TPC "central drum"
32const Double_t kyr=12.8,kdr=0.03; // rods
33const Double_t kzm=0.2,kdm=0.40; // membrane
34const Double_t krs=50.0,kds=0.001; // ITS screen
35const Double_t krInsideITSscreen=49.0; // inside ITS screen
36
37const Double_t krInsideSPD1=3.7; // inside SPD
38const Double_t krPipe=3.; // beam pipe radius
39const Double_t krInsidePipe=2.7; // inside beam pipe
40const Double_t krOutsidePipe=3.3; // outside beam pipe
41const Double_t kdPipe=0.0023; // beam pipe thickness
42
43const Double_t kX0Air=21.82;
44const Double_t kX0Be=65.19;
45const Double_t kX0shieldSDD=38.6;
46const Double_t kX0shieldSPD=42.0;
47
48const Double_t kdshieldSDD=0.0034;
49const Double_t krshieldSPD=7.5,kdshieldSPD=0.0097;
50
51
52const Double_t kBoundaryWidth=0.2; // to define track at detector boundary
53const Double_t kDeltaXNeighbDets=0.5; // max difference in radius between
54 // neighbouring detectors
55
56// Size of the SPD sensitive volumes (ladders), for dead zones treatment
57const Double_t kSPDdetzlength=6.960; // 7.072-2*0.056
58const Double_t kSPDdetxlength=1.298; // 1.410-2*0.056
44347160 59
60class AliITSRecoParam : public TObject
61{
62 public:
63 AliITSRecoParam();
64 virtual ~AliITSRecoParam();
65
66 static AliITSRecoParam *GetLowFluxParam();// make reco parameters for low flux env.
67 static AliITSRecoParam *GetHighFluxParam();// make reco parameters for high flux env.
68 static AliITSRecoParam *GetCosmicTestParam();// special setting for cosmic
69
70
71 Double_t GetSigmaY2(Int_t i) const { return fSigmaY2[i]; }
72 Double_t GetSigmaZ2(Int_t i) const { return fSigmaZ2[i]; }
73
74 Double_t GetMaxSnp() const { return fMaxSnp; }
75
76 Double_t GetNSigmaYLayerForRoadY() const { return fNSigmaYLayerForRoadY; }
77 Double_t GetNSigmaRoadY() const { return fNSigmaRoadY; }
78 Double_t GetNSigmaZLayerForRoadZ() const { return fNSigmaZLayerForRoadZ; }
79 Double_t GetNSigmaRoadZ() const { return fNSigmaRoadZ; }
80 Double_t GetNSigma2RoadYC() const { return fNSigma2RoadYC; }
81 Double_t GetNSigma2RoadZC() const { return fNSigma2RoadZC; }
82 Double_t GetNSigma2RoadYNonC() const { return fNSigma2RoadYNonC; }
83 Double_t GetNSigma2RoadZNonC() const { return fNSigma2RoadZNonC; }
84
85 Double_t GetChi2PerCluster() const { return fChi2PerCluster; }
86 Double_t GetMaxChi2PerCluster(Int_t i) const { return fMaxChi2PerCluster[i]; }
87 Double_t GetMaxNormChi2NonC(Int_t i) const { return fMaxNormChi2NonC[i]; }
88 Double_t GetMaxNormChi2C(Int_t i) const { return fMaxNormChi2C[i]; }
afd25725 89 Double_t GetMaxNormChi2NonCForHypothesis() const { return fMaxNormChi2NonCForHypothesis; }
44347160 90 Double_t GetMaxChi2() const { return fMaxChi2; }
91 Double_t GetMaxChi2s(Int_t i) const { return fMaxChi2s[i]; }
92 Double_t GetMaxChi2sR(Int_t i) const { return fMaxChi2sR[i]; }
93 Double_t GetMaxChi2In() const { return fMaxChi2In; }
44347160 94 Double_t GetMaxRoad() const { return fMaxRoad; }
afd25725 95 Double_t GetMaxNormChi2ForGolden(Int_t i) const { return 3.+0.5*i; }
44347160 96
97 Double_t GetXVdef() const { return fXV; }
98 Double_t GetYVdef() const { return fYV; }
99 Double_t GetZVdef() const { return fZV; }
100 Double_t GetSigmaXVdef() const { return fSigmaXV; }
101 Double_t GetSigmaYVdef() const { return fSigmaYV; }
102 Double_t GetSigmaZVdef() const { return fSigmaZV; }
afd25725 103
104 Double_t GetVertexCut() const { return fVertexCut; }
105 Double_t GetMaxDZforPrimTrk() const { return fMaxDZforPrimTrk; }
106 Double_t GetMaxDZToUseConstraint() const { return fMaxDZToUseConstraint; }
107 Double_t GetMaxDforV0dghtrForProlongation() const { return fMaxDforV0dghtrForProlongation; }
108 Double_t GetMaxDForProlongation() const { return fMaxDForProlongation; }
109 Double_t GetMaxDZForProlongation() const { return fMaxDZForProlongation; }
110 Double_t GetMinPtForProlongation() const { return fMinPtForProlongation; }
111
112 void SetAddVirtualClustersInDeadZone(Bool_t add=kTRUE) { fAddVirtualClustersInDeadZone=add; return; }
113 Bool_t GetAddVirtualClustersInDeadZone() const { return fAddVirtualClustersInDeadZone; }
114 Double_t GetZWindowDeadZone() const { return fZWindowDeadZone; }
115 Double_t GetSigmaXDeadZoneHit2() const { return fSigmaXDeadZoneHit2; }
116 Double_t GetSigmaZDeadZoneHit2() const { return fSigmaZDeadZoneHit2; }
117 Double_t GetXPassDeadZoneHits() const { return fXPassDeadZoneHits; }
118
119
120
121 void SetUseTGeoInTracker(Bool_t use=kTRUE) { fUseTGeoInTracker=use; return; }
122 Bool_t GetUseTGeoInTracker() const { return fUseTGeoInTracker; }
44347160 123
afd25725 124 void SetAllowSharedClusters(Bool_t allow=kTRUE) { fAllowSharedClusters=allow; return; }
125 Bool_t GetAllowSharedClusters() const { return fAllowSharedClusters; }
126
127 void SetFindV0s(Bool_t find=kTRUE) { fFindV0s=find; return; }
128 Bool_t GetFindV0s() const { return fFindV0s; }
129
44347160 130 void SetLayersParameters();
131 //
132 protected:
133 //
134 // spatial resolutions of the detectors
135 Double_t fSigmaY2[kMaxLayer];
136 Double_t fSigmaZ2[kMaxLayer];
137 //
138 Double_t fMaxSnp; // maximum of sin(phi) (MI)
139 //
140 // search road (MI)
141 Double_t fNSigmaYLayerForRoadY;
142 Double_t fNSigmaRoadY;
143 Double_t fNSigmaZLayerForRoadZ;
144 Double_t fNSigmaRoadZ;
145 Double_t fNSigma2RoadZC;
146 Double_t fNSigma2RoadYC;
147 Double_t fNSigma2RoadZNonC;
148 Double_t fNSigma2RoadYNonC;
149 //
150 // chi2 cuts
151 Double_t fMaxChi2PerCluster[kMaxLayer-1]; // max chi2 for MIP (MI)
152 Double_t fMaxNormChi2NonC[kMaxLayer]; //max norm chi2 for non constrained tracks (MI)
153 Double_t fMaxNormChi2C[kMaxLayer]; //max norm chi2 for constrained tracks (MI)
afd25725 154 Double_t fMaxNormChi2NonCForHypothesis; //max norm chi2 (on layers 0,1,2) for hypotheis to be kept (MI)
44347160 155 Double_t fMaxChi2; // used to initialize variables needed to find minimum chi2 (MI,V2)
156 Double_t fMaxChi2s[kMaxLayer]; // max predicted chi2 (cluster & track prol.) (MI)
157 //
158 Double_t fMaxRoad; // (V2)
159 //
160 Double_t fMaxChi2In; // (NOT USED)
161 Double_t fMaxChi2sR[kMaxLayer]; // (NOT USED)
162 Double_t fChi2PerCluster; // (NOT USED)
163 //
164 // default primary vertex (MI,V2)
165 Double_t fXV;
166 Double_t fYV;
167 Double_t fZV;
168 Double_t fSigmaXV;
169 Double_t fSigmaYV;
170 Double_t fSigmaZV;
171 Double_t fVertexCut; // (V2)
afd25725 172 Double_t fMaxDZforPrimTrk; // maximum (imp. par.)/(1+layer) to define
173 // a primary and apply vertex constraint (MI)
174 Double_t fMaxDZToUseConstraint; // maximum (imp. par.) for tracks to be
175 // prolonged with constraint
176 // cuts to decide if trying to prolong a TPC track (MI)
177 Double_t fMaxDforV0dghtrForProlongation; // max. rphi imp. par. cut for V0 daughter
44347160 178 //
afd25725 179 Double_t fMaxDForProlongation; // max. rphi imp. par. cut
180 Double_t fMaxDZForProlongation; // max. 3D imp. par. cut
181 Double_t fMinPtForProlongation; // min. pt cut
182
183 // parameters to create "virtual" clusters in SPD dead zone (MI)
184 Bool_t fAddVirtualClustersInDeadZone;
185 Double_t fZWindowDeadZone;
186 Double_t fSigmaXDeadZoneHit2;
187 Double_t fSigmaZDeadZoneHit2;
188 Double_t fXPassDeadZoneHits;
189
190
191 Bool_t fUseTGeoInTracker; // use TGeo to get material budget in tracker MI
192 Bool_t fAllowSharedClusters; // if kFALSE don't set to kITSin tracks with shared clusters (MI)
193
194 Bool_t fFindV0s; // flag to enable V0 finder (MI)
195
44347160 196 ClassDef(AliITSRecoParam,1) // ITS reco parameters
197};
198
199#endif