]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Base/AliFlowTrackSimpleCuts.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWG / FLOW / Base / 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
16 class AliFlowTrackSimple;
17 class TParticle;
18
19 class AliFlowTrackSimpleCuts : public TNamed {
20
21  public:
22   AliFlowTrackSimpleCuts(const char* name="");
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   void SetMassMax(Double_t max) {this->fMassMax = max; fCutMass=kTRUE; }
37   void SetMassMin(Double_t min) {this->fMassMin = min; fCutMass=kTRUE; }
38   
39   //getters
40   Double_t GetPtMax() const     {return this->fPtMax; }
41   Double_t GetPtMin() const     {return this->fPtMin; }
42   Double_t GetEtaMax() const    {return this->fEtaMax; }
43   Double_t GetEtaMin() const    {return this->fEtaMin; }
44   Double_t GetPhiMax() const    {return this->fPhiMax; }
45   Double_t GetPhiMin() const    {return this->fPhiMin; }
46   Int_t    GetPID() const       {return this->fPID; }
47   Int_t    GetCharge() const    {return this->fCharge; }
48   Double_t GetMassMax() const   {return this->fMassMax; }
49   Double_t GetMassMin() const   {return this->fMassMin; }
50   
51   //simple method to check if the simple track passes the simple cuts:
52   Bool_t PassesCuts(const AliFlowTrackSimple *track) const;
53   Bool_t PassesCuts(TParticle* p) const;
54
55   virtual Bool_t IsSelected(TObject* obj, Int_t id=-1);
56
57  protected:
58   Bool_t   fCutPt; //cut on pt?
59   Double_t fPtMax; //max pt
60   Double_t fPtMin; //min pt
61   Bool_t   fCutEta; //cut on eta?
62   Double_t fEtaMax; //max eta
63   Double_t fEtaMin; //min eta
64   Bool_t   fCutPhi; //cut on phi?
65   Double_t fPhiMax; //max phi
66   Double_t fPhiMin; //min phi
67   Bool_t   fCutPID; //cut on pid?
68   Int_t    fPID;    //pid
69   Bool_t   fCutCharge; //cut on charge?
70   Int_t    fCharge;    //charge
71   Bool_t   fCutMass; // cut on mass?
72   Double_t fMassMax; //max mass
73   Double_t fMassMin; //min mass
74
75   ClassDef(AliFlowTrackSimpleCuts,2)
76 };
77
78 #endif
79
80