RelVal: name GNU screen after session
[u/mrichter/AliRoot.git] / PWGPP / AliFilteredTreeAcceptanceCuts.h
CommitLineData
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
11class TParticle;
12class AliESDtrack;
13class AliExternalTrackParam;
14
15#include "AliAnalysisCuts.h"
16
17class AliFilteredTreeAcceptanceCuts : public AliAnalysisCuts
18{
19public:
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
68private:
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 //