]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliGRPRecoParam.cxx
Introduction of AliGRPRecoParam object which is used in order to steer the global...
[u/mrichter/AliRoot.git] / 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 fVertexerTracksNCuts(10),
32 fVertexerTracksITSdcacut(0.1),
33 fVertexerTracksITSdcacutIter0(0.1),
34 fVertexerTracksITSmaxd0z0(0.5),
35 fVertexerTracksITSminCls(5),
36 fVertexerTracksITSmintrks(1),
37 fVertexerTracksITSnsigma(3.),
38 fVertexerTracksITSnindetfitter(100.),
39 fVertexerTracksITSmaxtgl(1000.), 
40 fVertexerTracksITSfidR(3.),
41 fVertexerTracksITSfidZ(30.),
42 fVertexerTracksTPCdcacut(0.1),
43 fVertexerTracksTPCdcacutIter0(1.0),
44 fVertexerTracksTPCmaxd0z0(5.),
45 fVertexerTracksTPCminCls(10),
46 fVertexerTracksTPCmintrks(1),
47 fVertexerTracksTPCnsigma(3.),
48 fVertexerTracksTPCnindetfitter(0.1),
49 fVertexerTracksTPCmaxtgl(1.5), 
50 fVertexerTracksTPCfidR(3.),
51 fVertexerTracksTPCfidZ(30.)
52 {
53   //
54   // constructor
55   //
56   SetName("GRP");
57   SetTitle("GRP");
58 }
59
60 //_____________________________________________________________________________
61 AliGRPRecoParam::~AliGRPRecoParam() 
62 {
63   //
64   // destructor
65   //  
66 }
67
68 AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
69   AliDetectorRecoParam(par),
70   fVertexerTracksNCuts(par.fVertexerTracksNCuts),
71   fVertexerTracksITSdcacut(par.fVertexerTracksITSdcacut),
72   fVertexerTracksITSdcacutIter0(par.fVertexerTracksITSdcacutIter0),
73   fVertexerTracksITSmaxd0z0(par.fVertexerTracksITSmaxd0z0),
74   fVertexerTracksITSminCls(par.fVertexerTracksITSminCls),
75   fVertexerTracksITSmintrks(par.fVertexerTracksITSmintrks),
76   fVertexerTracksITSnsigma(par.fVertexerTracksITSnsigma),
77   fVertexerTracksITSnindetfitter(par.fVertexerTracksITSnindetfitter),
78   fVertexerTracksITSmaxtgl(par.fVertexerTracksITSmaxtgl), 
79   fVertexerTracksITSfidR(par.fVertexerTracksITSfidR),
80   fVertexerTracksITSfidZ(par.fVertexerTracksITSfidZ),
81   fVertexerTracksTPCdcacut(par.fVertexerTracksTPCdcacut),
82   fVertexerTracksTPCdcacutIter0(par.fVertexerTracksTPCdcacutIter0),
83   fVertexerTracksTPCmaxd0z0(par.fVertexerTracksTPCmaxd0z0),
84   fVertexerTracksTPCminCls(par.fVertexerTracksTPCminCls),
85   fVertexerTracksTPCmintrks(par.fVertexerTracksTPCmintrks),
86   fVertexerTracksTPCnsigma(par.fVertexerTracksTPCnsigma),
87   fVertexerTracksTPCnindetfitter(par.fVertexerTracksTPCnindetfitter),
88   fVertexerTracksTPCmaxtgl(par.fVertexerTracksTPCmaxtgl), 
89   fVertexerTracksTPCfidR(par.fVertexerTracksTPCfidR),
90   fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ)
91 {
92   // copy constructor
93 }
94
95 //_____________________________________________________________________________
96 AliGRPRecoParam& AliGRPRecoParam::operator = (const AliGRPRecoParam& par)
97 {
98   // assignment operator
99
100   if(&par == this) return *this;
101
102   this->~AliGRPRecoParam();
103   new(this) AliGRPRecoParam(par);
104   return *this;
105 }
106
107 //_____________________________________________________________________________
108 AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam() 
109 {
110   //
111   // make default reconstruction  parameters for hig  flux env.
112   //
113   AliGRPRecoParam *param = new AliGRPRecoParam();
114
115   return param;
116 }
117 //_____________________________________________________________________________
118 AliGRPRecoParam *AliGRPRecoParam::GetLowFluxParam() 
119 {
120   //
121   // make default reconstruction  parameters for low  flux env.
122   //
123   AliGRPRecoParam *param = new AliGRPRecoParam();
124
125   return param;
126 }
127 //_____________________________________________________________________________
128 void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
129   //
130   // get cuts for ITS (0) or TPC (1) mode
131   //
132   if(mode==1) {
133     cuts[0] = fVertexerTracksTPCdcacut;
134     cuts[1] = fVertexerTracksTPCdcacutIter0;
135     cuts[2] = fVertexerTracksTPCmaxd0z0;
136     cuts[3] = fVertexerTracksTPCminCls;
137     cuts[4] = fVertexerTracksTPCmintrks;
138     cuts[5] = fVertexerTracksTPCnsigma;
139     cuts[6] = fVertexerTracksTPCnindetfitter;
140     cuts[7] = fVertexerTracksTPCmaxtgl; 
141     cuts[8] = fVertexerTracksTPCfidR;
142     cuts[9] = fVertexerTracksTPCfidZ;
143   } else {
144     cuts[0] = fVertexerTracksITSdcacut;
145     cuts[1] = fVertexerTracksITSdcacutIter0;
146     cuts[2] = fVertexerTracksITSmaxd0z0;
147     cuts[3] = fVertexerTracksITSminCls;
148     cuts[4] = fVertexerTracksITSmintrks;
149     cuts[5] = fVertexerTracksITSnsigma;
150     cuts[6] = fVertexerTracksITSnindetfitter;
151     cuts[7] = fVertexerTracksITSmaxtgl; 
152     cuts[8] = fVertexerTracksITSfidR;
153     cuts[9] = fVertexerTracksITSfidZ;
154   }
155
156   return;
157 }
158 //_____________________________________________________________________________
159 void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[10]) {
160   //
161   // set cuts for ITS (0) or TPC (1) mode
162   //
163   if(ncuts!=fVertexerTracksNCuts) {
164     printf("AliGRPRecoParam: Number of AliVertexerTracks cuts is %d\n",fVertexerTracksNCuts);
165     return;
166   }
167
168   if(mode==1) {
169     fVertexerTracksTPCdcacut = cuts[0];
170     fVertexerTracksTPCdcacutIter0 = cuts[1];
171     fVertexerTracksTPCmaxd0z0 = cuts[2];
172     fVertexerTracksTPCminCls = cuts[3];
173     fVertexerTracksTPCmintrks = cuts[4];
174     fVertexerTracksTPCnsigma = cuts[5];
175     fVertexerTracksTPCnindetfitter = cuts[6];
176     fVertexerTracksTPCmaxtgl = cuts[7]; 
177     fVertexerTracksTPCfidR = cuts[8];
178     fVertexerTracksTPCfidZ = cuts[9];
179   } else {
180     fVertexerTracksITSdcacut = cuts[0];
181     fVertexerTracksITSdcacutIter0 = cuts[1];
182     fVertexerTracksITSmaxd0z0 = cuts[2];
183     fVertexerTracksITSminCls = cuts[3];
184     fVertexerTracksITSmintrks = cuts[4];
185     fVertexerTracksITSnsigma = cuts[5];
186     fVertexerTracksITSnindetfitter = cuts[6];
187     fVertexerTracksITSmaxtgl = cuts[7]; 
188     fVertexerTracksITSfidR = cuts[8];
189     fVertexerTracksITSfidZ = cuts[9];
190   }
191
192   return;
193 }