]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaChargedParticles.h
method to tune TOF tail added to TOF reponse (F. Noferini)
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaChargedParticles.h
CommitLineData
477d6cee 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 */
477d6cee 5
6//_________________________________________________________________________
34c16486 7//
8// Class for track selection and identification (not done now)
9// Tracks from the CTS are kept in the AOD.
10// Few histograms produced.
477d6cee 11//
12//-- Author: Gustavo Conesa (INFN-LNF)
34c16486 13
7cd4e982 14// Root system
477d6cee 15class TH2F;
05d0d05d 16
7cd4e982 17// Analysis system
745913ae 18#include "AliAnaCaloTrackCorrBaseClass.h"
477d6cee 19
745913ae 20class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass {
477d6cee 21
22 public:
c83066dd 23 AliAnaChargedParticles() ; // default ctor
24 virtual ~AliAnaChargedParticles() { ; } // virtual dtor
52bd777f 25
f006731f 26 void FillPrimaryHistograms();
27
477d6cee 28 TList * GetCreateOutputObjects();
cc944149 29
05d0d05d 30 void Init();
477d6cee 31
05d0d05d 32 void InitParameters();
477d6cee 33
05d0d05d 34 void Print(const Option_t * opt) const;
477d6cee 35
05d0d05d 36 void MakeAnalysisFillAOD() ;
477d6cee 37
0cea6003 38 void MakeAnalysisFillHistograms() ;
fedea415 39
3346c3a0 40 void SwitchOnFillTrackBCHistograms() { fFillTrackBCHistograms = kTRUE ; }
41 void SwitchOffFillTrackBCHistograms() { fFillTrackBCHistograms = kFALSE ; }
9b4a1ee2 42
52bd777f 43 void SwitchOnFillVertexBC0Histograms() { fFillVertexBC0Histograms = kTRUE ; }
44 void SwitchOffFillVertexBC0Histograms() { fFillVertexBC0Histograms = kFALSE ; }
45
fedea415 46 private:
05d0d05d 47
c83066dd 48 Bool_t fFillTrackBCHistograms; // Fill histograms for tracks with TOF BC=0 or not related histograms
49 Bool_t fFillVertexBC0Histograms; // Fill histograms for tracks with vertex BC=0 or not related histograms
1290eee4 50 TLorentzVector fMomentum; //! Temporary momentum container
52bd777f 51
fedea415 52 //Histograms
c83066dd 53 TH1F * fhNtracks; //! track multiplicity distribution
54 TH1F * fhPt; //! pT distribution
55 TH1F * fhPtNoCut; //! pT distribution, no cut
56 TH1F * fhPtCutDCA; //! pT distribution, Apply DCA cut
57 TH1F * fhPtCutDCABCOK; //! pT distribution, Apply DCA cut, BC=0 or -100
58
59 TH1F * fhPtPileUp[7]; //! pT distribution, pile-up defined events
60 TH2F * fhPhiNeg; //! phi distribution vs pT, negative
61 TH2F * fhEtaNeg; //! eta distribution vs pT, negative
62 TH2F * fhPhiPos; //! phi distribution vs pT, positive
63 TH2F * fhEtaPos; //! eta distribution vs pT, positive
64 TH2F * fhEtaPhiPos; //! eta vs phi distribution of positive charge
65 TH2F * fhEtaPhiNeg; //! eta vs phi distribution of negative charge
66
67 TH1F * fhPtVtxOutBC0; //! pT distribution of tracks from a vertex with BC!=0
68 TH2F * fhEtaPhiVtxOutBC0; //! eta/phi distribution of tracks from a vertex with BC!=0
69 TH1F * fhPtVtxInBC0; //! pT distribution of tracks from a vertex with BC=0
70 TH2F * fhEtaPhiVtxInBC0; //! eta/phi distribution of tracks from a vertex with BC=0
71
72 TH1F * fhPtSPDRefit; //! pT distribution of tracks with SPD and ITS refit
73 TH1F * fhPtNoSPDRefit; //! pT distribution of constrained tracks no SPD and with ITSRefit
74 TH1F * fhPtNoSPDNoRefit; //! pT distribution of constrained tracks with no SPD requierement and without ITSRefit
75
76 TH2F * fhEtaPhiSPDRefitPt02; //! eta-phi distribution of tracks with SPD and ITS refit, 0 < pT < 2 GeV
77 TH2F * fhEtaPhiNoSPDRefitPt02; //! eta-phi distribution of constrained tracks no SPD and with ITSRefit, 0 < pT < 2 GeV
78 TH2F * fhEtaPhiNoSPDNoRefitPt02; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit, 0 < pT < 2 GeV
79
80 TH2F * fhEtaPhiSPDRefitPt3; //! eta-phi distribution of tracks with SPD and ITS refit, pT > 3 GeV
81 TH2F * fhEtaPhiNoSPDRefitPt3; //! eta-phi distribution of constrained tracks no SPD and with ITSRefit, pT > 3 GeV
82 TH2F * fhEtaPhiNoSPDNoRefitPt3; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit, pT > 3 GeV
8f467228 83
477d6cee 84 //MC
477d6cee 85
cda5c11c 86 enum mvType{kmcPion = 0, kmcProton = 1, kmcKaon = 2, kmcMuon = 3, kmcElectron = 4, kmcUnknown = 5 };
727a309a 87
c83066dd 88 TH1F * fhPtMCPart [6]; //! pT distribution, 6 hadron ID
89 TH2F * fhPhiMCPart[6]; //! phi distribution vs pT, 6 hadron ID
90 TH2F * fhEtaMCPart[6]; //! eta distribution vs pT, 6 hadron ID
62c64236 91
c83066dd 92 TH1F * fhPtMCPrimPart [6]; //! Number of generated charged hadrons vs pT coming from MC particle, 6 hadron ID
93 TH2F * fhPhiMCPrimPart[6]; //! Number of generated charged hadrons vs phi coming from MC particle, 6 hadron ID
94 TH2F * fhEtaMCPrimPart[6]; //! Number of generated charged hadrons vs eta coming from MC particle, 6 hadron ID
727a309a 95
fe9615b9 96 // TOF
c83066dd 97 TH1F * fhTOFSignal; //! TOF signal
98 TH1F * fhTOFSignalPtCut; //! TOF signal pt and acceptance cut
99 TH1F * fhTOFSignalBCOK; //! TOF signal pt and acceptance cut
100 TH2F * fhPtTOFSignal; //! TOF signal vs track pT, good status
101 TH2F * fhPtTOFSignalDCACut; //! TOF signal vs track pT, good status
102 TH2F * fhPtTOFSignalPileUp[7]; //! TOF signal vs track pT, good status, pile-up
103 TH2F * fhPtTOFSignalVtxOutBC0; //! TOF signal vs track pT, good status
104 TH2F * fhPtTOFSignalVtxOutBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up
105 TH2F * fhPtTOFSignalVtxInBC0; //! TOF signal vs track pT, good status
106 TH2F * fhPtTOFSignalVtxInBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up
107 TH1F * fhPtTOFStatus0; //! pT of tracks not passing TOF status selection
108 TH2F * fhEtaPhiTOFStatus0; //! eta/phi of tracks not passing TOF status selection
109 TH2F * fhEtaPhiTOFBC0; //! eta/phi of tracks passing TOF status selection, tracks in BC=0
110 TH2F * fhEtaPhiTOFBCPlus; //! eta/phi of tracks passing TOF status selection, tracks in BC>0
111 TH2F * fhEtaPhiTOFBCMinus; //! eta/phi of tracks passing TOF status selection, tracks in BC<0
112 TH2F * fhEtaPhiTOFBC0PileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd
113 TH2F * fhEtaPhiTOFBCPlusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd
114 TH2F * fhEtaPhiTOFBCMinusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd
115
116 TH1F * fhProductionVertexBC; //! check BC of production vertex
117 TH1F * fhProductionVertexBCPileUp[7]; //! check BC of production vertex, pile-up
118
119 TH2F * fhPtDCA[3]; //! DCA (xy,z,constrained) of all tracks
120
121 TH2F * fhPtDCASPDRefit[3]; //! DCA (xy,z,constrained) of tracks with SPD and ITS refit
122 TH2F * fhPtDCANoSPDRefit[3]; //! DCA (xy,z,constrained) of constrained tracks no SPD and with ITSRefit
123 TH2F * fhPtDCANoSPDNoRefit[3]; //! DCA (xy,z,constrained) of constrained tracks with no SPD requierement and without ITSRefit
124
125 TH2F * fhPtDCAVtxOutBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0
126 TH2F * fhPtDCAVtxInBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0
127 TH2F * fhPtDCAPileUp[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up
128 TH2F * fhPtDCAVtxOutBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up
129 TH2F * fhPtDCAVtxInBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0, SPD pile-up
130
131 TH2F * fhPtDCATOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
132 TH2F * fhPtDCAPileUpTOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
133 TH2F * fhPtDCATOFBCOut[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC!=0
fedea415 134
135 TH2F * fhPtDCANoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, no hit in TOF
52bd777f 136 TH2F * fhPtDCAVtxOutBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF
137 TH2F * fhPtDCAVtxInBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, no hit in TOF
fedea415 138 TH2F * fhPtDCAPileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF
52bd777f 139 TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF
140 TH2F * fhPtDCAVtxInBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, SPD pile-up, no hit in TOF
fedea415 141
c83066dd 142 TH2F * fhPtNPileUpSPDVtx; //! cluster pt vs number of spd pile-up vertices
143 TH2F * fhPtNPileUpTrkVtx; //! cluster pt vs number of track pile-up vertices
144 TH2F * fhPtNPileUpSPDVtxBC0; //! cluster pt vs number of spd pile-up vertices, track in BC=0
145 TH2F * fhPtNPileUpTrkVtxBC0; //! cluster pt vs number of track pile-up vertices, track in BC=0
85c4406e 146
34c16486 147 AliAnaChargedParticles( const AliAnaChargedParticles & ch) ; // cpy ctor
148 AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
c5693f62 149
62c64236 150 ClassDef(AliAnaChargedParticles,10)
05d0d05d 151
152} ;
477d6cee 153
154
155#endif //ALIANACHARGEDPARTICLES_H
156
157
158