]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliESDtrackCuts.h
adding DCA Z cut
[u/mrichter/AliRoot.git] / ANALYSIS / AliESDtrackCuts.h
index 93b6368a2885e74de36946a5eb49247da507f74e..b1dd4f799263fac932c2d157dd00d05b5893a9a2 100644 (file)
@@ -41,7 +41,7 @@ public:
   Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
 
   Bool_t AcceptTrack(AliESDtrack* esdTrack);
-  TObjArray* GetAcceptedTracks(AliESDEvent* esd,Bool_t bTPC = kFALSE);
+  TObjArray* GetAcceptedTracks(AliESDEvent* esd, Bool_t bTPC = kFALSE);
   Int_t CountAcceptedTracks(AliESDEvent* esd);
 
   static AliESDtrack* GetTPCOnlyTrack(AliESDEvent* esd, Int_t iTrack);
@@ -67,6 +67,8 @@ public:
   void SetMinNsigmaToVertex(Float_t sigma=1e10)       {fCutNsigmaToVertex = sigma;}
   void SetRequireSigmaToVertex(Bool_t b=kTRUE )       {fCutSigmaToVertexRequired = b;}
   void SetDCAToVertex(Float_t dist=1e10)              {fCutDCAToVertex = dist;}
+  void SetDCAToVertexXY(Float_t dist=1e10)            {fCutDCAToVertexXY = dist;}
+  void SetDCAToVertexZ(Float_t dist=1e10)             {fCutDCAToVertexZ = dist;}
 
   // getters
 
@@ -81,8 +83,17 @@ public:
       {c1 = fCutMaxC11; c2 = fCutMaxC22; c3 = fCutMaxC33; c4 = fCutMaxC44; c5 = fCutMaxC55;}
   Float_t GetMinNsigmaToVertex()     const   { return fCutNsigmaToVertex;}
   Float_t GetDCAToVertex()           const   { return fCutDCAToVertex;}
+  Float_t GetDCAToVertexXY()         const   { return fCutDCAToVertexXY;}
   Bool_t  GetRequireSigmaToVertex( ) const   { return fCutSigmaToVertexRequired;}
-  
+
+  void GetPRange(Float_t& r1, Float_t& r2)   {r1=fPMin;   r2=fPMax;}
+  void GetPtRange(Float_t& r1, Float_t& r2)  {r1=fPtMin;  r2=fPtMax;}
+  void GetPxRange(Float_t& r1, Float_t& r2)  {r1=fPxMin;  r2=fPxMax;}
+  void GetPyRange(Float_t& r1, Float_t& r2)  {r1=fPyMin;  r2=fPyMax;}
+  void GetPzRange(Float_t& r1, Float_t& r2)  {r1=fPzMin;  r2=fPzMax;}
+  void GetEtaRange(Float_t& r1, Float_t& r2) {r1=fEtaMin; r2=fEtaMax;}
+  void GetRapRange(Float_t& r1, Float_t& r2) {r1=fRapMin; r2=fRapMax;}
+
   // track kinmatic cut setters
   void SetPRange(Float_t r1=0, Float_t r2=1e10)       {fPMin=r1;   fPMax=r2;}
   void SetPtRange(Float_t r1=0, Float_t r2=1e10)      {fPtMin=r1;  fPtMax=r2;}
@@ -99,7 +110,7 @@ public:
   void SaveHistograms(const Char_t* dir = 0);
   void DrawHistograms();
 
-  Float_t GetSigmaToVertex(AliESDtrack* esdTrack);
+  static Float_t GetSigmaToVertex(AliESDtrack* esdTrack);
   
   static void EnableNeededBranches(TTree* tree);
 
@@ -111,7 +122,7 @@ public:
 protected:
   void Init(); // sets everything to 0
 
-  enum { kNCuts = 22 };
+  enum { kNCuts = 24 };
 
   //######################################################
   // esd track quality cuts
@@ -137,6 +148,8 @@ protected:
   Float_t fCutNsigmaToVertex;         // max number of estimated sigma from track-to-vertex
   Bool_t  fCutSigmaToVertexRequired;  // cut track if sigma from track-to-vertex could not be calculated
   Float_t fCutDCAToVertex;            // track-to-vertex cut in absolute distance
+  Float_t fCutDCAToVertexXY;          // track-to-vertex cut in absolute distance in xy-plane
+  Float_t fCutDCAToVertexZ;           // track-to-vertex cut in absolute distance in z-plane
 
   // esd kinematics cuts
   Float_t fPMin,   fPMax;             // definition of the range of the P