#ifndef ALISPECTRAAODTRACKCUTS_H
#define ALISPECTRAAODTRACKCUTS_H
class TH1I;
class AliAODEvent;
class AliPIDResponse;
class AliAODMCParticle;
class AliAODTrack;
class TH2F;
class TH1F;
#include "TNamed.h"
class AliSpectraAODTrackCuts : public TNamed
{
public:
enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts};
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) {}
AliSpectraAODTrackCuts(const char *name);
virtual ~AliSpectraAODTrackCuts() {}
Bool_t IsSelected(AliAODTrack * track,Bool_t FillHistStat);
void SetEta(Float_t etamin,Float_t etamax) { fEtaCutMin = etamin;fEtaCutMax = etamax; }
void SetDCA(Float_t dca) { fDCACut = dca; }
void SetP(Float_t p) { fPCut = p; }
void SetPt(Float_t pt) { fPtCut = pt; }
void SetY(Float_t y) { fYCut = y;}
void SetPtTOFMatching(Float_t pt) { fPtCutTOFMatching = pt; }
void SetTrackType(UInt_t bit);
void SetTrackBits(UInt_t TrackBits) {fTrackBits=TrackBits;}
void SetMinTPCcls(UInt_t MinTPCcls) {fMinTPCcls=MinTPCcls;}
void SetRequestSPDcls(Bool_t RequestSPDcls) {fRequestSPDcls=RequestSPDcls;}
UInt_t GetTrackType() const { return fTrackBits;}
TH1I * GetHistoCuts() { return fHistoCuts; }
TH1F * GetHistoNSelectedPos() { return fHistoNSelectedPos; }
TH1F * GetHistoNSelectedNeg() { return fHistoNSelectedNeg; }
TH1F * GetHistoNMatchedPos() { return fHistoNMatchedPos; }
TH1F * GetHistoNMatchedNeg() { return fHistoNMatchedNeg; }
TH2F * GetHistoEtaPhiHighPt() { return fHistoEtaPhiHighPt; }
Float_t GetEtaMin() const { return fEtaCutMin; }
Float_t GetEtaMax() const { return fEtaCutMax; }
Float_t GetY() const { return fYCut; }
Float_t GetDCA() const { return fDCACut; }
Float_t GetP() const { return fPCut; }
Float_t GetPt() const { return fPtCut; }
Float_t GetPtTOFMatching() const { return fPtCutTOFMatching; }
Bool_t CheckTrackType();
Bool_t CheckTrackCuts();
Bool_t CheckEtaCut();
Bool_t CheckYCut(Double_t mass);
Bool_t CheckDCACut();
Bool_t CheckPCut();
Bool_t CheckPtCut();
Bool_t CheckTOFMatching(Bool_t FillHistStat);
void PrintCuts() const;
Long64_t Merge(TCollection* list);
private:
Bool_t fIsSelected;
UInt_t fTrackBits;
UInt_t fMinTPCcls;
Bool_t fRequestSPDcls;
Float_t fEtaCutMin;
Float_t fEtaCutMax;
Float_t fDCACut;
Float_t fPCut;
Float_t fPtCut;
Float_t fYCut;
Float_t fPtCutTOFMatching;
TH1I *fHistoCuts;
TH1F *fHistoNSelectedPos;
TH1F *fHistoNSelectedNeg;
TH1F *fHistoNMatchedPos;
TH1F *fHistoNMatchedNeg;
TH2F *fHistoEtaPhiHighPt;
AliAODTrack *fTrack;
AliPIDResponse *fPIDResponse;
static const char * kBinLabel[];
AliSpectraAODTrackCuts(const AliSpectraAODTrackCuts&);
AliSpectraAODTrackCuts& operator=(const AliSpectraAODTrackCuts&);
ClassDef(AliSpectraAODTrackCuts, 3);
};
#endif
AliSpectraAODTrackCuts.h:1 AliSpectraAODTrackCuts.h:2 AliSpectraAODTrackCuts.h:3 AliSpectraAODTrackCuts.h:4 AliSpectraAODTrackCuts.h:5 AliSpectraAODTrackCuts.h:6 AliSpectraAODTrackCuts.h:7 AliSpectraAODTrackCuts.h:8 AliSpectraAODTrackCuts.h:9 AliSpectraAODTrackCuts.h:10 AliSpectraAODTrackCuts.h:11 AliSpectraAODTrackCuts.h:12 AliSpectraAODTrackCuts.h:13 AliSpectraAODTrackCuts.h:14 AliSpectraAODTrackCuts.h:15 AliSpectraAODTrackCuts.h:16 AliSpectraAODTrackCuts.h:17 AliSpectraAODTrackCuts.h:18 AliSpectraAODTrackCuts.h:19 AliSpectraAODTrackCuts.h:20 AliSpectraAODTrackCuts.h:21 AliSpectraAODTrackCuts.h:22 AliSpectraAODTrackCuts.h:23 AliSpectraAODTrackCuts.h:24 AliSpectraAODTrackCuts.h:25 AliSpectraAODTrackCuts.h:26 AliSpectraAODTrackCuts.h:27 AliSpectraAODTrackCuts.h:28 AliSpectraAODTrackCuts.h:29 AliSpectraAODTrackCuts.h:30 AliSpectraAODTrackCuts.h:31 AliSpectraAODTrackCuts.h:32 AliSpectraAODTrackCuts.h:33 AliSpectraAODTrackCuts.h:34 AliSpectraAODTrackCuts.h:35 AliSpectraAODTrackCuts.h:36 AliSpectraAODTrackCuts.h:37 AliSpectraAODTrackCuts.h:38 AliSpectraAODTrackCuts.h:39 AliSpectraAODTrackCuts.h:40 AliSpectraAODTrackCuts.h:41 AliSpectraAODTrackCuts.h:42 AliSpectraAODTrackCuts.h:43 AliSpectraAODTrackCuts.h:44 AliSpectraAODTrackCuts.h:45 AliSpectraAODTrackCuts.h:46 AliSpectraAODTrackCuts.h:47 AliSpectraAODTrackCuts.h:48 AliSpectraAODTrackCuts.h:49 AliSpectraAODTrackCuts.h:50 AliSpectraAODTrackCuts.h:51 AliSpectraAODTrackCuts.h:52 AliSpectraAODTrackCuts.h:53 AliSpectraAODTrackCuts.h:54 AliSpectraAODTrackCuts.h:55 AliSpectraAODTrackCuts.h:56 AliSpectraAODTrackCuts.h:57 AliSpectraAODTrackCuts.h:58 AliSpectraAODTrackCuts.h:59 AliSpectraAODTrackCuts.h:60 AliSpectraAODTrackCuts.h:61 AliSpectraAODTrackCuts.h:62 AliSpectraAODTrackCuts.h:63 AliSpectraAODTrackCuts.h:64 AliSpectraAODTrackCuts.h:65 AliSpectraAODTrackCuts.h:66 AliSpectraAODTrackCuts.h:67 AliSpectraAODTrackCuts.h:68 AliSpectraAODTrackCuts.h:69 AliSpectraAODTrackCuts.h:70 AliSpectraAODTrackCuts.h:71 AliSpectraAODTrackCuts.h:72 AliSpectraAODTrackCuts.h:73 AliSpectraAODTrackCuts.h:74 AliSpectraAODTrackCuts.h:75 AliSpectraAODTrackCuts.h:76 AliSpectraAODTrackCuts.h:77 AliSpectraAODTrackCuts.h:78 AliSpectraAODTrackCuts.h:79 AliSpectraAODTrackCuts.h:80 AliSpectraAODTrackCuts.h:81 AliSpectraAODTrackCuts.h:82 AliSpectraAODTrackCuts.h:83 AliSpectraAODTrackCuts.h:84 AliSpectraAODTrackCuts.h:85 AliSpectraAODTrackCuts.h:86 AliSpectraAODTrackCuts.h:87 AliSpectraAODTrackCuts.h:88 AliSpectraAODTrackCuts.h:89 AliSpectraAODTrackCuts.h:90 AliSpectraAODTrackCuts.h:91 AliSpectraAODTrackCuts.h:92 AliSpectraAODTrackCuts.h:93 AliSpectraAODTrackCuts.h:94 AliSpectraAODTrackCuts.h:95 AliSpectraAODTrackCuts.h:96 AliSpectraAODTrackCuts.h:97 AliSpectraAODTrackCuts.h:98 AliSpectraAODTrackCuts.h:99 AliSpectraAODTrackCuts.h:100 AliSpectraAODTrackCuts.h:101 AliSpectraAODTrackCuts.h:102 AliSpectraAODTrackCuts.h:103 AliSpectraAODTrackCuts.h:104 AliSpectraAODTrackCuts.h:105 AliSpectraAODTrackCuts.h:106 AliSpectraAODTrackCuts.h:107 AliSpectraAODTrackCuts.h:108