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