1 #ifndef ALIANACHARGEDPARTICLES_H
2 #define ALIANACHARGEDPARTICLES_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //_________________________________________________________________________
8 // Class for track selection and identification (not done now)
9 // Tracks from the CTS are kept in the AOD.
10 // Few histograms produced.
12 //-- Author: Gustavo Conesa (INFN-LNF)
18 #include "AliAnaCaloTrackCorrBaseClass.h"
20 class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass {
23 AliAnaChargedParticles() ; // default ctor
24 virtual ~AliAnaChargedParticles() { ; } //virtual dtor
26 TList * GetCreateOutputObjects();
30 void InitParameters();
32 void Print(const Option_t * opt) const;
34 void MakeAnalysisFillAOD() ;
36 void MakeAnalysisFillHistograms() ;
38 void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; }
39 void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE ; }
41 void SwitchOnFillTrackBCHistograms() { fFillVertexBC0Histograms = kTRUE ; }
42 void SwitchOffFillTrackBCHistograms() { fFillVertexBC0Histograms = kFALSE ; }
44 void SwitchOnFillVertexBC0Histograms() { fFillVertexBC0Histograms = kTRUE ; }
45 void SwitchOffFillVertexBC0Histograms() { fFillVertexBC0Histograms = kFALSE ; }
49 Bool_t fFillPileUpHistograms; // Fill pile-up related histograms
50 Bool_t fFillTrackBCHistograms; // Fill histograms for tracks with TOF BC=0 or not related histograms
51 Bool_t fFillVertexBC0Histograms; // Fill histograms for tracks with vertex BC=0 or not related histograms
54 TH1F * fhNtracks; //! track multiplicity distribution
55 TH1F * fhPt; //! pT distribution
56 TH1F * fhPtNoCut; //! pT distribution, no cut
57 TH1F * fhPtCutDCA; //! pT distribution, Apply DCA cut
58 TH1F * fhPtCutDCABCOK;//! pT distribution, Apply DCA cut, BC=0 or -100
60 TH1F * fhPtPileUp[7]; //! pT distribution, pile-up defined events
61 TH2F * fhPhiNeg; //! phi distribution vs pT, negative
62 TH2F * fhEtaNeg; //! eta distribution vs pT, negative
63 TH2F * fhPhiPos; //! phi distribution vs pT, positive
64 TH2F * fhEtaPos; //! eta distribution vs pT, positive
65 TH2F * fhEtaPhiPos; //! eta vs phi distribution of positive charge
66 TH2F * fhEtaPhiNeg; //! eta vs phi distribution of negative charge
68 TH1F * fhPtVtxOutBC0; //! pT distribution of tracks from a vertex with BC!=0
69 TH2F * fhEtaPhiVtxOutBC0;//! eta/phi distribution of tracks from a vertex with BC!=0
70 TH1F * fhPtVtxInBC0; //! pT distribution of tracks from a vertex with BC=0
71 TH2F * fhEtaPhiVtxInBC0; //! eta/phi distribution of tracks from a vertex with BC=0
73 TH1F * fhPtSPDRefit; //! pT distribution of tracks with SPD and ITS refit
74 TH1F * fhPtNoSPDRefit; //! pT distribution of constrained tracks no SPD and with ITSRefit
75 TH1F * fhPtNoSPDNoRefit; //! pT distribution of constrained tracks with no SPD requierement and without ITSRefit
77 TH2F * fhEtaPhiSPDRefitPt02; //! eta-phi distribution of tracks with SPD and ITS refit, 0 < pT < 2 GeV
78 TH2F * fhEtaPhiNoSPDRefitPt02; //! eta-phi distribution of constrained tracks no SPD and with ITSRefit, 0 < pT < 2 GeV
79 TH2F * fhEtaPhiNoSPDNoRefitPt02; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit, 0 < pT < 2 GeV
81 TH2F * fhEtaPhiSPDRefitPt3; //! eta-phi distribution of tracks with SPD and ITS refit, pT > 3 GeV
82 TH2F * fhEtaPhiNoSPDRefitPt3; //! eta-phi distribution of constrained tracks no SPD and with ITSRefit, pT > 3 GeV
83 TH2F * fhEtaPhiNoSPDNoRefitPt3; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit, pT > 3 GeV
86 TH1F * fhPtPion; //! pT distribution
87 TH2F * fhPhiPion; //! phi distribution vs pT
88 TH2F * fhEtaPion; //! eta distribution vs pT
90 TH1F * fhPtProton; //! pT distribution
91 TH2F * fhPhiProton; //! phi distribution vs pT
92 TH2F * fhEtaProton; //! eta distribution vs pT
94 TH1F * fhPtElectron; //! pT distribution
95 TH2F * fhPhiElectron; //! phi distribution vs pT
96 TH2F * fhEtaElectron; //! eta distribution vs pT
98 TH1F * fhPtKaon; //! pT distribution
99 TH2F * fhPhiKaon; //! phi distribution vs pT
100 TH2F * fhEtaKaon; //! eta distribution vs pT
102 TH1F * fhPtUnknown; //! pT distribution
103 TH2F * fhPhiUnknown; //! phi distribution vs pT
104 TH2F * fhEtaUnknown; //! eta distribution vs pT
106 TH1F * fhMCPt; //! Number of generated charged hadrons vs pT coming from MC particle
107 TH2F * fhMCPhi; //! Number of generated charged hadrons vs phi coming from MC particle
108 TH2F * fhMCEta; //! Number of generated charged hadrons vs eta coming from MC particle
109 TH1F * fhMCRecPt; //! Number of reconstructed charged hadrons vs pT coming from MC particle
112 TH1F * fhTOFSignal; //! TOF signal
113 TH1F * fhTOFSignalPtCut; //! TOF signal pt and acceptance cut
114 TH1F * fhTOFSignalBCOK; //! TOF signal pt and acceptance cut
115 TH2F * fhPtTOFSignal; //! TOF signal vs track pT, good status
116 TH2F * fhPtTOFSignalDCACut; //! TOF signal vs track pT, good status
117 TH2F * fhPtTOFSignalPileUp[7]; //! TOF signal vs track pT, good status, pile-up
118 TH2F * fhPtTOFSignalVtxOutBC0; //! TOF signal vs track pT, good status
119 TH2F * fhPtTOFSignalVtxOutBC0PileUp[7];//! TOF signal vs track pT, good status, pile-up
120 TH2F * fhPtTOFSignalVtxInBC0; //! TOF signal vs track pT, good status
121 TH2F * fhPtTOFSignalVtxInBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up
122 TH1F * fhPtTOFStatus0; //! pT of tracks not passing TOF status selection
123 TH2F * fhEtaPhiTOFStatus0; //! eta/phi of tracks not passing TOF status selection
124 TH2F * fhEtaPhiTOFBC0; //! eta/phi of tracks passing TOF status selection, tracks in BC=0
125 TH2F * fhEtaPhiTOFBCPlus; //! eta/phi of tracks passing TOF status selection, tracks in BC>0
126 TH2F * fhEtaPhiTOFBCMinus; //! eta/phi of tracks passing TOF status selection, tracks in BC<0
127 TH2F * fhEtaPhiTOFBC0PileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd
128 TH2F * fhEtaPhiTOFBCPlusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd
129 TH2F * fhEtaPhiTOFBCMinusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd
131 TH1F * fhProductionVertexBC; //! check BC of production vertex
132 TH1F * fhProductionVertexBCPileUp[7]; //! check BC of production vertex, pile-up
134 TH2F * fhPtDCA[3]; //! DCA (xy,z,constrained) of all tracks
136 TH2F * fhPtDCASPDRefit[3]; //! DCA (xy,z,constrained) of tracks with SPD and ITS refit
137 TH2F * fhPtDCANoSPDRefit[3]; //! DCA (xy,z,constrained) of constrained tracks no SPD and with ITSRefit
138 TH2F * fhPtDCANoSPDNoRefit[3]; //! DCA (xy,z,constrained) of constrained tracks with no SPD requierement and without ITSRefit
140 TH2F * fhPtDCAVtxOutBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0
141 TH2F * fhPtDCAVtxInBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0
142 TH2F * fhPtDCAPileUp[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up
143 TH2F * fhPtDCAVtxOutBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up
144 TH2F * fhPtDCAVtxInBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0, SPD pile-up
146 TH2F * fhPtDCATOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
147 TH2F * fhPtDCAPileUpTOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
148 TH2F * fhPtDCATOFBCOut[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC!=0
150 TH2F * fhPtDCANoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, no hit in TOF
151 TH2F * fhPtDCAVtxOutBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF
152 TH2F * fhPtDCAVtxInBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, no hit in TOF
153 TH2F * fhPtDCAPileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF
154 TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF
155 TH2F * fhPtDCAVtxInBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, SPD pile-up, no hit in TOF
158 AliAnaChargedParticles( const AliAnaChargedParticles & ch) ; // cpy ctor
159 AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
161 ClassDef(AliAnaChargedParticles,8)
166 #endif //ALIANACHARGEDPARTICLES_H