]>
Commit | Line | Data |
---|---|---|
c88234ad | 1 | #ifndef ALISPECTRAAODTRACKCUTS_H |
2 | #define ALISPECTRAAODTRACKCUTS_H | |
3 | ||
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------------- | |
7 | // AliSpectraAODTrackCuts | |
8 | // | |
9 | // | |
10 | // | |
11 | // | |
12 | // Authors: Michele Floris, CERN, Philip Versteeg, UU, Redmer Bertens, UU | |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | class AliAODEvent; | |
16 | class AliSpectraAODHistoManager; | |
e8b0fe64 | 17 | #include "AliAODMCParticle.h" |
18 | #include "AliSpectraAODHistoManager.h" | |
c88234ad | 19 | #include "TNamed.h" |
20 | ||
e8b0fe64 | 21 | using namespace AliSpectraNameSpace; |
00221bed | 22 | |
23 | const char * kBinLabel[] ={"TrkBit", | |
936e2842 | 24 | "TrkCuts", |
00221bed | 25 | "TrkEta", |
26 | "TrkDCA", | |
27 | "TrkP", | |
28 | "TrkPt", | |
29 | "TrkPtTOF", | |
30 | "TOFMatching", | |
31 | "kTOFout", | |
32 | "kTIME", | |
33 | "kTOFpid", | |
34 | "Accepted"}; | |
e8b0fe64 | 35 | |
c88234ad | 36 | class AliSpectraAODTrackCuts : public TNamed |
37 | { | |
00221bed | 38 | public: |
39 | ||
936e2842 | 40 | enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts}; |
00221bed | 41 | |
42 | ||
ae0fdd7d | 43 | AliSpectraAODTrackCuts() : TNamed(), fIsSelected(0), fTrackBits(0), fEtaCut(0), fPCut(0), fPtCut(0), fPtCutTOFMatching(0), fQvecCutMin(0), fQvecCutMax(0), fHistoCuts(0), fHistoNSelectedPos(0), fHistoNSelectedNeg(0), fHistoNMatchedPos(0), fHistoNMatchedNeg(0), fHistoEtaPhiHighPt(0), fTrack(0) {} |
00221bed | 44 | |
45 | AliSpectraAODTrackCuts(const char *name); | |
46 | virtual ~AliSpectraAODTrackCuts() {} // To be implemented | |
47 | ||
e8b0fe64 | 48 | Bool_t IsSelected(AliAODTrack * track); |
00221bed | 49 | |
50 | void SetTrackType(UInt_t bit); | |
51 | Bool_t CheckTrackType(); | |
936e2842 | 52 | Bool_t CheckTrackCuts(); |
00221bed | 53 | Bool_t CheckEtaCut(); |
54 | Bool_t CheckYCut(AODParticleSpecies_t specie); // not included in standard cuts | |
55 | Bool_t CheckDCACut(); | |
56 | Bool_t CheckPCut(); | |
936e2842 | 57 | Bool_t CheckPtCut(); |
58 | Bool_t CheckTOFMatching(); | |
59 | void PrintCuts() const; | |
60 | ||
c88234ad | 61 | UInt_t GetTrackType() const { return fTrackBits; } |
62 | TH1I * GetHistoCuts() { return fHistoCuts; } | |
3d1f02f9 | 63 | TH1F * GetHistoNSelectedPos() { return fHistoNSelectedPos; } |
64 | TH1F * GetHistoNSelectedNeg() { return fHistoNSelectedNeg; } | |
65 | TH1F * GetHistoNMatchedPos() { return fHistoNMatchedPos; } | |
66 | TH1F * GetHistoNMatchedNeg() { return fHistoNMatchedNeg; } | |
ae0fdd7d | 67 | TH2F * GetHistoEtaPhiHighPt() { return fHistoEtaPhiHighPt; } |
c88234ad | 68 | void SetEta(Float_t eta) { fEtaCut = eta; } |
69 | void SetDCA(Float_t dca) { fDCACut = dca; } | |
70 | void SetP(Float_t p) { fPCut = p; } | |
71 | void SetPt(Float_t pt) { fPtCut = pt; } | |
e8b0fe64 | 72 | void SetY(Float_t y) { fYCut = y;} |
823864bf | 73 | void SetPtTOFMatching(Float_t pt) { fPtCutTOFMatching = pt; } |
74 | void SetQvecMin(Float_t qvecmin) { fQvecCutMin = qvecmin; } | |
75 | void SetQvecMax(Float_t qvecmax) { fQvecCutMax = qvecmax; } | |
c88234ad | 76 | Float_t GetEta() const { return fEtaCut; } |
e8b0fe64 | 77 | Float_t GetY() const { return fYCut; } |
c88234ad | 78 | Float_t GetDCA() const { return fDCACut; } |
79 | Float_t GetP() const { return fPCut; } | |
80 | Float_t GetPt() const { return fPtCut; } | |
823864bf | 81 | Float_t GetPtTOFMatching() const { return fPtCutTOFMatching; } |
82 | Float_t GetQvecMin() const { return fQvecCutMin; } | |
83 | Float_t GetQvecMax() const { return fQvecCutMax; } | |
84 | ||
85 | Long64_t Merge(TCollection* list); | |
86 | ||
87 | ||
88 | private: | |
89 | ||
e8b0fe64 | 90 | Bool_t fIsSelected; // True if cuts are selected |
91 | UInt_t fTrackBits; // Type of track to be used | |
92 | Float_t fEtaCut; // Allowed absolute maximum value of Eta | |
93 | Float_t fDCACut; // Maximum value of DCA | |
94 | Float_t fPCut; // Maximum value of P | |
95 | Float_t fPtCut; // Maximum value of Pt | |
96 | Float_t fYCut; // Maximum value of Y | |
97 | Float_t fPtCutTOFMatching; // TOF Matching | |
98 | Float_t fQvecCutMin; // Minimum value of Qvec | |
99 | Float_t fQvecCutMax; // Minimum value of Qvec | |
e8b0fe64 | 100 | TH1I *fHistoCuts; // Cuts statistics |
3d1f02f9 | 101 | TH1F *fHistoNSelectedPos; // Selected positive tracks |
102 | TH1F *fHistoNSelectedNeg; // Selected negative tracks | |
103 | TH1F *fHistoNMatchedPos; // Matched positive tracks | |
104 | TH1F *fHistoNMatchedNeg; // Matched negative tracks | |
ae0fdd7d | 105 | TH2F *fHistoEtaPhiHighPt; // EtaPhi distr at high pt (>1.5 GeV/c) |
e8b0fe64 | 106 | AliAODTrack *fTrack; //! Track pointer |
c88234ad | 107 | |
108 | AliSpectraAODTrackCuts(const AliSpectraAODTrackCuts&); | |
109 | AliSpectraAODTrackCuts& operator=(const AliSpectraAODTrackCuts&); | |
823864bf | 110 | |
c88234ad | 111 | ClassDef(AliSpectraAODTrackCuts, 1); |
112 | }; | |
113 | #endif | |
114 |