trigger class added (M.Ivanov)
[u/mrichter/AliRoot.git] / PWGPP / AliFilteredTreeAcceptanceCuts.h
CommitLineData
1059f583 1#ifndef ALIFILTEREDTREEACCEPTANCECUTS_H\r
2#define ALIFILTEREDTREEACCEPTANCECUTS_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// last change: 2011-04-04 by M.Knichel\r
9//------------------------------------------------------------------------------\r
10\r
11class TParticle;\r
12class AliESDtrack;\r
13class AliExternalTrackParam;\r
14\r
15#include "AliAnalysisCuts.h"\r
16\r
17class AliFilteredTreeAcceptanceCuts : public AliAnalysisCuts\r
18{\r
19public:\r
20 AliFilteredTreeAcceptanceCuts(const Char_t* name ="AliFilteredTreeAcceptanceCuts", const Char_t *title ="");\r
21 virtual ~AliFilteredTreeAcceptanceCuts(); \r
22 \r
23 // setters \r
24 void SetEtaRange(const Float_t min=-1e99, const Float_t max=1e99) { fMinEta=min; fMaxEta=max; }\r
25 void SetPhiRange(const Float_t min=-1e99, const Float_t max=1e99) { fMinPhi=min; fMaxPhi=max;}\r
26 void SetPtRange(const Float_t min=-1e99, const Float_t max=1e99) { fMinPt=min; fMaxPt=max;}\r
27 void SetExcludeEtaPhiRange(const Float_t etaMin, const Float_t etaMax, const Float_t phiMin, const Float_t phiMax)\r
28 { fExcludeMinEta = etaMin; fExcludeMaxEta = etaMax; fExcludeMinPhi = phiMin; fExcludeMaxPhi = phiMax; fCheckRange=kTRUE; }\r
29 void SetExcludeEtaPhiRange2(const Float_t etaMin, const Float_t etaMax, const Float_t phiMin, const Float_t phiMax)\r
30 { fExcludeMinEta2 = etaMin; fExcludeMaxEta2 = etaMax; fExcludeMinPhi2 = phiMin; fExcludeMaxPhi2 = phiMax; fCheckRange=kTRUE; } \r
31\r
32 void SetMaxDCAr(const Float_t max=1e99) { fMaxDCAr=max;}\r
33 void SetMaxDCAz(const Float_t max=1e99) { fMaxDCAz=max;}\r
34\r
35 // getters \r
36 Float_t GetMinEta() const {return fMinEta;}\r
37 Float_t GetMaxEta() const {return fMaxEta;}\r
38 Float_t GetMinPhi() const {return fMinPhi;}\r
39 Float_t GetMaxPhi() const {return fMaxPhi;}\r
40 Float_t GetMinPt() const {return fMinPt;}\r
41 Float_t GetMaxPt() const {return fMaxPt;}\r
42 \r
43 Bool_t GetCheckRange() const { return fCheckRange; }\r
44 Float_t GetExcludeMinEta() const { return fExcludeMinEta; }\r
45 Float_t GetExcludeMaxEta() const { return fExcludeMaxEta; }\r
46 Float_t GetExcludeMinPhi() const { return fExcludeMinPhi; }\r
47 Float_t GetExcludeMaxPhi() const { return fExcludeMaxPhi; } \r
48\r
49 Float_t GetMaxDCAr() const {return fMaxDCAr;}\r
50 Float_t GetMaxDCAz() const {return fMaxDCAz;}\r
51\r
52 // cuts init function\r
53 void Init();\r
54\r
55 // check MC tracks\r
56 virtual Bool_t IsSelected(TObject *) {return kTRUE;}\r
57 virtual Bool_t IsSelected(TList *) {return kTRUE;}\r
58\r
59 //\r
60 Bool_t AcceptTrack(AliESDtrack *track);\r
61 Bool_t AcceptTrackLocalTPC(AliESDtrack *track);\r
62 Bool_t AcceptTrack(AliExternalTrackParam *track);\r
63 Bool_t AcceptTrack(TParticle *particle);\r
64 \r
65 // Merge output objects (needed by PROOF) \r
66 virtual Long64_t Merge(TCollection* list);\r
67\r
68private:\r
69 Float_t fMinEta; // min pseudorapidity \r
70 Float_t fMaxEta; // max pseudorapidity\r
71 Float_t fMinPhi; // min azimuthal angle (rad)\r
72 Float_t fMaxPhi; // max azimuthal angle (rad)\r
73 Float_t fMinPt; // min pt\r
74 Float_t fMaxPt; // max pt\r
75 \r
76 Float_t fExcludeMinEta;\r
77 Float_t fExcludeMaxEta;\r
78 Float_t fExcludeMinPhi;\r
79 Float_t fExcludeMaxPhi;\r
80 Float_t fExcludeMinEta2;\r
81 Float_t fExcludeMaxEta2;\r
82 Float_t fExcludeMinPhi2;\r
83 Float_t fExcludeMaxPhi2; \r
84 Bool_t fCheckRange;\r
85\r
86 // max DCAr and DCAz with respect\r
87 // to nominal vertex position\r
88 Float_t fMaxDCAr; // min DCAr\r
89 Float_t fMaxDCAz; // max DCAz\r
90 \r
91 AliFilteredTreeAcceptanceCuts(const AliFilteredTreeAcceptanceCuts&); // not implemented\r
92 AliFilteredTreeAcceptanceCuts& operator=(const AliFilteredTreeAcceptanceCuts&); // not implemented\r
93\r
94 ClassDef(AliFilteredTreeAcceptanceCuts, 1)\r
95};\r
96\r
97#endif // \r