1 #ifndef ALIFILTEREDTREEACCEPTANCECUTS_H
\r
2 #define ALIFILTEREDTREEACCEPTANCECUTS_H
\r
4 //------------------------------------------------------------------------------
\r
5 // Class to keep selection cuts for MC tracks.
\r
7 // Author: J.Otwinowski 03/11/2008
\r
8 // last change: 2011-04-04 by M.Knichel
\r
9 //------------------------------------------------------------------------------
\r
13 class AliExternalTrackParam;
\r
15 #include "AliAnalysisCuts.h"
\r
17 class AliFilteredTreeAcceptanceCuts : public AliAnalysisCuts
\r
20 AliFilteredTreeAcceptanceCuts(const Char_t* name ="AliFilteredTreeAcceptanceCuts", const Char_t *title ="");
\r
21 virtual ~AliFilteredTreeAcceptanceCuts();
\r
24 void SetEtaRange(Float_t min=-1e99, Float_t max=1e99) { fMinEta=min; fMaxEta=max; }
\r
25 void SetPhiRange(Float_t min=-1e99, Float_t max=1e99) { fMinPhi=min; fMaxPhi=max;}
\r
26 void SetPtRange(Float_t min=-1e99, Float_t max=1e99) { fMinPt=min; fMaxPt=max;}
\r
27 void SetExcludeEtaPhiRange(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
\r
28 { fExcludeMinEta = etaMin; fExcludeMaxEta = etaMax; fExcludeMinPhi = phiMin; fExcludeMaxPhi = phiMax; fCheckRange=kTRUE; }
\r
29 void SetExcludeEtaPhiRange2(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
\r
30 { fExcludeMinEta2 = etaMin; fExcludeMaxEta2 = etaMax; fExcludeMinPhi2 = phiMin; fExcludeMaxPhi2 = phiMax; fCheckRange=kTRUE; }
\r
32 void SetMaxDCAr(Float_t max=1e99) { fMaxDCAr=max;}
\r
33 void SetMaxDCAz(Float_t max=1e99) { fMaxDCAz=max;}
\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
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
49 Float_t GetMaxDCAr() const {return fMaxDCAr;}
\r
50 Float_t GetMaxDCAz() const {return fMaxDCAz;}
\r
52 // cuts init function
\r
56 virtual Bool_t IsSelected(TObject *) {return kTRUE;}
\r
57 virtual Bool_t IsSelected(TList *) {return kTRUE;}
\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
65 // Merge output objects (needed by PROOF)
\r
66 virtual Long64_t Merge(TCollection* list);
\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
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
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
91 AliFilteredTreeAcceptanceCuts(const AliFilteredTreeAcceptanceCuts&); // not implemented
\r
92 AliFilteredTreeAcceptanceCuts& operator=(const AliFilteredTreeAcceptanceCuts&); // not implemented
\r
94 ClassDef(AliFilteredTreeAcceptanceCuts, 1)
\r