]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODTrackCuts.h
- Patch for centrality selection applied - signal for reconstructedID added
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliSpectraAODTrackCuts.h
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
15 class AliAODEvent;
16 class AliSpectraAODHistoManager;
17 #include "AliAODMCParticle.h"
18 #include "AliSpectraAODHistoManager.h"
19 #include "TNamed.h"
20
21 using namespace AliSpectraNameSpace;
22  
23 const char * kBinLabel[] ={"TrkBit",
24                            "TrkCuts",
25                            "TrkEta",
26                            "TrkDCA",
27                            "TrkP",
28                            "TrkPt",
29                            "TrkPtTOF",
30                            "TOFMatching",
31                            "kTOFout",
32                            "kTIME",
33                            "kTOFpid",
34                            "Accepted"};
35
36 class AliSpectraAODTrackCuts : public TNamed
37 {
38  public:
39   
40   enum { kTrkBit = 0, kTrkCuts, kTrkEta, kTrkDCA, kTrkP, kTrkPt,kTrkPtTOF,kTOFMatching,kTrTOFout,kTrTIME,kTrTOFpid,kAccepted,kNTrkCuts};
41   
42   
43  AliSpectraAODTrackCuts() : TNamed(), fIsSelected(0), fTrackBits(0), fEtaCut(0), fPCut(0), fPtCut(0), fPtCutTOFMatching(0), fQvecCutMin(0), fQvecCutMax(0), fHistoCuts(0), fHistoNSelectedPos(0), fHistoNSelectedNeg(0), fHistoNMatchedPos(0), fHistoNMatchedNeg(0), fHistoEtaPhiHighPt(0), fTrack(0) {}
44   
45   AliSpectraAODTrackCuts(const char *name);
46   virtual  ~AliSpectraAODTrackCuts() {} // To be implemented
47   
48   Bool_t IsSelected(AliAODTrack * track);
49   
50   void SetTrackType(UInt_t bit);
51   Bool_t CheckTrackType();
52   Bool_t CheckTrackCuts();
53   Bool_t CheckEtaCut();
54   Bool_t CheckYCut(AODParticleSpecies_t specie); // not included in standard cuts
55   Bool_t CheckDCACut();
56   Bool_t CheckPCut();
57   Bool_t CheckPtCut();
58   Bool_t CheckTOFMatching();
59   void PrintCuts() const;
60   
61    UInt_t GetTrackType()  const    { return fTrackBits; }
62    TH1I * GetHistoCuts()      { return fHistoCuts; }
63    TH1F * GetHistoNSelectedPos()      { return fHistoNSelectedPos; } 
64    TH1F * GetHistoNSelectedNeg()      { return fHistoNSelectedNeg; }
65    TH1F * GetHistoNMatchedPos()      { return fHistoNMatchedPos; }
66    TH1F * GetHistoNMatchedNeg()      { return fHistoNMatchedNeg; }
67    TH2F * GetHistoEtaPhiHighPt()      { return fHistoEtaPhiHighPt; }
68    void SetEta(Float_t eta)   { fEtaCut = eta; }
69    void SetDCA(Float_t dca)   { fDCACut = dca; }
70    void SetP(Float_t p)       { fPCut = p; }
71    void SetPt(Float_t pt)     { fPtCut = pt; }
72    void SetY(Float_t y) { fYCut = y;}
73    void SetPtTOFMatching(Float_t pt)     { fPtCutTOFMatching = pt; }
74    void SetQvecMin(Float_t qvecmin)     { fQvecCutMin = qvecmin; }
75    void SetQvecMax(Float_t qvecmax)     { fQvecCutMax = qvecmax; }
76    Float_t GetEta()       const    { return fEtaCut; }
77    Float_t GetY()         const    { return fYCut; }
78    Float_t GetDCA()       const    { return fDCACut; }
79    Float_t GetP()         const    { return fPCut; }
80    Float_t GetPt()        const    { return fPtCut; }
81    Float_t GetPtTOFMatching()        const    { return fPtCutTOFMatching; }
82    Float_t GetQvecMin()        const    { return fQvecCutMin; }
83    Float_t GetQvecMax()        const    { return fQvecCutMax; }
84     
85    Long64_t Merge(TCollection* list);
86    
87    
88  private:
89    
90    Bool_t           fIsSelected;      // True if cuts are selected
91    UInt_t           fTrackBits;       // Type of track to be used
92    Float_t          fEtaCut;          // Allowed absolute maximum value of Eta
93    Float_t          fDCACut;          // Maximum value of DCA
94    Float_t          fPCut;            // Maximum value of P
95    Float_t          fPtCut;           // Maximum value of Pt
96    Float_t          fYCut;           // Maximum value of Y
97    Float_t          fPtCutTOFMatching;           // TOF Matching
98    Float_t          fQvecCutMin;           // Minimum value of Qvec
99    Float_t          fQvecCutMax;           // Minimum value of Qvec
100    TH1I             *fHistoCuts;       // Cuts statistics
101    TH1F             *fHistoNSelectedPos;       // Selected positive tracks
102    TH1F             *fHistoNSelectedNeg;       // Selected negative tracks
103    TH1F             *fHistoNMatchedPos;       // Matched positive tracks
104    TH1F             *fHistoNMatchedNeg;       // Matched negative tracks
105    TH2F             *fHistoEtaPhiHighPt;       // EtaPhi distr at high pt (>1.5 GeV/c)
106    AliAODTrack      *fTrack;           //! Track pointer
107    
108    AliSpectraAODTrackCuts(const AliSpectraAODTrackCuts&);
109    AliSpectraAODTrackCuts& operator=(const AliSpectraAODTrackCuts&);
110    
111    ClassDef(AliSpectraAODTrackCuts, 1);
112 };
113 #endif
114