]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoBasicTrackCut.h
updates in macros for Femto QA in train
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoBasicTrackCut.h
1 ////////////////////////////////////////////////////////////////////////////////
2 //                                                                            //
3 // AliFemtoBasicTrackCut - the basic cut for tracks.                          //
4 // Cuts on particle identification, transverse momentum, rapidity, distance   //
5 // of closest approach to primary vertex and charge                           //
6 //                                                                            //
7 ////////////////////////////////////////////////////////////////////////////////
8
9 #ifndef ALIFEMTOBASICTRACKCUT_H
10 #define ALIFEMTOBASICTRACKCUT_H
11
12 //#ifndef StMaker_H
13 //#include "StMaker.h"
14 //#endif
15
16 #include "AliFemtoTrackCut.h"
17
18 class AliFemtoBasicTrackCut : public AliFemtoTrackCut {
19
20 public:
21
22   AliFemtoBasicTrackCut();
23   //~mikesTrackCut();
24
25   virtual bool Pass(const AliFemtoTrack* tr);
26
27   virtual AliFemtoString Report();
28   virtual TList *ListSettings();
29
30   void SetNSigmaPion(const float& lo, const float& hi);
31   void SetNSigmaKaon(const float& lo, const float& hi);
32   void SetNSigmaProton(const float& lo, const float& hi);
33
34   void SetNHits(const int& lo, const int& hi);
35   void SetPt(const float& lo, const float& hi);
36   void SetRapidity(const float& lo, const float& hi);
37   void SetDCA(const float& lo, const float& hi);
38   void SetCharge(const int& ch);
39
40
41 private:   // here are the quantities I want to cut on...
42
43   int               fCharge;             // charge of the track
44   float             fNSigmaPion[2];      // bounds for nsigma dEdx from pion band 
45   float             fNSigmaKaon[2];      // bounds for nsigma dEdx from kaon band
46   float             fNSigmaProton[2];    // bounds for nsigma dEdx from proton band
47   int               fNHits[2];           // bounds for number of hits
48   float             fPt[2];              // bounds for transverse momentum
49   float             fRapidity[2];        // bounds for rapidity
50   float             fDCA[2];             // bounds for DCA to primary vertex
51
52   long              fNTracksPassed;      // passed tracks counter
53   long              fNTracksFailed;      // falied tracks counter
54
55 #ifdef __ROOT__ 
56   ClassDef(AliFemtoBasicTrackCut, 1)
57 #endif
58 };
59
60
61 inline void AliFemtoBasicTrackCut::SetNSigmaPion(const float& lo, const float& hi){fNSigmaPion[0]=lo; fNSigmaPion[1]=hi;}
62 inline void AliFemtoBasicTrackCut::SetNSigmaKaon(const float& lo, const float& hi){fNSigmaKaon[0]=lo; fNSigmaKaon[1]=hi;}
63 inline void AliFemtoBasicTrackCut::SetNSigmaProton(const float& lo, const float& hi){fNSigmaProton[0]=lo; fNSigmaProton[1]=hi;}
64
65 inline void AliFemtoBasicTrackCut::SetNHits(const int& lo, const int& hi){fNHits[0]=lo;fNHits[1]=hi;}
66 inline void AliFemtoBasicTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
67 inline void AliFemtoBasicTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
68 inline void AliFemtoBasicTrackCut::SetDCA(const float& lo,const float& hi){fDCA[0]=lo; fDCA[1]=hi;}
69 inline void AliFemtoBasicTrackCut::SetCharge(const int& ch){fCharge = ch;}
70
71 #endif