]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliAODCentrality.h
Protection against div. by 0 in the Set(xyz,p..) for tracks with momentum along X...
[u/mrichter/AliRoot.git] / STEER / AliAODCentrality.h
CommitLineData
c94a2509 1#ifndef AliAODCentrality_H
2#define AliAODCentrality_H
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7//-------------------------------------------------------------------------
8// AOD centrality class
9// Author: Alberica Toia, CERN, Alberica.Toia@cern.ch
10//-------------------------------------------------------------------------
11
12#include <TNamed.h>
13
14class AliAODCentrality : public TNamed {
15
16 public :
17
18 AliAODCentrality();
19 virtual ~AliAODCentrality();
20 AliAODCentrality(const AliAODCentrality& cnt);
21 AliAODCentrality& operator=(const AliAODCentrality& cnt);
22
c94a2509 23 void SetxVertex (Double_t x) {fxVertex = x; }
24 void SetyVertex (Double_t x) {fyVertex = x; }
25 void SetzVertex (Double_t x) {fzVertex = x; }
26 void SetVertexer3d (Bool_t x) {fVertexer3d = x; }
27 void SetbMC (Double_t x) {fbMC = x; }
28 void SetNpartTargMC (Int_t x) {fNpartTargMC = x; }
29 void SetNpartProjMC (Int_t x) {fNpartProjMC = x; }
30 void SetNNColl (Int_t x) {fNNColl = x; }
31 void SetNNwColl (Int_t x) {fNNwColl = x; }
32 void SetNwNColl (Int_t x) {fNwNColl = x; }
33 void SetNwNwColl (Int_t x) {fNwNwColl = x; }
34 void SetNTracklets (Int_t x) {fNTracklets = x; }
35 void SetNSingleClusters (Int_t x) {fNSingleClusters = x; }
36 void SetNClusters (Int_t x0, Int_t x1, Int_t x2, Int_t x3, Int_t x4, Int_t x5) {
37 fNClusters[0] = x0;
38 fNClusters[1] = x1;
39 fNClusters[2] = x2;
40 fNClusters[3] = x3;
41 fNClusters[4] = x4;
42 fNClusters[5] = x5;
43 }
44 void SetNChips (Int_t x0, Int_t x1) {
45 fNChips[0] = x0;
46 fNChips[1] = x1;
47 }
48 void SetbZDC (Double_t x) {fbZDC = x; }
49 void SetNpartZDC (Int_t x) {fNpartZDC = x; }
50 void SetbZDCA (Double_t x) {fbZDCA = x; }
51 void SetNpartZDCA (Int_t x) {fNpartZDCA = x; }
52 void SetbZDCC (Double_t x) {fbZDCC = x; }
53 void SetNpartZDCC (Int_t x) {fNpartZDCC = x; }
54 void SetESDFlag (UInt_t x) {fESDFlag = x; }
55 void SetZNCEnergy (Float_t x) {fZNCEnergy = x; }
56 void SetZPCEnergy (Float_t x) {fZPCEnergy = x; }
57 void SetZNAEnergy (Float_t x) {fZNAEnergy = x; }
58 void SetZPAEnergy (Float_t x) {fZPAEnergy = x; }
59 void SetZEM1Energy (Float_t x) {fZEM1Energy = x; }
60 void SetZEM2Energy (Float_t x) {fZEM2Energy = x; }
61 void SetZNCtower (Float_t x0, Float_t x1, Float_t x2, Float_t x3, Float_t x4) {
5e6a3170 62 fZNCtower[0] = x0; fZNCtower[1] = x1; fZNCtower[2] = x2; fZNCtower[3] = x3; fZNCtower[4] = x4;
c94a2509 63 }
64 void SetZPCtower (Float_t x0, Float_t x1, Float_t x2, Float_t x3, Float_t x4) {
5e6a3170 65 fZPCtower[0] = x0; fZPCtower[1] = x1; fZPCtower[2] = x2; fZPCtower[3] = x3; fZPCtower[4] = x4;
c94a2509 66 }
67 void SetZNAtower (Float_t x0, Float_t x1, Float_t x2, Float_t x3, Float_t x4) {
5e6a3170 68 fZNAtower[0] = x0; fZNAtower[1] = x1; fZNAtower[2] = x2; fZNAtower[3] = x3; fZNAtower[4] = x4;
c94a2509 69 }
70 void SetZPAtower (Float_t x0, Float_t x1, Float_t x2, Float_t x3, Float_t x4) {
5e6a3170 71 fZPAtower[0] = x0; fZPAtower[1] = x1; fZPAtower[2] = x2; fZPAtower[3] = x3; fZPAtower[4] = x4;
c94a2509 72 }
73 void SetCentrZNC (Float_t x0, Float_t x1) {
5e6a3170 74 fCentrZNC[0] = x0; fCentrZNC[1] = x1;
c94a2509 75 }
76 void SetCentrZNA (Float_t x0, Float_t x1) {
5e6a3170 77 fCentrZNA[0] = x0; fCentrZNA[1] = x1;
c94a2509 78 }
79 void SetNTracks (Int_t x) {fNTracks = x; }
80 void SetNPmdTracks (Int_t x) {fNPmdTracks = x; }
81 void SetMultV0A (Double_t x) {fMultV0A = x; }
82 void SetMultV0C (Double_t x) {fMultV0C = x; }
83 void SetMultFMDA (Float_t x) {fMultFMDA = x; }
84 void SetMultFMDC (Float_t x) {fMultFMDC = x; }
85
c94a2509 86 Double_t GetxVertex () const {return fxVertex ; }
87 Double_t GetyVertex () const {return fyVertex ; }
88 Double_t GetzVertex () const {return fzVertex ; }
89 Bool_t GetVertexer3d () const {return fVertexer3d ; }
90 Double_t GetbMC () const {return fbMC ;}
91 Int_t GetNpartTargMC () const {return fNpartTargMC ;}
92 Int_t GetNpartProjMC () const {return fNpartProjMC ;}
93 Int_t GetNNColl () const {return fNNColl ;}
94 Int_t GetNNwColl () const {return fNNwColl ;}
95 Int_t GetNwNColl () const {return fNwNColl ;}
96 Int_t GetNwNwColl () const {return fNwNwColl ;}
97 Int_t GetNTracklets () const {return fNTracklets ;}
98 Int_t GetNSingleClusters () const {return fNSingleClusters;}
99 Int_t GetNClusters0 () const {return fNClusters[0];}
100 Int_t GetNClusters1 () const {return fNClusters[1];}
101 Int_t GetNClusters2 () const {return fNClusters[2];}
102 Int_t GetNClusters3 () const {return fNClusters[3];}
103 Int_t GetNClusters4 () const {return fNClusters[4];}
104 Int_t GetNClusters5 () const {return fNClusters[5];}
105 Int_t GetNChip0 () const {return fNChips[0];}
106 Int_t GetNChip1 () const {return fNChips[1];}
107 Double_t GetbZDC () const {return fbZDC ;}
108 Int_t GetNpartZDC () const {return fNpartZDC ;}
109 Double_t GetbZDCA () const {return fbZDCA ;}
110 Int_t GetNpartZDCA () const {return fNpartZDCA ;}
111 Double_t GetbZDCC () const {return fbZDCC ;}
112 Int_t GetNpartZDCC () const {return fNpartZDCC ;}
113 UInt_t GetESDFlag () const {return fESDFlag ;}
114 Float_t GetZNCEnergy () const {return fZNCEnergy ;}
115 Float_t GetZPCEnergy () const {return fZPCEnergy ;}
116 Float_t GetZNAEnergy () const {return fZNAEnergy ;}
117 Float_t GetZPAEnergy () const {return fZPAEnergy ;}
118 Float_t GetZEM1Energy () const {return fZEM1Energy ;}
119 Float_t GetZEM2Energy () const {return fZEM2Energy ;}
120 Float_t GetZNCtower0 () const {return fZNCtower[0] ;}
121 Float_t GetZNCtower1 () const {return fZNCtower[1] ;}
122 Float_t GetZNCtower2 () const {return fZNCtower[2] ;}
123 Float_t GetZNCtower3 () const {return fZNCtower[3] ;}
124 Float_t GetZNCtower4 () const {return fZNCtower[4] ;}
125 Float_t GetZPCtower0 () const {return fZPCtower[0] ;}
126 Float_t GetZPCtower1 () const {return fZPCtower[1] ;}
127 Float_t GetZPCtower2 () const {return fZPCtower[2] ;}
128 Float_t GetZPCtower3 () const {return fZPCtower[3] ;}
129 Float_t GetZPCtower4 () const {return fZPCtower[4] ;}
130 Float_t GetZNAtower0 () const {return fZNAtower[0] ;}
131 Float_t GetZNAtower1 () const {return fZNAtower[1] ;}
132 Float_t GetZNAtower2 () const {return fZNAtower[2] ;}
133 Float_t GetZNAtower3 () const {return fZNAtower[3] ;}
134 Float_t GetZNAtower4 () const {return fZNAtower[4] ;}
135 Float_t GetZPAtower0 () const {return fZPAtower[0] ;}
136 Float_t GetZPAtower1 () const {return fZPAtower[1] ;}
137 Float_t GetZPAtower2 () const {return fZPAtower[2] ;}
138 Float_t GetZPAtower3 () const {return fZPAtower[3] ;}
139 Float_t GetZPAtower4 () const {return fZPAtower[4] ;}
140 Float_t GetCentrZNC0 () const {return fCentrZNC[0] ;}
141 Float_t GetCentrZNC1 () const {return fCentrZNC[1] ;}
142 Float_t GetCentrZNA0 () const {return fCentrZNA[0] ;}
143 Float_t GetCentrZNA1 () const {return fCentrZNA[1] ;}
144 Int_t GetNTracks () const {return fNTracks ;}
145 Int_t GetNPmdTracks () const {return fNPmdTracks ;}
146 Double_t GetMultV0A () const {return fMultV0A ;}
147 Double_t GetMultV0C () const {return fMultV0C ;}
148 Float_t GetMultFMDA () const {return fMultFMDA ;}
149 Float_t GetMultFMDC () const {return fMultFMDC ;}
150
151 void Print(Option_t* option = "") const;
152 const char* GetOutputFileName() const {return TNamed::GetName();}
153 void SetOutputFileName(const char* fname) {TNamed::SetName(fname);}
154
155
156 private:
c94a2509 157 Double_t fxVertex; // X vertex from ITS
158 Double_t fyVertex; // Y vertex from ITS
159 Double_t fzVertex; // Z vertex from ITS
160 Bool_t fVertexer3d; // Is vertex from 3d vertexer?
161 //
162 Double_t fbMC; // impact parameter from MC
163 Int_t fNpartTargMC; // no. of participants for target nucleus from MC
164 Int_t fNpartProjMC; // no. of participants for project nucleus from MC
165 Int_t fNNColl; // Number of N-N collisions
166 Int_t fNNwColl; // Number of N-Nwounded collisions
167 Int_t fNwNColl; // Number of Nwounded-N collisons
168 Int_t fNwNwColl; // Number of Nwounded-Nwounded collisions
169 //
170 Int_t fNTracklets; // no. tracklets
171 Int_t fNSingleClusters; // no. single clusters
172 Int_t fNClusters[6]; // no. clusters on 6 ITS layers
173 Int_t fNChips[2]; // no. chips on 2 SPD layers
174 //
175 Double_t fbZDC; // impact parameter from ZDC reco
176 Int_t fNpartZDC; // no. of participants from ZDC reco
177 Double_t fbZDCA; // impact parameter from ZDC reco side A
178 Int_t fNpartZDCA; // no. of part. from ZDC reco side A
179 Double_t fbZDCC; // impact parameter from ZDC reco side C
180 Int_t fNpartZDCC; // no. of part. from ZDC reco side C
181 //
182 UInt_t fESDFlag; // ZDC ESD flags
183 Float_t fZNCEnergy; // ZNC Energy
184 Float_t fZPCEnergy; // ZPC Energy
185 Float_t fZNAEnergy; // ZNA Energy
186 Float_t fZPAEnergy; // ZPA Energy
187 Float_t fZEM1Energy; // ZEM1 Energy
188 Float_t fZEM2Energy; // ZEM2 Energy
189 Float_t fZNCtower[5]; // ZNC 5 tower signals
190 Float_t fZPCtower[5]; // ZPC 5 tower signals
191 Float_t fZNAtower[5]; // ZNA 5 tower signals
192 Float_t fZPAtower[5]; // ZPA 5 tower signals
193 Float_t fCentrZNC[2]; // centroid over ZNC
194 Float_t fCentrZNA[2]; // centroid over ZNA
195
196 Int_t fNTracks; // no. tracks
197 Int_t fNPmdTracks; // no. PMD tracks
198 Double_t fMultV0A; // multiplicity from V0 reco side A
199 Double_t fMultV0C; // multiplicity from V0 reco side C
200 Float_t fMultFMDA; // multiplicity from FMD on detector A
201 Float_t fMultFMDC; // multiplicity from FMD on detector C
202
203 ClassDef(AliAODCentrality, 1);
204};
205
206
207#endif