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);
*/
//
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(),
+ fUseHLTClusters(4), // use HLTorRAW data
fBClusterSharing(kTRUE),
fCtgRange(1.05),
fMaxSnpTracker(0.95),
fMaxSnpTrack(0.999),
- fBYMirror(kTRUE),
+ fUseOuterDetectors(kFALSE),
fDumpSignal(kFALSE),
fFirstBin(0),
fLastBin(-1),
fBDoUnfold(kTRUE),
fDumpAmplitudeMin(100),
fMaxNoise(2.),
- fMinMaxCutAbs(5.),
- fMinLeftRightCutAbs(9.),
- fMinUpDownCutAbs(10.),
+ //
+ fUseOnePadCluster(kTRUE),
+ fUseHLTOnePadCluster(kFALSE),
+ fMinMaxCutAbs(4.),
+ fMinLeftRightCutAbs(6.),
+ fMinUpDownCutAbs(6.),
+ //
fMinMaxCutSigma(4.),
fMinLeftRightCutSigma(7.),
fMinUpDownCutSigma(8.),
fMaxC(0.3),
fBSpecialSeeding(kFALSE),
fBKinkFinder(kTRUE),
- fLastSeedRowSec(120)
+ fLastSeedRowSec(120),
+ fSeedGapPrim(6),
+ fSeedGapSec(6),
+ fUseFieldCorrection(0), // 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
+ fUseMultiplicityCorrectionDedx(kTRUE), // use Dedx multiplicity correction
+ fUseAlignmentTime(kTRUE), // use time dependent alignment correction
+ //
+ fUseTotCharge(kTRUE), // switch use total or max charge
+ fMinFraction(0.01), // truncated mean - lower threshold
+ fMaxFaction(0.7), // truncated mean - upper threshold
+ fNeighborRowsDedx(2), // neighbour rows for below threshold dEdx calculation
+ fUseTOFCorrection(kTRUE),
+ fUseSystematicCorrelation(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
}
//_____________________________________________________________________________
//
}
-
+void AliTPCRecoParam::Print(const Option_t* /*option*/) const{
+ //
+ //
+ //
+ AliTPCRecoParam::Dump();
+ printf("Systematic errors:\n");
+ const char * cherrs[5]={"sy=","sz=","ssnp=","stheta=","s1pt="};
+ for (Int_t i=0; i<5; i++){
+ printf("%s%f\n",cherrs[i],fSystematicErrors[i]);
+ }
+}
AliTPCRecoParam *AliTPCRecoParam::GetLowFluxParam(){
param->fCtgRange = 1.05;
param->fFirstBin = 0;
param->fLastBin = 1000;
+ param->fUseTotCharge=kFALSE;
param->SetName("High Flux");
param->SetTitle("High Flux");
return param;
param->fFirstBin = 80;
param->fLastBin = 1000;
param->fMaxSnpTracker = 0.9;
- param->fMaxC = 0.06;
+ param->fMaxC = 0.06;
//
param->SetName("Hlt Param");
param->SetTitle("Hlt Param");
param->fMaxSnpTracker = 0.98;
param->fMaxC = 0.02;
param->fBSpecialSeeding = kTRUE;
- param->fBYMirror = kFALSE;
+ param->fUseTOFCorrection=kFALSE;
+ param->fUseHLTClusters=1; // always RAW data
//
//
param->SetName("Laser Flux");
param->fBSpecialSeeding = kTRUE;
param->fMaxC = 0.07;
param->fBKinkFinder = kFALSE;
- param->fBYMirror = kFALSE;
+ param->fUseTOFCorrection =kFALSE;
param->SetName("Cosmic Flux");
param->SetTitle("Cosmic Flux");
}
+Bool_t AliTPCRecoParam::GetUseTimeCalibration(){
+ //
+ // get
+ //
+ return fgUseTimeCalibration;
+}
+void AliTPCRecoParam::SetUseTimeCalibration(Bool_t useTimeCalibration) {
+ //
+ // set
+ //
+ fgUseTimeCalibration = useTimeCalibration;
+}