Some warning going to error and viceversa:
[u/mrichter/AliRoot.git] / STEER / STEER / AliGRPRecoParam.cxx
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(),
31 fMostProbablePt(0.350),
32 fVertexerTracksConstraintITS(kTRUE),
33 fVertexerTracksConstraintTPC(kTRUE),
34 fVertexerTracksNCuts(24),
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 //
48 fVertexerTracksITSMVTukey2(7.),
49 fVertexerTracksITSMVSig2Ini(1e3),
50 fVertexerTracksITSMVMaxSigma2(5.0),
51 fVertexerTracksITSMVMinSig2Red(0.05),
52 fVertexerTracksITSMVMinDst(10e-4),
53 fVertexerTracksITSMVScanStep(2.),
54 fVertexerTracksITSMVMaxWghNtr(10),
55 fVertexerTracksITSMVFinalWBinary(1),
56 fVertexerTracksITSMVBCSpacing(50),
57 //
58 fVertexerTracksITSclusterize(0),
59 fVertexerTracksITSclusterdz(999999.),
60 fVertexerTracksITSclusternsigmaz(3.),
61 //
62 fVertexerTracksTPCdcacut(0.1),
63 fVertexerTracksTPCdcacutIter0(1.0),
64 fVertexerTracksTPCmaxd0z0(5.),
65 fVertexerTracksTPCminCls(10),
66 fVertexerTracksTPCmintrks(1),
67 fVertexerTracksTPCnsigma(3.),
68 fVertexerTracksTPCnindetfitter(0.1),
69 fVertexerTracksTPCmaxtgl(1.5), 
70 fVertexerTracksTPCfidR(3.),
71 fVertexerTracksTPCfidZ(30.),
72 fVertexerTracksTPCalgo(1.),
73 fVertexerTracksTPCalgoIter0(4.),
74 //
75 fVertexerTracksTPCMVTukey2(7.),
76 fVertexerTracksTPCMVSig2Ini(1e3),
77 fVertexerTracksTPCMVMaxSigma2(5.0),
78 fVertexerTracksTPCMVMinSig2Red(0.05),
79 fVertexerTracksTPCMVMinDst(10e-4),
80 fVertexerTracksTPCMVScanStep(2.),
81 fVertexerTracksTPCMVMaxWghNtr(10),
82 fVertexerTracksTPCMVFinalWBinary(1),
83 fVertexerTracksTPCMVBCSpacing(50),
84 //
85 fVertexerTracksTPCclusterize(0),
86 fVertexerTracksTPCclusterdz(999999.),
87 fVertexerTracksTPCclusternsigmaz(3.),
88 //
89 fVertexerV0NCuts(7),
90 fVertexerV0Chi2max(33.),
91 fVertexerV0DNmin(0.05),
92 fVertexerV0DPmin(0.05),
93 fVertexerV0DCAmax(1.5),
94 fVertexerV0CPAmin(0.9),
95 fVertexerV0Rmin(0.2),
96 fVertexerV0Rmax(200.),
97 fVertexerCascadeNCuts(8),
98 fVertexerCascadeChi2max(33.),
99 fVertexerCascadeDV0min(0.01),
100 fVertexerCascadeMassWin(0.008),
101 fVertexerCascadeDBachMin(0.01),
102 fVertexerCascadeDCAmax(2.0),
103 fVertexerCascadeCPAmin(0.98),
104 fVertexerCascadeRmin(0.2),
105 fVertexerCascadeRmax(100.)
106 {
107   //
108   // constructor
109   //
110   SetName("GRP");
111   SetTitle("GRP");
112 }
113
114 //_____________________________________________________________________________
115 AliGRPRecoParam::~AliGRPRecoParam() 
116 {
117   //
118   // destructor
119   //  
120 }
121
122 AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
123   AliDetectorRecoParam(par),
124   fMostProbablePt(par.fMostProbablePt),
125   fVertexerTracksConstraintITS(par.fVertexerTracksConstraintITS),
126   fVertexerTracksConstraintTPC(par.fVertexerTracksConstraintTPC),
127   fVertexerTracksNCuts(par.fVertexerTracksNCuts),
128   fVertexerTracksITSdcacut(par.fVertexerTracksITSdcacut),
129   fVertexerTracksITSdcacutIter0(par.fVertexerTracksITSdcacutIter0),
130   fVertexerTracksITSmaxd0z0(par.fVertexerTracksITSmaxd0z0),
131   fVertexerTracksITSminCls(par.fVertexerTracksITSminCls),
132   fVertexerTracksITSmintrks(par.fVertexerTracksITSmintrks),
133   fVertexerTracksITSnsigma(par.fVertexerTracksITSnsigma),
134   fVertexerTracksITSnindetfitter(par.fVertexerTracksITSnindetfitter),
135   fVertexerTracksITSmaxtgl(par.fVertexerTracksITSmaxtgl), 
136   fVertexerTracksITSfidR(par.fVertexerTracksITSfidR),
137   fVertexerTracksITSfidZ(par.fVertexerTracksITSfidZ),
138   fVertexerTracksITSalgo(par.fVertexerTracksITSalgo),
139   fVertexerTracksITSalgoIter0(par.fVertexerTracksITSalgoIter0),
140   //
141   fVertexerTracksITSMVTukey2(par.fVertexerTracksITSMVTukey2),
142   fVertexerTracksITSMVSig2Ini(par.fVertexerTracksITSMVSig2Ini),
143   fVertexerTracksITSMVMaxSigma2(par.fVertexerTracksITSMVMaxSigma2),
144   fVertexerTracksITSMVMinSig2Red(par.fVertexerTracksITSMVMinSig2Red),
145   fVertexerTracksITSMVMinDst(par.fVertexerTracksITSMVMinDst),
146   fVertexerTracksITSMVScanStep(par.fVertexerTracksITSMVScanStep),
147   fVertexerTracksITSMVMaxWghNtr(par.fVertexerTracksITSMVMaxWghNtr),
148   fVertexerTracksITSMVFinalWBinary(par.fVertexerTracksITSMVFinalWBinary),
149   fVertexerTracksITSMVBCSpacing(par.fVertexerTracksITSMVBCSpacing),
150   //
151   fVertexerTracksITSclusterize(par.fVertexerTracksITSclusterize),
152   fVertexerTracksITSclusterdz(par.fVertexerTracksITSclusterdz),
153   fVertexerTracksITSclusternsigmaz(par.fVertexerTracksITSclusternsigmaz),
154   //
155   fVertexerTracksTPCdcacut(par.fVertexerTracksTPCdcacut),
156   fVertexerTracksTPCdcacutIter0(par.fVertexerTracksTPCdcacutIter0),
157   fVertexerTracksTPCmaxd0z0(par.fVertexerTracksTPCmaxd0z0),
158   fVertexerTracksTPCminCls(par.fVertexerTracksTPCminCls),
159   fVertexerTracksTPCmintrks(par.fVertexerTracksTPCmintrks),
160   fVertexerTracksTPCnsigma(par.fVertexerTracksTPCnsigma),
161   fVertexerTracksTPCnindetfitter(par.fVertexerTracksTPCnindetfitter),
162   fVertexerTracksTPCmaxtgl(par.fVertexerTracksTPCmaxtgl), 
163   fVertexerTracksTPCfidR(par.fVertexerTracksTPCfidR),
164   fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ),
165   fVertexerTracksTPCalgo(par.fVertexerTracksTPCalgo),
166   fVertexerTracksTPCalgoIter0(par.fVertexerTracksTPCalgoIter0),
167   //
168   fVertexerTracksTPCMVTukey2(par.fVertexerTracksTPCMVTukey2),
169   fVertexerTracksTPCMVSig2Ini(par.fVertexerTracksTPCMVSig2Ini),
170   fVertexerTracksTPCMVMaxSigma2(par.fVertexerTracksTPCMVMaxSigma2),
171   fVertexerTracksTPCMVMinSig2Red(par.fVertexerTracksTPCMVMinSig2Red),
172   fVertexerTracksTPCMVMinDst(par.fVertexerTracksTPCMVMinDst),
173   fVertexerTracksTPCMVScanStep(par.fVertexerTracksTPCMVScanStep),
174   fVertexerTracksTPCMVMaxWghNtr(par.fVertexerTracksTPCMVMaxWghNtr),
175   fVertexerTracksTPCMVFinalWBinary(par.fVertexerTracksTPCMVFinalWBinary),
176   fVertexerTracksTPCMVBCSpacing(par.fVertexerTracksTPCMVBCSpacing),
177   //
178   fVertexerTracksTPCclusterize(par.fVertexerTracksTPCclusterize),
179   fVertexerTracksTPCclusterdz(par.fVertexerTracksTPCclusterdz),
180   fVertexerTracksTPCclusternsigmaz(par.fVertexerTracksTPCclusternsigmaz),
181   //
182   fVertexerV0NCuts(par.fVertexerV0NCuts),
183   fVertexerV0Chi2max(par.fVertexerV0Chi2max),
184   fVertexerV0DNmin(par.fVertexerV0DNmin),
185   fVertexerV0DPmin(par.fVertexerV0DPmin),
186   fVertexerV0DCAmax(par.fVertexerV0DCAmax),
187   fVertexerV0CPAmin(par.fVertexerV0CPAmin),
188   fVertexerV0Rmin(par.fVertexerV0Rmin),
189   fVertexerV0Rmax(par.fVertexerV0Rmax),
190   fVertexerCascadeNCuts(par.fVertexerCascadeNCuts),
191   fVertexerCascadeChi2max(par.fVertexerCascadeChi2max),
192   fVertexerCascadeDV0min(par.fVertexerCascadeDV0min),
193   fVertexerCascadeMassWin(par.fVertexerCascadeMassWin),
194   fVertexerCascadeDBachMin(par.fVertexerCascadeDBachMin),
195   fVertexerCascadeDCAmax(par.fVertexerCascadeDCAmax),
196   fVertexerCascadeCPAmin(par.fVertexerCascadeCPAmin),
197   fVertexerCascadeRmin(par.fVertexerCascadeRmin),
198   fVertexerCascadeRmax(par.fVertexerCascadeRmax)
199 {
200   // copy constructor
201 }
202
203 //_____________________________________________________________________________
204 AliGRPRecoParam& AliGRPRecoParam::operator = (const AliGRPRecoParam& par)
205 {
206   // assignment operator
207
208   if(&par == this) return *this;
209
210   this->~AliGRPRecoParam();
211   new(this) AliGRPRecoParam(par);
212   return *this;
213 }
214
215 //_____________________________________________________________________________
216 AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam() 
217 {
218   //
219   // make default reconstruction  parameters for high flux env.
220   //
221   AliGRPRecoParam *param = new AliGRPRecoParam();
222
223   // to speed up the vertexing in PbPb
224   param->fVertexerTracksITSalgoIter0 = 1.;
225   param->fVertexerTracksTPCalgoIter0 = 1.;
226
227   // tighter selections for V0s
228   param->fVertexerV0Chi2max = 33.;
229   param->fVertexerV0DNmin   = 0.1;
230   param->fVertexerV0DPmin   = 0.1;
231   param->fVertexerV0DCAmax  = 1.0;
232   param->fVertexerV0CPAmin  = 0.998;
233   param->fVertexerV0Rmin    = 0.9;
234   param->fVertexerV0Rmax    = 100.;
235
236   // tighter selections for Cascades
237   param->fVertexerCascadeChi2max  = 33.; 
238   param->fVertexerCascadeDV0min   = 0.05;  
239   param->fVertexerCascadeMassWin  = 0.008; 
240   param->fVertexerCascadeDBachMin = 0.030;
241   param->fVertexerCascadeDCAmax   = 0.3;  
242   param->fVertexerCascadeCPAmin   = 0.999;  
243   param->fVertexerCascadeRmin     = 0.9;    
244   param->fVertexerCascadeRmax     = 100.;    
245
246   return param;
247 }
248 //_____________________________________________________________________________
249 AliGRPRecoParam *AliGRPRecoParam::GetLowFluxParam() 
250 {
251   //
252   // make default reconstruction  parameters for low  flux env.
253   //
254   AliGRPRecoParam *param = new AliGRPRecoParam();
255   return param;
256 }
257 //_____________________________________________________________________________
258 AliGRPRecoParam *AliGRPRecoParam::GetCosmicTestParam() 
259 {
260   //
261   // make default reconstruction  parameters for cosmics env.
262   //
263   AliGRPRecoParam *param = new AliGRPRecoParam();
264
265   param->SetVertexerTracksConstraintITS(kFALSE);
266   param->SetVertexerTracksConstraintTPC(kFALSE);
267   param->SetMostProbablePt(3.0);
268
269   return param;
270 }
271 //_____________________________________________________________________________
272 void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts, int n) const {
273   //
274   // get cuts for ITS (0) or TPC (1) mode
275   //
276   if(mode==1) {
277     if (n>0)  cuts[0] = fVertexerTracksTPCdcacut;
278     if (n>1)  cuts[1] = fVertexerTracksTPCdcacutIter0;
279     if (n>2)  cuts[2] = fVertexerTracksTPCmaxd0z0;
280     if (n>3)  cuts[3] = fVertexerTracksTPCminCls;
281     if (n>4)  cuts[4] = fVertexerTracksTPCmintrks;
282     if (n>5)  cuts[5] = fVertexerTracksTPCnsigma;
283     if (n>6)  cuts[6] = fVertexerTracksTPCnindetfitter;
284     if (n>7)  cuts[7] = fVertexerTracksTPCmaxtgl; 
285     if (n>8)  cuts[8] = fVertexerTracksTPCfidR;
286     if (n>9)  cuts[9] = fVertexerTracksTPCfidZ;
287     if (n>10) cuts[10]= fVertexerTracksTPCalgo;
288     if (n>11) cuts[11]= fVertexerTracksTPCalgoIter0;
289     //
290     if (n>12)  cuts[12]= fVertexerTracksTPCMVTukey2;
291     if (n>13)  cuts[13]= fVertexerTracksTPCMVSig2Ini;
292     if (n>14)  cuts[14]= fVertexerTracksTPCMVMaxSigma2;
293     if (n>15)  cuts[15]= fVertexerTracksTPCMVMinSig2Red;
294     if (n>16)  cuts[16]= fVertexerTracksTPCMVMinDst;
295     if (n>17)  cuts[17]= fVertexerTracksTPCMVScanStep;
296     if (n>18)  cuts[18]= fVertexerTracksTPCMVMaxWghNtr;
297     if (n>19)  cuts[19]= fVertexerTracksTPCMVFinalWBinary;
298     if (n>20)  cuts[20]= fVertexerTracksTPCMVBCSpacing;
299     //
300     if (n>21)  cuts[21]= fVertexerTracksTPCclusterize;
301     if (n>22)  cuts[22]= fVertexerTracksTPCclusterdz;
302     if (n>23)  cuts[23]= fVertexerTracksTPCclusternsigmaz;
303   } else {
304     if (n>0 ) cuts[0] = fVertexerTracksITSdcacut;
305     if (n>1 ) cuts[1] = fVertexerTracksITSdcacutIter0;
306     if (n>2 ) cuts[2] = fVertexerTracksITSmaxd0z0;
307     if (n>3 ) cuts[3] = fVertexerTracksITSminCls;
308     if (n>4 ) cuts[4] = fVertexerTracksITSmintrks;
309     if (n>5 ) cuts[5] = fVertexerTracksITSnsigma;
310     if (n>6 ) cuts[6] = fVertexerTracksITSnindetfitter;
311     if (n>7 ) cuts[7] = fVertexerTracksITSmaxtgl; 
312     if (n>8 ) cuts[8] = fVertexerTracksITSfidR;
313     if (n>9 ) cuts[9] = fVertexerTracksITSfidZ;
314     if (n>10) cuts[10]= fVertexerTracksITSalgo;
315     if (n>11) cuts[11]= fVertexerTracksITSalgoIter0;
316     //
317     if (n>12) cuts[12]= fVertexerTracksITSMVTukey2;
318     if (n>13) cuts[13]= fVertexerTracksITSMVSig2Ini;
319     if (n>14) cuts[14]= fVertexerTracksITSMVMaxSigma2;
320     if (n>15) cuts[15]= fVertexerTracksITSMVMinSig2Red;
321     if (n>16) cuts[16]= fVertexerTracksITSMVMinDst;
322     if (n>17) cuts[17]= fVertexerTracksITSMVScanStep;
323     if (n>18) cuts[18]= fVertexerTracksITSMVMaxWghNtr;
324     if (n>19) cuts[19]= fVertexerTracksITSMVFinalWBinary;
325     if (n>20) cuts[20]= fVertexerTracksITSMVBCSpacing;
326     //
327     if (n>21)  cuts[21]= fVertexerTracksITSclusterize;
328     if (n>22)  cuts[22]= fVertexerTracksITSclusterdz;
329     if (n>23)  cuts[23]= fVertexerTracksITSclusternsigmaz;
330   }
331
332   return;
333 }
334 //_____________________________________________________________________________
335 void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t* cuts) {
336   //
337   // set cuts for ITS (0) or TPC (1) mode
338   //
339   if(ncuts!=fVertexerTracksNCuts) {
340     printf("AliGRPRecoParam: Number of AliVertexerTracks cuts is %d\n",fVertexerTracksNCuts);
341     return;
342   }
343
344   if(mode==1) {
345     if (ncuts>0) fVertexerTracksTPCdcacut = cuts[0];
346     if (ncuts>1) fVertexerTracksTPCdcacutIter0 = cuts[1];
347     if (ncuts>2) fVertexerTracksTPCmaxd0z0 = cuts[2];
348     if (ncuts>3) fVertexerTracksTPCminCls = cuts[3];
349     if (ncuts>4) fVertexerTracksTPCmintrks = cuts[4];
350     if (ncuts>5) fVertexerTracksTPCnsigma = cuts[5];
351     if (ncuts>6) fVertexerTracksTPCnindetfitter = cuts[6];
352     if (ncuts>7) fVertexerTracksTPCmaxtgl = cuts[7]; 
353     if (ncuts>8) fVertexerTracksTPCfidR = cuts[8];
354     if (ncuts>9) fVertexerTracksTPCfidZ = cuts[9];
355     if (ncuts>10) fVertexerTracksTPCalgo = cuts[10];
356     if (ncuts>11) fVertexerTracksTPCalgoIter0 = cuts[11];
357     //
358     if (ncuts>12) fVertexerTracksTPCMVTukey2       = cuts[12];
359     if (ncuts>13) fVertexerTracksTPCMVSig2Ini      = cuts[13];
360     if (ncuts>14) fVertexerTracksTPCMVMaxSigma2    = cuts[14];
361     if (ncuts>15) fVertexerTracksTPCMVMinSig2Red   = cuts[15];
362     if (ncuts>16) fVertexerTracksTPCMVMinDst       = cuts[16];
363     if (ncuts>17) fVertexerTracksTPCMVScanStep     = cuts[17];
364     if (ncuts>18) fVertexerTracksTPCMVMaxWghNtr    = cuts[18];
365     if (ncuts>19) fVertexerTracksTPCMVFinalWBinary = cuts[19];
366     if (ncuts>20) fVertexerTracksTPCMVBCSpacing    = cuts[20];
367     //
368     if (ncuts>21) fVertexerTracksTPCclusterize     = cuts[21];
369     if (ncuts>22) fVertexerTracksTPCclusterdz      = cuts[22];
370     if (ncuts>23) fVertexerTracksTPCclusternsigmaz = cuts[23];
371   } else {
372     if (ncuts>0) fVertexerTracksITSdcacut = cuts[0];
373     if (ncuts>1) fVertexerTracksITSdcacutIter0 = cuts[1];
374     if (ncuts>2) fVertexerTracksITSmaxd0z0 = cuts[2];
375     if (ncuts>3) fVertexerTracksITSminCls = cuts[3];
376     if (ncuts>4) fVertexerTracksITSmintrks = cuts[4];
377     if (ncuts>5) fVertexerTracksITSnsigma = cuts[5];
378     if (ncuts>6) fVertexerTracksITSnindetfitter = cuts[6];
379     if (ncuts>7) fVertexerTracksITSmaxtgl = cuts[7]; 
380     if (ncuts>8) fVertexerTracksITSfidR = cuts[8];
381     if (ncuts>9) fVertexerTracksITSfidZ = cuts[9];
382     if (ncuts>10) fVertexerTracksITSalgo = cuts[10];
383     if (ncuts>11) fVertexerTracksITSalgoIter0 = cuts[11];
384     //
385     if (ncuts>12) fVertexerTracksITSMVTukey2       = cuts[12];
386     if (ncuts>13) fVertexerTracksITSMVSig2Ini      = cuts[13];
387     if (ncuts>14) fVertexerTracksITSMVMaxSigma2    = cuts[14];
388     if (ncuts>15) fVertexerTracksITSMVMinSig2Red   = cuts[15];
389     if (ncuts>16) fVertexerTracksITSMVMinDst       = cuts[16];
390     if (ncuts>17) fVertexerTracksITSMVScanStep     = cuts[17];
391     if (ncuts>18) fVertexerTracksITSMVMaxWghNtr    = cuts[18];
392     if (ncuts>19) fVertexerTracksITSMVFinalWBinary = cuts[19];
393     if (ncuts>20) fVertexerTracksITSMVBCSpacing    = cuts[20];
394     //
395     if (ncuts>21) fVertexerTracksITSclusterize     = cuts[21];
396     if (ncuts>22) fVertexerTracksITSclusterdz      = cuts[22];
397     if (ncuts>23) fVertexerTracksITSclusternsigmaz = cuts[23];
398   }
399   //
400   return;
401 }
402 //_____________________________________________________________________________
403 void AliGRPRecoParam::GetVertexerV0Cuts(Double_t *cuts) const {
404   //
405   // get cuts for AliV0vertexer
406   //
407   cuts[0] = fVertexerV0Chi2max;
408   cuts[1] = fVertexerV0DNmin;
409   cuts[2] = fVertexerV0DPmin;
410   cuts[3] = fVertexerV0DCAmax;
411   cuts[4] = fVertexerV0CPAmin;
412   cuts[5] = fVertexerV0Rmin;
413   cuts[6] = fVertexerV0Rmax;
414   return;
415 }
416 //_____________________________________________________________________________
417 void AliGRPRecoParam::SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]) {
418   //
419   // set cuts for AliV0vertexer
420   //
421   if(ncuts!=fVertexerV0NCuts) {
422     printf("AliGRPRecoParam: Number of AliV0vertexer cuts is %d\n",fVertexerV0NCuts);
423     return;
424   }
425   fVertexerV0Chi2max = cuts[0];
426   fVertexerV0DNmin   = cuts[1];
427   fVertexerV0DPmin   = cuts[2];
428   fVertexerV0DCAmax  = cuts[3];
429   fVertexerV0CPAmin  = cuts[4];
430   fVertexerV0Rmin    = cuts[5];
431   fVertexerV0Rmax    = cuts[6];
432   return;
433 }
434 //_____________________________________________________________________________
435 void AliGRPRecoParam::GetVertexerCascadeCuts(Double_t *cuts) const {
436   //
437   // get cuts for AliCascadevertexer
438   //
439   cuts[0] = fVertexerCascadeChi2max;
440   cuts[1] = fVertexerCascadeDV0min;
441   cuts[2] = fVertexerCascadeMassWin;
442   cuts[3] = fVertexerCascadeDBachMin;
443   cuts[4] = fVertexerCascadeDCAmax;
444   cuts[5] = fVertexerCascadeCPAmin;
445   cuts[6] = fVertexerCascadeRmin;
446   cuts[7] = fVertexerCascadeRmax;
447   return;
448 }
449 //_____________________________________________________________________________
450 void AliGRPRecoParam::SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]) {
451   //
452   // set cuts for AliCascadeVertexer
453   //
454   if(ncuts!=fVertexerCascadeNCuts) {
455     printf("AliGRPRecoParam: Number of AliCascadeVertexer cuts is %d\n",fVertexerCascadeNCuts);
456     return;
457   }
458   fVertexerCascadeChi2max  = cuts[0];
459   fVertexerCascadeDV0min   = cuts[1];
460   fVertexerCascadeMassWin  = cuts[2];
461   fVertexerCascadeDBachMin = cuts[3];
462   fVertexerCascadeDCAmax   = cuts[4];
463   fVertexerCascadeCPAmin   = cuts[5];
464   fVertexerCascadeRmin     = cuts[6];
465   fVertexerCascadeRmax     = cuts[7];
466   return;
467 }