]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowCommon/AliFlowTrackSimpleCuts.h
New AliFlowTrackCuts and AliFlowEventCuts, allow running of centrality train
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliFlowTrackSimpleCuts.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. */
2 /* See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 // AliFlowTrackSimpleCuts:
6 // A simple track cut class to the the AliFlowTrackSimple for basic
7 // kinematic cuts
8 // author: N. van der Kolk (kolk@nikhef.nl)
9 // mods: Mikolaj Krzewicki (mikolaj.krzewicki@cern.ch)
10
11 #ifndef ALIFLOWTRACKSIMPLECUTS_H
12 #define ALIFLOWTRACKSIMPLECUTS_H
13
14 #include "TNamed.h"
15 #include "AliFlowTrackSimple.h"  //needed as include
16
17 class TParticle;
18
19 class AliFlowTrackSimpleCuts : public TNamed {
20
21  public:
22   AliFlowTrackSimpleCuts();
23   //AliFlowTrackSimpleCuts(const AliFlowTrackSimpleCuts& someCuts);
24   //AliFlowTrackSimpleCuts& operator=(const AliFlowTrackSimpleCuts& someCuts);
25   virtual  ~AliFlowTrackSimpleCuts() {}
26   
27   //setters
28   void SetPtMax(Double_t max)   {this->fPtMax = max; fCutPt=kTRUE; }
29   void SetPtMin(Double_t min)   {this->fPtMin = min; fCutPt=kTRUE;  }
30   void SetEtaMax(Double_t max)  {this->fEtaMax = max; fCutEta=kTRUE; }
31   void SetEtaMin(Double_t min)  {this->fEtaMin = min; fCutEta=kTRUE; }
32   void SetPhiMax(Double_t max)  {this->fPhiMax = max; fCutPhi=kTRUE; }
33   void SetPhiMin(Double_t min)  {this->fPhiMin = min; fCutPhi=kTRUE; }
34   void SetPID(Int_t pid)        {this->fPID = pid; fCutPID=kTRUE; }
35   void SetCharge(Int_t c)       {this->fCharge = c; fCutCharge=kTRUE; }
36   
37   //getters
38   Double_t GetPtMax() const     {return this->fPtMax; }
39   Double_t GetPtMin() const     {return this->fPtMin; }
40   Double_t GetEtaMax() const    {return this->fEtaMax; }
41   Double_t GetEtaMin() const    {return this->fEtaMin; }
42   Double_t GetPhiMax() const    {return this->fPhiMax; }
43   Double_t GetPhiMin() const    {return this->fPhiMin; }
44   Int_t    GetPID() const       {return this->fPID; }
45   Int_t    GetCharge() const    {return this->fCharge; }
46   
47   //simple method to check if the simple track passes the simple cuts:
48   Bool_t PassesCuts(const AliFlowTrackSimple *track) const;
49   Bool_t PassesCuts(TParticle* p) const;
50
51   virtual Bool_t IsSelected(TObject* obj);
52
53  protected:
54   Bool_t   fCutPt;
55   Double_t fPtMax;
56   Double_t fPtMin;
57   Bool_t   fCutEta;
58   Double_t fEtaMax;
59   Double_t fEtaMin;
60   Bool_t   fCutPhi;
61   Double_t fPhiMax;
62   Double_t fPhiMin;
63   Bool_t   fCutPID;
64   Int_t    fPID;
65   Bool_t   fCutCharge;
66   Int_t    fCharge;
67
68   ClassDef(AliFlowTrackSimpleCuts,1)
69 };
70
71 #endif
72
73