]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 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 |