SetVertexer3DDeltaPhiCuts();
SetVertexer3DDCACut();
}
+ void SetSPDVertexerPileupAlgoZ(){fVtxr3DPileupAlgo=0;}
+ void SetSPDVertexerPileupAlgo3DTwoSteps(){fVtxr3DPileupAlgo=1;}
+ void SetSPDVertexerPileupAlgo3DOneShot(){fVtxr3DPileupAlgo=2;}
+
Float_t GetVertexer3DWideFiducialRegionZ() const {return fVtxr3DZCutWide;}
Float_t GetVertexer3DWideFiducialRegionR() const {return fVtxr3DRCutWide;}
Float_t GetVertexer3DLooseDeltaPhiCut() const {return fVtxr3DPhiCutLoose;}
Float_t GetVertexer3DTightDeltaPhiCut() const {return fVtxr3DPhiCutTight;}
Float_t GetVertexer3DDCACut() const {return fVtxr3DDCACut;}
-
+ Int_t GetSPDVertexerPileupAlgo() const {return fVtxr3DPileupAlgo;}
Double_t GetSigmaY2(Int_t i) const { return fSigmaY2[i]; }
Double_t GetSigmaZ2(Int_t i) const { return fSigmaZ2[i]; }
Int_t fPID; // ITS PID method to be used (see AliITSReconstructor)
+ // SPD 3D Vertexer configuration
Float_t fVtxr3DZCutWide; // Z extension of the wide fiducial region for vertexer 3D
Float_t fVtxr3DRCutWide; // R extension of the wide fiducial region for vertexer 3D
Float_t fVtxr3DZCutNarrow; // Z extension of the narrow fiducial region for vertexer 3D
Float_t fVtxr3DPhiCutLoose; // loose deltaPhi cut to define tracklets in vertexer 3D
Float_t fVtxr3DPhiCutTight; // tight deltaPhi cut to define tracklets in vertexer 3D
Float_t fVtxr3DDCACut; // cut on tracklet-to-tracklet DCA in vertexer3D
+ Int_t fVtxr3DPileupAlgo; // pileup algorithm (0 = VtxZ, 1 = 3D - 2 step, 2 = 3D all in once)
Int_t fLayersToSkip[AliITSgeomTGeo::kNLayers]; // array with layers to skip (MI,SA)
Bool_t fAlignFilterFillQANtuples; // fill QA ntuples
- ClassDef(AliITSRecoParam,21) // ITS reco parameters
+ ClassDef(AliITSRecoParam,22) // ITS reco parameters
};
#endif
AliITSVertexer *vptr;
Int_t vtxOpt = GetRecoParam()->GetVertexer();
if(vtxOpt==3){
- Info("CreateVertexer","a AliITSVertexerIons object has been selected\n");
+ AliInfo("AliITSVertexerIons has been selected");
vptr = new AliITSVertexerIons();
}
else if(vtxOpt==4){
Double_t smear[3]={GetRecoParam()->GetVertexerFastSmearX(),
GetRecoParam()->GetVertexerFastSmearY(),
GetRecoParam()->GetVertexerFastSmearZ()};
- Info("CreateVertexer","a AliITSVertexerFast object has been selected\n");
+ AliInfo("AliITSVertexerFast has been selected");
vptr = new AliITSVertexerFast(smear);
}
else if(vtxOpt==1){
- Info("CreateVertexer","a AliITSVertexerZ object has been selected\n");
+ AliInfo("AliITSVertexerZ has been selected");
vptr = new AliITSVertexerZ();
}
else if(vtxOpt==2){
- Info("CreateVertexer","a AliITSVertexerCosmics object has been selected\n");
+ AliInfo("AliITSVertexerCosmics has been selected");
vptr = new AliITSVertexerCosmics();
}
else if(vtxOpt==5){
- Info("CreateVertexer","vertex is fixed in the position of the TDI\n");
+ AliInfo("Vertex is fixed in the position of the TDI\n");
vptr = new AliITSVertexerFixed("TDI");
}
else if(vtxOpt==6){
- Info("CreateVertexer","vertex is fixed in the position of the TED\n");
+ AliInfo("Vertex is fixed in the position of the TED\n");
vptr = new AliITSVertexerFixed("TED");
}
else {
// by default an AliITSVertexer3D object is instatiated
- Info("CreateVertexer","a AliITSVertexer3D object has been selected\n");
AliITSVertexer3D* vtxr = new AliITSVertexer3D();
Float_t dzw=GetRecoParam()->GetVertexer3DWideFiducialRegionZ();
Float_t drw=GetRecoParam()->GetVertexer3DWideFiducialRegionR();
vtxr->SetDeltaPhiCuts(dphil,dphit);
Float_t dcacut=GetRecoParam()->GetVertexer3DDCACut();
vtxr->SetDCACut(dcacut);
+ Int_t pileupAlgo=GetRecoParam()->GetSPDVertexerPileupAlgo();
+ vtxr->SetPileupAlgo(pileupAlgo);
+ AliInfo(Form("AliITSVertexer3D with pileup algo %d has been selected",pileupAlgo));
vptr = vtxr;
}
vptr->SetDetTypeRec(fDetTypeRec);