#include "AliITSVertexerFixed.h"
#include "AliITSVertexer3D.h"
#include "AliITSVertexerZ.h"
+#include "AliITSVertexerZD.h"
#include "AliITSVertexerCosmics.h"
#include "AliITSInitGeometry.h"
#include "AliITSTrackleterSPDEff.h"
{
// 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(),1);
}
//_________________________________________________________________
void AliITSReconstructor::Reconstruct(AliRawReader* rawReader, TTree *clustersTree) const
{
// reconstruct clusters from raw data
-
- fDetTypeRec->SetDefaultClusterFindersV2(kTRUE);
- fDetTypeRec->DigitsToRecPoints(rawReader,clustersTree);
+ TString recopt = GetRecoParam()->GetOptReco();
+ fDetTypeRec->SetDefaultClusterFindersV2(kTRUE,kTRUE);
+ fDetTypeRec->DigitsToRecPoints(rawReader,clustersTree,recopt.Data());
}
//_____________________________________________________________________________
}
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");
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);
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;
}