+ //Track matching
+ void FindMatches(AliVEvent *event);
+ void GetMatchedResiduals(Int_t index, Float_t &dR, Float_t &dZ);
+ Bool_t IsMatched(Int_t index);
+ UInt_t FindMatchedPos(Int_t index) const;
+
+ Float_t GetCutR() const { return fCutR; }
+ Float_t GetCutZ() const { return fCutZ; }
+
+ void SetCutR(Float_t cutR) { fCutR=cutR; }
+ void SetCutZ(Float_t cutZ) { fCutZ=cutZ; }
+
+ //Track Cuts
+ Bool_t IsAccepted(AliESDtrack *track);
+ void InitTrackCuts();
+
+ // track quality cut setters
+ void SetMinNClustersTPC(Int_t min=-1) {fCutMinNClusterTPC=min;}
+ void SetMinNClustersITS(Int_t min=-1) {fCutMinNClusterITS=min;}
+ void SetMaxChi2PerClusterTPC(Float_t max=1e10) {fCutMaxChi2PerClusterTPC=max;}
+ void SetMaxChi2PerClusterITS(Float_t max=1e10) {fCutMaxChi2PerClusterITS=max;}
+ void SetRequireTPCRefit(Bool_t b=kFALSE) {fCutRequireTPCRefit=b;}
+ void SetRequireITSRefit(Bool_t b=kFALSE) {fCutRequireITSRefit=b;}
+ void SetAcceptKinkDaughters(Bool_t b=kTRUE) {fCutAcceptKinkDaughters=b;}
+ void SetMaxDCAToVertexXY(Float_t dist=1e10) {fCutMaxDCAToVertexXY = dist;}
+ void SetMaxDCAToVertexZ(Float_t dist=1e10) {fCutMaxDCAToVertexZ = dist;}
+ void SetDCAToVertex2D(Bool_t b=kFALSE) {fCutDCAToVertex2D = b;}
+
+ // getters
+
+ Int_t GetMinNClusterTPC() const { return fCutMinNClusterTPC;}
+ Int_t GetMinNClustersITS() const { return fCutMinNClusterITS;}
+ Float_t GetMaxChi2PerClusterTPC() const { return fCutMaxChi2PerClusterTPC;}
+ Float_t GetMaxChi2PerClusterITS() const { return fCutMaxChi2PerClusterITS;}
+ Bool_t GetRequireTPCRefit() const { return fCutRequireTPCRefit;}
+ Bool_t GetRequireITSRefit() const { return fCutRequireITSRefit;}
+ Bool_t GetAcceptKinkDaughters() const { return fCutAcceptKinkDaughters;}
+ Float_t GetMaxDCAToVertexXY() const { return fCutMaxDCAToVertexXY;}
+ Float_t GetMaxDCAToVertexZ() const { return fCutMaxDCAToVertexZ;}
+ Bool_t GetDCAToVertex2D() const { return fCutDCAToVertex2D;}
+