ROOT logo
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// AliFemtoMCTrackCut: A basic track cut that used information from     //
// ALICE MC to accept or reject the track.                              //  
// Enables the selection on charge, transverse momentum, rapidity,       //
// and PDG of the particle										         //
// Authors: Malgorzata Janik (WUT)    majanik@cern.ch 					//
//			Lukasz Graczykowski (WUT) lgraczyk@cern.ch					 //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

#ifndef ALIFEMTOMCTRACKCUT_H
#define ALIFEMTOMCTRACKCUT_H


#include "AliFemtoTrackCut.h"

class AliFemtoMCTrackCut : public AliFemtoTrackCut 
{

 public:
  AliFemtoMCTrackCut();
  virtual ~AliFemtoMCTrackCut();

  virtual bool Pass(const AliFemtoTrack* aTrack);

  virtual AliFemtoString Report();
  virtual TList *ListSettings();
  virtual AliFemtoParticleType Type(){return hbtTrack;}

  void SetPt(const float& lo, const float& hi);
  void SetRapidity(const float& lo, const float& hi);
  void SetEta(const float& lo, const float& hi);
  void SetCharge(const int& ch);
  void SetPDG(const int& pdg);
  void SetLabel(const bool& flag);


 private:   // here are the quantities I want to cut on...

  int               fCharge;             // particle charge
  float             fPt[2];              // bounds for transverse momentum
  float             fRapidity[2];        // bounds for rapidity
  float             fEta[2];             // bounds for pseudorapidity
  bool              fLabel;              // if true label<0 will not pass throught 
  int               fPDGcode;            // PDG code of the particle
 
  long              fNTracksPassed;      // passed tracks count
  long              fNTracksFailed;      // failed tracks count



#ifdef __ROOT__ 
  ClassDef(AliFemtoMCTrackCut, 1)
#endif
    };


inline void AliFemtoMCTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;}
inline void AliFemtoMCTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;}
inline void AliFemtoMCTrackCut::SetEta(const float& lo,const float& hi){fEta[0]=lo; fEta[1]=hi;}
inline void AliFemtoMCTrackCut::SetCharge(const int& ch){fCharge = ch;}
inline void AliFemtoMCTrackCut::SetPDG(const int& pdg){fPDGcode = pdg;}
inline void AliFemtoMCTrackCut::SetLabel(const bool& flag){fLabel=flag;}


#endif

 AliFemtoMCTrackCut.h:1
 AliFemtoMCTrackCut.h:2
 AliFemtoMCTrackCut.h:3
 AliFemtoMCTrackCut.h:4
 AliFemtoMCTrackCut.h:5
 AliFemtoMCTrackCut.h:6
 AliFemtoMCTrackCut.h:7
 AliFemtoMCTrackCut.h:8
 AliFemtoMCTrackCut.h:9
 AliFemtoMCTrackCut.h:10
 AliFemtoMCTrackCut.h:11
 AliFemtoMCTrackCut.h:12
 AliFemtoMCTrackCut.h:13
 AliFemtoMCTrackCut.h:14
 AliFemtoMCTrackCut.h:15
 AliFemtoMCTrackCut.h:16
 AliFemtoMCTrackCut.h:17
 AliFemtoMCTrackCut.h:18
 AliFemtoMCTrackCut.h:19
 AliFemtoMCTrackCut.h:20
 AliFemtoMCTrackCut.h:21
 AliFemtoMCTrackCut.h:22
 AliFemtoMCTrackCut.h:23
 AliFemtoMCTrackCut.h:24
 AliFemtoMCTrackCut.h:25
 AliFemtoMCTrackCut.h:26
 AliFemtoMCTrackCut.h:27
 AliFemtoMCTrackCut.h:28
 AliFemtoMCTrackCut.h:29
 AliFemtoMCTrackCut.h:30
 AliFemtoMCTrackCut.h:31
 AliFemtoMCTrackCut.h:32
 AliFemtoMCTrackCut.h:33
 AliFemtoMCTrackCut.h:34
 AliFemtoMCTrackCut.h:35
 AliFemtoMCTrackCut.h:36
 AliFemtoMCTrackCut.h:37
 AliFemtoMCTrackCut.h:38
 AliFemtoMCTrackCut.h:39
 AliFemtoMCTrackCut.h:40
 AliFemtoMCTrackCut.h:41
 AliFemtoMCTrackCut.h:42
 AliFemtoMCTrackCut.h:43
 AliFemtoMCTrackCut.h:44
 AliFemtoMCTrackCut.h:45
 AliFemtoMCTrackCut.h:46
 AliFemtoMCTrackCut.h:47
 AliFemtoMCTrackCut.h:48
 AliFemtoMCTrackCut.h:49
 AliFemtoMCTrackCut.h:50
 AliFemtoMCTrackCut.h:51
 AliFemtoMCTrackCut.h:52
 AliFemtoMCTrackCut.h:53
 AliFemtoMCTrackCut.h:54
 AliFemtoMCTrackCut.h:55
 AliFemtoMCTrackCut.h:56
 AliFemtoMCTrackCut.h:57
 AliFemtoMCTrackCut.h:58
 AliFemtoMCTrackCut.h:59
 AliFemtoMCTrackCut.h:60
 AliFemtoMCTrackCut.h:61
 AliFemtoMCTrackCut.h:62
 AliFemtoMCTrackCut.h:63
 AliFemtoMCTrackCut.h:64
 AliFemtoMCTrackCut.h:65
 AliFemtoMCTrackCut.h:66
 AliFemtoMCTrackCut.h:67
 AliFemtoMCTrackCut.h:68