fVertexer(0),
fClusterFinder(0),
fPID(0),
+fVtxr3DZCutWide(0.),
+fVtxr3DRCutWide(0.),
+fVtxr3DZCutNarrow(0.),
+fVtxr3DRCutNarrow(0.),
+fVtxr3DPhiCutLoose(0.),
+fVtxr3DPhiCutTight(0.),
+fVtxr3DDCACut(0.),
fMaxSnp(1.),
fNSigmaYLayerForRoadY(0),
fNSigmaRoadY(0),
SetUseAmplitudeInfo(kTRUE);
SetClusterErrorsParam(1);
SetClusterMisalError(0.);
+ SetVertexer3DDefaults();
}
//_____________________________________________________________________________
AliITSRecoParam::~AliITSRecoParam()
// make default reconstruction parameters for hig flux env.
//
AliITSRecoParam *param = new AliITSRecoParam();
+ param->SetVertexer3DDefaults();
param->fMaxSnp = 0.95;
// make default reconstruction parameters for low flux env.
//
AliITSRecoParam *param = new AliITSRecoParam();
+ param->SetVertexer3DDefaults();
param->fMaxSnp = 0.95;
param->fSigmaZDeadZoneHit2 = 0.001/12.;
param->fXPassDeadZoneHits = 0.018;
param->SetNLoopsSA(10);
-
+
return param;
}
//_____________________________________________________________________________
void SetLandauFitPID() {SetPID(1);}
Int_t GetPID() const {return fPID;}
+ void SetVertexer3DFiducialRegions(Float_t dzwid=14.0, Float_t drwid=2.5, Float_t dznar=0.5, Float_t drnar=0.5){
+ SetVertexer3DWideFiducialRegion(dzwid,drwid);
+ SetVertexer3DNarrowFiducialRegion(dznar,drnar);
+ }
+ void SetVertexer3DWideFiducialRegion(Float_t dz=14.0, Float_t dr=2.5){
+ fVtxr3DZCutWide=dz; fVtxr3DRCutWide=dr;
+ }
+ void SetVertexer3DNarrowFiducialRegion(Float_t dz=0.5, Float_t dr=0.5){
+ fVtxr3DZCutNarrow=dz; fVtxr3DRCutNarrow=dr;
+ }
+ void SetVertexer3DDeltaPhiCuts(Float_t dphiloose=0.5, Float_t dphitight=0.01){
+ fVtxr3DPhiCutLoose=dphiloose;
+ fVtxr3DPhiCutTight=dphitight;
+ }
+ void SetVertexer3DDCACut(Float_t dca=0.1){
+ fVtxr3DDCACut=dca;
+ }
+ void SetVertexer3DDefaults(){
+ SetVertexer3DFiducialRegions();
+ SetVertexer3DDeltaPhiCuts();
+ SetVertexer3DDCACut();
+ }
+
+ Float_t GetVertexer3DWideFiducialRegionZ() const {return fVtxr3DZCutWide;}
+ Float_t GetVertexer3DWideFiducialRegionR() const {return fVtxr3DRCutWide;}
+ Float_t GetVertexer3DNarrowFiducialRegionZ() const {return fVtxr3DZCutNarrow;}
+ Float_t GetVertexer3DNarrowFiducialRegionR() const {return fVtxr3DRCutNarrow;}
+ Float_t GetVertexer3DLooseDeltaPhiCut() const {return fVtxr3DPhiCutLoose;}
+ Float_t GetVertexer3DTightDeltaPhiCut() const {return fVtxr3DPhiCutTight;}
+ Float_t GetVertexer3DDCACut() const {return fVtxr3DDCACut;}
+
+
Double_t GetSigmaY2(Int_t i) const { return fSigmaY2[i]; }
Double_t GetSigmaZ2(Int_t i) const { return fSigmaZ2[i]; }
Int_t fClusterFinder; // ITS cf to be used (see AliITSReconstructor)
Int_t fPID; // ITS PID method to be used (see AliITSReconstructor)
+
+ 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 fVtxr3DRCutNarrow; // R 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 fLayersToSkip[AliITSgeomTGeo::kNLayers]; // array with layers to skip (MI,SA)
// spatial resolutions of the detectors
Bool_t fUseChargeMatchingInClusterFinderSSD; // SSD
- ClassDef(AliITSRecoParam,9) // ITS reco parameters
+ ClassDef(AliITSRecoParam,10) // ITS reco parameters
};
#endif
}
// by default an AliITSVertexer3D object is instatiated
Info("CreateVertexer","a AliITSVertexer3D object has been selected\n");
- return new AliITSVertexer3D();
+ AliITSVertexer3D* vtxr = new AliITSVertexer3D();
+ Float_t dzw=GetRecoParam()->GetVertexer3DWideFiducialRegionZ();
+ Float_t drw=GetRecoParam()->GetVertexer3DWideFiducialRegionR();
+ vtxr->SetWideFiducialRegion(dzw,drw);
+ Float_t dzn=GetRecoParam()->GetVertexer3DNarrowFiducialRegionZ();
+ Float_t drn=GetRecoParam()->GetVertexer3DNarrowFiducialRegionR();
+ vtxr->SetNarrowFiducialRegion(dzn,drn);
+ Float_t dphil=GetRecoParam()->GetVertexer3DLooseDeltaPhiCut();
+ Float_t dphit=GetRecoParam()->GetVertexer3DTightDeltaPhiCut();
+ vtxr->SetDeltaPhiCuts(dphil,dphit);
+ Float_t dcacut=GetRecoParam()->GetVertexer3DDCACut();
+ vtxr->SetDCACut(dcacut);
+ return vtxr;
}
//_____________________________________________________________________________
SetMaxRCut();
SetZCutDiamond();
SetMaxZCut();
- SetDCAcut();
+ SetDCACut();
SetDiffPhiMax();
SetMeanPSelTracks();
SetMeanPtSelTracks();
virtual AliESDVertex* FindVertexForCurrentEvent(TTree *itsClusterTree);
AliESDVertex GetVertex3D() const {return fVert3D;}
virtual void PrintStatus() const;
+ void SetWideFiducialRegion(Float_t dz = 14.0, Float_t dr=2.5){
+ SetCoarseMaxRCut(dr);
+ SetZCutDiamond(dz);
+ }
+ void SetNarrowFiducialRegion(Float_t dz = 0.5, Float_t dr=0.5){
+ SetMaxRCut(dr);
+ SetMaxZCut(dz);
+ }
+ void SetDeltaPhiCuts(Float_t dphiloose=0.5, Float_t dphitight=0.01){
+ SetCoarseDiffPhiCut(dphiloose);
+ SetDiffPhiMax(dphitight);
+ }
void SetCoarseDiffPhiCut(Float_t dphi = 0.5){fCoarseDiffPhiCut=dphi;}
void SetCoarseMaxRCut(Float_t rad = 2.5){fCoarseMaxRCut=rad;}
void SetMaxRCut(Float_t rad = 0.5){fMaxRCut=rad;}
void SetZCutDiamond(Float_t zcut = 14.0){fZCutDiamond=zcut;}
void SetMaxZCut(Float_t dz = 0.5){fMaxZCut=dz;}
- void SetDCAcut(Float_t dca=0.1){fDCAcut=dca;}
+ void SetDCACut(Float_t dca=0.1){fDCAcut=dca;}
void SetDiffPhiMax(Float_t pm = 0.01){fDiffPhiMax = pm;}
void SetMeanPSelTracks(Float_t pGeV=0.875){fMeanPSelTrk = pGeV;}
void SetMeanPtSelTracks(Float_t ptGeV=0.630){fMeanPtSelTrk = ptGeV;}