ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoBasicTrackCut - the basic cut for tracks.                          //
// Cuts on particle identification, transverse momentum, rapidity, distance   //
// of closest approach to primary vertex and charge                           //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#ifndef ALIFEMTOBASICTRACKCUT_H
#define ALIFEMTOBASICTRACKCUT_H

//#ifndef StMaker_H
//#include "StMaker.h"
//#endif

#include "AliFemtoTrackCut.h"

class AliFemtoBasicTrackCut : public AliFemtoTrackCut {

public:

  AliFemtoBasicTrackCut();
  //~mikesTrackCut();

  virtual bool Pass(const AliFemtoTrack* tr);

  virtual AliFemtoString Report();
  virtual TList *ListSettings();

  void SetNSigmaPion(const float& lo, const float& hi);
  void SetNSigmaKaon(const float& lo, const float& hi);
  void SetNSigmaProton(const float& lo, const float& hi);

  void SetNHits(const int& lo, const int& hi);
  void SetPt(const float& lo, const float& hi);
  void SetRapidity(const float& lo, const float& hi);
  void SetDCA(const float& lo, const float& hi);
  void SetCharge(const int& ch);


private:   // here are the quantities I want to cut on...

  int               fCharge;             // charge of the track
  float             fNSigmaPion[2];      // bounds for nsigma dEdx from pion band 
  float             fNSigmaKaon[2];      // bounds for nsigma dEdx from kaon band
  float             fNSigmaProton[2];    // bounds for nsigma dEdx from proton band
  int               fNHits[2];           // bounds for number of hits
  float             fPt[2];              // bounds for transverse momentum
  float             fRapidity[2];        // bounds for rapidity
  float             fDCA[2];             // bounds for DCA to primary vertex

  long              fNTracksPassed;      // passed tracks counter
  long              fNTracksFailed;      // falied tracks counter

#ifdef __ROOT__ 
  ClassDef(AliFemtoBasicTrackCut, 1)
#endif
};


inline void AliFemtoBasicTrackCut::SetNSigmaPion(const float& lo, const float& hi){fNSigmaPion[0]=lo; fNSigmaPion[1]=hi;}
inline void AliFemtoBasicTrackCut::SetNSigmaKaon(const float& lo, const float& hi){fNSigmaKaon[0]=lo; fNSigmaKaon[1]=hi;}
inline void AliFemtoBasicTrackCut::SetNSigmaProton(const float& lo, const float& hi){fNSigmaProton[0]=lo; fNSigmaProton[1]=hi;}

inline void AliFemtoBasicTrackCut::SetNHits(const int& lo, const int& hi){fNHits[0]=lo;fNHits[1]=hi;}
inline void AliFemtoBasicTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
inline void AliFemtoBasicTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
inline void AliFemtoBasicTrackCut::SetDCA(const float& lo,const float& hi){fDCA[0]=lo; fDCA[1]=hi;}
inline void AliFemtoBasicTrackCut::SetCharge(const int& ch){fCharge = ch;}

#endif
 AliFemtoBasicTrackCut.h:1
 AliFemtoBasicTrackCut.h:2
 AliFemtoBasicTrackCut.h:3
 AliFemtoBasicTrackCut.h:4
 AliFemtoBasicTrackCut.h:5
 AliFemtoBasicTrackCut.h:6
 AliFemtoBasicTrackCut.h:7
 AliFemtoBasicTrackCut.h:8
 AliFemtoBasicTrackCut.h:9
 AliFemtoBasicTrackCut.h:10
 AliFemtoBasicTrackCut.h:11
 AliFemtoBasicTrackCut.h:12
 AliFemtoBasicTrackCut.h:13
 AliFemtoBasicTrackCut.h:14
 AliFemtoBasicTrackCut.h:15
 AliFemtoBasicTrackCut.h:16
 AliFemtoBasicTrackCut.h:17
 AliFemtoBasicTrackCut.h:18
 AliFemtoBasicTrackCut.h:19
 AliFemtoBasicTrackCut.h:20
 AliFemtoBasicTrackCut.h:21
 AliFemtoBasicTrackCut.h:22
 AliFemtoBasicTrackCut.h:23
 AliFemtoBasicTrackCut.h:24
 AliFemtoBasicTrackCut.h:25
 AliFemtoBasicTrackCut.h:26
 AliFemtoBasicTrackCut.h:27
 AliFemtoBasicTrackCut.h:28
 AliFemtoBasicTrackCut.h:29
 AliFemtoBasicTrackCut.h:30
 AliFemtoBasicTrackCut.h:31
 AliFemtoBasicTrackCut.h:32
 AliFemtoBasicTrackCut.h:33
 AliFemtoBasicTrackCut.h:34
 AliFemtoBasicTrackCut.h:35
 AliFemtoBasicTrackCut.h:36
 AliFemtoBasicTrackCut.h:37
 AliFemtoBasicTrackCut.h:38
 AliFemtoBasicTrackCut.h:39
 AliFemtoBasicTrackCut.h:40
 AliFemtoBasicTrackCut.h:41
 AliFemtoBasicTrackCut.h:42
 AliFemtoBasicTrackCut.h:43
 AliFemtoBasicTrackCut.h:44
 AliFemtoBasicTrackCut.h:45
 AliFemtoBasicTrackCut.h:46
 AliFemtoBasicTrackCut.h:47
 AliFemtoBasicTrackCut.h:48
 AliFemtoBasicTrackCut.h:49
 AliFemtoBasicTrackCut.h:50
 AliFemtoBasicTrackCut.h:51
 AliFemtoBasicTrackCut.h:52
 AliFemtoBasicTrackCut.h:53
 AliFemtoBasicTrackCut.h:54
 AliFemtoBasicTrackCut.h:55
 AliFemtoBasicTrackCut.h:56
 AliFemtoBasicTrackCut.h:57
 AliFemtoBasicTrackCut.h:58
 AliFemtoBasicTrackCut.h:59
 AliFemtoBasicTrackCut.h:60
 AliFemtoBasicTrackCut.h:61
 AliFemtoBasicTrackCut.h:62
 AliFemtoBasicTrackCut.h:63
 AliFemtoBasicTrackCut.h:64
 AliFemtoBasicTrackCut.h:65
 AliFemtoBasicTrackCut.h:66
 AliFemtoBasicTrackCut.h:67
 AliFemtoBasicTrackCut.h:68
 AliFemtoBasicTrackCut.h:69
 AliFemtoBasicTrackCut.h:70
 AliFemtoBasicTrackCut.h:71