1 #include "AliESDVZERO.h"
6 //__________________________________________________________________________
7 AliESDVZERO::AliESDVZERO()
17 fV0ADecision(kV0Invalid),
18 fV0CDecision(kV0Invalid)
20 // Default constructor
21 for(Int_t j=0; j<64; j++){
22 fMultiplicity[j] = 0.0;
31 //__________________________________________________________________________
32 AliESDVZERO::AliESDVZERO(const AliESDVZERO &o)
34 fBBtriggerV0A(o.fBBtriggerV0A),
35 fBGtriggerV0A(o.fBGtriggerV0A),
36 fBBtriggerV0C(o.fBBtriggerV0C),
37 fBGtriggerV0C(o.fBGtriggerV0C),
40 fV0ATimeError(o.fV0ATimeError),
41 fV0CTimeError(o.fV0CTimeError),
42 fV0ADecision(o.fV0ADecision),
43 fV0CDecision(o.fV0CDecision)
45 // Default constructor
46 for(Int_t j=0; j<64; j++) {
47 fMultiplicity[j] = o.fMultiplicity[j];
49 fTime[j] = o.fTime[j];
50 fWidth[j] = o.fWidth[j];
51 fBBFlag[j] = o.fBBFlag[j];
52 fBGFlag[j] = o.fBGFlag[j];
56 //__________________________________________________________________________
57 AliESDVZERO::AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A,
58 UInt_t BBtriggerV0C, UInt_t BGtriggerV0C,
59 Float_t *Multiplicity, Float_t *Adc,
60 Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag)
62 fBBtriggerV0A(BBtriggerV0A),
63 fBGtriggerV0A(BGtriggerV0A),
64 fBBtriggerV0C(BBtriggerV0C),
65 fBGtriggerV0C(BGtriggerV0C),
70 fV0ADecision(kV0Invalid),
71 fV0CDecision(kV0Invalid)
74 for(Int_t j=0; j<64; j++) {
75 fMultiplicity[j] = Multiplicity[j];
79 fBBFlag[j] = BBFlag[j];
80 fBGFlag[j] = BGFlag[j];
84 //__________________________________________________________________________
85 AliESDVZERO& AliESDVZERO::operator=(const AliESDVZERO& o)
88 if(this==&o) return *this;
89 TObject::operator=(o);
90 // Assignment operator
91 fBBtriggerV0A=o.fBBtriggerV0A;
92 fBGtriggerV0A=o.fBGtriggerV0A;
93 fBBtriggerV0C=o.fBBtriggerV0C;
94 fBGtriggerV0C=o.fBGtriggerV0C;
96 fV0ATime = o.fV0ATime;
97 fV0CTime = o.fV0CTime;
98 fV0ATimeError = o.fV0ATimeError;
99 fV0CTimeError = o.fV0CTimeError;
100 fV0ADecision = o.fV0ADecision;
101 fV0CDecision = o.fV0CDecision;
103 for(Int_t j=0; j<64; j++) {
104 fMultiplicity[j] = o.fMultiplicity[j];
106 fTime[j] = o.fTime[j];
107 fWidth[j] = o.fWidth[j];
108 fBBFlag[j] = o.fBBFlag[j];
109 fBGFlag[j] = o.fBGFlag[j];
114 //__________________________________________________________________________
115 Short_t AliESDVZERO::GetNbPMV0A() const
117 // Returns the number of
120 for(Int_t i=32;i<64;i++)
121 if (fMultiplicity[i]>0) n++;
125 //__________________________________________________________________________
126 Short_t AliESDVZERO::GetNbPMV0C() const
128 // Returns the number of
131 for(Int_t i=0;i<32;i++)
132 if (fMultiplicity[i]>0) n++;
136 //__________________________________________________________________________
137 Float_t AliESDVZERO::GetMTotV0A() const
139 // returns total multiplicity
142 for(Int_t i=32;i<64;i++)
143 mul+= fMultiplicity[i];
147 //__________________________________________________________________________
148 Float_t AliESDVZERO::GetMTotV0C() const
150 // returns total multiplicity
153 for(Int_t i=0;i<32;i++)
154 mul+= fMultiplicity[i];
158 //__________________________________________________________________________
159 Float_t* AliESDVZERO::GetMRingV0A() const
161 // cout << "AliESDVZERO::GetMRingV0C() not supported any more" << endl;
162 // cout << "use Int_t AliESDVZERO::GetMRingV0C(Int_t ring)" << endl;
163 AliInfo("AliESDVZERO::GetMRingV0C() not supported any more");
164 AliInfo("use Float_t AliESDVZERO::GetMRingV0C(Int_t ring)");
168 //__________________________________________________________________________
169 Float_t* AliESDVZERO::GetMRingV0C() const
171 // cout << "AliESDVZERO::GetMRingV0C() not supported any more" << endl;
172 // cout << "use Int_t AliESDVZERO::GetMRingV0C(Int_t ring)" << endl;
173 AliInfo("AliESDVZERO::GetMRingV0C() not supported any more");
174 AliInfo("use Float_t AliESDVZERO::GetMRingV0C(Int_t ring)");
178 //__________________________________________________________________________
179 Float_t AliESDVZERO::GetMRingV0A(Int_t ring) const
181 // returns multiplicity in a
183 if (OutOfRange(ring, "AliESDVZERO:::GetMRingV0A",4)) return -1;
186 if (ring == 0) for(Int_t i=32;i<40;i++) mul += fMultiplicity[i];
187 if (ring == 1) for(Int_t i=40;i<48;i++) mul += fMultiplicity[i];
188 if (ring == 2) for(Int_t i=48;i<56;i++) mul += fMultiplicity[i];
189 if (ring == 3) for(Int_t i=56;i<64;i++) mul += fMultiplicity[i];
193 //__________________________________________________________________________
194 Float_t AliESDVZERO::GetMRingV0C(Int_t ring) const
196 // returns multiplicity in a
198 if (OutOfRange(ring, "AliESDVZERO:::GetMRingV0C",4)) return -1;
201 if (ring == 0) for(Int_t i=0;i<8;i++) mul += fMultiplicity[i];
202 if (ring == 1) for(Int_t i=8;i<16;i++) mul += fMultiplicity[i];
203 if (ring == 2) for(Int_t i=16;i<24;i++) mul += fMultiplicity[i];
204 if (ring == 3) for(Int_t i=24;i<32;i++) mul += fMultiplicity[i];
208 //__________________________________________________________________________
209 Float_t AliESDVZERO::GetMultiplicity(Int_t i) const
212 // returns multiplicity in a
214 if (OutOfRange(i, "AliESDVZERO::GetMultiplicity:",64)) return -1;
215 return fMultiplicity[i];
218 //__________________________________________________________________________
219 Float_t AliESDVZERO::GetMultiplicityV0A(Int_t i) const
222 // returns multiplicity in a
224 if (OutOfRange(i, "AliESDVZERO::GetMultiplicityV0A:",32)) return -1;
225 return fMultiplicity[32+i];
228 //__________________________________________________________________________
229 Float_t AliESDVZERO::GetMultiplicityV0C(Int_t i) const
232 // returns multiplicity in a
234 if (OutOfRange(i, "AliESDVZERO::GetMultiplicityV0C:",32)) return -1;
235 return fMultiplicity[i];
238 //__________________________________________________________________________
239 Float_t AliESDVZERO::GetAdc(Int_t i) const
242 // returns ADC charge in a
244 if (OutOfRange(i, "AliESDVZERO::GetAdc:",64)) return -1;
248 //__________________________________________________________________________
249 Float_t AliESDVZERO::GetAdcV0A(Int_t i) const
252 // returns ADC charge in a
254 if (OutOfRange(i, "AliESDVZERO::GetAdcV0A:",32)) return -1;
258 //__________________________________________________________________________
259 Float_t AliESDVZERO::GetAdcV0C(Int_t i) const
262 // returns ADC charge in a
264 if (OutOfRange(i, "AliESDVZERO::GetAdcV0C:",32)) return -1;
268 //__________________________________________________________________________
269 Float_t AliESDVZERO::GetTime(Int_t i) const
272 // returns leading time measured by TDC
273 // in a given cell of V0
274 if (OutOfRange(i, "AliESDVZERO::GetTime:",64)) return -1;
278 //__________________________________________________________________________
279 Float_t AliESDVZERO::GetTimeV0A(Int_t i) const
282 // returns leading time measured by TDC
283 // in a given cell of V0A
284 if (OutOfRange(i, "AliESDVZERO::GetTimeV0A:",32)) return -1;
288 //__________________________________________________________________________
289 Float_t AliESDVZERO::GetTimeV0C(Int_t i) const
292 // returns leading time measured by TDC
293 // in a given cell of V0C
294 if (OutOfRange(i, "AliESDVZERO::GetTimeV0C:",32)) return -1;
298 //__________________________________________________________________________
299 Float_t AliESDVZERO::GetWidth(Int_t i) const
302 // returns time signal width
303 // in a given cell of V0
304 if (OutOfRange(i, "AliESDVZERO::GetWidth:",64)) return -1;
308 //__________________________________________________________________________
309 Float_t AliESDVZERO::GetWidthV0A(Int_t i) const
312 // returns time signal width
313 // in a given cell of V0A
314 if (OutOfRange(i, "AliESDVZERO::GetWidthV0A:",32)) return -1;
318 //__________________________________________________________________________
319 Float_t AliESDVZERO::GetWidthV0C(Int_t i) const
322 // returns time signal width
323 // in a given cell of V0C
324 if (OutOfRange(i, "AliESDVZERO::GetWidthV0C:",32)) return -1;
328 //__________________________________________________________________________
329 Bool_t AliESDVZERO::BBTriggerV0A(Int_t i) const
331 // returns offline beam-beam flags in V0A
333 if (OutOfRange(i, "AliESDVZERO:::BBTriggerV0A",32)) return kFALSE;
335 return ( fBBtriggerV0A & (test << i) ? kTRUE : kFALSE );
338 //__________________________________________________________________________
339 Bool_t AliESDVZERO::BGTriggerV0A(Int_t i) const
341 // returns offline beam-gas flags in V0A
343 if (OutOfRange(i, "AliESDVZERO:::BGTriggerV0A",32)) return kFALSE;
345 return ( fBGtriggerV0A & (test << i) ? kTRUE : kFALSE );
348 //__________________________________________________________________________
349 Bool_t AliESDVZERO::BBTriggerV0C(Int_t i) const
351 // returns offline beam-beam flags in V0C
353 if (OutOfRange(i, "AliESDVZERO:::BBTriggerV0C",32)) return kFALSE;
355 return ( fBBtriggerV0C & (test << i) ? kTRUE : kFALSE );
358 //__________________________________________________________________________
359 Bool_t AliESDVZERO::BGTriggerV0C(Int_t i) const
361 // returns offline beam-gasflags in V0C
363 if (OutOfRange(i, "AliESDVZERO:::BGTriggerV0C",32)) return kFALSE;
365 return ( fBGtriggerV0C & (test << i) ? kTRUE : kFALSE );
368 //__________________________________________________________________________
369 Bool_t AliESDVZERO::GetBBFlag(Int_t i) const
372 // returns online beam-beam flag in V0
373 // one boolean per cell
374 if (OutOfRange(i, "AliESDVZERO::GetBBFlag:",64)) return kFALSE;
378 //__________________________________________________________________________
379 Bool_t AliESDVZERO::GetBGFlag(Int_t i) const
382 // returns online beam-gas flag in V0
383 // one boolean per cell
384 if (OutOfRange(i, "AliESDVZERO::GetBGFlag:",64)) return kFALSE;
388 //__________________________________________________________________________
389 Bool_t AliESDVZERO::OutOfRange(Int_t i, const char* /*s*/, Int_t upper) const
391 // checks if i is a valid index.
392 // s = name of calling method
393 if (i > upper || i < 0) {
394 // cout << s << " Index " << i << " out of range" << endl;
395 AliInfo(Form("Index %d out of range",i));