- 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;}
-
-
-private:
-
- Float_t fMisalTransShift[15]; // Shift parameters
- Float_t fMisalRotShift[15]; // Shift parameters
- Int_t fNonLinearityFunction; // Non linearity function choice
- Float_t fNonLinearityParams[6]; // Parameters for the non linearity function
- Int_t fParticleType; // Particle type for depth calculation
- Int_t fPosAlgo; // Position recalculation algorithm
- Float_t fW0; // Weight0
+ Bool_t IsAccepted(AliESDtrack *track);
+ void InitTrackCuts();
+ void SetTrackCutsType(Int_t type) { fTrackCutsType = type ;
+ InitTrackCuts() ; }
+ Int_t GetTrackCutsType() const { return fTrackCutsType; }
+
+ // Define AOD track type for matching
+ void SwitchOffAODHybridTracksMatch() { fAODHybridTracks = kFALSE ; }
+ void SwitchOffAODTPCOnlyTracksMatch() { fAODTPCOnlyTracks = kFALSE ; }
+ void SwitchOnAODHybridTracksMatch() { fAODHybridTracks = kTRUE ; SwitchOffAODTPCOnlyTracksMatch() ; }
+ void SwitchOnAODTPCOnlyTracksMatch() { fAODTPCOnlyTracks = kTRUE ; SwitchOffAODHybridTracksMatch() ; }
+ void SetAODTrackFilterMask( UInt_t mask) { fAODFilterMask = mask ;
+ SwitchOffAODTPCOnlyTracksMatch() ; SwitchOffAODHybridTracksMatch() ; }
+
+ // track quality cut setters
+ void SetMinTrackPt(Double_t pt=0) { fCutMinTrackPt = pt ; }
+ 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 ; }
+ void SetRequireITSStandAlone(Bool_t b=kFALSE) {fCutRequireITSStandAlone = b;} //Marcel
+ void SetRequireITSPureStandAlone(Bool_t b=kFALSE){fCutRequireITSpureSA = b;}
+
+ // getters
+ Double_t GetMinTrackPt() const { return fCutMinTrackPt ; }
+ 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 ; }
+ Bool_t GetRequireITSStandAlone() const { return fCutRequireITSStandAlone ; } //Marcel
+
+private:
+ //Position recalculation
+ Float_t fMisalTransShift[15]; // Shift parameters
+ Float_t fMisalRotShift[15]; // Shift parameters
+ Int_t fParticleType; // Particle type for depth calculation
+ Int_t fPosAlgo; // Position recalculation algorithm
+ Float_t fW0; // Weight0
+
+ // Non linearity
+ Int_t fNonLinearityFunction; // Non linearity function choice
+ Float_t fNonLinearityParams[7]; // Parameters for the non linearity function
+ Int_t fNonLinearThreshold; // Non linearity threshold value for kBeamTesh non linearity function