]>
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 | ||
829b5a81 | 15 | class TH1I; |
a508c9dc | 16 | class AliAODEvent; |
17 | class AliPIDResponse; | |
829b5a81 | 18 | class AliAODMCParticle; |
19 | class AliAODTrack; | |
20 | ||
c88234ad | 21 | #include "TNamed.h" |
829b5a81 | 22 | |
c88234ad | 23 | class AliSpectraAODTrackCuts : public TNamed |
24 | { | |
00221bed | 25 | public: |
26 | ||
936e2842 | 27 | enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts}; |
00221bed | 28 | |
29 | ||
a508c9dc | 30 | AliSpectraAODTrackCuts() : TNamed(), fIsSelected(0), fTrackBits(0), fMinTPCcls(0), fEtaCutMin(0), fEtaCutMax(0),fDCACut(0), fPCut(0), fPtCut(0),fYCut(0), fPtCutTOFMatching(0), fHistoCuts(0), fHistoNSelectedPos(0), fHistoNSelectedNeg(0), fHistoNMatchedPos(0), fHistoNMatchedNeg(0), fHistoEtaPhiHighPt(0), fTrack(0), fPIDResponse(0) {} |
00221bed | 31 | |
32 | AliSpectraAODTrackCuts(const char *name); | |
33 | virtual ~AliSpectraAODTrackCuts() {} // To be implemented | |
34 | ||
decf69d9 | 35 | Bool_t IsSelected(AliAODTrack * track,Bool_t FillHistStat); |
00221bed | 36 | |
1ac45dd7 | 37 | void SetEta(Float_t etamin,Float_t etamax) { fEtaCutMin = etamin;fEtaCutMax = etamax; } |
38 | void SetDCA(Float_t dca) { fDCACut = dca; } | |
39 | void SetP(Float_t p) { fPCut = p; } | |
40 | void SetPt(Float_t pt) { fPtCut = pt; } | |
41 | void SetY(Float_t y) { fYCut = y;} | |
42 | void SetPtTOFMatching(Float_t pt) { fPtCutTOFMatching = pt; } | |
00221bed | 43 | void SetTrackType(UInt_t bit); |
1ac45dd7 | 44 | void SetTrackBits(UInt_t TrackBits) {fTrackBits=TrackBits;} |
45 | void SetMinTPCcls(UInt_t MinTPCcls) {fMinTPCcls=MinTPCcls;} | |
46 | ||
47 | UInt_t GetTrackType() const { return fTrackBits;} | |
48 | TH1I * GetHistoCuts() { return fHistoCuts; } | |
49 | TH1F * GetHistoNSelectedPos() { return fHistoNSelectedPos; } | |
50 | TH1F * GetHistoNSelectedNeg() { return fHistoNSelectedNeg; } | |
51 | TH1F * GetHistoNMatchedPos() { return fHistoNMatchedPos; } | |
52 | TH1F * GetHistoNMatchedNeg() { return fHistoNMatchedNeg; } | |
53 | TH2F * GetHistoEtaPhiHighPt() { return fHistoEtaPhiHighPt; } | |
54 | Float_t GetEtaMin() const { return fEtaCutMin; } | |
55 | Float_t GetEtaMax() const { return fEtaCutMax; } | |
56 | Float_t GetY() const { return fYCut; } | |
57 | Float_t GetDCA() const { return fDCACut; } | |
58 | Float_t GetP() const { return fPCut; } | |
59 | Float_t GetPt() const { return fPtCut; } | |
60 | Float_t GetPtTOFMatching() const { return fPtCutTOFMatching; } | |
61 | ||
00221bed | 62 | Bool_t CheckTrackType(); |
936e2842 | 63 | Bool_t CheckTrackCuts(); |
00221bed | 64 | Bool_t CheckEtaCut(); |
50878ee1 | 65 | Bool_t CheckYCut(Double_t mass); // not included in standard cuts |
00221bed | 66 | Bool_t CheckDCACut(); |
67 | Bool_t CheckPCut(); | |
936e2842 | 68 | Bool_t CheckPtCut(); |
decf69d9 | 69 | Bool_t CheckTOFMatching(Bool_t FillHistStat); |
936e2842 | 70 | void PrintCuts() const; |
71 | ||
1ac45dd7 | 72 | Long64_t Merge(TCollection* list); |
823864bf | 73 | |
74 | ||
75 | private: | |
1ac45dd7 | 76 | |
77 | Bool_t fIsSelected; // True if cuts are selected | |
78 | UInt_t fTrackBits; // Type of track to be used | |
79 | UInt_t fMinTPCcls; // min number of clusters in the TPC | |
80 | Float_t fEtaCutMin; // Allowed absolute maximum value of Eta | |
81 | Float_t fEtaCutMax; // Allowed absolute maximum value of Eta | |
82 | Float_t fDCACut; // Maximum value of DCA | |
83 | Float_t fPCut; // Maximum value of P | |
84 | Float_t fPtCut; // Maximum value of Pt | |
85 | Float_t fYCut; // Maximum value of Y | |
86 | Float_t fPtCutTOFMatching; // TOF Matching | |
87 | TH1I *fHistoCuts; // Cuts statistics | |
88 | TH1F *fHistoNSelectedPos; // Selected positive tracks | |
89 | TH1F *fHistoNSelectedNeg; // Selected negative tracks | |
90 | TH1F *fHistoNMatchedPos; // Matched positive tracks | |
91 | TH1F *fHistoNMatchedNeg; // Matched negative tracks | |
92 | TH2F *fHistoEtaPhiHighPt; // EtaPhi distr at high pt (>1.5 GeV/c) | |
93 | AliAODTrack *fTrack; //! Track pointer | |
a508c9dc | 94 | AliPIDResponse *fPIDResponse; // ! PID response object |
1ac45dd7 | 95 | static const char * kBinLabel[]; // labels of stat histo |
c13dd339 | 96 | |
c88234ad | 97 | |
1ac45dd7 | 98 | AliSpectraAODTrackCuts(const AliSpectraAODTrackCuts&); |
99 | AliSpectraAODTrackCuts& operator=(const AliSpectraAODTrackCuts&); | |
823864bf | 100 | |
a508c9dc | 101 | ClassDef(AliSpectraAODTrackCuts, 2); |
c88234ad | 102 | }; |
103 | #endif | |
104 |