]>
Commit | Line | Data |
---|---|---|
a00021a7 | 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 "AliGRPRecoParam.h" | |
17 | ||
18 | /////////////////////////////////////////////////////////////////////////////// | |
19 | // // | |
20 | // Class with GRP reconstruction parameters // | |
21 | // Origin: andrea.dainese@lnl.infn.it // | |
22 | // // | |
23 | /////////////////////////////////////////////////////////////////////////////// | |
24 | ||
25 | ||
26 | ||
27 | ClassImp(AliGRPRecoParam) | |
28 | ||
29 | //_____________________________________________________________________________ | |
30 | AliGRPRecoParam::AliGRPRecoParam() : AliDetectorRecoParam(), | |
71f6cda4 | 31 | fMostProbablePt(0.350), |
f2a195c1 | 32 | fVertexerTracksConstraintITS(kTRUE), |
33 | fVertexerTracksConstraintTPC(kTRUE), | |
d4bb174f | 34 | fVertexerTracksNCuts(12), |
a00021a7 | 35 | fVertexerTracksITSdcacut(0.1), |
36 | fVertexerTracksITSdcacutIter0(0.1), | |
37 | fVertexerTracksITSmaxd0z0(0.5), | |
38 | fVertexerTracksITSminCls(5), | |
39 | fVertexerTracksITSmintrks(1), | |
40 | fVertexerTracksITSnsigma(3.), | |
41 | fVertexerTracksITSnindetfitter(100.), | |
42 | fVertexerTracksITSmaxtgl(1000.), | |
43 | fVertexerTracksITSfidR(3.), | |
44 | fVertexerTracksITSfidZ(30.), | |
8c75f668 | 45 | fVertexerTracksITSalgo(1.), |
46 | fVertexerTracksITSalgoIter0(4.), | |
a00021a7 | 47 | fVertexerTracksTPCdcacut(0.1), |
48 | fVertexerTracksTPCdcacutIter0(1.0), | |
49 | fVertexerTracksTPCmaxd0z0(5.), | |
50 | fVertexerTracksTPCminCls(10), | |
51 | fVertexerTracksTPCmintrks(1), | |
52 | fVertexerTracksTPCnsigma(3.), | |
53 | fVertexerTracksTPCnindetfitter(0.1), | |
54 | fVertexerTracksTPCmaxtgl(1.5), | |
55 | fVertexerTracksTPCfidR(3.), | |
8c75f668 | 56 | fVertexerTracksTPCfidZ(30.), |
57 | fVertexerTracksTPCalgo(1.), | |
58 | fVertexerTracksTPCalgoIter0(4.) | |
a00021a7 | 59 | { |
60 | // | |
61 | // constructor | |
62 | // | |
63 | SetName("GRP"); | |
64 | SetTitle("GRP"); | |
65 | } | |
66 | ||
67 | //_____________________________________________________________________________ | |
68 | AliGRPRecoParam::~AliGRPRecoParam() | |
69 | { | |
70 | // | |
71 | // destructor | |
72 | // | |
73 | } | |
74 | ||
75 | AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) : | |
76 | AliDetectorRecoParam(par), | |
71f6cda4 | 77 | fMostProbablePt(par.fMostProbablePt), |
f2a195c1 | 78 | fVertexerTracksConstraintITS(par.fVertexerTracksConstraintITS), |
79 | fVertexerTracksConstraintTPC(par.fVertexerTracksConstraintTPC), | |
a00021a7 | 80 | fVertexerTracksNCuts(par.fVertexerTracksNCuts), |
81 | fVertexerTracksITSdcacut(par.fVertexerTracksITSdcacut), | |
82 | fVertexerTracksITSdcacutIter0(par.fVertexerTracksITSdcacutIter0), | |
83 | fVertexerTracksITSmaxd0z0(par.fVertexerTracksITSmaxd0z0), | |
84 | fVertexerTracksITSminCls(par.fVertexerTracksITSminCls), | |
85 | fVertexerTracksITSmintrks(par.fVertexerTracksITSmintrks), | |
86 | fVertexerTracksITSnsigma(par.fVertexerTracksITSnsigma), | |
87 | fVertexerTracksITSnindetfitter(par.fVertexerTracksITSnindetfitter), | |
88 | fVertexerTracksITSmaxtgl(par.fVertexerTracksITSmaxtgl), | |
89 | fVertexerTracksITSfidR(par.fVertexerTracksITSfidR), | |
90 | fVertexerTracksITSfidZ(par.fVertexerTracksITSfidZ), | |
8c75f668 | 91 | fVertexerTracksITSalgo(par.fVertexerTracksITSalgo), |
92 | fVertexerTracksITSalgoIter0(par.fVertexerTracksITSalgoIter0), | |
a00021a7 | 93 | fVertexerTracksTPCdcacut(par.fVertexerTracksTPCdcacut), |
94 | fVertexerTracksTPCdcacutIter0(par.fVertexerTracksTPCdcacutIter0), | |
95 | fVertexerTracksTPCmaxd0z0(par.fVertexerTracksTPCmaxd0z0), | |
96 | fVertexerTracksTPCminCls(par.fVertexerTracksTPCminCls), | |
97 | fVertexerTracksTPCmintrks(par.fVertexerTracksTPCmintrks), | |
98 | fVertexerTracksTPCnsigma(par.fVertexerTracksTPCnsigma), | |
99 | fVertexerTracksTPCnindetfitter(par.fVertexerTracksTPCnindetfitter), | |
100 | fVertexerTracksTPCmaxtgl(par.fVertexerTracksTPCmaxtgl), | |
101 | fVertexerTracksTPCfidR(par.fVertexerTracksTPCfidR), | |
8c75f668 | 102 | fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ), |
103 | fVertexerTracksTPCalgo(par.fVertexerTracksTPCalgo), | |
104 | fVertexerTracksTPCalgoIter0(par.fVertexerTracksTPCalgoIter0) | |
a00021a7 | 105 | { |
106 | // copy constructor | |
107 | } | |
108 | ||
109 | //_____________________________________________________________________________ | |
110 | AliGRPRecoParam& AliGRPRecoParam::operator = (const AliGRPRecoParam& par) | |
111 | { | |
112 | // assignment operator | |
113 | ||
114 | if(&par == this) return *this; | |
115 | ||
116 | this->~AliGRPRecoParam(); | |
117 | new(this) AliGRPRecoParam(par); | |
118 | return *this; | |
119 | } | |
120 | ||
121 | //_____________________________________________________________________________ | |
122 | AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam() | |
123 | { | |
124 | // | |
125 | // make default reconstruction parameters for hig flux env. | |
126 | // | |
127 | AliGRPRecoParam *param = new AliGRPRecoParam(); | |
128 | ||
8c75f668 | 129 | // to speed up the vertexing in PbPb |
130 | param->fVertexerTracksITSalgoIter0 = 1.; | |
131 | param->fVertexerTracksTPCalgoIter0 = 1.; | |
132 | ||
a00021a7 | 133 | return param; |
134 | } | |
135 | //_____________________________________________________________________________ | |
136 | AliGRPRecoParam *AliGRPRecoParam::GetLowFluxParam() | |
137 | { | |
138 | // | |
139 | // make default reconstruction parameters for low flux env. | |
140 | // | |
141 | AliGRPRecoParam *param = new AliGRPRecoParam(); | |
142 | ||
143 | return param; | |
144 | } | |
145 | //_____________________________________________________________________________ | |
f2a195c1 | 146 | AliGRPRecoParam *AliGRPRecoParam::GetCosmicTestParam() |
147 | { | |
148 | // | |
149 | // make default reconstruction parameters for cosmics env. | |
150 | // | |
151 | AliGRPRecoParam *param = new AliGRPRecoParam(); | |
152 | ||
b5f9d03a | 153 | param->SetVertexerTracksConstraintITS(kFALSE); |
154 | param->SetVertexerTracksConstraintTPC(kFALSE); | |
155 | param->SetMostProbablePt(3.0); | |
156 | ||
f2a195c1 | 157 | return param; |
158 | } | |
159 | //_____________________________________________________________________________ | |
a00021a7 | 160 | void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const { |
161 | // | |
162 | // get cuts for ITS (0) or TPC (1) mode | |
163 | // | |
164 | if(mode==1) { | |
165 | cuts[0] = fVertexerTracksTPCdcacut; | |
166 | cuts[1] = fVertexerTracksTPCdcacutIter0; | |
167 | cuts[2] = fVertexerTracksTPCmaxd0z0; | |
168 | cuts[3] = fVertexerTracksTPCminCls; | |
169 | cuts[4] = fVertexerTracksTPCmintrks; | |
170 | cuts[5] = fVertexerTracksTPCnsigma; | |
171 | cuts[6] = fVertexerTracksTPCnindetfitter; | |
172 | cuts[7] = fVertexerTracksTPCmaxtgl; | |
173 | cuts[8] = fVertexerTracksTPCfidR; | |
174 | cuts[9] = fVertexerTracksTPCfidZ; | |
8c75f668 | 175 | cuts[10]= fVertexerTracksTPCalgo; |
176 | cuts[11]= fVertexerTracksTPCalgoIter0; | |
a00021a7 | 177 | } else { |
178 | cuts[0] = fVertexerTracksITSdcacut; | |
179 | cuts[1] = fVertexerTracksITSdcacutIter0; | |
180 | cuts[2] = fVertexerTracksITSmaxd0z0; | |
181 | cuts[3] = fVertexerTracksITSminCls; | |
182 | cuts[4] = fVertexerTracksITSmintrks; | |
183 | cuts[5] = fVertexerTracksITSnsigma; | |
184 | cuts[6] = fVertexerTracksITSnindetfitter; | |
185 | cuts[7] = fVertexerTracksITSmaxtgl; | |
186 | cuts[8] = fVertexerTracksITSfidR; | |
187 | cuts[9] = fVertexerTracksITSfidZ; | |
8c75f668 | 188 | cuts[10]= fVertexerTracksITSalgo; |
189 | cuts[11]= fVertexerTracksITSalgoIter0; | |
a00021a7 | 190 | } |
191 | ||
192 | return; | |
193 | } | |
194 | //_____________________________________________________________________________ | |
8c75f668 | 195 | void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]) { |
a00021a7 | 196 | // |
197 | // set cuts for ITS (0) or TPC (1) mode | |
198 | // | |
199 | if(ncuts!=fVertexerTracksNCuts) { | |
200 | printf("AliGRPRecoParam: Number of AliVertexerTracks cuts is %d\n",fVertexerTracksNCuts); | |
201 | return; | |
202 | } | |
203 | ||
204 | if(mode==1) { | |
205 | fVertexerTracksTPCdcacut = cuts[0]; | |
206 | fVertexerTracksTPCdcacutIter0 = cuts[1]; | |
207 | fVertexerTracksTPCmaxd0z0 = cuts[2]; | |
208 | fVertexerTracksTPCminCls = cuts[3]; | |
209 | fVertexerTracksTPCmintrks = cuts[4]; | |
210 | fVertexerTracksTPCnsigma = cuts[5]; | |
211 | fVertexerTracksTPCnindetfitter = cuts[6]; | |
212 | fVertexerTracksTPCmaxtgl = cuts[7]; | |
213 | fVertexerTracksTPCfidR = cuts[8]; | |
214 | fVertexerTracksTPCfidZ = cuts[9]; | |
8c75f668 | 215 | fVertexerTracksTPCalgo = cuts[10]; |
216 | fVertexerTracksTPCalgoIter0 = cuts[11]; | |
a00021a7 | 217 | } else { |
218 | fVertexerTracksITSdcacut = cuts[0]; | |
219 | fVertexerTracksITSdcacutIter0 = cuts[1]; | |
220 | fVertexerTracksITSmaxd0z0 = cuts[2]; | |
221 | fVertexerTracksITSminCls = cuts[3]; | |
222 | fVertexerTracksITSmintrks = cuts[4]; | |
223 | fVertexerTracksITSnsigma = cuts[5]; | |
224 | fVertexerTracksITSnindetfitter = cuts[6]; | |
225 | fVertexerTracksITSmaxtgl = cuts[7]; | |
226 | fVertexerTracksITSfidR = cuts[8]; | |
227 | fVertexerTracksITSfidZ = cuts[9]; | |
8c75f668 | 228 | fVertexerTracksITSalgo = cuts[10]; |
229 | fVertexerTracksITSalgoIter0 = cuts[11]; | |
a00021a7 | 230 | } |
231 | ||
232 | return; | |
233 | } |