]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoMCTrackCut.h
Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoMCTrackCut.h
1 ///////////////////////////////////////////////////////////////////////////
2 //                                                                       //
3 // AliFemtoMCTrackCut: A basic track cut that used information from     //
4 // ALICE MC to accept or reject the track.                              //  
5 // Enables the selection on charge, transverse momentum, rapidity,       //
6 // and PDG of the particle                                                                                       //
7 // Authors: Malgorzata Janik (WUT)    majanik@cern.ch                                   //
8 //                      Lukasz Graczykowski (WUT) lgraczyk@cern.ch                                       //
9 //                                                                       //
10 ///////////////////////////////////////////////////////////////////////////
11
12 #ifndef ALIFEMTOMCTRACKCUT_H
13 #define ALIFEMTOMCTRACKCUT_H
14
15
16 #include "AliFemtoTrackCut.h"
17
18 class AliFemtoMCTrackCut : public AliFemtoTrackCut 
19 {
20
21  public:
22   AliFemtoMCTrackCut();
23   virtual ~AliFemtoMCTrackCut();
24
25   virtual bool Pass(const AliFemtoTrack* aTrack);
26
27   virtual AliFemtoString Report();
28   virtual TList *ListSettings();
29   virtual AliFemtoParticleType Type(){return hbtTrack;}
30
31   void SetPt(const float& lo, const float& hi);
32   void SetRapidity(const float& lo, const float& hi);
33   void SetEta(const float& lo, const float& hi);
34   void SetCharge(const int& ch);
35   void SetPDG(const int& pdg);
36   void SetLabel(const bool& flag);
37
38
39  private:   // here are the quantities I want to cut on...
40
41   int               fCharge;             // particle charge
42   float             fPt[2];              // bounds for transverse momentum
43   float             fRapidity[2];        // bounds for rapidity
44   float             fEta[2];             // bounds for pseudorapidity
45   bool              fLabel;              // if true label<0 will not pass throught 
46   int               fPDGcode;            // PDG code of the particle
47  
48   long              fNTracksPassed;      // passed tracks count
49   long              fNTracksFailed;      // failed tracks count
50
51
52
53 #ifdef __ROOT__ 
54   ClassDef(AliFemtoMCTrackCut, 1)
55 #endif
56     };
57
58
59 inline void AliFemtoMCTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
60 inline void AliFemtoMCTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
61 inline void AliFemtoMCTrackCut::SetEta(const float& lo,const float& hi){fEta[0]=lo; fEta[1]=hi;}
62 inline void AliFemtoMCTrackCut::SetCharge(const int& ch){fCharge = ch;}
63 inline void AliFemtoMCTrackCut::SetPDG(const int& pdg){fPDGcode = pdg;}
64 inline void AliFemtoMCTrackCut::SetLabel(const bool& flag){fLabel=flag;}
65
66
67 #endif
68