1 #ifndef ALIFILTEREDTREEACCEPTANCECUTS_H
2 #define ALIFILTEREDTREEACCEPTANCECUTS_H
4 //------------------------------------------------------------------------------
5 // Class to keep selection cuts for MC tracks.
7 // Author: J.Otwinowski 03/11/2008
8 // last change: 2011-04-04 by M.Knichel
9 //------------------------------------------------------------------------------
13 class AliExternalTrackParam;
15 #include "AliAnalysisCuts.h"
17 class AliFilteredTreeAcceptanceCuts : public AliAnalysisCuts
20 AliFilteredTreeAcceptanceCuts(const Char_t* name ="AliFilteredTreeAcceptanceCuts", const Char_t *title ="");
21 virtual ~AliFilteredTreeAcceptanceCuts();
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; }
32 void SetMaxDCAr(Float_t max=1e99) { fMaxDCAr=max;}
33 void SetMaxDCAz(Float_t max=1e99) { fMaxDCAz=max;}
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;}
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; }
49 Float_t GetMaxDCAr() const {return fMaxDCAr;}
50 Float_t GetMaxDCAz() const {return fMaxDCAz;}
56 virtual Bool_t IsSelected(TObject *) {return kTRUE;}
57 virtual Bool_t IsSelected(TList *) {return kTRUE;}
60 Bool_t AcceptTrack(AliESDtrack *track);
61 Bool_t AcceptTrackLocalTPC(AliESDtrack *track);
62 Bool_t AcceptTrack(AliExternalTrackParam *track);
63 Bool_t AcceptTrack(TParticle *particle);
65 // Merge output objects (needed by PROOF)
66 virtual Long64_t Merge(TCollection* list);
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
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;
86 // max DCAr and DCAz with respect
87 // to nominal vertex position
88 Float_t fMaxDCAr; // min DCAr
89 Float_t fMaxDCAz; // max DCAz
91 AliFilteredTreeAcceptanceCuts(const AliFilteredTreeAcceptanceCuts&); // not implemented
92 AliFilteredTreeAcceptanceCuts& operator=(const AliFilteredTreeAcceptanceCuts&); // not implemented
94 ClassDef(AliFilteredTreeAcceptanceCuts, 1)