+// Option for Plane Efficiency evaluation
+ void SetComputePlaneEff(Bool_t eff=kTRUE, Bool_t his=kTRUE)
+ { fComputePlaneEff=eff; fHistoPlaneEff=his; return; }
+ Bool_t GetComputePlaneEff() const { return fComputePlaneEff; }
+ Bool_t GetHistoPlaneEff() const { return fHistoPlaneEff; }
+ void SetUseTrackletsPlaneEff(Bool_t use=kTRUE) {fUseTrackletsPlaneEff=use; return;}
+ Bool_t GetUseTrackletsPlaneEff() const {return fUseTrackletsPlaneEff;}
+ void SetOptTrackletsPlaneEff(Bool_t mc=kFALSE,Bool_t bkg=kFALSE)
+ {fMCTrackletsPlaneEff=mc;fBkgTrackletsPlaneEff=bkg; return;}
+ Bool_t GetMCTrackletsPlaneEff() const {return fMCTrackletsPlaneEff;}
+ Bool_t GetBkgTrackletsPlaneEff() const {return fBkgTrackletsPlaneEff;}
+ void SetTrackleterPhiWindowL1(Float_t w=0.10) {fTrackleterPhiWindowL1=w; return;}
+ Float_t GetTrackleterPhiWindowL1() const {return fTrackleterPhiWindowL1;}
+ void SetTrackleterPhiWindowL2(Float_t w=0.07) {fTrackleterPhiWindowL2=w; return;}
+ Float_t GetTrackleterPhiWindowL2() const {return fTrackleterPhiWindowL2;}
+ void SetTrackleterZetaWindowL1(Float_t w=0.6) {fTrackleterZetaWindowL1=w; return;}
+ Float_t GetTrackleterZetaWindowL1() const {return fTrackleterZetaWindowL1;}
+ void SetTrackleterZetaWindowL2(Float_t w=0.40) {fTrackleterZetaWindowL2=w; return;}
+ Float_t GetTrackleterZetaWindowL2() const {return fTrackleterZetaWindowL2;}
+ void SetTrackleterBuildCl2TrkRefs(Bool_t v=kTRUE) {fTrackleterBuildCl2TrkRefs = v;}
+ Bool_t GetTrackleterBuildCl2TrkRefs() const { return fTrackleterBuildCl2TrkRefs;}
+ //
+ void SetUpdateOncePerEventPlaneEff(Bool_t use=kTRUE) {fUpdateOncePerEventPlaneEff=use; return;}
+ Bool_t GetUpdateOncePerEventPlaneEff() const {return fUpdateOncePerEventPlaneEff;}
+ void SetMinContVtxPlaneEff(Int_t n=3) {fMinContVtxPlaneEff=n; return;}
+ Int_t GetMinContVtxPlaneEff() const {return fMinContVtxPlaneEff;}
+ void SetIPlanePlaneEff(Int_t i=0) {if(i<-1 || i>=AliITSgeomTGeo::kNLayers) return; fIPlanePlaneEff=i; }
+ Int_t GetIPlanePlaneEff() const {return fIPlanePlaneEff;}
+ void SetReadPlaneEffFrom0CDB(Bool_t read=kTRUE) { fReadPlaneEffFromOCDB=read; }
+ Bool_t GetReadPlaneEffFromOCDB() const { return fReadPlaneEffFromOCDB; }
+ void SetMinPtPlaneEff(Bool_t ptmin=0.) { fMinPtPlaneEff=ptmin; }
+ Double_t GetMinPtPlaneEff() const { return fMinPtPlaneEff; }
+ void SetMaxMissingClustersPlaneEff(Int_t max=0) { fMaxMissingClustersPlaneEff=max;}
+ Int_t GetMaxMissingClustersPlaneEff() const {return fMaxMissingClustersPlaneEff;}
+ void SetMaxMissingClustersOutPlaneEff(Int_t max=0) { fMaxMissingClustersOutPlaneEff=max;}
+ Int_t GetMaxMissingClustersOutPlaneEff() const {return fMaxMissingClustersOutPlaneEff;}
+ void SetRequireClusterInOuterLayerPlaneEff(Bool_t out=kTRUE) { fRequireClusterInOuterLayerPlaneEff=out;}
+ Bool_t GetRequireClusterInOuterLayerPlaneEff() const {return fRequireClusterInOuterLayerPlaneEff;}
+ void SetRequireClusterInInnerLayerPlaneEff(Bool_t in=kTRUE) { fRequireClusterInInnerLayerPlaneEff=in;}
+ Bool_t GetRequireClusterInInnerLayerPlaneEff() const {return fRequireClusterInInnerLayerPlaneEff;}
+ void SetOnlyConstraintPlaneEff(Bool_t con=kFALSE) { fOnlyConstraintPlaneEff=con; }
+ Bool_t GetOnlyConstraintPlaneEff() const { return fOnlyConstraintPlaneEff; }
+ void SetNSigXFromBoundaryPlaneEff(Double_t nsigx=0.) {if(nsigx<0.)fNSigXFromBoundaryPlaneEff=TMath::Abs(nsigx);else fNSigXFromBoundaryPlaneEff=nsigx;}
+ Double_t GetNSigXFromBoundaryPlaneEff() const {return fNSigXFromBoundaryPlaneEff;}
+ void SetNSigZFromBoundaryPlaneEff(Double_t nsigz=0.) {if(nsigz<0.)fNSigZFromBoundaryPlaneEff=TMath::Abs(nsigz);else fNSigZFromBoundaryPlaneEff=nsigz;}
+ Double_t GetNSigZFromBoundaryPlaneEff() const {return fNSigZFromBoundaryPlaneEff;}
+ void SetDistXFromBoundaryPlaneEff(Double_t distx=0.) {if(distx<0.)fDistXFromBoundaryPlaneEff=TMath::Abs(distx);else fDistXFromBoundaryPlaneEff=distx;}
+ Double_t GetDistXFromBoundaryPlaneEff() const {return fDistXFromBoundaryPlaneEff;}
+ void SetDistZFromBoundaryPlaneEff(Double_t distz=0.) {if(distz<0.)fDistZFromBoundaryPlaneEff=TMath::Abs(distz);else fDistZFromBoundaryPlaneEff=distz;}
+ Double_t GetDistZFromBoundaryPlaneEff() const {return fDistZFromBoundaryPlaneEff;}
+ void SetSwitchOnMaxDistNSigFrmBndPlaneEff(Bool_t flagbnd=kFALSE) {fSwitchOnMaxDistNSigFrmBndPlaneEff=flagbnd;}
+ Bool_t GetSwitchOnMaxDistNSigFrmBndPlaneEff() const {return fSwitchOnMaxDistNSigFrmBndPlaneEff;}
+ void SetSwitchOffStdSearchClusPlaneEff(Bool_t flagstdclus=kFALSE) {fSwitchOffStdSearchClusPlaneEff=flagstdclus;}
+ Bool_t GetSwitchOffStdSearchClusPlaneEff() const {return fSwitchOffStdSearchClusPlaneEff;}
+ void SetNSigXSearchClusterPlaneEff(Double_t nsigclx=0.) {if(nsigclx<0.)fNSigXSearchClusterPlaneEff=TMath::Abs(nsigclx);else fNSigXSearchClusterPlaneEff=nsigclx;}
+ Double_t GetNSigXSearchClusterPlaneEff() const {return fNSigXSearchClusterPlaneEff;}
+ void SetNSigZSearchClusterPlaneEff(Double_t nsigclz=0.) {if(nsigclz<0.)fNSigZSearchClusterPlaneEff=TMath::Abs(nsigclz);else fNSigZSearchClusterPlaneEff=nsigclz;}
+ Double_t GetNSigZSearchClusterPlaneEff() const {return fNSigZSearchClusterPlaneEff;}
+ void SetDistXSearchClusterPlaneEff(Double_t distclx=0.) {if(distclx<0.)fDistXSearchClusterPlaneEff=TMath::Abs(distclx);else fDistXSearchClusterPlaneEff=distclx;}
+ Double_t GetDistXSearchClusterPlaneEff() const {return fDistXSearchClusterPlaneEff;}
+ void SetDistZSearchClusterPlaneEff(Double_t distclz=0.) {if(distclz<0.)fDistZSearchClusterPlaneEff=TMath::Abs(distclz);else fDistZSearchClusterPlaneEff=distclz;}
+ Double_t GetDistZSearchClusterPlaneEff() const {return fDistZSearchClusterPlaneEff;}
+ void SetSwitchOnMaxDistNSigSrhClusPlaneEff(Bool_t flagbndcl=kFALSE) {fSwitchOnMaxDistNSigSrhClusPlaneEff=flagbndcl;}
+ Bool_t GetSwitchOnMaxDistNSigSrhClusPlaneEff() const {return fSwitchOnMaxDistNSigSrhClusPlaneEff;}
+ void SetDCACutPlaneEff(Double_t dcacpe=999.) {fDCACutPlaneEff=dcacpe;}
+ Double_t GetDCACutPlaneEff() const {return fDCACutPlaneEff;}
+ void SetVertexChi2CutPlaneEff(Double_t vtxchipe=999999999.) {fVertexChi2CutPlaneEff=vtxchipe;}
+ Double_t GetVertexChi2CutPlaneEff() const {return fVertexChi2CutPlaneEff;}
+
+ //
+ void SetImproveWithVertex(Bool_t impr=kFALSE) { fImproveWithVertex=impr; return; }
+ Bool_t GetImproveWithVertex() const { return fImproveWithVertex; }
+ void SetExtendedEtaAcceptance(Bool_t ext=kTRUE) { fExtendedEtaAcceptance=ext; return; }
+ Bool_t GetExtendedEtaAcceptance() const { return fExtendedEtaAcceptance; }
+ void SetAllowProlongationWithEmptyRoad(Bool_t allow=kTRUE) { fAllowProlongationWithEmptyRoad=allow; return; }
+ Bool_t GetAllowProlongationWithEmptyRoad() const { return fAllowProlongationWithEmptyRoad; }
+
+ void SetUseBadZonesFromOCDB(Bool_t use=kTRUE) { fUseBadZonesFromOCDB=use; return; }
+ Bool_t GetUseBadZonesFromOCDB() const { return fUseBadZonesFromOCDB; }