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();
155 //_____________________________________________________________________________
156 void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
158 // get cuts for ITS (0) or TPC (1) mode
161 cuts[0] = fVertexerTracksTPCdcacut;
162 cuts[1] = fVertexerTracksTPCdcacutIter0;
163 cuts[2] = fVertexerTracksTPCmaxd0z0;
164 cuts[3] = fVertexerTracksTPCminCls;
165 cuts[4] = fVertexerTracksTPCmintrks;
166 cuts[5] = fVertexerTracksTPCnsigma;
167 cuts[6] = fVertexerTracksTPCnindetfitter;
168 cuts[7] = fVertexerTracksTPCmaxtgl;
169 cuts[8] = fVertexerTracksTPCfidR;
170 cuts[9] = fVertexerTracksTPCfidZ;
171 cuts[10]= fVertexerTracksTPCalgo;
172 cuts[11]= fVertexerTracksTPCalgoIter0;
174 cuts[0] = fVertexerTracksITSdcacut;
175 cuts[1] = fVertexerTracksITSdcacutIter0;
176 cuts[2] = fVertexerTracksITSmaxd0z0;
177 cuts[3] = fVertexerTracksITSminCls;
178 cuts[4] = fVertexerTracksITSmintrks;
179 cuts[5] = fVertexerTracksITSnsigma;
180 cuts[6] = fVertexerTracksITSnindetfitter;
181 cuts[7] = fVertexerTracksITSmaxtgl;
182 cuts[8] = fVertexerTracksITSfidR;
183 cuts[9] = fVertexerTracksITSfidZ;
184 cuts[10]= fVertexerTracksITSalgo;
185 cuts[11]= fVertexerTracksITSalgoIter0;
190 //_____________________________________________________________________________
191 void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]) {
193 // set cuts for ITS (0) or TPC (1) mode
195 if(ncuts!=fVertexerTracksNCuts) {
196 printf("AliGRPRecoParam: Number of AliVertexerTracks cuts is %d\n",fVertexerTracksNCuts);
201 fVertexerTracksTPCdcacut = cuts[0];
202 fVertexerTracksTPCdcacutIter0 = cuts[1];
203 fVertexerTracksTPCmaxd0z0 = cuts[2];
204 fVertexerTracksTPCminCls = cuts[3];
205 fVertexerTracksTPCmintrks = cuts[4];
206 fVertexerTracksTPCnsigma = cuts[5];
207 fVertexerTracksTPCnindetfitter = cuts[6];
208 fVertexerTracksTPCmaxtgl = cuts[7];
209 fVertexerTracksTPCfidR = cuts[8];
210 fVertexerTracksTPCfidZ = cuts[9];
211 fVertexerTracksTPCalgo = cuts[10];
212 fVertexerTracksTPCalgoIter0 = cuts[11];
214 fVertexerTracksITSdcacut = cuts[0];
215 fVertexerTracksITSdcacutIter0 = cuts[1];
216 fVertexerTracksITSmaxd0z0 = cuts[2];
217 fVertexerTracksITSminCls = cuts[3];
218 fVertexerTracksITSmintrks = cuts[4];
219 fVertexerTracksITSnsigma = cuts[5];
220 fVertexerTracksITSnindetfitter = cuts[6];
221 fVertexerTracksITSmaxtgl = cuts[7];
222 fVertexerTracksITSfidR = cuts[8];
223 fVertexerTracksITSfidZ = cuts[9];
224 fVertexerTracksITSalgo = cuts[10];
225 fVertexerTracksITSalgoIter0 = cuts[11];