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