//_____________________________________________________________________________
AliGRPRecoParam::AliGRPRecoParam() : AliDetectorRecoParam(),
-fVertexerTracksNCuts(10),
+fMostProbablePt(0.350),
+fVertexerTracksConstraintITS(kTRUE),
+fVertexerTracksConstraintTPC(kTRUE),
+fVertexerTracksNCuts(12),
fVertexerTracksITSdcacut(0.1),
fVertexerTracksITSdcacutIter0(0.1),
fVertexerTracksITSmaxd0z0(0.5),
fVertexerTracksITSmaxtgl(1000.),
fVertexerTracksITSfidR(3.),
fVertexerTracksITSfidZ(30.),
+fVertexerTracksITSalgo(1.),
+fVertexerTracksITSalgoIter0(4.),
fVertexerTracksTPCdcacut(0.1),
fVertexerTracksTPCdcacutIter0(1.0),
fVertexerTracksTPCmaxd0z0(5.),
fVertexerTracksTPCnindetfitter(0.1),
fVertexerTracksTPCmaxtgl(1.5),
fVertexerTracksTPCfidR(3.),
-fVertexerTracksTPCfidZ(30.)
+fVertexerTracksTPCfidZ(30.),
+fVertexerTracksTPCalgo(1.),
+fVertexerTracksTPCalgoIter0(4.),
+fVertexerV0NCuts(7),
+fVertexerV0Chi2max(33.),
+fVertexerV0DNmin(0.05),
+fVertexerV0DPmin(0.05),
+fVertexerV0DCAmax(1.5),
+fVertexerV0CPAmin(0.9),
+fVertexerV0Rmin(0.2),
+fVertexerV0Rmax(200.),
+fVertexerCascadeNCuts(8),
+fVertexerCascadeChi2max(33.),
+fVertexerCascadeDV0min(0.01),
+fVertexerCascadeMassWin(0.008),
+fVertexerCascadeDBachMin(0.01),
+fVertexerCascadeDCAmax(2.0),
+fVertexerCascadeCPAmin(0.98),
+fVertexerCascadeRmin(0.2),
+fVertexerCascadeRmax(100.)
{
//
// constructor
AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
AliDetectorRecoParam(par),
+ fMostProbablePt(par.fMostProbablePt),
+ fVertexerTracksConstraintITS(par.fVertexerTracksConstraintITS),
+ fVertexerTracksConstraintTPC(par.fVertexerTracksConstraintTPC),
fVertexerTracksNCuts(par.fVertexerTracksNCuts),
fVertexerTracksITSdcacut(par.fVertexerTracksITSdcacut),
fVertexerTracksITSdcacutIter0(par.fVertexerTracksITSdcacutIter0),
fVertexerTracksITSmaxtgl(par.fVertexerTracksITSmaxtgl),
fVertexerTracksITSfidR(par.fVertexerTracksITSfidR),
fVertexerTracksITSfidZ(par.fVertexerTracksITSfidZ),
+ fVertexerTracksITSalgo(par.fVertexerTracksITSalgo),
+ fVertexerTracksITSalgoIter0(par.fVertexerTracksITSalgoIter0),
fVertexerTracksTPCdcacut(par.fVertexerTracksTPCdcacut),
fVertexerTracksTPCdcacutIter0(par.fVertexerTracksTPCdcacutIter0),
fVertexerTracksTPCmaxd0z0(par.fVertexerTracksTPCmaxd0z0),
fVertexerTracksTPCnindetfitter(par.fVertexerTracksTPCnindetfitter),
fVertexerTracksTPCmaxtgl(par.fVertexerTracksTPCmaxtgl),
fVertexerTracksTPCfidR(par.fVertexerTracksTPCfidR),
- fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ)
+ fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ),
+ fVertexerTracksTPCalgo(par.fVertexerTracksTPCalgo),
+ fVertexerTracksTPCalgoIter0(par.fVertexerTracksTPCalgoIter0),
+ fVertexerV0NCuts(par.fVertexerV0NCuts),
+ fVertexerV0Chi2max(par.fVertexerV0Chi2max),
+ fVertexerV0DNmin(par.fVertexerV0DNmin),
+ fVertexerV0DPmin(par.fVertexerV0DPmin),
+ fVertexerV0DCAmax(par.fVertexerV0DCAmax),
+ fVertexerV0CPAmin(par.fVertexerV0CPAmin),
+ fVertexerV0Rmin(par.fVertexerV0Rmin),
+ fVertexerV0Rmax(par.fVertexerV0Rmax),
+ fVertexerCascadeNCuts(par.fVertexerCascadeNCuts),
+ fVertexerCascadeChi2max(par.fVertexerCascadeChi2max),
+ fVertexerCascadeDV0min(par.fVertexerCascadeDV0min),
+ fVertexerCascadeMassWin(par.fVertexerCascadeMassWin),
+ fVertexerCascadeDBachMin(par.fVertexerCascadeDBachMin),
+ fVertexerCascadeDCAmax(par.fVertexerCascadeDCAmax),
+ fVertexerCascadeCPAmin(par.fVertexerCascadeCPAmin),
+ fVertexerCascadeRmin(par.fVertexerCascadeRmin),
+ fVertexerCascadeRmax(par.fVertexerCascadeRmax)
{
// copy constructor
}
AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam()
{
//
- // make default reconstruction parameters for hig flux env.
+ // make default reconstruction parameters for high flux env.
//
AliGRPRecoParam *param = new AliGRPRecoParam();
+ // to speed up the vertexing in PbPb
+ param->fVertexerTracksITSalgoIter0 = 1.;
+ param->fVertexerTracksTPCalgoIter0 = 1.;
+
+ // tighter selections for V0s
+ param->fVertexerV0Chi2max = 33.;
+ param->fVertexerV0DNmin = 0.1;
+ param->fVertexerV0DPmin = 0.1;
+ param->fVertexerV0DCAmax = 0.05;
+ param->fVertexerV0CPAmin = 0.99;
+ param->fVertexerV0Rmin = 0.9;
+ param->fVertexerV0Rmax = 100.;
+
+ // tighter selections for Cascades
+ param->fVertexerCascadeChi2max = 33.;
+ param->fVertexerCascadeDV0min = 0.05;
+ param->fVertexerCascadeMassWin = 0.008;
+ param->fVertexerCascadeDBachMin = 0.035;
+ param->fVertexerCascadeDCAmax = 0.1;
+ param->fVertexerCascadeCPAmin = 0.9985;
+ param->fVertexerCascadeRmin = 0.9;
+ param->fVertexerCascadeRmax = 100.;
+
return param;
}
//_____________________________________________________________________________
return param;
}
//_____________________________________________________________________________
+AliGRPRecoParam *AliGRPRecoParam::GetCosmicTestParam()
+{
+ //
+ // make default reconstruction parameters for cosmics env.
+ //
+ AliGRPRecoParam *param = new AliGRPRecoParam();
+
+ param->SetVertexerTracksConstraintITS(kFALSE);
+ param->SetVertexerTracksConstraintTPC(kFALSE);
+ param->SetMostProbablePt(3.0);
+
+ return param;
+}
+//_____________________________________________________________________________
void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
//
// get cuts for ITS (0) or TPC (1) mode
cuts[7] = fVertexerTracksTPCmaxtgl;
cuts[8] = fVertexerTracksTPCfidR;
cuts[9] = fVertexerTracksTPCfidZ;
+ cuts[10]= fVertexerTracksTPCalgo;
+ cuts[11]= fVertexerTracksTPCalgoIter0;
} else {
cuts[0] = fVertexerTracksITSdcacut;
cuts[1] = fVertexerTracksITSdcacutIter0;
cuts[7] = fVertexerTracksITSmaxtgl;
cuts[8] = fVertexerTracksITSfidR;
cuts[9] = fVertexerTracksITSfidZ;
+ cuts[10]= fVertexerTracksITSalgo;
+ cuts[11]= fVertexerTracksITSalgoIter0;
}
return;
}
//_____________________________________________________________________________
-void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[10]) {
+void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]) {
//
// set cuts for ITS (0) or TPC (1) mode
//
fVertexerTracksTPCmaxtgl = cuts[7];
fVertexerTracksTPCfidR = cuts[8];
fVertexerTracksTPCfidZ = cuts[9];
+ fVertexerTracksTPCalgo = cuts[10];
+ fVertexerTracksTPCalgoIter0 = cuts[11];
} else {
fVertexerTracksITSdcacut = cuts[0];
fVertexerTracksITSdcacutIter0 = cuts[1];
fVertexerTracksITSmaxtgl = cuts[7];
fVertexerTracksITSfidR = cuts[8];
fVertexerTracksITSfidZ = cuts[9];
+ fVertexerTracksITSalgo = cuts[10];
+ fVertexerTracksITSalgoIter0 = cuts[11];
}
return;
}
+//_____________________________________________________________________________
+void AliGRPRecoParam::GetVertexerV0Cuts(Double_t *cuts) const {
+ //
+ // get cuts for AliV0vertexer
+ //
+ cuts[0] = fVertexerV0Chi2max;
+ cuts[1] = fVertexerV0DNmin;
+ cuts[2] = fVertexerV0DPmin;
+ cuts[3] = fVertexerV0DCAmax;
+ cuts[4] = fVertexerV0CPAmin;
+ cuts[5] = fVertexerV0Rmin;
+ cuts[6] = fVertexerV0Rmax;
+ return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]) {
+ //
+ // set cuts for AliV0vertexer
+ //
+ if(ncuts!=fVertexerV0NCuts) {
+ printf("AliGRPRecoParam: Number of AliV0vertexer cuts is %d\n",fVertexerV0NCuts);
+ return;
+ }
+ fVertexerV0Chi2max = cuts[0];
+ fVertexerV0DNmin = cuts[1];
+ fVertexerV0DPmin = cuts[2];
+ fVertexerV0DCAmax = cuts[3];
+ fVertexerV0CPAmin = cuts[4];
+ fVertexerV0Rmin = cuts[5];
+ fVertexerV0Rmax = cuts[6];
+ return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::GetVertexerCascadeCuts(Double_t *cuts) const {
+ //
+ // get cuts for AliCascadevertexer
+ //
+ cuts[0] = fVertexerCascadeChi2max;
+ cuts[1] = fVertexerCascadeDV0min;
+ cuts[2] = fVertexerCascadeMassWin;
+ cuts[3] = fVertexerCascadeDBachMin;
+ cuts[4] = fVertexerCascadeDCAmax;
+ cuts[5] = fVertexerCascadeCPAmin;
+ cuts[6] = fVertexerCascadeRmin;
+ cuts[7] = fVertexerCascadeRmax;
+ return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]) {
+ //
+ // set cuts for AliCascadeVertexer
+ //
+ if(ncuts!=fVertexerCascadeNCuts) {
+ printf("AliGRPRecoParam: Number of AliCascadeVertexer cuts is %d\n",fVertexerCascadeNCuts);
+ return;
+ }
+ fVertexerCascadeChi2max = cuts[0];
+ fVertexerCascadeDV0min = cuts[1];
+ fVertexerCascadeMassWin = cuts[2];
+ fVertexerCascadeDBachMin = cuts[3];
+ fVertexerCascadeDCAmax = cuts[4];
+ fVertexerCascadeCPAmin = cuts[5];
+ fVertexerCascadeRmin = cuts[6];
+ fVertexerCascadeRmax = cuts[7];
+ return;
+}