X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCRecoParam.cxx;h=a2ff5c37b7227f29b55ef59fd7ba476a5cf7c249;hb=5f638994f736c237437f77ee24a71b34a5979382;hp=3432e611f6f5a1641f2f58c7ff684ecffece9f42;hpb=837809abf8a97772f140ef2f5822b21608210c4f;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCRecoParam.cxx b/TPC/AliTPCRecoParam.cxx index 3432e611f6f..a2ff5c37b72 100644 --- a/TPC/AliTPCRecoParam.cxx +++ b/TPC/AliTPCRecoParam.cxx @@ -18,7 +18,33 @@ // // // Class with TPC reconstruction parameters // // // -// // +// +/* + The reconstruction parameters are used in the AliTPCclustererMI and AliTPCtrackerMI + + They are retrieved: + 0. User speciefied it in reconstruction macro + 1. if (not 0) from OCDB - AliTPCcalibDB::GetRecoParam(eventtype) + 2. if (not 0 or 1) default parameter - High flux enevironment used + + FIXME: + In the future reconstruction parameters should be changed on event basis + But for the moment, event types are still not defined + + + // Setting for systematic errors addition + [0] - systematic RMSY + [1] - systematic RMSZ + [2] - systematic RMSSNP + [3] - systematic RMSTheta + [4] - systematic RMSCuravture - systematic error in 1/cm not in 1/pt + // + // How to add it example - 3 mm systematic error y, 3 cm systematic error z (drift) + Double_t sysError[5]={0.3,3, 0.3/150., 3./150.,0.3/(150*150.)} + param->SetSystematicError(sysError); + +*/ + // /////////////////////////////////////////////////////////////////////////////// @@ -27,27 +53,71 @@ ClassImp(AliTPCRecoParam) - +Bool_t AliTPCRecoParam::fgUseTimeCalibration=kTRUE; // flag usage the time dependent calibration + // to be switched off for pass 0 reconstruction + // Use static function, other option will be to use + // additional specific storage ? //_____________________________________________________________________________ AliTPCRecoParam::AliTPCRecoParam(): + AliDetectorRecoParam(), + fBClusterSharing(kTRUE), fCtgRange(1.05), fMaxSnpTracker(0.95), fMaxSnpTrack(0.999), - fBYMirror(kTRUE), + fUseOuterDetectors(kFALSE), + fDumpSignal(kFALSE), fFirstBin(0), fLastBin(-1), fBCalcPedestal(kFALSE), fBDoUnfold(kTRUE), fDumpAmplitudeMin(100), fMaxNoise(2.), + // + fUseOnePadCluster(kTRUE), + fMinMaxCutAbs(4.), + fMinLeftRightCutAbs(6.), + fMinUpDownCutAbs(6.), + // + fMinMaxCutSigma(4.), + fMinLeftRightCutSigma(7.), + fMinUpDownCutSigma(8.), fMaxC(0.3), fBSpecialSeeding(kFALSE), - fBKinkFinder(kTRUE) + fBKinkFinder(kTRUE), + fLastSeedRowSec(120), + fSeedGapPrim(6), + fSeedGapSec(6), + fUseFieldCorrection(2), // use field correction + fUseComposedCorrection(kFALSE), // use field correction + fUseRPHICorrection(0), // use rphi correction + fUseRadialCorrection(0), // use radial correction + fUseQuadrantAlignment(0), // use quadrant alignment + fUseSectorAlignment(0), // use sector alignment + fUseDriftCorrectionTime(1), // use drift correction time + fUseDriftCorrectionGY(1), // use drif correction global y + fUseGainCorrectionTime(0), // use gain correction time + fUseExBCorrection(1), // use ExB correction + // + fUseTotCharge(kTRUE), // switch use total or max charge + fMinFraction(0.01), // truncated mean - lower threshold + fMaxFaction(0.7), // truncated mean - upper threshold + fUseTOFCorrection(kTRUE) { // // constructor // + SetName("TPC"); + SetTitle("TPC"); + for (Int_t i=0;i<5;i++) fSystematicErrors[i]=0; + fCutSharedClusters[0]=0.5; // maximal allowed fraction of shared clusters - shorter track + fCutSharedClusters[1]=0.25; // maximal allowed fraction of shared clusters - longer track + fClusterMaxRange[0]=1; // y - pad range + fClusterMaxRange[1]=1; // z - time bin range + fKinkAngleCutChi2[0]=9; // angular cut for kink finder - to create a kink + // ~ about 5 % rate for high pt kink finder + fKinkAngleCutChi2[1]=12; // angular cut for kink finder - to use the partial track // form kink + // ~ about 2 % rate for high pt kink finder } //_____________________________________________________________________________ @@ -69,6 +139,8 @@ AliTPCRecoParam *AliTPCRecoParam::GetLowFluxParam(){ param->fCtgRange = 10; param->fFirstBin = 0; param->fLastBin = 1000; + param->SetName("Low Flux"); + param->SetTitle("Low Flux"); return param; } @@ -79,7 +151,27 @@ AliTPCRecoParam *AliTPCRecoParam::GetHighFluxParam(){ AliTPCRecoParam *param = new AliTPCRecoParam; param->fCtgRange = 1.05; param->fFirstBin = 0; - param->fLastBin = 1000; + param->fLastBin = 1000; + param->fUseTotCharge=kFALSE; + param->SetName("High Flux"); + param->SetTitle("High Flux"); + return param; +} + +AliTPCRecoParam *AliTPCRecoParam::GetHLTParam(){ + // + // make reco parameters for high flux env. + // + AliTPCRecoParam *param = new AliTPCRecoParam; + param->fCtgRange = 1.05; + param->fFirstBin = 80; + param->fLastBin = 1000; + param->fMaxSnpTracker = 0.9; + param->fMaxC = 0.06; + // + param->SetName("Hlt Param"); + param->SetTitle("Hlt Param"); + param->fBKinkFinder = kFALSE; return param; } @@ -88,6 +180,7 @@ AliTPCRecoParam *AliTPCRecoParam::GetLaserTestParam(Bool_t bPedestal){ // special setting for laser // AliTPCRecoParam *param = new AliTPCRecoParam; + param->fDumpSignal=kTRUE; param->fCtgRange = 10.05; param->fFirstBin = 0; param->fLastBin = 1000; @@ -98,7 +191,11 @@ AliTPCRecoParam *AliTPCRecoParam::GetLaserTestParam(Bool_t bPedestal){ param->fMaxSnpTracker = 0.98; param->fMaxC = 0.02; param->fBSpecialSeeding = kTRUE; - param->fBYMirror = kFALSE; + param->fUseTOFCorrection=kFALSE; + // + // + param->SetName("Laser Flux"); + param->SetTitle("Laser Flux"); return param; } @@ -107,6 +204,7 @@ AliTPCRecoParam *AliTPCRecoParam::GetCosmicTestParam(Bool_t bPedestal){ // special setting for cosmic // AliTPCRecoParam *param = new AliTPCRecoParam; + param->fDumpSignal=kTRUE; param->fCtgRange = 10.05; // full TPC param->fFirstBin = 60; param->fLastBin = 1000; @@ -115,9 +213,24 @@ AliTPCRecoParam *AliTPCRecoParam::GetCosmicTestParam(Bool_t bPedestal){ param->fBSpecialSeeding = kTRUE; param->fMaxC = 0.07; param->fBKinkFinder = kFALSE; - param->fBYMirror = kFALSE; + param->fUseTOFCorrection =kFALSE; + param->SetName("Cosmic Flux"); + param->SetTitle("Cosmic Flux"); + return param; } +Bool_t AliTPCRecoParam::GetUseTimeCalibration(){ + // + // get + // + return fgUseTimeCalibration; +} +void AliTPCRecoParam::SetUseTimeCalibration(Bool_t useTimeCalibration) { + // + // set + // + fgUseTimeCalibration = useTimeCalibration; +}