- TString selectedVertexer = GetOption();
- if(selectedVertexer.Contains("ions") || selectedVertexer.Contains("IONS")){
- Info("CreateVertexer","a AliITSVertexerIons object has been selected\n");
- return new AliITSVertexerIons("null");
- }
- if(selectedVertexer.Contains("smear") || selectedVertexer.Contains("SMEAR")){
- Double_t smear[3]={0.005,0.005,0.01};
- Info("CreateVertexer","a AliITSVertexerFast object has been selected\n");
- return new AliITSVertexerFast(smear);
- }
- if(selectedVertexer.Contains("3d") || selectedVertexer.Contains("3D")){
- Info("CreateVertexer","a AliITSVertexer3D object has been selected\n");
- return new AliITSVertexer3D("null");
- }
- if(selectedVertexer.Contains("cosmics") || selectedVertexer.Contains("COSMICS")){
- Info("CreateVertexer","a AliITSVertexerCosmics object has been selected\n");
- return new AliITSVertexerCosmics();
- }
- // by default an AliITSVertexerZ object is instatiated
- Info("CreateVertexer","a AliITSVertexerZ object has been selected\n");
- return new AliITSVertexerZ("null");
-}
-
-//_____________________________________________________________________________
-void AliITSReconstructor::FillESD(AliRunLoader* runLoader,
- AliESD* esd) const
-{
-// make PID, find V0s and cascade
- AliITSLoader *loader = (AliITSLoader*)runLoader->GetLoader("ITSLoader");
- AliITSpidESD *pidESD = 0;
- TString selectedPIDmethod = GetOption();
- if(selectedPIDmethod.Contains("LandauFitPID")){
- Info("FillESD","ITS LandauFitPID option has been selected\n");
- pidESD=loader->GetITSpid();
- }
- else{
- Info("FillESD","ITS default PID\n");
- pidESD=loader->GetITSpid();
- }
- if(pidESD!=0){
- pidESD->MakePID(esd);
+ AliITSVertexer *vptr = NULL;
+ Int_t vtxOpt = GetRecoParam()->GetVertexer();
+ if(vtxOpt==3){
+ AliFatal("Option AliITSVertexerIons is no longer supported");
+ return vptr;
+ }
+ else if(vtxOpt==4){
+ Double_t smear[3]={GetRecoParam()->GetVertexerFastSmearX(),
+ GetRecoParam()->GetVertexerFastSmearY(),
+ GetRecoParam()->GetVertexerFastSmearZ()};
+ AliDebug(1,"AliITSVertexerFast has been selected");
+ vptr = new AliITSVertexerFast(smear);
+ }
+ else if(vtxOpt==1){
+ AliDebug(1,"AliITSVertexerZ has been selected");
+ AliITSVertexerZ* vtxrz = new AliITSVertexerZ();
+ Int_t pileupAlgo=GetRecoParam()->GetSPDVertexerPileupAlgo();
+ if(pileupAlgo==3) vtxrz->SetSearchForPileup(kFALSE);
+ vptr = vtxrz;
+ }
+ else if(vtxOpt==2){
+ AliDebug(1,"AliITSVertexerCosmics has been selected");
+ vptr = new AliITSVertexerCosmics();
+ }
+ else if(vtxOpt==5){
+ AliDebug(1,"Vertex is fixed in the position of the TDI\n");
+ vptr = new AliITSVertexerFixed("TDI");
+ }
+ else if(vtxOpt==6){
+ AliDebug(1,"Vertex is fixed in the position of the TED\n");
+ vptr = new AliITSVertexerFixed("TED");