X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSReconstructor.cxx;h=3d7129fea835f4a0678f732f370763369e6728c5;hb=39c2e17092679807bf1e7376b7fdad08b671e99c;hp=5fa324fdc5b3a387b2108874ccaadcc997f1bacc;hpb=1f9831abf71114f584f67d9d98eb3086fdf712a6;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSReconstructor.cxx b/ITS/AliITSReconstructor.cxx index 5fa324fdc5b..3d7129fea83 100644 --- a/ITS/AliITSReconstructor.cxx +++ b/ITS/AliITSReconstructor.cxx @@ -32,11 +32,11 @@ #include "AliITStrackerMI.h" #include "AliITStrackerV2.h" #include "AliITStrackerSA.h" -#include "AliITSVertexerIons.h" #include "AliITSVertexerFast.h" #include "AliITSVertexerFixed.h" #include "AliITSVertexer3D.h" #include "AliITSVertexerZ.h" +#include "AliITSVertexerZD.h" #include "AliITSVertexerCosmics.h" #include "AliITSInitGeometry.h" #include "AliITSTrackleterSPDEff.h" @@ -99,20 +99,20 @@ void AliITSReconstructor::Reconstruct(TTree *digitsTree, TTree *clustersTree) co // reconstruct clusters Int_t cluFindOpt = GetRecoParam()->GetClusterFinder(); - + TString recopt = GetRecoParam()->GetOptReco(); fDetTypeRec->SetTreeAddressD(digitsTree); fDetTypeRec->MakeBranch(clustersTree,"R"); fDetTypeRec->SetTreeAddressR(clustersTree); - fDetTypeRec->DigitsToRecPoints(digitsTree,clustersTree,0,"All",cluFindOpt); + fDetTypeRec->DigitsToRecPoints(digitsTree,clustersTree,0,recopt.Data(),cluFindOpt); } //_________________________________________________________________ void AliITSReconstructor::Reconstruct(AliRawReader* rawReader, TTree *clustersTree) const { // reconstruct clusters from raw data - + TString recopt = GetRecoParam()->GetOptReco(); fDetTypeRec->SetDefaultClusterFindersV2(kTRUE); - fDetTypeRec->DigitsToRecPoints(rawReader,clustersTree); + fDetTypeRec->DigitsToRecPoints(rawReader,clustersTree,recopt.Data()); } //_____________________________________________________________________________ @@ -187,11 +187,11 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const { // create a ITS vertexer - AliITSVertexer *vptr; + AliITSVertexer *vptr = NULL; Int_t vtxOpt = GetRecoParam()->GetVertexer(); if(vtxOpt==3){ - AliDebug(1,"AliITSVertexerIons has been selected"); - vptr = new AliITSVertexerIons(); + AliFatal("Option AliITSVertexerIons is no longer supported"); + return vptr; } else if(vtxOpt==4){ Double_t smear[3]={GetRecoParam()->GetVertexerFastSmearX(), @@ -202,7 +202,10 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const } else if(vtxOpt==1){ AliDebug(1,"AliITSVertexerZ has been selected"); - vptr = new AliITSVertexerZ(); + 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"); @@ -216,9 +219,16 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const AliDebug(1,"Vertex is fixed in the position of the TED\n"); vptr = new AliITSVertexerFixed("TED"); } + else if(vtxOpt==7){ + AliDebug(1,"VertexerZD: reconstruction of the Z coordinate with SDD \n"); + AliITSVertexerZD*vtxrz = new AliITSVertexerZD(); + vtxrz->SetSearchForPileup(kFALSE); + vptr = vtxrz; + } else { // by default an AliITSVertexer3D object is instatiated - AliITSVertexer3D* vtxr = new AliITSVertexer3D(); + AliITSVertexer3D* vtxr = + new AliITSVertexer3D(GetRecoParam()->GetVertexer3DWideFiducialRegionZ()); Float_t dzw=GetRecoParam()->GetVertexer3DWideFiducialRegionZ(); Float_t drw=GetRecoParam()->GetVertexer3DWideFiducialRegionR(); vtxr->SetWideFiducialRegion(dzw,drw); @@ -232,6 +242,8 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const vtxr->SetDCACut(dcacut); Int_t pileupAlgo=GetRecoParam()->GetSPDVertexerPileupAlgo(); vtxr->SetPileupAlgo(pileupAlgo); + UChar_t highmultAlgo=GetRecoParam()->GetSPDVertexerHighMultAlgo(); + vtxr->SetHighMultAlgo(highmultAlgo); AliDebug(1,Form("AliITSVertexer3D with pileup algo %d has been selected",pileupAlgo)); vptr = vtxr; }