1 /**************************************************************************
2 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 #include "AliGRPRecoParam.h"
18 ///////////////////////////////////////////////////////////////////////////////
20 // Class with GRP reconstruction parameters //
21 // Origin: andrea.dainese@lnl.infn.it //
23 ///////////////////////////////////////////////////////////////////////////////
27 ClassImp(AliGRPRecoParam)
29 //_____________________________________________________________________________
30 AliGRPRecoParam::AliGRPRecoParam() : AliDetectorRecoParam(),
31 fMostProbablePt(0.350),
32 fVertexerTracksConstraintITS(kTRUE),
33 fVertexerTracksConstraintTPC(kTRUE),
34 fVertexerTracksNCuts(12),
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.),
45 fVertexerTracksITSalgo(1.),
46 fVertexerTracksITSalgoIter0(4.),
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.),
56 fVertexerTracksTPCfidZ(30.),
57 fVertexerTracksTPCalgo(1.),
58 fVertexerTracksTPCalgoIter0(4.)
67 //_____________________________________________________________________________
68 AliGRPRecoParam::~AliGRPRecoParam()
75 AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
76 AliDetectorRecoParam(par),
77 fMostProbablePt(par.fMostProbablePt),
78 fVertexerTracksConstraintITS(par.fVertexerTracksConstraintITS),
79 fVertexerTracksConstraintTPC(par.fVertexerTracksConstraintTPC),
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),
91 fVertexerTracksITSalgo(par.fVertexerTracksITSalgo),
92 fVertexerTracksITSalgoIter0(par.fVertexerTracksITSalgoIter0),
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),
102 fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ),
103 fVertexerTracksTPCalgo(par.fVertexerTracksTPCalgo),
104 fVertexerTracksTPCalgoIter0(par.fVertexerTracksTPCalgoIter0)
109 //_____________________________________________________________________________
110 AliGRPRecoParam& AliGRPRecoParam::operator = (const AliGRPRecoParam& par)
112 // assignment operator
114 if(&par == this) return *this;
116 this->~AliGRPRecoParam();
117 new(this) AliGRPRecoParam(par);
121 //_____________________________________________________________________________
122 AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam()
125 // make default reconstruction parameters for hig flux env.
127 AliGRPRecoParam *param = new AliGRPRecoParam();
129 // to speed up the vertexing in PbPb
130 param->fVertexerTracksITSalgoIter0 = 1.;
131 param->fVertexerTracksTPCalgoIter0 = 1.;
135 //_____________________________________________________________________________
136 AliGRPRecoParam *AliGRPRecoParam::GetLowFluxParam()
139 // make default reconstruction parameters for low flux env.
141 AliGRPRecoParam *param = new AliGRPRecoParam();
145 //_____________________________________________________________________________
146 AliGRPRecoParam *AliGRPRecoParam::GetCosmicTestParam()
149 // make default reconstruction parameters for cosmics env.
151 AliGRPRecoParam *param = new AliGRPRecoParam();
153 param->SetVertexerTracksConstraintITS(kFALSE);
154 param->SetVertexerTracksConstraintTPC(kFALSE);
155 param->SetMostProbablePt(3.0);
159 //_____________________________________________________________________________
160 void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
162 // get cuts for ITS (0) or TPC (1) mode
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;
175 cuts[10]= fVertexerTracksTPCalgo;
176 cuts[11]= fVertexerTracksTPCalgoIter0;
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;
188 cuts[10]= fVertexerTracksITSalgo;
189 cuts[11]= fVertexerTracksITSalgoIter0;
194 //_____________________________________________________________________________
195 void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]) {
197 // set cuts for ITS (0) or TPC (1) mode
199 if(ncuts!=fVertexerTracksNCuts) {
200 printf("AliGRPRecoParam: Number of AliVertexerTracks cuts is %d\n",fVertexerTracksNCuts);
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];
215 fVertexerTracksTPCalgo = cuts[10];
216 fVertexerTracksTPCalgoIter0 = cuts[11];
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];
228 fVertexerTracksITSalgo = cuts[10];
229 fVertexerTracksITSalgoIter0 = cuts[11];