1 /**************************************************************************
2 * Copyright(c) 1998-1999, 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 **************************************************************************/
17 ///////////////////////////////////////////////////////////////////////////////
19 // Class with TPC reconstruction parameters //
23 The reconstruction parameters are used in the AliTPCclustererMI and AliTPCtrackerMI
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
31 In the future reconstruction parameters should be changed on event basis
32 But for the moment, event types are still not defined
35 // Setting for systematic errors addition
38 [2] - systematic RMSSNP
39 [3] - systematic RMSTheta
40 [4] - systematic RMSCuravture - systematic error in 1/cm not in 1/pt
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);
48 ///////////////////////////////////////////////////////////////////////////////
51 #include "AliTPCRecoParam.h"
53 ClassImp(AliTPCRecoParam)
56 Bool_t AliTPCRecoParam::fgUseTimeCalibration=kTRUE; // flag usage the time dependent calibration
57 // to be switched off for pass 0 reconstruction
58 // Use static function, other option will be to use
59 // additional specific storage ?
61 //_____________________________________________________________________________
62 AliTPCRecoParam::AliTPCRecoParam():
63 AliDetectorRecoParam(),
64 fBClusterSharing(kTRUE),
68 fUseOuterDetectors(kFALSE),
72 fBCalcPedestal(kFALSE),
74 fDumpAmplitudeMin(100),
78 fMinLeftRightCutAbs(6.),
82 fMinLeftRightCutSigma(7.),
83 fMinUpDownCutSigma(8.),
85 fBSpecialSeeding(kFALSE),
88 fUseFieldCorrection(2), // use field correction
89 fUseComposedCorrection(kFALSE), // use field correction
90 fUseRPHICorrection(0), // use rphi correction
91 fUseRadialCorrection(0), // use radial correction
92 fUseQuadrantAlignment(0), // use quadrant alignment
93 fUseSectorAlignment(0), // use sector alignment
94 fUseDriftCorrectionTime(1), // use drift correction time
95 fUseDriftCorrectionGY(1), // use drif correction global y
96 fUseGainCorrectionTime(0), // use gain correction time
97 fUseExBCorrection(1), // use ExB correction
99 fUseTotCharge(kTRUE), // switch use total or max charge
100 fMinFraction(0.01), // truncated mean - lower threshold
101 fMaxFaction(0.7), // truncated mean - upper threshold
102 fUseTOFCorrection(kTRUE)
109 for (Int_t i=0;i<5;i++) fSystematicErrors[i]=0;
110 fCutSharedClusters[0]=0.5; // maximal allowed fraction of shared clusters - shorter track
111 fCutSharedClusters[1]=0.25; // maximal allowed fraction of shared clusters - longer track
112 fClusterMaxRange[0]=1; // y - pad range
113 fClusterMaxRange[1]=1; // z - time bin range
114 fKinkAngleCutChi2[0]=9; // angular cut for kink finder - to create a kink
115 // ~ about 5 % rate for high pt kink finder
116 fKinkAngleCutChi2[1]=12; // angular cut for kink finder - to use the partial track // form kink
117 // ~ about 2 % rate for high pt kink finder
120 //_____________________________________________________________________________
121 AliTPCRecoParam::~AliTPCRecoParam()
131 AliTPCRecoParam *AliTPCRecoParam::GetLowFluxParam(){
133 // make default reconstruction parameters for low flux env.
135 AliTPCRecoParam *param = new AliTPCRecoParam;
136 param->fCtgRange = 10;
137 param->fFirstBin = 0;
138 param->fLastBin = 1000;
139 param->SetName("Low Flux");
140 param->SetTitle("Low Flux");
144 AliTPCRecoParam *AliTPCRecoParam::GetHighFluxParam(){
146 // make reco parameters for high flux env.
148 AliTPCRecoParam *param = new AliTPCRecoParam;
149 param->fCtgRange = 1.05;
150 param->fFirstBin = 0;
151 param->fLastBin = 1000;
152 param->fUseTotCharge=kFALSE;
153 param->SetName("High Flux");
154 param->SetTitle("High Flux");
158 AliTPCRecoParam *AliTPCRecoParam::GetHLTParam(){
160 // make reco parameters for high flux env.
162 AliTPCRecoParam *param = new AliTPCRecoParam;
163 param->fCtgRange = 1.05;
164 param->fFirstBin = 80;
165 param->fLastBin = 1000;
166 param->fMaxSnpTracker = 0.9;
169 param->SetName("Hlt Param");
170 param->SetTitle("Hlt Param");
171 param->fBKinkFinder = kFALSE;
175 AliTPCRecoParam *AliTPCRecoParam::GetLaserTestParam(Bool_t bPedestal){
177 // special setting for laser
179 AliTPCRecoParam *param = new AliTPCRecoParam;
180 param->fDumpSignal=kTRUE;
181 param->fCtgRange = 10.05;
182 param->fFirstBin = 0;
183 param->fLastBin = 1000;
184 param->fBCalcPedestal = bPedestal;
185 param->fBDoUnfold = kFALSE;
186 param->fDumpAmplitudeMin = 150;
187 param->fBKinkFinder = kFALSE;
188 param->fMaxSnpTracker = 0.98;
190 param->fBSpecialSeeding = kTRUE;
191 param->fUseTOFCorrection=kFALSE;
194 param->SetName("Laser Flux");
195 param->SetTitle("Laser Flux");
199 AliTPCRecoParam *AliTPCRecoParam::GetCosmicTestParam(Bool_t bPedestal){
201 // special setting for cosmic
203 AliTPCRecoParam *param = new AliTPCRecoParam;
204 param->fDumpSignal=kTRUE;
205 param->fCtgRange = 10.05; // full TPC
206 param->fFirstBin = 60;
207 param->fLastBin = 1000;
208 param->fBCalcPedestal = bPedestal;
209 param->fBDoUnfold = kFALSE;
210 param->fBSpecialSeeding = kTRUE;
212 param->fBKinkFinder = kFALSE;
213 param->fUseTOFCorrection =kFALSE;
214 param->SetName("Cosmic Flux");
215 param->SetTitle("Cosmic Flux");
221 Bool_t AliTPCRecoParam::GetUseTimeCalibration(){
225 return fgUseTimeCalibration;
227 void AliTPCRecoParam::SetUseTimeCalibration(Bool_t useTimeCalibration) {
231 fgUseTimeCalibration = useTimeCalibration;