]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoMCTrackCut.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoMCTrackCut.h
CommitLineData
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
18class 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
59inline void AliFemtoMCTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
60inline void AliFemtoMCTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
61inline void AliFemtoMCTrackCut::SetEta(const float& lo,const float& hi){fEta[0]=lo; fEta[1]=hi;}
62inline void AliFemtoMCTrackCut::SetCharge(const int& ch){fCharge = ch;}
63inline void AliFemtoMCTrackCut::SetPDG(const int& pdg){fPDGcode = pdg;}
64inline void AliFemtoMCTrackCut::SetLabel(const bool& flag){fLabel=flag;}
65
66
67#endif
68