Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Cut / AliFemtoBasicTrackCut.h
1 /***************************************************************************
2  *
3  * $Id:
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: AliFemtoMaker package
9  *    a simple particle cut that selects on phasespace, #hits, DCA, and PID          
10  *
11  ***************************************************************************
12  *
13  * $Log:
14  **************************************************************************/
15
16 #ifndef AliFemtoBasicTrackCut_hh
17 #define AliFemtoBasicTrackCut_hh
18
19 //#ifndef StMaker_H
20 //#include "StMaker.h"
21 //#endif
22
23 #include "Base/AliFemtoTrackCut.h"
24
25 class AliFemtoBasicTrackCut : public AliFemtoTrackCut {
26
27 public:
28
29   AliFemtoBasicTrackCut();
30   //~mikesTrackCut();
31
32   virtual bool Pass(const AliFemtoTrack*);
33
34   virtual AliFemtoString Report();
35
36
37   void SetNSigmaPion(const float& lo, const float& hi);
38   void SetNSigmaKaon(const float& lo, const float& hi);
39   void SetNSigmaProton(const float& lo, const float& hi);
40
41   void SetNHits(const int& lo, const int& hi);
42   void SetPt(const float& lo, const float& hi);
43   void SetRapidity(const float& lo, const float& hi);
44   void SetDCA(const float& lo, const float& hi);
45   void SetCharge(const int&);
46
47
48 private:   // here are the quantities I want to cut on...
49
50   int               fCharge;
51   float             fNSigmaPion[2];
52   float             fNSigmaKaon[2];
53   float             fNSigmaProton[2];
54   int               fNHits[2];
55   float             fPt[2];
56   float             fRapidity[2];
57   float             fDCA[2];
58
59   long              fNTracksPassed;
60   long              fNTracksFailed;
61
62 #ifdef __ROOT__ 
63   ClassDef(AliFemtoBasicTrackCut, 1)
64 #endif
65 };
66
67
68 inline void AliFemtoBasicTrackCut::SetNSigmaPion(const float& lo, const float& hi){fNSigmaPion[0]=lo; fNSigmaPion[1]=hi;}
69 inline void AliFemtoBasicTrackCut::SetNSigmaKaon(const float& lo, const float& hi){fNSigmaKaon[0]=lo; fNSigmaKaon[1]=hi;}
70 inline void AliFemtoBasicTrackCut::SetNSigmaProton(const float& lo, const float& hi){fNSigmaProton[0]=lo; fNSigmaProton[1]=hi;}
71
72 inline void AliFemtoBasicTrackCut::SetNHits(const int& lo, const int& hi){fNHits[0]=lo;fNHits[1]=hi;}
73 inline void AliFemtoBasicTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
74 inline void AliFemtoBasicTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
75 inline void AliFemtoBasicTrackCut::SetDCA(const float& lo,const float& hi){fDCA[0]=lo; fDCA[1]=hi;}
76 inline void AliFemtoBasicTrackCut::SetCharge(const int& ch){fCharge = ch;}
77
78 #endif