]>
Commit | Line | Data |
---|---|---|
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 | 15 | class TH2F; |
05d0d05d | 16 | |
7cd4e982 | 17 | // Analysis system |
745913ae | 18 | #include "AliAnaCaloTrackCorrBaseClass.h" |
477d6cee | 19 | |
745913ae | 20 | class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass { |
477d6cee | 21 | |
22 | public: | |
c83066dd | 23 | AliAnaChargedParticles() ; // default ctor |
24 | virtual ~AliAnaChargedParticles() { ; } // virtual dtor | |
52bd777f | 25 | |
477d6cee | 26 | TList * GetCreateOutputObjects(); |
cc944149 | 27 | |
05d0d05d | 28 | void Init(); |
477d6cee | 29 | |
05d0d05d | 30 | void InitParameters(); |
477d6cee | 31 | |
05d0d05d | 32 | void Print(const Option_t * opt) const; |
477d6cee | 33 | |
05d0d05d | 34 | void MakeAnalysisFillAOD() ; |
477d6cee | 35 | |
05d0d05d | 36 | void MakeAnalysisFillHistograms() ; |
477d6cee | 37 | |
52bd777f | 38 | void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; } |
39 | void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE ; } | |
fedea415 | 40 | |
85c4406e | 41 | void SwitchOnFillTrackBCHistograms() { fFillVertexBC0Histograms = kTRUE ; } |
42 | void SwitchOffFillTrackBCHistograms() { fFillVertexBC0Histograms = kFALSE ; } | |
9b4a1ee2 | 43 | |
52bd777f | 44 | void SwitchOnFillVertexBC0Histograms() { fFillVertexBC0Histograms = kTRUE ; } |
45 | void SwitchOffFillVertexBC0Histograms() { fFillVertexBC0Histograms = kFALSE ; } | |
46 | ||
fedea415 | 47 | private: |
05d0d05d | 48 | |
c83066dd | 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 | |
52bd777f | 52 | |
fedea415 | 53 | //Histograms |
c83066dd | 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 | |
59 | ||
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 | |
67 | ||
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 | |
72 | ||
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 | |
76 | ||
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 | |
80 | ||
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 | |
8f467228 | 84 | |
477d6cee | 85 | //MC |
477d6cee | 86 | |
cda5c11c | 87 | enum mvType{kmcPion = 0, kmcProton = 1, kmcKaon = 2, kmcMuon = 3, kmcElectron = 4, kmcUnknown = 5 }; |
727a309a | 88 | |
c83066dd | 89 | TH1F * fhPtMCPart [6]; //! pT distribution, 6 hadron ID |
90 | TH2F * fhPhiMCPart[6]; //! phi distribution vs pT, 6 hadron ID | |
91 | TH2F * fhEtaMCPart[6]; //! eta distribution vs pT, 6 hadron ID | |
62c64236 | 92 | |
c83066dd | 93 | TH1F * fhPtMCPrimPart [6]; //! Number of generated charged hadrons vs pT coming from MC particle, 6 hadron ID |
94 | TH2F * fhPhiMCPrimPart[6]; //! Number of generated charged hadrons vs phi coming from MC particle, 6 hadron ID | |
95 | TH2F * fhEtaMCPrimPart[6]; //! Number of generated charged hadrons vs eta coming from MC particle, 6 hadron ID | |
727a309a | 96 | |
fe9615b9 | 97 | // TOF |
c83066dd | 98 | TH1F * fhTOFSignal; //! TOF signal |
99 | TH1F * fhTOFSignalPtCut; //! TOF signal pt and acceptance cut | |
100 | TH1F * fhTOFSignalBCOK; //! TOF signal pt and acceptance cut | |
101 | TH2F * fhPtTOFSignal; //! TOF signal vs track pT, good status | |
102 | TH2F * fhPtTOFSignalDCACut; //! TOF signal vs track pT, good status | |
103 | TH2F * fhPtTOFSignalPileUp[7]; //! TOF signal vs track pT, good status, pile-up | |
104 | TH2F * fhPtTOFSignalVtxOutBC0; //! TOF signal vs track pT, good status | |
105 | TH2F * fhPtTOFSignalVtxOutBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up | |
106 | TH2F * fhPtTOFSignalVtxInBC0; //! TOF signal vs track pT, good status | |
107 | TH2F * fhPtTOFSignalVtxInBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up | |
108 | TH1F * fhPtTOFStatus0; //! pT of tracks not passing TOF status selection | |
109 | TH2F * fhEtaPhiTOFStatus0; //! eta/phi of tracks not passing TOF status selection | |
110 | TH2F * fhEtaPhiTOFBC0; //! eta/phi of tracks passing TOF status selection, tracks in BC=0 | |
111 | TH2F * fhEtaPhiTOFBCPlus; //! eta/phi of tracks passing TOF status selection, tracks in BC>0 | |
112 | TH2F * fhEtaPhiTOFBCMinus; //! eta/phi of tracks passing TOF status selection, tracks in BC<0 | |
113 | TH2F * fhEtaPhiTOFBC0PileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd | |
114 | TH2F * fhEtaPhiTOFBCPlusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd | |
115 | TH2F * fhEtaPhiTOFBCMinusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd | |
116 | ||
117 | TH1F * fhProductionVertexBC; //! check BC of production vertex | |
118 | TH1F * fhProductionVertexBCPileUp[7]; //! check BC of production vertex, pile-up | |
119 | ||
120 | TH2F * fhPtDCA[3]; //! DCA (xy,z,constrained) of all tracks | |
121 | ||
122 | TH2F * fhPtDCASPDRefit[3]; //! DCA (xy,z,constrained) of tracks with SPD and ITS refit | |
123 | TH2F * fhPtDCANoSPDRefit[3]; //! DCA (xy,z,constrained) of constrained tracks no SPD and with ITSRefit | |
124 | TH2F * fhPtDCANoSPDNoRefit[3]; //! DCA (xy,z,constrained) of constrained tracks with no SPD requierement and without ITSRefit | |
125 | ||
126 | TH2F * fhPtDCAVtxOutBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0 | |
127 | TH2F * fhPtDCAVtxInBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0 | |
128 | TH2F * fhPtDCAPileUp[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up | |
129 | TH2F * fhPtDCAVtxOutBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up | |
130 | TH2F * fhPtDCAVtxInBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC==0, SPD pile-up | |
131 | ||
132 | TH2F * fhPtDCATOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0 | |
133 | TH2F * fhPtDCAPileUpTOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0 | |
134 | TH2F * fhPtDCATOFBCOut[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC!=0 | |
fedea415 | 135 | |
136 | TH2F * fhPtDCANoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, no hit in TOF | |
52bd777f | 137 | TH2F * fhPtDCAVtxOutBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF |
138 | TH2F * fhPtDCAVtxInBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, no hit in TOF | |
fedea415 | 139 | TH2F * fhPtDCAPileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF |
52bd777f | 140 | TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF |
141 | TH2F * fhPtDCAVtxInBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC=0, SPD pile-up, no hit in TOF | |
fedea415 | 142 | |
c83066dd | 143 | TH2F * fhPtNPileUpSPDVtx; //! cluster pt vs number of spd pile-up vertices |
144 | TH2F * fhPtNPileUpTrkVtx; //! cluster pt vs number of track pile-up vertices | |
145 | TH2F * fhPtNPileUpSPDVtxBC0; //! cluster pt vs number of spd pile-up vertices, track in BC=0 | |
146 | TH2F * fhPtNPileUpTrkVtxBC0; //! cluster pt vs number of track pile-up vertices, track in BC=0 | |
85c4406e | 147 | |
34c16486 | 148 | AliAnaChargedParticles( const AliAnaChargedParticles & ch) ; // cpy ctor |
149 | AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment | |
c5693f62 | 150 | |
62c64236 | 151 | ClassDef(AliAnaChargedParticles,10) |
05d0d05d | 152 | |
153 | } ; | |
477d6cee | 154 | |
155 | ||
156 | #endif //ALIANACHARGEDPARTICLES_H | |
157 | ||
158 | ||
159 |