dNdPt analysis
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtAcceptanceCuts.h
1 #ifndef ALIDNDPTACCEPTANCECUTS_H\r
2 #define ALIDNDPTACCEPTANCECUTS_H\r
3 \r
4 //------------------------------------------------------------------------------\r
5 // Class to keep selection cuts for MC tracks. \r
6 // \r
7 // Author: J.Otwinowski 03/11/2008 \r
8 //------------------------------------------------------------------------------\r
9 \r
10 class TParticle;\r
11 class AliESDtrack;\r
12 class AliExternalTrackParam;\r
13 \r
14 #include "AliAnalysisCuts.h"\r
15 \r
16 class AlidNdPtAcceptanceCuts : public AliAnalysisCuts\r
17 {\r
18 public:\r
19   AlidNdPtAcceptanceCuts(const Char_t* name ="AlidNdPtAcceptanceCuts", const Char_t *title ="");\r
20   virtual ~AlidNdPtAcceptanceCuts(); \r
21  \r
22   // setters \r
23   void SetEtaRange(const Float_t min=0., const Float_t max=1e99)  { fMinEta=min; fMaxEta=max; }\r
24   void SetPhiRange(const Float_t min=0., const Float_t max=1e99)  { fMinPhi=min; fMaxPhi=max;}\r
25   void SetPtRange(const Float_t min=0., const Float_t max=1e99)   { fMinPt=min;  fMaxPt=max;}\r
26 \r
27   void SetMaxDCAr(const Float_t max=1e99) { fMaxDCAr=max;}\r
28   void SetMaxDCAz(const Float_t max=1e99) { fMaxDCAz=max;}\r
29 \r
30   // getters \r
31   Float_t GetMinEta() const {return fMinEta;}\r
32   Float_t GetMaxEta() const {return fMaxEta;}\r
33   Float_t GetMinPhi() const {return fMinPhi;}\r
34   Float_t GetMaxPhi() const {return fMaxPhi;}\r
35   Float_t GetMinPt() const {return fMinPt;}\r
36   Float_t GetMaxPt() const {return fMaxPt;}\r
37 \r
38   Float_t GetMaxDCAr() const {return fMaxDCAr;}\r
39   Float_t GetMaxDCAz() const {return fMaxDCAz;}\r
40 \r
41   // cuts init function\r
42   void Init();\r
43 \r
44   // check MC tracks\r
45   virtual Bool_t IsSelected(TObject *) {return kTRUE;}\r
46   virtual Bool_t IsSelected(TList *) {return kTRUE;}\r
47 \r
48   //\r
49   Bool_t AcceptTrack(AliESDtrack *track);\r
50   Bool_t AcceptTrack(AliExternalTrackParam *track);\r
51   Bool_t AcceptTrack(TParticle *particle);\r
52   \r
53   // Merge output objects (needed by PROOF) \r
54   virtual Long64_t Merge(TCollection* list);\r
55 \r
56 private:\r
57   Float_t fMinEta; // min pseudorapidity \r
58   Float_t fMaxEta; // max pseudorapidity\r
59   Float_t fMinPhi; // min azimuthal angle (rad)\r
60   Float_t fMaxPhi; // max azimuthal angle (rad)\r
61   Float_t fMinPt;  // min pt\r
62   Float_t fMaxPt;  // max pt\r
63 \r
64   // max DCAr and DCAz with respect\r
65   // to nominal vertex position\r
66   Float_t fMaxDCAr; // min DCAr\r
67   Float_t fMaxDCAz; // max DCAz\r
68  \r
69   AlidNdPtAcceptanceCuts(const AlidNdPtAcceptanceCuts&); // not implemented\r
70   AlidNdPtAcceptanceCuts& operator=(const AlidNdPtAcceptanceCuts&); // not implemented\r
71 \r
72   ClassDef(AlidNdPtAcceptanceCuts, 1)\r
73 };\r
74 \r
75 #endif // \r