1 #ifndef ALISPECTRAAODTRACKCUTS_H
2 #define ALISPECTRAAODTRACKCUTS_H
4 /* See cxx source for full Copyright notice */
6 //-------------------------------------------------------------------------
7 // AliSpectraAODTrackCuts
12 // Authors: Michele Floris, CERN, Philip Versteeg, UU, Redmer Bertens, UU
13 //-------------------------------------------------------------------------
16 //class AliSpectraAODHistoManager;
18 class AliAODMCParticle;
21 #include "AliSpectraAODHistoManager.h"
24 using namespace AliSpectraNameSpace;
26 class AliSpectraAODTrackCuts : public TNamed
30 enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts};
33 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) {}
35 AliSpectraAODTrackCuts(const char *name);
36 virtual ~AliSpectraAODTrackCuts() {} // To be implemented
38 Bool_t IsSelected(AliAODTrack * track,Bool_t FillHistStat);
40 void SetTrackType(UInt_t bit);
41 Bool_t CheckTrackType();
42 Bool_t CheckTrackCuts();
44 Bool_t CheckYCut(AODParticleSpecies_t specie); // not included in standard cuts
48 Bool_t CheckTOFMatching(Bool_t FillHistStat);
49 void PrintCuts() const;
51 UInt_t GetTrackType() const { return fTrackBits;}
52 TH1I * GetHistoCuts() { return fHistoCuts; }
53 TH1F * GetHistoNSelectedPos() { return fHistoNSelectedPos; }
54 TH1F * GetHistoNSelectedNeg() { return fHistoNSelectedNeg; }
55 TH1F * GetHistoNMatchedPos() { return fHistoNMatchedPos; }
56 TH1F * GetHistoNMatchedNeg() { return fHistoNMatchedNeg; }
57 TH2F * GetHistoEtaPhiHighPt() { return fHistoEtaPhiHighPt; }
58 void SetEta(Float_t etamin,Float_t etamax) { fEtaCutMin = etamin;fEtaCutMax = etamax; }
59 void SetDCA(Float_t dca) { fDCACut = dca; }
60 void SetP(Float_t p) { fPCut = p; }
61 void SetPt(Float_t pt) { fPtCut = pt; }
62 void SetY(Float_t y) { fYCut = y;}
63 void SetPtTOFMatching(Float_t pt) { fPtCutTOFMatching = pt; }
64 void SetTrackBits(UInt_t TrackBits) {fTrackBits=TrackBits;}
65 void SetMinTPCcls(UInt_t MinTPCcls) {fMinTPCcls=MinTPCcls;}
66 Float_t GetEtaMin() const { return fEtaCutMin; }
67 Float_t GetEtaMax() const { return fEtaCutMax; }
68 Float_t GetY() const { return fYCut; }
69 Float_t GetDCA() const { return fDCACut; }
70 Float_t GetP() const { return fPCut; }
71 Float_t GetPt() const { return fPtCut; }
72 Float_t GetPtTOFMatching() const { return fPtCutTOFMatching; }
74 Long64_t Merge(TCollection* list);
79 Bool_t fIsSelected; // True if cuts are selected
80 UInt_t fTrackBits; // Type of track to be used
81 UInt_t fMinTPCcls; // min number of clusters in the TPC
82 Float_t fEtaCutMin; // Allowed absolute maximum value of Eta
83 Float_t fEtaCutMax; // Allowed absolute maximum value of Eta
84 Float_t fDCACut; // Maximum value of DCA
85 Float_t fPCut; // Maximum value of P
86 Float_t fPtCut; // Maximum value of Pt
87 Float_t fYCut; // Maximum value of Y
88 Float_t fPtCutTOFMatching; // TOF Matching
89 TH1I *fHistoCuts; // Cuts statistics
90 TH1F *fHistoNSelectedPos; // Selected positive tracks
91 TH1F *fHistoNSelectedNeg; // Selected negative tracks
92 TH1F *fHistoNMatchedPos; // Matched positive tracks
93 TH1F *fHistoNMatchedNeg; // Matched negative tracks
94 TH2F *fHistoEtaPhiHighPt; // EtaPhi distr at high pt (>1.5 GeV/c)
95 AliAODTrack *fTrack; //! Track pointer
96 static const char * kBinLabel[]; // labels of stat histo
99 AliSpectraAODTrackCuts(const AliSpectraAODTrackCuts&);
100 AliSpectraAODTrackCuts& operator=(const AliSpectraAODTrackCuts&);
102 ClassDef(AliSpectraAODTrackCuts, 1);