First step in moving the GRP reco-params from the reconstruction macros to OCDB.
[u/mrichter/AliRoot.git] / STEER / AliGRPRecoParam.cxx
CommitLineData
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
27ClassImp(AliGRPRecoParam)
28
29//_____________________________________________________________________________
30AliGRPRecoParam::AliGRPRecoParam() : AliDetectorRecoParam(),
71f6cda4 31fMostProbablePt(0.350),
f2a195c1 32fVertexerTracksConstraintITS(kTRUE),
33fVertexerTracksConstraintTPC(kTRUE),
d4bb174f 34fVertexerTracksNCuts(12),
a00021a7 35fVertexerTracksITSdcacut(0.1),
36fVertexerTracksITSdcacutIter0(0.1),
37fVertexerTracksITSmaxd0z0(0.5),
38fVertexerTracksITSminCls(5),
39fVertexerTracksITSmintrks(1),
40fVertexerTracksITSnsigma(3.),
41fVertexerTracksITSnindetfitter(100.),
42fVertexerTracksITSmaxtgl(1000.),
43fVertexerTracksITSfidR(3.),
44fVertexerTracksITSfidZ(30.),
8c75f668 45fVertexerTracksITSalgo(1.),
46fVertexerTracksITSalgoIter0(4.),
a00021a7 47fVertexerTracksTPCdcacut(0.1),
48fVertexerTracksTPCdcacutIter0(1.0),
49fVertexerTracksTPCmaxd0z0(5.),
50fVertexerTracksTPCminCls(10),
51fVertexerTracksTPCmintrks(1),
52fVertexerTracksTPCnsigma(3.),
53fVertexerTracksTPCnindetfitter(0.1),
54fVertexerTracksTPCmaxtgl(1.5),
55fVertexerTracksTPCfidR(3.),
8c75f668 56fVertexerTracksTPCfidZ(30.),
57fVertexerTracksTPCalgo(1.),
58fVertexerTracksTPCalgoIter0(4.)
a00021a7 59{
60 //
61 // constructor
62 //
63 SetName("GRP");
64 SetTitle("GRP");
65}
66
67//_____________________________________________________________________________
68AliGRPRecoParam::~AliGRPRecoParam()
69{
70 //
71 // destructor
72 //
73}
74
75AliGRPRecoParam::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//_____________________________________________________________________________
110AliGRPRecoParam& 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//_____________________________________________________________________________
122AliGRPRecoParam *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//_____________________________________________________________________________
136AliGRPRecoParam *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 146AliGRPRecoParam *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 160void 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 195void 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}