Adding switch - usage of maximal or total charge for dEdx
[u/mrichter/AliRoot.git] / TPC / AliTPCRecoParam.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, 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
17 ///////////////////////////////////////////////////////////////////////////////
18 //                                                                           //
19 // Class with TPC reconstruction parameters                                  //
20 //                                                                           //  
21 //
22 /*
23   The reconstruction parameters are used in the AliTPCclustererMI and AliTPCtrackerMI
24   
25   They are retrieved:
26   0. User speciefied it in reconstruction macro
27   1. if (not 0) from OCDB  - AliTPCcalibDB::GetRecoParam(eventtype)
28   2. if (not 0 or 1) default parameter - High flux enevironment used  
29
30   FIXME:
31   In the future  reconstruction parameters should be changed on event basis
32   But for the moment, event types are still not defined 
33
34
35   // Setting for systematic errors addition
36   [0] - systematic RMSY
37   [1] - systematic RMSZ
38   [2] - systematic RMSSNP
39   [3] - systematic RMSTheta
40   [4] - systematic RMSCuravture -  systematic error in 1/cm not in 1/pt
41   //
42   //  How to add it example - 3 mm systematic error y, 3 cm systematic error z (drift)
43   Double_t sysError[5]={0.3,3, 0.3/150., 3./150.,0.3/(150*150.)}
44   param->SetSystematicError(sysError);
45
46 */
47                                                                            //
48 ///////////////////////////////////////////////////////////////////////////////
49
50
51 #include "AliTPCRecoParam.h"
52
53 ClassImp(AliTPCRecoParam)
54
55
56
57
58 //_____________________________________________________________________________
59 AliTPCRecoParam::AliTPCRecoParam():
60   AliDetectorRecoParam(),
61   fBClusterSharing(kTRUE),
62   fCtgRange(1.05),       
63   fMaxSnpTracker(0.95),
64   fMaxSnpTrack(0.999),
65   fDumpSignal(kFALSE),
66   fFirstBin(0),
67   fLastBin(-1),
68   fBCalcPedestal(kFALSE),
69   fBDoUnfold(kTRUE),
70   fDumpAmplitudeMin(100),
71   fMaxNoise(2.),
72   //
73   fMinMaxCutAbs(4.),
74   fMinLeftRightCutAbs(6.),
75   fMinUpDownCutAbs(6.),
76   //
77   fMinMaxCutSigma(4.),
78   fMinLeftRightCutSigma(7.),
79   fMinUpDownCutSigma(8.),
80   fMaxC(0.3),
81   fBSpecialSeeding(kFALSE),
82   fBKinkFinder(kTRUE),
83   fLastSeedRowSec(120),
84   fUseFieldCorrection(0),      // use field correction
85   fUseRPHICorrection(0),      // use rphi correction
86   fUseRadialCorrection(0),    // use radial correction
87   fUseQuadrantAlignment(0),   // use quadrant alignment
88   fUseSectorAlignment(0),     // use sector alignment
89   fUseDriftCorrectionTime(0), // use drift correction time
90   fUseDriftCorrectionGY(0),   // use drif correction global y
91   fUseGainCorrectionTime(0),  // use gain correction time
92   fUseExBCorrection(1),  // use ExB correction
93   //
94   fUseTotCharge(kTRUE),          // switch use total or max charge
95   fMinFraction(0.01),           // truncated mean - lower threshold
96   fMaxFaction(0.7),            // truncated mean - upper threshold
97   fUseTOFCorrection(kTRUE)
98 {
99   //
100   // constructor
101   //
102   SetName("TPC");
103   SetTitle("TPC");
104   for (Int_t i=0;i<5;i++) fSystematicErrors[i]=0;
105 }
106
107 //_____________________________________________________________________________
108 AliTPCRecoParam::~AliTPCRecoParam() 
109 {
110   //
111   // destructor
112   //  
113 }
114
115
116
117
118 AliTPCRecoParam *AliTPCRecoParam::GetLowFluxParam(){
119   //
120   // make default reconstruction  parameters for low  flux env.
121   //
122   AliTPCRecoParam *param = new AliTPCRecoParam;
123   param->fCtgRange = 10;
124   param->fFirstBin = 0;
125   param->fLastBin  = 1000;
126   param->SetName("Low Flux");
127   param->SetTitle("Low Flux");
128   return param;
129 }
130
131 AliTPCRecoParam *AliTPCRecoParam::GetHighFluxParam(){
132   //
133   // make reco parameters for high flux env.
134   //
135   AliTPCRecoParam *param = new AliTPCRecoParam;
136   param->fCtgRange = 1.05;
137   param->fFirstBin = 0;
138   param->fLastBin  = 1000;  
139   param->fUseTotCharge=kFALSE;
140   param->SetName("High Flux");
141   param->SetTitle("High Flux");
142   return param;
143 }
144
145 AliTPCRecoParam *AliTPCRecoParam::GetHLTParam(){
146   //
147   // make reco parameters for high flux env.
148   //
149   AliTPCRecoParam *param = new AliTPCRecoParam;
150   param->fCtgRange = 1.05;
151   param->fFirstBin = 80;
152   param->fLastBin  = 1000;  
153   param->fMaxSnpTracker = 0.9; 
154   param->fMaxC          = 0.06; 
155   //
156   param->SetName("Hlt Param");
157   param->SetTitle("Hlt Param"); 
158   param->fBKinkFinder   = kFALSE;
159   return param;
160 }
161
162 AliTPCRecoParam *AliTPCRecoParam::GetLaserTestParam(Bool_t bPedestal){
163   //
164   // special setting for laser
165   //
166   AliTPCRecoParam *param = new AliTPCRecoParam;
167   param->fDumpSignal=kTRUE;
168   param->fCtgRange = 10.05;
169   param->fFirstBin = 0;
170   param->fLastBin  = 1000;
171   param->fBCalcPedestal = bPedestal;
172   param->fBDoUnfold     = kFALSE;
173   param->fDumpAmplitudeMin = 150;
174   param->fBKinkFinder   = kFALSE;
175   param->fMaxSnpTracker = 0.98;
176   param->fMaxC          = 0.02;
177   param->fBSpecialSeeding = kTRUE;
178   param->fUseTOFCorrection=kFALSE;
179   //
180   //
181   param->SetName("Laser Flux");
182   param->SetTitle("Laser Flux");
183   return param;
184 }
185
186 AliTPCRecoParam *AliTPCRecoParam::GetCosmicTestParam(Bool_t bPedestal){
187   //
188   // special setting for cosmic 
189   // 
190   AliTPCRecoParam *param = new AliTPCRecoParam;
191   param->fDumpSignal=kTRUE;
192   param->fCtgRange = 10.05;    // full TPC
193   param->fFirstBin = 60;
194   param->fLastBin  = 1000;
195   param->fBCalcPedestal = bPedestal;
196   param->fBDoUnfold     = kFALSE;
197   param->fBSpecialSeeding = kTRUE;
198   param->fMaxC          = 0.07;
199   param->fBKinkFinder   = kFALSE;
200   param->fUseTOFCorrection =kFALSE;
201   param->SetName("Cosmic Flux");
202   param->SetTitle("Cosmic Flux");
203
204   return param;
205 }
206
207
208