]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODTrackCuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliSpectraAODTrackCuts.h
CommitLineData
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 15class TH1I;
a508c9dc 16class AliAODEvent;
17class AliPIDResponse;
829b5a81 18class AliAODMCParticle;
19class AliAODTrack;
e307d439 20class TH2F;
31579941 21class TH1F;
829b5a81 22
c88234ad 23#include "TNamed.h"
829b5a81 24
c88234ad 25class 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