,fkChi2Y(.25)
,fkChi2YSlope(7.73)
,fkChi2ZSlope(0.069)
+ ,fChi2Cut(25)
,fkChi2YCut(0.5)
,fkPhiSlope(10.6)
,fkNMeanClusters(20.)
,fNumberOfConfigs(3)
,fFlags(0)
,fRawStreamVersion("DEFAULT")
+ ,fdzdxXcrossFactor(0.)
,fMinMaxCutSigma(4.)
,fMinLeftRightCutSigma(8.)
,fClusMaxThresh(4.5)
SetImproveTracklets();
SetLUT();
SetTailCancelation();
+ SetTrackletParams();
}
//______________________________________________________________
,fkChi2Y(ref.fkChi2Y)
,fkChi2YSlope(ref.fkChi2YSlope)
,fkChi2ZSlope(ref.fkChi2ZSlope)
+ ,fChi2Cut(ref.fChi2Cut)
,fkChi2YCut(ref.fkChi2YCut)
,fkPhiSlope(ref.fkPhiSlope)
,fkNMeanClusters(ref.fkNMeanClusters)
,fNumberOfConfigs(ref.fNumberOfConfigs)
,fFlags(ref.fFlags)
,fRawStreamVersion(ref.fRawStreamVersion)
+ ,fdzdxXcrossFactor(ref.fdzdxXcrossFactor)
,fMinMaxCutSigma(ref.fMinMaxCutSigma)
,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
,fClusMaxThresh(ref.fClusMaxThresh)
memcpy(fTCParams, ref.fTCParams, 8*sizeof(Double_t));
memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
memcpy(fStreamLevel, ref.fStreamLevel, kTRDreconstructionTasks * sizeof(Int_t));
+
+ // tracklet params
+ memcpy(fdzdxCorrFactor, ref.fdzdxCorrFactor, 2*sizeof(Double_t));
+ memcpy(fdzdxCorrRCbias, ref.fdzdxCorrRCbias, 2*sizeof(Double_t));
+ memcpy(fYcorrTailCancel, ref.fdzdxCorrRCbias, 12*sizeof(Double_t));
+ memcpy(fS2Ycorr, ref.fS2Ycorr, 4*sizeof(Double_t));
}
//______________________________________________________________
fkChi2Y = ref.fkChi2Y;
fkChi2YSlope = ref.fkChi2YSlope;
fkChi2ZSlope = ref.fkChi2ZSlope;
+ fChi2Cut = ref.fChi2Cut;
fkChi2YCut = ref.fkChi2YCut;
fkPhiSlope = ref.fkPhiSlope;
fkNMeanClusters = ref.fkNMeanClusters;
fNumberOfConfigs = ref.fNumberOfConfigs;
fFlags = ref.fFlags;
fRawStreamVersion = ref.fRawStreamVersion;
+ fdzdxXcrossFactor = ref.fdzdxXcrossFactor;
fMinMaxCutSigma = ref.fMinMaxCutSigma;
fMinLeftRightCutSigma = ref.fMinLeftRightCutSigma;
fClusMaxThresh = ref.fClusMaxThresh;
memcpy(fTCParams, ref.fTCParams, 8*sizeof(Double_t));
memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
memcpy(fStreamLevel, ref.fStreamLevel, kTRDreconstructionTasks * sizeof(Int_t));
+
+ // tracklet params
+ memcpy(fdzdxCorrFactor, ref.fdzdxCorrFactor, 2*sizeof(Double_t));
+ memcpy(fdzdxCorrRCbias, ref.fdzdxCorrRCbias, 2*sizeof(Double_t));
+ memcpy(fYcorrTailCancel, ref.fdzdxCorrRCbias, 12*sizeof(Double_t));
+ memcpy(fS2Ycorr, ref.fS2Ycorr, 4*sizeof(Double_t));
return *this;
}
par->fSysCovMatrix[1] = 2.; // z direction (1 cm)
par->fkChi2YSlope = 0.11853;
par->fkChi2ZSlope = 0.04527;
+ par->fkChi2YCut = 25.;
par->fkChi2YCut = 1.;
par->fkPhiSlope = 10.; //3.17954;
par->fkMaxTheta = 2.1445;
}
}
+//___________________________________________________
+void AliTRDrecoParam::SetTrackletParams(Double_t *par)
+{
+ // Load tracklet reconstruction parameters. If none are set use defaults
+ if(par){
+ // correct dzdx for the bias in z
+ fdzdxCorrFactor[0] = par[0]; // !RC
+ fdzdxCorrFactor[1] = par[1]; // RC
+ // correct dzdx in RC tracklets for the bias in cluster attachment
+ fdzdxCorrRCbias[0] = par[2]; // dz/dx > 0
+ fdzdxCorrRCbias[1] = par[3]; // dz/dx < 0
+ /// correct x_cross for the bias in dzdx
+ fdzdxXcrossFactor = par[4];
+ // y correction due to wrong tail cancellation.
+ fYcorrTailCancel[0][0] = par[5];fYcorrTailCancel[0][1] = par[6];fYcorrTailCancel[0][2] = par[7];
+ fYcorrTailCancel[1][0] = par[8];fYcorrTailCancel[1][1] = par[9];fYcorrTailCancel[1][2] = par[10];
+ fYcorrTailCancel[2][0] = par[11];fYcorrTailCancel[2][1] = par[12];fYcorrTailCancel[2][3] = par[13];
+ fYcorrTailCancel[3][0] = par[14];fYcorrTailCancel[3][1] = par[15];fYcorrTailCancel[3][3] = par[16];
+ // inflation factor of error parameterization in r-phi due to wrong estimation of residuals.
+ fS2Ycorr[0] = par[17];
+ fS2Ycorr[1] = par[18];
+ fS2Ycorr[2] = par[19];
+ fS2Ycorr[3] = par[20];
+
+ } else {
+ // correct dzdx for the bias in z
+ fdzdxCorrFactor[0] = 1.09; // !RC
+ fdzdxCorrFactor[1] = 1.05; // RC
+ // correct dzdx in RC tracklets for the bias in cluster attachment
+ fdzdxCorrRCbias[0] = 0.; // dz/dx > 0
+ fdzdxCorrRCbias[1] = -0.012; // dz/dx < 0
+ /// correct x_cross for the bias in dzdx
+ fdzdxXcrossFactor = 0.14;
+ // y correction due to wrong tail cancellation.
+ // bz<0 && !RC
+ fYcorrTailCancel[0][0] = 0.04; fYcorrTailCancel[0][1] = 2.151; fYcorrTailCancel[0][2] = 0.013;
+ // bz>0 && !RC
+ fYcorrTailCancel[1][0] = 0.034; fYcorrTailCancel[1][1] = 1.817; fYcorrTailCancel[1][2] = -0.01;
+ // bz<0 && RC
+ fYcorrTailCancel[2][0] = 0.04; fYcorrTailCancel[2][1] = 2.513; fYcorrTailCancel[2][2] = 0.015;
+ // bz>0 && RC
+ fYcorrTailCancel[3][0] = 0.034; fYcorrTailCancel[3][1] = 2.476; fYcorrTailCancel[3][2] = -0.01;
+ // inflation factor of error parameterization in r-phi due to wrong estimation of residuals.
+ // chg<0 && !RC
+ fS2Ycorr[0] = 5.52;
+ // chg>0 && !RC
+ fS2Ycorr[1] = 3.61;
+ // chg<0 && RC
+ fS2Ycorr[2] = 4.84;
+ // chg>0 && RC
+ fS2Ycorr[3] = 3.24;
+ }
+}