]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCRecoParam.cxx
AliTPCcalibDB.cxx AliTPCcalibDB.h - Adding AliFatal in case of missing critical calib...
[u/mrichter/AliRoot.git] / TPC / AliTPCRecoParam.cxx
CommitLineData
669ce3c3 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// //
7a9e557b 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
1cafd6f4 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)
a69162c3 43 Double_t sysError[5]={0.3,3, 0.3/150., 3./150.,0.3/(150*150.)}
1cafd6f4 44 param->SetSystematicError(sysError);
45
7a9e557b 46*/
47 //
669ce3c3 48///////////////////////////////////////////////////////////////////////////////
49
50
51#include "AliTPCRecoParam.h"
52
53ClassImp(AliTPCRecoParam)
54
55
56
57
58//_____________________________________________________________________________
59AliTPCRecoParam::AliTPCRecoParam():
b1c50d5c 60 AliDetectorRecoParam(),
018e4f8a 61 fBClusterSharing(kTRUE),
669ce3c3 62 fCtgRange(1.05),
63 fMaxSnpTracker(0.95),
64 fMaxSnpTrack(0.999),
eba5bca1 65 fUseOuterDetectors(kFALSE),
b127a65f 66 fDumpSignal(kFALSE),
669ce3c3 67 fFirstBin(0),
68 fLastBin(-1),
69 fBCalcPedestal(kFALSE),
70 fBDoUnfold(kTRUE),
71 fDumpAmplitudeMin(100),
837809ab 72 fMaxNoise(2.),
625fcba5 73 //
74 fMinMaxCutAbs(4.),
75 fMinLeftRightCutAbs(6.),
76 fMinUpDownCutAbs(6.),
77 //
940ed1f0 78 fMinMaxCutSigma(4.),
79 fMinLeftRightCutSigma(7.),
80 fMinUpDownCutSigma(8.),
b9cc16e4 81 fMaxC(0.3),
82 fBSpecialSeeding(kFALSE),
7d27c1df 83 fBKinkFinder(kTRUE),
9430b11a 84 fLastSeedRowSec(120),
25617779 85 fUseFieldCorrection(0), // use field correction
86 fUseRPHICorrection(0), // use rphi correction
87 fUseRadialCorrection(0), // use radial correction
88 fUseQuadrantAlignment(0), // use quadrant alignment
89 fUseSectorAlignment(0), // use sector alignment
6be27415 90 fUseDriftCorrectionTime(1), // use drift correction time
91 fUseDriftCorrectionGY(1), // use drif correction global y
25617779 92 fUseGainCorrectionTime(0), // use gain correction time
07c43acb 93 fUseExBCorrection(1), // use ExB correction
8f4188a7 94 //
95 fUseTotCharge(kTRUE), // switch use total or max charge
96 fMinFraction(0.01), // truncated mean - lower threshold
97 fMaxFaction(0.7), // truncated mean - upper threshold
9430b11a 98 fUseTOFCorrection(kTRUE)
669ce3c3 99{
100 //
101 // constructor
102 //
b1c50d5c 103 SetName("TPC");
104 SetTitle("TPC");
1cafd6f4 105 for (Int_t i=0;i<5;i++) fSystematicErrors[i]=0;
6fbe1e5c 106 fCutSharedClusters[0]=0.5; // maximal allowed fraction of shared clusters - shorter track
107 fCutSharedClusters[1]=0.25; // maximal allowed fraction of shared clusters - longer track
eba5bca1 108 fClusterMaxRange[0]=1; // y - pad range
6fbe1e5c 109 fClusterMaxRange[1]=1; // z - time bin range
eba5bca1 110 fKinkAngleCutChi2[0]=9; // angular cut for kink finder - to create a kink
111 // ~ about 5 % rate for high pt kink finder
112 fKinkAngleCutChi2[1]=12; // angular cut for kink finder - to use the partial track // form kink
113 // ~ about 2 % rate for high pt kink finder
669ce3c3 114}
115
116//_____________________________________________________________________________
117AliTPCRecoParam::~AliTPCRecoParam()
118{
119 //
120 // destructor
121 //
122}
123
124
125
126
127AliTPCRecoParam *AliTPCRecoParam::GetLowFluxParam(){
128 //
129 // make default reconstruction parameters for low flux env.
130 //
131 AliTPCRecoParam *param = new AliTPCRecoParam;
132 param->fCtgRange = 10;
133 param->fFirstBin = 0;
134 param->fLastBin = 1000;
b447cbf9 135 param->SetName("Low Flux");
136 param->SetTitle("Low Flux");
669ce3c3 137 return param;
138}
139
140AliTPCRecoParam *AliTPCRecoParam::GetHighFluxParam(){
141 //
142 // make reco parameters for high flux env.
143 //
144 AliTPCRecoParam *param = new AliTPCRecoParam;
145 param->fCtgRange = 1.05;
146 param->fFirstBin = 0;
ec214961 147 param->fLastBin = 1000;
8f4188a7 148 param->fUseTotCharge=kFALSE;
b447cbf9 149 param->SetName("High Flux");
150 param->SetTitle("High Flux");
151 return param;
152}
153
154AliTPCRecoParam *AliTPCRecoParam::GetHLTParam(){
155 //
156 // make reco parameters for high flux env.
157 //
158 AliTPCRecoParam *param = new AliTPCRecoParam;
159 param->fCtgRange = 1.05;
160 param->fFirstBin = 80;
161 param->fLastBin = 1000;
162 param->fMaxSnpTracker = 0.9;
1cafd6f4 163 param->fMaxC = 0.06;
b447cbf9 164 //
165 param->SetName("Hlt Param");
166 param->SetTitle("Hlt Param");
167 param->fBKinkFinder = kFALSE;
669ce3c3 168 return param;
169}
170
171AliTPCRecoParam *AliTPCRecoParam::GetLaserTestParam(Bool_t bPedestal){
172 //
173 // special setting for laser
174 //
175 AliTPCRecoParam *param = new AliTPCRecoParam;
b127a65f 176 param->fDumpSignal=kTRUE;
669ce3c3 177 param->fCtgRange = 10.05;
178 param->fFirstBin = 0;
179 param->fLastBin = 1000;
180 param->fBCalcPedestal = bPedestal;
181 param->fBDoUnfold = kFALSE;
fe5055e5 182 param->fDumpAmplitudeMin = 150;
669ce3c3 183 param->fBKinkFinder = kFALSE;
b9cc16e4 184 param->fMaxSnpTracker = 0.98;
185 param->fMaxC = 0.02;
186 param->fBSpecialSeeding = kTRUE;
9430b11a 187 param->fUseTOFCorrection=kFALSE;
ec214961 188 //
189 //
b447cbf9 190 param->SetName("Laser Flux");
191 param->SetTitle("Laser Flux");
669ce3c3 192 return param;
193}
194
195AliTPCRecoParam *AliTPCRecoParam::GetCosmicTestParam(Bool_t bPedestal){
196 //
197 // special setting for cosmic
198 //
199 AliTPCRecoParam *param = new AliTPCRecoParam;
b127a65f 200 param->fDumpSignal=kTRUE;
669ce3c3 201 param->fCtgRange = 10.05; // full TPC
202 param->fFirstBin = 60;
203 param->fLastBin = 1000;
204 param->fBCalcPedestal = bPedestal;
205 param->fBDoUnfold = kFALSE;
b9cc16e4 206 param->fBSpecialSeeding = kTRUE;
207 param->fMaxC = 0.07;
669ce3c3 208 param->fBKinkFinder = kFALSE;
9430b11a 209 param->fUseTOFCorrection =kFALSE;
b447cbf9 210 param->SetName("Cosmic Flux");
211 param->SetTitle("Cosmic Flux");
212
669ce3c3 213 return param;
214}
215
216
217