AliRoot Core  3dc7879 (3dc7879)
AliESDEvent.h
Go to the documentation of this file.
1 // -*- mode: C++ -*-
2 #ifndef ALIESDEVENT_H
3 #define ALIESDEVENT_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 
8 /* $Id: AliESDEvent.h 64008 2013-08-28 13:09:59Z hristov $ */
9 
10 //-------------------------------------------------------------------------
11 // Class AliESDEvent
12 // This is the class to deal with during the physics analysis of data.
13 // It also ensures the backward compatibility with the old ESD format.
14 //
15 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
16 //-------------------------------------------------------------------------
17 
18 #include <TClonesArray.h>
19 #include <TObject.h>
20 #include <TTree.h>
21 #include <TArrayF.h>
22 #include <TObjArray.h>
23 
24 
25 #include "AliVEvent.h"
26 // some includes for delegated methods
27 #include "AliESDCaloTrigger.h"
28 #include "AliESDRun.h"
29 #include "AliESDHeader.h"
30 #include "AliESDTZERO.h"
31 #include "AliESDFIT.h"
32 #include "AliESDZDC.h"
33 #include "AliESDACORDE.h"
34 #include "AliESDAD.h"
35 #include "AliMultiplicity.h"
36 
37 // AliESDtrack has to be included so that the compiler
38 // knows its inheritance tree (= that it is a AliVParticle).
39 #include "AliESDtrack.h"
40 // same for AliESDVertex (which is a AliVVertex)
41 #include "AliESDVertex.h"
42 // same for CaloCells and CaloClusters (which is a AliVCaloCells, AliVCluster)
43 #include "AliESDCaloCluster.h"
44 #include "AliESDCaloCells.h"
45 
46 #include "AliESDVZERO.h"
47 #include "AliESDTrdTrack.h"
48 #include "AliESDTOFCluster.h"
49 #include "AliESDTOFHit.h"
50 #include "AliESDTOFMatch.h"
51 #include "AliESDfriend.h"
52 #include "AliESDv0.h"
53 
54 class AliESDkink;
55 class AliESDHLTtrack;
56 class AliESDVertex;
57 class AliESDPmdTrack;
58 class AliESDFMD;
59 class AliESDkink;
60 class AliESDv0;
61 class AliRawDataErrorLog;
62 class AliESDRun;
63 class AliESDTrdTrigger;
64 class AliESDTrdTracklet;
65 class AliESDMuonTrack;
66 class AliESDMuonCluster;
67 class AliESDMuonPad;
68 class AliESDMuonGlobalTrack; // AU
69 class AliESD;
70 class AliESDcascade;
71 class AliCentrality;
72 class AliEventplane;
73 class TRefArray;
74 class AliESDACORDE;
75 class AliESDAD;
76 class AliESDHLTDecision;
77 class AliESDCosmicTrack;
78 class AliMCEvent;
79 class TList;
80 class TString;
81 class AliGRPRecoParam;
82 
83 class AliESDEvent : public AliVEvent {
84 public:
85 
86 
126  };
127 
128  AliESDEvent();
129  virtual ~AliESDEvent();
130  AliESDEvent &operator=(const AliESDEvent& source); // or make private and use only copy?
131  virtual void Copy(TObject& obj) const;
132 
133  // RUN
134  // move this to the UserData!!!
135  const AliESDRun* GetESDRun() const {return fESDRun;}
136 
137  // Delegated methods for fESDRun
138  const AliTimeStamp* GetCTPStart() const {return fESDRun ? &fESDRun->GetCTPStart() : 0;}
140  void SetRunNumber(Int_t n) {if(fESDRun) fESDRun->SetRunNumber(n);}
141  Int_t GetRunNumber() const {return fESDRun?fESDRun->GetRunNumber():-1;}
142  void SetPeriodNumber(UInt_t n){
145  }
146  UInt_t GetPeriodNumber() const {return fESDRun?fESDRun->GetPeriodNumber():0;}
147  void SetMagneticField(Double_t mf){if(fESDRun) fESDRun->SetMagneticField(mf);}
148  Double_t GetMagneticField() const {return fESDRun?fESDRun->GetMagneticField():0;}
149  void SetDiamond(const AliESDVertex *vertex) { if(fESDRun) fESDRun->SetDiamond(vertex);}
150  Double_t GetDiamondX() const {return fESDRun?fESDRun->GetDiamondX():0;}
151  Double_t GetDiamondY() const {return fESDRun?fESDRun->GetDiamondY():0;}
152  Double_t GetDiamondZ() const {return fESDRun?fESDRun->GetDiamondZ():0;}
153  Double_t GetSigma2DiamondX() const {return fESDRun?fESDRun->GetSigma2DiamondX():0;}
154  Double_t GetSigma2DiamondY() const {return fESDRun?fESDRun->GetSigma2DiamondY():0;}
155  Double_t GetSigma2DiamondZ() const {return fESDRun?fESDRun->GetSigma2DiamondZ():0;}
156  void GetDiamondCovXY(Float_t cov[3]) const {if(fESDRun) fESDRun->GetDiamondCovXY(cov);}
157  void SetTriggerClass(const char*name, Int_t index) {if(fESDRun) fESDRun->SetTriggerClass(name,index);}
158  void SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetPHOSMatrix(matrix,i);}
159  const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {return fESDRun?fESDRun->GetPHOSMatrix(i):0x0;}
160  void SetEMCALMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetEMCALMatrix(matrix,i);}
161  const TGeoHMatrix* GetEMCALMatrix(Int_t i) const {return fESDRun?fESDRun->GetEMCALMatrix(i):0x0;}
162  void SetCaloTriggerType(const Int_t* type) {if (fESDRun) fESDRun->SetCaloTriggerType(type);}
163  void SetCaloTriggerType(int i,const Int_t* type) {if (fESDRun) fESDRun->SetCaloTriggerType(i,type);}
164  Int_t* GetCaloTriggerType() const {return fESDRun?fESDRun->GetCaloTriggerType():0x0;}
165  Int_t* GetCaloTriggerType(int i) const {return fESDRun?fESDRun->GetCaloTriggerType(i):0x0;}
166  virtual const Float_t* GetVZEROEqFactors() const {return fESDRun?fESDRun->GetVZEROEqFactors():0x0;}
167  virtual Float_t GetVZEROEqMultiplicity(Int_t i) const;
168 
169  //
170  void SetCurrentL3(Float_t cur) const {if(fESDRun) fESDRun->SetCurrentL3(cur);}
171  void SetCurrentDip(Float_t cur) const {if(fESDRun) fESDRun->SetCurrentDip(cur);}
172  void SetBeamEnergy(Float_t be) const {if(fESDRun) fESDRun->SetBeamEnergy(be);}
173  void SetBeamType(const char* bt) const {if(fESDRun) fESDRun->SetBeamType(bt);}
174  void SetBeamParticle(Int_t az, Int_t ibeam) {if(fESDRun) fESDRun->SetBeamParticle(az,ibeam);}
175  void SetUniformBMap(Bool_t val=kTRUE) const {if(fESDRun) fESDRun->SetBit(AliESDRun::kUniformBMap,val);}
176  void SetBInfoStored(Bool_t val=kTRUE) const {if(fESDRun) fESDRun->SetBit(AliESDRun::kBInfoStored,val);}
177  int SetESDDownscaledOnline(Bool_t val) const {if(fESDRun) {fESDRun->SetBit(AliESDRun::kESDDownscaledOnline, val); return(0);} else {return(1);}}
178  //
179  Float_t GetCurrentL3() const {return fESDRun?fESDRun->GetCurrentL3():0;}
180  Float_t GetCurrentDip() const {return fESDRun?fESDRun->GetCurrentDip():0;}
181  Float_t GetBeamEnergy() const {return fESDRun?fESDRun->GetBeamEnergy():0;}
182  const char* GetBeamType() const {return fESDRun?fESDRun->GetBeamType():0;}
183  Int_t GetBeamParticle(Int_t ibeam) const {return fESDRun?fESDRun->GetBeamParticle(ibeam):0;}
184  Int_t GetBeamParticleA(Int_t ibeam) const {return fESDRun?fESDRun->GetBeamParticleA(ibeam):0;}
185  Int_t GetBeamParticleZ(Int_t ibeam) const {return fESDRun?fESDRun->GetBeamParticleZ(ibeam):0;}
186  Bool_t IsUniformBMap() const {return fESDRun?fESDRun->TestBit(AliESDRun::kUniformBMap):kFALSE;}
187  //
188  virtual Bool_t InitMagneticField() const {return fESDRun?fESDRun->InitMagneticField():kFALSE;}
189  void SetT0spread(Float_t *t) const {if(fESDRun) fESDRun->SetT0spread(t);}
190  Float_t GetT0spread(Int_t i) const {return fESDRun?fESDRun->GetT0spread(i):0;}
191  virtual void SetVZEROEqFactors(Float_t factors[64]) const {if(fESDRun) fESDRun->SetVZEROEqFactors(factors);}
192  // HEADER
193  AliESDHeader* GetHeader() const {return fHeader;}
194 
195  // Delegated methods for fHeader
196  void SetTriggerMask(ULong64_t n) {if(fHeader) fHeader->SetTriggerMask(n);}
198  void SetOrbitNumber(UInt_t n) {if(fHeader) fHeader->SetOrbitNumber(n);}
199  void SetTimeStamp(UInt_t timeStamp){if(fHeader) fHeader->SetTimeStamp(timeStamp);}
200  void SetEventType(UInt_t eventType){if(fHeader) fHeader->SetEventType(eventType);}
201  void SetEventSpecie(UInt_t eventSpecie){if(fHeader) fHeader->SetEventSpecie(eventSpecie);}
203  // void SetRunNumber(Int_t n) {if(fHeader) fHeader->SetRunNumber(n);}
206 
207  ULong64_t GetTriggerMask() const {return fHeader?fHeader->GetTriggerMask():0;}
208  ULong64_t GetTriggerMaskNext50() const {return fHeader?fHeader->GetTriggerMaskNext50():0;}
209  //TString GetFiredTriggerClasses() const {return (fESDRun&&fHeader)?fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask()):"";}
211  //Bool_t IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),name):kFALSE;}
212  Bool_t IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),fHeader->GetTriggerMaskNext50(),name):kFALSE;}
213  Bool_t IsEventSelected(const char *trigExpr) const;
214  TObject* GetHLTTriggerDecision() const;
215  TString GetHLTTriggerDescription() const;
216  Bool_t IsHLTTriggerFired(const char* name=NULL) const;
217  UInt_t GetOrbitNumber() const {return fHeader?fHeader->GetOrbitNumber():0;}
218  UInt_t GetTimeStamp() const { return fHeader?fHeader->GetTimeStamp():0;}
219  UInt_t GetTimeStampCTP() const;
220  Double_t GetTimeStampCTPBCCorr() const;
222  UInt_t GetEventType() const { return fHeader?fHeader->GetEventType():0;}
223  UInt_t GetEventSpecie() const { return fHeader?fHeader->GetEventSpecie():0;}
225  UShort_t GetBunchCrossNumber() const {return fHeader?fHeader->GetBunchCrossNumber():0;}
226  UChar_t GetTriggerCluster() const {return fHeader?fHeader->GetTriggerCluster():0;}
227  Bool_t IsDetectorInTriggerCluster(TString detector, AliTriggerConfiguration* trigConf) const;
228  // ZDC CKB: put this in the header?
229  AliESDZDC* GetESDZDC() const {return fESDZDC;}
230  AliESDZDC* GetZDCData() const {return fESDZDC;}
231 
232  void SetZDCData(const AliESDZDC * obj);
233 
234  // Delegated methods for fESDZDC
235  Double_t GetZDCN1Energy() const {return fESDZDC?fESDZDC->GetZDCN1Energy():0;}
236  Double_t GetZDCP1Energy() const {return fESDZDC?fESDZDC->GetZDCP1Energy():0;}
237  Double_t GetZDCN2Energy() const {return fESDZDC?fESDZDC->GetZDCN2Energy():0;}
238  Double_t GetZDCP2Energy() const {return fESDZDC?fESDZDC->GetZDCP2Energy():0;}
239  Double_t GetZDCEMEnergy(Int_t i=0) const {return fESDZDC?fESDZDC->GetZDCEMEnergy(i):0;}
243 
244 
245  void SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t em1Energy, Float_t em2Energy,
246  Float_t n2Energy, Float_t p2Energy, Int_t participants, Int_t nPartA,
247  Int_t nPartC, Double_t b, Double_t bA, Double_t bC, UInt_t recoflag)
248  {if(fESDZDC) fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy,
249  participants, nPartA, nPartC, b, bA, bC, recoflag);}
250  // FMD
251  void SetFMDData(AliESDFMD * obj);
252  AliESDFMD *GetFMDData() const { return fESDFMD; }
253 
254  // FIT methods
255  const AliESDFIT* GetESDFIT() const {return fESDFIT;}
256  void SetFITData(const AliESDFIT * obj);
257 
258 
259  // TZERO CKB: put this in the header?
260  const AliESDTZERO* GetESDTZERO() const {return fESDTZERO;}
261  void SetTZEROData(const AliESDTZERO * obj);
262  // delegetated methods for fESDTZERO
263 
264  Double32_t GetT0zVertex() const {return fESDTZERO?fESDTZERO->GetT0zVertex():0;}
265  void SetT0zVertex(Double32_t z) {if(fESDTZERO) fESDTZERO->SetT0zVertex(z);}
266  Double32_t GetT0() const {return fESDTZERO?fESDTZERO->GetT0():0;}
267  void SetT0(Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0(timeStart);}
268  Double32_t GetT0clock() const {return fESDTZERO?fESDTZERO->GetT0clock():0;}
269  void SetT0clock(Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0clock(timeStart);}
270  Double32_t GetT0TOF(Int_t icase) const {return fESDTZERO?fESDTZERO->GetT0TOF(icase):0;}
271  const Double32_t * GetT0TOF() const {return fESDTZERO?fESDTZERO->GetT0TOF():0x0;}
272  void SetT0TOF(Int_t icase,Double32_t timeStart) {if(fESDTZERO) fESDTZERO->SetT0TOF(icase,timeStart);}
273  const Double32_t * GetT0time() const {return fESDTZERO?fESDTZERO->GetT0time():0x0;}
274  void SetT0time(Double32_t time[24]) {if(fESDTZERO) fESDTZERO->SetT0time(time);}
275  const Double32_t * GetT0amplitude() const {return fESDTZERO?fESDTZERO->GetT0amplitude():0x0;}
276  void SetT0amplitude(Double32_t amp[24]){if(fESDTZERO) fESDTZERO->SetT0amplitude(amp);}
277  Int_t GetT0Trig() const { return fESDTZERO?fESDTZERO->GetT0Trig():0;}
278  void SetT0Trig(Int_t tvdc) {if(fESDTZERO) fESDTZERO->SetT0Trig(tvdc);}
279 
280  // VZERO
281  AliESDVZERO *GetVZEROData() const { return fESDVZERO; }
282  void SetVZEROData(const AliESDVZERO * obj);
283  Int_t GetVZEROData( AliESDVZERO &v ) const {
284  if( fESDVZERO ){ v=*fESDVZERO; return 0; }
285  return -1;
286  }
287 
288  // ACORDE
290  void SetACORDEData(AliESDACORDE * obj);
291 
292  // AD
293  AliESDAD *GetADData() const { return fESDAD;}
294  void SetADData(AliESDAD * obj);
295 
296 
297 
298 
299  void SetESDfriend(const AliESDfriend *f) const;
300  void GetESDfriend(AliESDfriend *f);
301  virtual AliESDfriend* FindFriend() const;
302 
303  void SetPrimaryVertexTPC(const AliESDVertex *vertex);
304  const AliESDVertex *GetPrimaryVertexTPC() const {return fTPCVertex;}
305 
306  void SetPrimaryVertexSPD(const AliESDVertex *vertex);
307  const AliESDVertex *GetPrimaryVertexSPD() const {return fSPDVertex;}
308  const AliESDVertex *GetVertex() const {
309  //For the backward compatibily only
310  return GetPrimaryVertexSPD();
311  }
312 
313  void SetPrimaryVertexTracks(const AliESDVertex *vertex);
316 
317  const AliESDVertex *GetPrimaryVertex() const;
318 
319  //getters for calibration
320  Int_t GetPrimaryVertex (AliESDVertex &v) const {
321  if(!GetPrimaryVertex()) return -1;
322  v=*GetPrimaryVertex();
323  return 0;
324  }
325 
327  if(!GetPrimaryVertexTPC()) return -1;
328  v=*GetPrimaryVertexTPC();
329  return 0;
330  }
331 
333  if(!GetPrimaryVertexSPD()) return -1;
334  v=*GetPrimaryVertexSPD();
335  return 0;
336  }
337 
339  if(!GetPrimaryVertexTracks()) return -1;
341  return 0;
342  }
343 
344 
345  void SetTOFHeader(const AliTOFHeader * tofEventTime);
347  Float_t GetEventTimeSpread() const {if (fTOFHeader) return fTOFHeader->GetT0spread(); else return 0.;}
348  Float_t GetTOFTimeResolution() const {if (fTOFHeader) return fTOFHeader->GetTOFResolution(); else return 0.;}
349 
350  TClonesArray *GetESDTOFClusters() const {return fESDTOFClusters;}
351  TClonesArray *GetESDTOFHits() const {return fESDTOFHits;}
352  TClonesArray *GetESDTOFMatches() const {return fESDTOFMatches;}
353 
354  void SetTOFcluster(Int_t ntofclusters,AliESDTOFCluster *cluster,Int_t *mapping=NULL);
355  void SetTOFcluster(Int_t ntofclusters,AliESDTOFCluster *cluster[],Int_t *mapping=NULL);
356  Int_t GetNTOFclusters() const {return fESDTOFClusters ? fESDTOFClusters->GetEntriesFast() : 0;}
357 
358  Int_t GetNumberOfITSClusters(Int_t lr) const {return fSPDMult ? fSPDMult->GetNumberOfITSClusters(lr) : 0;}
359  void SetMultiplicity(const AliMultiplicity *mul);
360 
362  Int_t GetMultiplicity( AliMultiplicity & mult ) const {
363  if( fSPDMult ){ mult=*fSPDMult; return 0; }
364  return -1;
365  }
366  void EstimateMultiplicity(Int_t &tracklets,Int_t &trITSTPC,Int_t &trITSSApure,
367  Double_t eta=1.,Bool_t useDCAFlag=kTRUE,Bool_t useV0Flag=kTRUE) const;
368 
369  Int_t GetNumberOfTPCTracks() const;
370  Int_t GetNumberOfTPCClusters() const {return fNTPCClusters;}
372 
373  Bool_t Clean(TObjArray* track2destroy,const AliGRPRecoParam *grpRecoParam);
374  int CleanV0s(const AliGRPRecoParam *grpRecoParam);
375 
376  void EmptyOfflineV0Prongs();
377  void RestoreOfflineV0Prongs();
378 
379  Bool_t RemoveKink(Int_t i) const;
380  Bool_t RemoveV0(Int_t i) const;
381  AliESDfriendTrack* RemoveTrack(Int_t i, Bool_t checkPrimVtx);
382 
383  const AliESDVertex *GetPileupVertexSPD(Int_t i) const {
384  return (const AliESDVertex *)(fSPDPileupVertices?fSPDPileupVertices->At(i):0x0);
385  }
386  Char_t AddPileupVertexSPD(const AliESDVertex *vtx);
387  const AliESDVertex *GetPileupVertexTracks(Int_t i) const {
388  return (const AliESDVertex *)(fTrkPileupVertices?fTrkPileupVertices->At(i):0x0);
389  }
390  Char_t AddPileupVertexTracks(const AliESDVertex *vtx);
391  TClonesArray* GetPileupVerticesTracks() const {return (TClonesArray*)fTrkPileupVertices;}
392  TClonesArray* GetPileupVerticesSPD() const {return (TClonesArray*)fSPDPileupVertices;}
393 
394  virtual Bool_t IsPileupFromSPD(Int_t minContributors=5,
395  Double_t minZdist=0.8,
396  Double_t nSigmaZdist=3.,
397  Double_t nSigmaDiamXY=2.,
398  Double_t nSigmaDiamZ=5.) const;
399 
400  virtual Bool_t IsPileupFromSPDInMultBins() const;
401 
402  void ConnectTracks();
403  Bool_t AreTracksConnected() const {return fTracksConnected;}
404 
405  AliESDtrack *GetTrack(Int_t i) const {return (fTracks)?(AliESDtrack*)fTracks->At(i) : 0;}
406  Int_t AddTrack(const AliESDtrack *t);
407 
408  AliESDtrack *GetVTrack(Int_t i) const {return GetTrack(i);}
409 
412 
413  AliESDHLTtrack *GetHLTConfMapTrack(Int_t /*i*/) const {
414  // return (AliESDHLTtrack *)fHLTConfMapTracks->At(i);
415  return 0;
416  }
417  void AddHLTConfMapTrack(const AliESDHLTtrack */*t*/) {
418  printf("ESD:: AddHLTConfMapTrack do nothing \n");
419  // TClonesArray &fhlt = *fHLTConfMapTracks;
420  // new(fhlt[fHLTConfMapTracks->GetEntriesFast()]) AliESDHLTtrack(*t);
421  }
422 
423 
424  AliESDHLTtrack *GetHLTHoughTrack(Int_t /*i*/) const {
425  // return (AliESDHLTtrack *)fHLTHoughTracks->At(i);
426  return 0;
427  }
428  void AddHLTHoughTrack(const AliESDHLTtrack */*t*/) {
429  printf("ESD:: AddHLTHoughTrack do nothing \n");
430  // TClonesArray &fhlt = *fHLTHoughTracks;
431  // new(fhlt[fHLTHoughTracks->GetEntriesFast()]) AliESDHLTtrack(*t);
432  }
433 
434  Bool_t MoveMuonObjects();
435 
436  AliESDMuonTrack* GetMuonTrack(Int_t i);
438 
440  AliESDMuonCluster* FindMuonCluster(UInt_t clusterId);
442 
443  AliESDMuonPad* GetMuonPad(Int_t i);
444  AliESDMuonPad* FindMuonPad(UInt_t padId);
446 
449 
450  AliESDPmdTrack *GetPmdTrack(Int_t i) const {
451  return (AliESDPmdTrack *)(fPmdTracks?fPmdTracks->At(i):0x0);
452  }
453 
454  void AddPmdTrack(const AliESDPmdTrack *t);
455 
456 
457  AliESDTrdTrack *GetTrdTrack(Int_t i) const {
458  return (AliESDTrdTrack *)(fTrdTracks?fTrdTracks->At(i):0x0);
459  }
460 
461 
462  void SetTrdTrigger(const AliESDTrdTrigger *t);
463 
465  return (AliESDTrdTrigger*)(fTrdTrigger);
466  }
467 
468  void AddTrdTrack(const AliESDTrdTrack *t);
469 
470  AliESDTrdTracklet* GetTrdTracklet(Int_t idx) const {
471  return (AliESDTrdTracklet*)(fTrdTracklets?fTrdTracklets->At(idx):0x0);
472  }
473 
474  void AddTrdTracklet(const AliESDTrdTracklet *trkl);
475  void AddTrdTracklet(UInt_t trackletWord, Short_t hcid, const Int_t *label = 0);
476 
477  using AliVEvent::GetV0;
478  AliESDv0 *GetV0(Int_t i) const {
479  return (AliESDv0*)(fV0s?fV0s->At(i):0x0);
480  }
481 
482  Int_t GetV0(AliESDv0 &v0dum, Int_t i) const {
483  if(!GetV0(i)) return -1;
484  v0dum=*GetV0(i);
485  return 0;}
486 
487  Int_t AddV0(const AliESDv0 *v);
488 
489  AliESDcascade *GetCascade(Int_t i) const {
490  return (AliESDcascade *)(fCascades?fCascades->At(i):0x0);
491  }
492 
493  void AddCascade(const AliESDcascade *c);
494 
495  AliESDkink *GetKink(Int_t i) const {
496  return (AliESDkink *)(fKinks?fKinks->At(i):0x0);
497  }
498  Int_t AddKink(const AliESDkink *c);
499 
501  return (AliESDCaloCluster *)(fCaloClusters?fCaloClusters->At(i):0x0);
502  }
503 
504  Int_t AddCaloCluster(const AliESDCaloCluster *c);
505 
508 
509  AliESDCaloTrigger* GetCaloTrigger(TString calo) const
510  {
511  if (calo.Contains("EMCAL")) return fEMCALTrigger;
512  else
513  return fPHOSTrigger;
514  }
515 
517  return fCosmicTracks ? (AliESDCosmicTrack*) fCosmicTracks->At(i) : 0;
518  }
519  const TClonesArray * GetCosmicTracks() const{ return fCosmicTracks;}
520 
521  void AddCosmicTrack(const AliESDCosmicTrack *t);
522 
523  AliRawDataErrorLog *GetErrorLog(Int_t i) const {
524  return (AliRawDataErrorLog *)(fErrorLogs?fErrorLogs->At(i):0x0);
525  }
526  void AddRawDataErrorLog(const AliRawDataErrorLog *log) const;
527 
528  Int_t GetNumberOfErrorLogs() const {return fErrorLogs?fErrorLogs->GetEntriesFast():0;}
529 
531  return (fSPDPileupVertices?fSPDPileupVertices->GetEntriesFast():0);
532  }
534  return (fTrkPileupVertices?fTrkPileupVertices->GetEntriesFast():0);
535  }
536  Int_t GetNumberOfTracks() const {return fTracks?fTracks->GetEntriesFast():0;}
539  void SetNumberOfESDTracks(int ntr) { fNumberOfESDTracks = ntr; }
540  Int_t GetNumberOfHLTConfMapTracks() const {return 0;}
541  // fHLTConfMapTracks->GetEntriesFast();}
542  Int_t GetNumberOfHLTHoughTracks() const {return 0; }
543  // fHLTHoughTracks->GetEntriesFast(); }
544 
545  Int_t GetNumberOfMuonTracks() const {return fMuonTracks?fMuonTracks->GetEntriesFast():0;}
546  Int_t GetNumberOfMuonClusters();
547  Int_t GetNumberOfMuonPads();
548  Int_t GetNumberOfMuonGlobalTracks() const {return fMuonGlobalTracks?fMuonGlobalTracks->GetEntriesFast():0;} // AU
549  Int_t GetNumberOfPmdTracks() const {return fPmdTracks?fPmdTracks->GetEntriesFast():0;}
550  Int_t GetNumberOfTrdTracks() const {return fTrdTracks?fTrdTracks->GetEntriesFast():0;}
551  Int_t GetNumberOfTrdTracklets() const {return fTrdTracklets?fTrdTracklets->GetEntriesFast():0;}
552  Int_t GetNumberOfV0s() const {return fV0s?fV0s->GetEntriesFast():0;}
553  Int_t GetNumberOfCascades() const {return fCascades?fCascades->GetEntriesFast():0;}
554  Int_t GetNumberOfKinks() const {return fKinks?fKinks->GetEntriesFast():0;}
555 
556  Int_t GetNumberOfCosmicTracks() const {return fCosmicTracks ? fCosmicTracks->GetEntriesFast():0;}
557  Int_t GetEMCALClusters(TRefArray *clusters) const;
558  Int_t GetPHOSClusters(TRefArray *clusters) const;
559  Int_t GetNumberOfCaloClusters() const {return fCaloClusters?fCaloClusters->GetEntriesFast():0;}
560 
561  void SetUseOwnList(Bool_t b){fUseOwnList = b;}
562  Bool_t GetUseOwnList() const {return fUseOwnList;}
563 
564  void ResetV0s() { if(fV0s) fV0s->Clear(); }
565  void ResetCascades() { if(fCascades) fCascades->Clear(); }
566  void Reset();
567 
568  void Print(Option_t *option="") const;
569 
570  void AddObject(TObject* obj);
571  void ReadFromTree(TTree *tree, Option_t* opt = "");
572  TObject* FindListObject(const char *name) const;
574  void WriteToTree(TTree* tree) const;
575  void GetStdContent();
576  void ResetStdContent();
577  void CreateStdContent();
578  void CreateStdContent(Bool_t bUseThisList);
579  void CompleteStdContent();
580  void SetStdNames();
581  void CopyFromOldESD();
582  TList* GetList() const {return fESDObjects;}
583 
584  //part of the hlt interface
585  void SetFriendEvent( AliVfriendEvent *f ) { AddObject(f); SetESDfriend(dynamic_cast<AliESDfriend*>(f));}
586 
587  //Following needed only for mixed event
588  virtual Int_t EventIndex(Int_t) const {return 0;}
589  virtual Int_t EventIndexForCaloCluster(Int_t) const {return 0;}
590  virtual Int_t EventIndexForPHOSCell(Int_t) const {return 0;}
591  virtual Int_t EventIndexForEMCALCell(Int_t) const {return 0;}
592 
593  void SetDetectorStatus(ULong_t detMask) {fDetectorStatus|=detMask;}
594  void ResetDetectorStatus(ULong_t detMask) {fDetectorStatus&=~detMask;}
595  ULong_t GetDetectorStatus() const {return fDetectorStatus;}
596  Bool_t IsDetectorOn(ULong_t detMask) const {return (fDetectorStatus&detMask)>0;}
597 
598  void SetDAQDetectorPattern(UInt_t pattern) {fDAQDetectorPattern = pattern;}
599  void SetDAQAttributes(UInt_t attributes) {fDAQAttributes = attributes;}
601  UInt_t GetDAQAttributes() const {return fDAQAttributes;}
602 
603  Bool_t IsIncompleteDAQ();
604  //
606  Int_t GetNTPCFriend2Store() const {return fNTPCFriend2Store;}
607  //
609 
610  void AdjustMCLabels(const AliVEvent *mctruth);
611 
612 protected:
613  AliESDEvent(const AliESDEvent&);
614  static Bool_t ResetWithPlacementNew(TObject *pObject);
615 
616  void AddMuonTrack(const AliESDMuonTrack *t);
617  void AddMuonGlobalTrack(const AliESDMuonGlobalTrack *t); // AU
618 
619  TList *fESDObjects; // List of esd Objects
620 
637 
638  TClonesArray *fSPDPileupVertices;
639  TClonesArray *fTrkPileupVertices;
640  TClonesArray *fTracks;
641  TClonesArray *fMuonTracks;
642  TClonesArray *fMuonClusters;
643  TClonesArray *fMuonPads;
644  TClonesArray *fMuonGlobalTracks;
645  TClonesArray *fPmdTracks;
646  TClonesArray *fTrdTracks;
647  TClonesArray *fTrdTracklets;
648  TClonesArray *fV0s;
649  TClonesArray *fCascades;
650  TClonesArray *fKinks;
651  TClonesArray *fCaloClusters;
654  TClonesArray *fCosmicTracks;
655  TClonesArray *fESDTOFClusters;
656  TClonesArray *fESDTOFHits;
657  TClonesArray *fESDTOFMatches;
658  TClonesArray *fErrorLogs;
659 
661 
664  Bool_t fConnected;
665  Bool_t fUseOwnList;
667  static const char* fgkESDListName[kESDListN];
668 
670  // combinatorial algorithm.
671  // It contains also TOF time resolution
672  // and T0spread as written in OCDB
676  ULong64_t fDetectorStatus; // set detector event status bit for good event selection
677  UInt_t fDAQDetectorPattern; // Detector pattern from DAQ: bit 0 is SPD, bit 4 is TPC, etc. See event.h
678  UInt_t fDAQAttributes; // Third word of attributes from DAQ: bit 7 corresponds to HLT decision
679  Int_t fNTPCClusters; // number of TPC clusters
680  Int_t fNumberOfESDTracks; // number of ESDtracks (unchanged in case of filtering)
681 
682  ClassDef(AliESDEvent,28) //ESDEvent class
683 };
684 #endif
685 
void SetT0(Double_t timeStart)
Definition: AliESDTZERO.h:31
virtual Int_t GetV0(AliESDv0 &, Int_t) const
Definition: AliVEvent.h:235
void EmptyOfflineV0Prongs()
TBrowser b
Definition: RunAnaESD.C:12
Bool_t fOldMuonStructure
Raw-data reading error messages.
Definition: AliESDEvent.h:660
void SetCTPStart(const AliTimeStamp *t)
Definition: AliESDRun.h:52
void Print(Option_t *option="") const
const TGeoHMatrix * GetEMCALMatrix(Int_t i) const
Definition: AliESDRun.h:96
Class to describe the MUON pads in the Event Summary Data.
Definition: AliESDMuonPad.h:16
Int_t GetPrimaryVertex(AliESDVertex &v) const
Definition: AliESDEvent.h:320
Double_t GetSigma2DiamondZ() const
Definition: AliESDEvent.h:155
void SetTriggerMaskNext50(ULong64_t n)
Definition: AliESDEvent.h:197
void SetTrdTrigger(const AliESDTrdTrigger *t)
Float_t GetBeamEnergy() const
Definition: AliESDEvent.h:181
static Bool_t ResetWithPlacementNew(TObject *pObject)
const Float_t * GetVZEROEqFactors() const
Definition: AliESDRun.h:127
AliESDCaloCluster * GetCaloCluster(Int_t i) const
Definition: AliESDEvent.h:500
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
Float_t GetEventTimeSpread() const
Definition: AliESDEvent.h:347
void SetMagneticField(Double_t mf)
Definition: AliESDEvent.h:147
Bool_t fConnected
Old friend esd Structure.
Definition: AliESDEvent.h:664
void SetT0Trig(Int_t tvdc)
Definition: AliESDTZERO.h:44
TObject * GetHLTTriggerDecision() const
Int_t GetNumberOfV0s() const
Definition: AliESDEvent.h:552
void SetBeamParticle(Int_t az, Int_t ibeam)
Definition: AliESDRun.h:77
void SetTriggerMaskNext50(ULong64_t n)
Definition: AliESDHeader.h:36
TClonesArray * fMuonGlobalTracks
MUON ESD pads.
Definition: AliESDEvent.h:644
AliESDfriendTrack * RemoveTrack(Int_t i, Bool_t checkPrimVtx)
ULong64_t GetTriggerMask() const
Definition: AliESDHeader.h:75
const Double32_t * GetT0time() const
Definition: AliESDTZERO.h:46
Int_t GetNumberOfErrorLogs() const
Definition: AliESDEvent.h:528
AliESDTrdTracklet * GetTrdTracklet(Int_t idx) const
Definition: AliESDEvent.h:470
Double_t GetMagneticField() const
Definition: AliESDEvent.h:148
Double_t GetSigma2DiamondY() const
Definition: AliESDEvent.h:154
AliESDPmdTrack * GetPmdTrack(Int_t i) const
Definition: AliESDEvent.h:450
TClonesArray * GetESDTOFClusters() const
Definition: AliESDEvent.h:350
const char * GetBeamType() const
Definition: AliESDRun.h:76
AliESDkink * GetKink(Int_t i) const
Definition: AliESDEvent.h:495
Double32_t GetT0clock() const
Definition: AliESDEvent.h:268
AliESDTrdTrigger * fTrdTrigger
AD ESD object caontaining bit pattern.
Definition: AliESDEvent.h:636
Int_t GetNumberOfTrdTracks() const
Definition: AliESDEvent.h:550
Double_t GetDiamondY() const
Definition: AliESDEvent.h:151
void SetT0clock(Float_t timeStart)
Definition: AliESDTZERO.h:33
Double32_t GetT0TOF(Int_t icase) const
Definition: AliESDEvent.h:270
AliESDVZERO * GetVZEROData() const
Definition: AliESDEvent.h:281
TClonesArray * GetESDTOFHits() const
Definition: AliESDEvent.h:351
AliESDCosmicTrack * GetCosmicTrack(Int_t i) const
Definition: AliESDEvent.h:516
AliESDMuonTrack * GetMuonTrack(Int_t i)
void SetT0zVertex(Double32_t z)
Definition: AliESDEvent.h:265
const TClonesArray * GetCosmicTracks() const
Definition: AliESDEvent.h:519
Int_t GetBeamParticle(Int_t ibeam) const
Definition: AliESDEvent.h:183
TClonesArray * fESDTOFClusters
Tracks created by cosmics finder.
Definition: AliESDEvent.h:655
Int_t GetNumberOfTPCClusters() const
Definition: AliESDEvent.h:370
void SetUniformBMap(Bool_t val=kTRUE) const
Definition: AliESDEvent.h:175
Int_t fNumberOfESDTracks
Definition: AliESDEvent.h:680
AliESDTZERO * fESDTZERO
VZERO object containing rough multiplicity.
Definition: AliESDEvent.h:626
void SetNTPCFriend2Store(Int_t v)
Definition: AliESDEvent.h:605
AliESDMuonTrack * NewMuonTrack()
AliESDFMD * fESDFMD
ZDC information.
Definition: AliESDEvent.h:624
void AddObject(TObject *obj)
void SetDiamond(const AliESDVertex *vertex)
Definition: AliESDEvent.h:149
void AddRawDataErrorLog(const AliRawDataErrorLog *log) const
AliESDtrack * GetVTrack(Int_t i) const
Definition: AliESDEvent.h:408
AliESDAD * GetADData() const
Definition: AliESDEvent.h:293
virtual void Copy(TObject &obj) const
Int_t GetNumberOfPileupVerticesSPD() const
Definition: AliESDEvent.h:530
Int_t GetT0Trig() const
Definition: AliESDTZERO.h:43
Class to describe the MUON tracks in the Event Summary Data class.
int SetESDDownscaledOnline(Bool_t val) const
Definition: AliESDEvent.h:177
virtual const Float_t * GetVZEROEqFactors() const
Definition: AliESDEvent.h:166
#define TObjArray
void SetNumberOfESDTracks(int ntr)
Definition: AliESDEvent.h:539
void SetPrimaryVertexTracks(const AliESDVertex *vertex)
void SetTOFcluster(Int_t ntofclusters, AliESDTOFCluster *cluster, Int_t *mapping=NULL)
void SetBeamParticle(Int_t az, Int_t ibeam)
Definition: AliESDEvent.h:174
Int_t * GetCaloTriggerType() const
Definition: AliESDEvent.h:164
AliESDcascade * GetCascade(Int_t i) const
Definition: AliESDEvent.h:489
AliESDVertex * fSPDVertex
Primary vertex estimated by the TPC.
Definition: AliESDEvent.h:629
Int_t GetNumberOfHLTConfMapTracks() const
Definition: AliESDEvent.h:540
TClonesArray * GetESDTOFMatches() const
Definition: AliESDEvent.h:352
Int_t GetPrimaryVertexSPD(AliESDVertex &v) const
Definition: AliESDEvent.h:332
void EstimateMultiplicity(Int_t &tracklets, Int_t &trITSTPC, Int_t &trITSSApure, Double_t eta=1., Bool_t useDCAFlag=kTRUE, Bool_t useV0Flag=kTRUE) const
AliEventplane * fEventplane
Centrality for AA collision.
Definition: AliESDEvent.h:674
virtual Int_t EventIndexForCaloCluster(Int_t) const
Definition: AliESDEvent.h:589
AliRawDataErrorLog * GetErrorLog(Int_t i) const
Definition: AliESDEvent.h:523
TList * fESDObjects
Definition: AliESDEvent.h:619
Double_t GetTimeStampCTPBCCorr() const
void SetTimeStamp(UInt_t timeStamp)
Definition: AliESDEvent.h:199
Float_t GetT0spread(Int_t i) const
Definition: AliESDRun.h:112
AliESDTrdTrigger * GetTrdTrigger() const
Definition: AliESDEvent.h:464
TClonesArray * fSPDPileupVertices
TRD trigger information.
Definition: AliESDEvent.h:638
AliCentrality * fCentrality
event times (and sigmas) as estimated by TOF
Definition: AliESDEvent.h:673
Double_t GetZDCP2Energy() const
Definition: AliESDEvent.h:238
Int_t GetNumberOfESDTracks() const
Definition: AliESDEvent.h:537
void AddPmdTrack(const AliESDPmdTrack *t)
void SetPrimaryVertexTPC(const AliESDVertex *vertex)
void ResetDetectorStatus(ULong_t detMask)
Definition: AliESDEvent.h:594
Int_t AddKink(const AliESDkink *c)
AliESDZDC * GetESDZDC() const
Definition: AliESDEvent.h:229
Int_t GetNumberOfPileupVerticesTracks() const
Definition: AliESDEvent.h:533
Bool_t fUseOwnList
flag if leaves are alreday connected
Definition: AliESDEvent.h:665
AliESDZDC * GetZDCData() const
Definition: AliESDEvent.h:230
ULong_t GetDetectorStatus() const
Definition: AliESDEvent.h:595
void SetEMCALMatrix(TGeoHMatrix *matrix, Int_t i)
Definition: AliESDEvent.h:160
void SetT0time(Double32_t time[24])
Definition: AliESDTZERO.h:47
void SetPeriodNumber(Int_t n)
Definition: AliESDRun.h:40
ULong64_t GetTriggerMaskNext50() const
Definition: AliESDEvent.h:208
virtual AliESDfriend * FindFriend() const
Char_t AddPileupVertexTracks(const AliESDVertex *vtx)
void SetUseOwnList(Bool_t b)
Definition: AliESDEvent.h:561
void SetEventSpecie(UInt_t eventSpecie)
Definition: AliESDEvent.h:201
Bool_t IsIncompleteDAQ()
TClonesArray * fTrdTracklets
TRD ESD tracks (triggered)
Definition: AliESDEvent.h:647
void ConnectTracks()
void SetDAQDetectorPattern(UInt_t pattern)
Definition: AliESDEvent.h:598
Float_t GetBeamEnergy() const
Definition: AliESDRun.h:75
const TGeoHMatrix * GetPHOSMatrix(Int_t i) const
Definition: AliESDRun.h:89
const Double32_t * GetT0TOF() const
Definition: AliESDEvent.h:271
Double_t GetMagneticField() const
Definition: AliESDRun.h:38
Double_t GetDiamondZ() const
Definition: AliESDRun.h:56
Int_t AddCaloCluster(const AliESDCaloCluster *c)
void SetDAQAttributes(UInt_t attributes)
Definition: AliESDEvent.h:599
TList * GetList() const
Definition: AliESDEvent.h:582
void SetT0spread(Int_t i, Float_t t)
Definition: AliESDRun.cxx:461
UInt_t fDAQAttributes
Definition: AliESDEvent.h:678
Double_t GetDiamondX() const
Definition: AliESDEvent.h:150
AliESDHeader * fHeader
Run information tmp put in the Userdata.
Definition: AliESDEvent.h:622
Bool_t AreTracksConnected() const
Definition: AliESDEvent.h:403
UChar_t GetTriggerCluster() const
Definition: AliESDHeader.h:85
void AddMuonGlobalTrack(const AliESDMuonGlobalTrack *t)
UInt_t GetTimeStamp() const
Definition: AliESDEvent.h:218
const AliESDFIT * GetESDFIT() const
Definition: AliESDEvent.h:255
Double_t GetZDCN1Energy() const
Definition: AliESDEvent.h:235
AliESDVertex * PrimaryVertexTracksUnconstrained() const
Double32_t GetT0() const
Definition: AliESDTZERO.h:30
AliMultiplicity * fSPDMult
Primary vertex estimated using ESD tracks.
Definition: AliESDEvent.h:631
Int_t GetNumberOfMuonPads()
Int_t GetMultiplicity(AliMultiplicity &mult) const
Definition: AliESDEvent.h:362
void SetOrbitNumber(UInt_t n)
Definition: AliESDHeader.h:37
Bool_t MoveMuonObjects()
void GetDiamondCovXY(Float_t cov[3]) const
Definition: AliESDRun.h:60
Double_t GetSigma2DiamondX() const
Definition: AliESDEvent.h:153
AliTOFHeader * fTOFHeader
Definition: AliESDEvent.h:669
void SetZDC(Double_t n1Energy, Double_t p1Energy, Double_t emEnergy0, Double_t emEnergy1, Double_t n2Energy, Double_t p2Energy, Short_t participants, Short_t nPartA, Short_t nPartC, Double_t b, Double_t bA, Double_t bC, UInt_t recoFlag)
Definition: AliESDZDC.h:100
void SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t em1Energy, Float_t em2Energy, Float_t n2Energy, Float_t p2Energy, Int_t participants, Int_t nPartA, Int_t nPartC, Double_t b, Double_t bA, Double_t bC, UInt_t recoflag)
Definition: AliESDEvent.h:245
const Double32_t * GetT0amplitude() const
Definition: AliESDEvent.h:275
AliESD * fESDOld
Flag if reading ESD with old MUON structure.
Definition: AliESDEvent.h:662
Double32_t GetT0zVertex() const
Definition: AliESDEvent.h:264
Double_t GetZDCN2Energy() const
Definition: AliESDZDC.h:54
AliESDCaloTrigger * fPHOSTrigger
SPD tracklet multiplicity.
Definition: AliESDEvent.h:632
void SetTriggerMask(ULong64_t n)
Definition: AliESDHeader.h:35
const AliESDVertex * GetPrimaryVertexTracks() const
Definition: AliESDEvent.h:314
void SetBunchCrossNumber(UShort_t n)
Definition: AliESDHeader.h:42
Double_t GetZDCP2Energy() const
Definition: AliESDZDC.h:55
void SetEventNumberInFile(Int_t n)
Definition: AliESDHeader.h:41
Double_t GetSigma2DiamondZ() const
Definition: AliESDRun.h:59
void SetDiamond(const AliESDVertex *vertex)
Definition: AliESDRun.cxx:201
void SetCaloTriggerType(const Int_t *type)
Definition: AliESDEvent.h:162
const Double32_t * GetT0time() const
Definition: AliESDEvent.h:273
Int_t * GetCaloTriggerType(int i) const
Definition: AliESDEvent.h:165
AliESDACORDE * GetACORDEData() const
Definition: AliESDEvent.h:289
AliESDfriend * fESDFriendOld
Old esd Structure.
Definition: AliESDEvent.h:663
void ResetStdContent()
Int_t GetPrimaryVertexTPC(AliESDVertex &v) const
Definition: AliESDEvent.h:326
TClonesArray * fMuonClusters
MUON ESD tracks.
Definition: AliESDEvent.h:642
Bool_t IsHLTTriggerFired(const char *name=NULL) const
virtual Float_t GetVZEROEqMultiplicity(Int_t i) const
Double32_t GetT0TOF(Int_t i) const
Definition: AliESDTZERO.h:35
Char_t AddPileupVertexSPD(const AliESDVertex *vtx)
AliESDFMD * GetFMDData() const
Definition: AliESDEvent.h:252
AliESDHLTtrack * GetHLTHoughTrack(Int_t) const
Definition: AliESDEvent.h:424
void AdjustMCLabels(const AliVEvent *mctruth)
TClonesArray * fMuonPads
MUON ESD clusters.
Definition: AliESDEvent.h:643
AliESDv0 * GetV0(Int_t i) const
Definition: AliESDEvent.h:478
AliESDMuonPad * FindMuonPad(UInt_t padId)
UInt_t GetDAQAttributes() const
Definition: AliESDEvent.h:601
Int_t GetBeamParticle(Int_t ibeam) const
Definition: AliESDRun.h:78
Int_t GetPrimaryVertexTracks(AliESDVertex &v) const
Definition: AliESDEvent.h:338
void SetBeamEnergy(Float_t be)
Definition: AliESDRun.h:47
Int_t GetEventNumberInFile() const
Definition: AliESDHeader.h:82
const AliESDVertex * GetPrimaryVertexTPC() const
Definition: AliESDEvent.h:304
TTree * tree
Int_t GetV0(AliESDv0 &v0dum, Int_t i) const
Definition: AliESDEvent.h:482
Double_t GetZDCEMEnergy(Int_t i=0) const
Definition: AliESDEvent.h:239
Float_t GetT0spread() const
Definition: AliTOFHeader.h:50
void SetADData(AliESDAD *obj)
void SetT0spread(Float_t *t) const
Definition: AliESDEvent.h:189
ULong64_t GetTriggerMask() const
Definition: AliESDEvent.h:207
void RestoreOfflineV0Prongs()
void SetRunNumber(Int_t n)
Definition: AliESDEvent.h:140
Double_t GetZDCEMEnergy(Int_t i) const
Definition: AliESDZDC.h:56
TString GetFiredTriggerClasses(ULong64_t mask) const
Definition: AliESDRun.cxx:307
TClonesArray * fCascades
V0 vertices.
Definition: AliESDEvent.h:649
Double_t GetDiamondY() const
Definition: AliESDRun.h:55
Int_t GetZDCParticipants() const
Definition: AliESDEvent.h:240
void SetT0Trig(Int_t tvdc)
Definition: AliESDEvent.h:278
Int_t GetBeamParticleA(Int_t ibeam) const
Definition: AliESDEvent.h:184
Int_t GetNumberOfMuonTracks() const
Definition: AliESDEvent.h:545
UInt_t GetEventType() const
Definition: AliESDEvent.h:222
void SetBeamType(const char *bt) const
Definition: AliESDEvent.h:173
Float_t GetCurrentDip() const
Definition: AliESDRun.h:74
void SetPHOSMatrix(TGeoHMatrix *matrix, Int_t i)
Definition: AliESDRun.h:86
void SetRunNumber(Int_t n)
Definition: AliESDRun.h:36
const AliESDVertex * GetPileupVertexTracks(Int_t i) const
Definition: AliESDEvent.h:387
Double_t GetZDCP1Energy() const
Definition: AliESDZDC.h:53
AliESDCaloTrigger * GetCaloTrigger(TString calo) const
Definition: AliESDEvent.h:509
const AliESDVertex * GetPileupVertexSPD(Int_t i) const
Definition: AliESDEvent.h:383
void SetT0zVertex(Double32_t z)
Definition: AliESDTZERO.h:29
void SetMagneticField(Float_t mf)
Definition: AliESDRun.h:37
AliESDtrack * NewTrack()
add new track at the end of tracks array and return instance
void SetTimeStamp(UInt_t timeStamp)
Definition: AliESDHeader.h:38
const Double32_t * GetT0amplitude() const
Definition: AliESDTZERO.h:50
Int_t GetRunNumber() const
Definition: AliESDEvent.h:141
AliESDCaloCells * GetPHOSCells() const
Definition: AliESDEvent.h:507
AliESDCaloCells * GetEMCALCells() const
Definition: AliESDEvent.h:506
Double_t GetDiamondX() const
Definition: AliESDRun.h:54
Container with calorimeter trigger information in the ESD event.
AliEventplane * GetEventplane()
TString GetFiredTriggerClasses() const
Definition: AliESDEvent.h:210
void SetT0clock(Double32_t timeStart)
Definition: AliESDEvent.h:269
void WriteToTree(TTree *tree) const
Class to describe the MUON clusters in the Event Summary Data.
void AddHLTConfMapTrack(const AliESDHLTtrack *)
Definition: AliESDEvent.h:417
void SetPrimaryVertexSPD(const AliESDVertex *vertex)
void CreateStdContent()
Int_t GetNumberOfCosmicTracks() const
Definition: AliESDEvent.h:556
AliESDMuonCluster * FindMuonCluster(UInt_t clusterId)
Int_t GetEMCALClusters(TRefArray *clusters) const
void SetPeriodNumber(UInt_t n)
Definition: AliESDEvent.h:142
TClonesArray * fKinks
Cascade vertices.
Definition: AliESDEvent.h:650
void SetVZEROEqFactors(Float_t factors[64])
Definition: AliESDRun.h:126
virtual Short_t GetZDCParticipants() const
Definition: AliESDZDC.h:28
void SetBInfoStored(Bool_t val=kTRUE) const
Definition: AliESDEvent.h:176
UInt_t fDAQDetectorPattern
Definition: AliESDEvent.h:677
Int_t GetNumberOfTrdTracklets() const
Definition: AliESDEvent.h:551
AliMultiplicity * GetMultiplicity() const
Definition: AliESDEvent.h:361
int CleanV0s(const AliGRPRecoParam *grpRecoParam)
void ResetV0s()
Definition: AliESDEvent.h:564
const TGeoHMatrix * GetPHOSMatrix(Int_t i) const
Definition: AliESDEvent.h:159
TClonesArray * fCaloClusters
Kinks.
Definition: AliESDEvent.h:651
void SetEventType(UInt_t eventType)
Definition: AliESDHeader.h:39
Int_t GetNumberOfMuonClusters()
Bool_t GetUseOwnList() const
Definition: AliESDEvent.h:562
void SetZDCData(const AliESDZDC *obj)
void SetBunchCrossNumber(UShort_t n)
Definition: AliESDEvent.h:204
void SetCurrentL3(Float_t cur)
Definition: AliESDRun.h:45
void AddCosmicTrack(const AliESDCosmicTrack *t)
void SetT0(Double32_t timeStart)
Definition: AliESDEvent.h:267
TObject * FindListObject(const char *name) const
Int_t AddV0(const AliESDv0 *v)
AliESDVZERO * fESDVZERO
FMD object containing rough multiplicity.
Definition: AliESDEvent.h:625
Event Summary Data for the Forward Multiplicity Detector.This stores the psuedo-multiplicity and -rap...
Definition: AliESDFMD.h:30
AliESDCaloCells * fPHOSCells
EMCAL cell info.
Definition: AliESDEvent.h:653
void AddCascade(const AliESDcascade *c)
Bool_t InitMagneticField() const
Definition: AliESDRun.cxx:422
Int_t GetNumberOfMuonGlobalTracks() const
Definition: AliESDEvent.h:548
AliESDMuonPad * GetMuonPad(Int_t i)
void SetMultiplicity(const AliMultiplicity *mul)
AliESDTrdTrack * GetTrdTrack(Int_t i) const
Definition: AliESDEvent.h:457
UInt_t GetNumberOfITSClusters(Int_t layer) const
TClonesArray * GetPileupVerticesSPD() const
Definition: AliESDEvent.h:392
const AliTimeStamp * GetCTPStart() const
Definition: AliESDEvent.h:138
Calorimeter cluster data container.
void SetCurrentL3(Float_t cur) const
Definition: AliESDEvent.h:170
UInt_t GetOrbitNumber() const
Definition: AliESDEvent.h:217
AliESDEvent & operator=(const AliESDEvent &source)
TF1 * f
Definition: interpolTest.C:21
TClonesArray * fESDTOFHits
TOF clusters.
Definition: AliESDEvent.h:656
const AliESDTZERO * GetESDTZERO() const
Definition: AliESDEvent.h:260
Double32_t GetT0() const
Definition: AliESDEvent.h:266
Double_t GetZDCN1Energy() const
Definition: AliESDZDC.h:52
AliCentrality * GetCentrality()
void SetPHOSMatrix(TGeoHMatrix *matrix, Int_t i)
Definition: AliESDEvent.h:158
void SetCTPStart(const AliTimeStamp *t)
Definition: AliESDEvent.h:139
UInt_t GetDAQDetectorPattern() const
Definition: AliESDEvent.h:600
UInt_t GetPeriodNumber() const
Definition: AliESDRun.h:39
Float_t GetCurrentL3() const
Definition: AliESDRun.h:73
AliESDMuonCluster * NewMuonCluster()
AliESDMuonGlobalTrack * GetMuonGlobalTrack(Int_t i)
void SetTOFHeader(const AliTOFHeader *tofEventTime)
AliESDCaloTrigger * fEMCALTrigger
PHOS Trigger information.
Definition: AliESDEvent.h:633
void SetCaloTriggerType(const Int_t *in)
Definition: AliESDRun.h:117
EDataLayoutType
Definition: AliVEvent.h:46
AliESDMuonGlobalTrack * NewMuonGlobalTrack()
void SetESDfriend(const AliESDfriend *f) const
void SetNumberOfTPCClusters(int n)
Definition: AliESDEvent.h:371
Int_t GetBeamParticleA(Int_t ibeam) const
Definition: AliESDRun.h:79
Bool_t IsTriggerClassFired(const char *name) const
Definition: AliESDEvent.h:212
virtual Int_t EventIndexForPHOSCell(Int_t) const
Definition: AliESDEvent.h:590
void SetEventSpecie(UInt_t eventSpecie)
Definition: AliESDHeader.h:40
Int_t GetBeamParticleZ(Int_t ibeam) const
Definition: AliESDRun.h:80
AliESDFIT * fESDFIT
TZEROObject.
Definition: AliESDEvent.h:627
Int_t fNTPCFriend2Store
Event plane for AA collision.
Definition: AliESDEvent.h:675
TClonesArray * fTrdTracks
PMD ESD tracks.
Definition: AliESDEvent.h:646
const char * GetBeamType() const
Definition: AliESDEvent.h:182
void AddMuonTrack(const AliESDMuonTrack *t)
TClonesArray * fTrkPileupVertices
Pileup primary vertices reconstructed by SPD.
Definition: AliESDEvent.h:639
AliTimeStamp GetAliTimeStamp() const
Int_t GetNTPCFriend2Store() const
Definition: AliESDEvent.h:606
void ReadFromTree(TTree *tree, Option_t *opt="")
void SetCurrentDip(Float_t cur) const
Definition: AliESDEvent.h:171
void GetDiamondCovXY(Float_t cov[3]) const
Definition: AliESDEvent.h:156
void SetT0TOF(Int_t icase, Double32_t timeStart)
Definition: AliESDEvent.h:272
Int_t fNTPCClusters
Definition: AliESDEvent.h:679
void SetFMDData(AliESDFMD *obj)
const AliESDVertex * GetVertex() const
Definition: AliESDEvent.h:308
static const char * fgkESDListName[kESDListN]
flag if tracks have already pointer to event set
Definition: AliESDEvent.h:667
void SetTriggerClass(const char *name, Int_t index)
Definition: AliESDRun.cxx:263
TClonesArray * GetPileupVerticesTracks() const
Definition: AliESDEvent.h:391
virtual Int_t EventIndex(Int_t) const
Definition: AliESDEvent.h:588
Bool_t IsDetectorOn(ULong_t detMask) const
Definition: AliESDEvent.h:596
AliESDVertex * fPrimaryVertex
Primary vertex estimated by the SPD.
Definition: AliESDEvent.h:630
void ResetCascades()
Definition: AliESDEvent.h:565
Double_t GetSigma2DiamondY() const
Definition: AliESDRun.h:58
UInt_t GetTimeStamp() const
Definition: AliESDHeader.h:79
void SetBeamType(const char *bt)
Definition: AliESDRun.h:48
UChar_t GetTriggerCluster() const
Definition: AliESDEvent.h:226
Int_t GetRunNumber() const
Definition: AliESDRun.h:35
Int_t GetT0Trig() const
Definition: AliESDEvent.h:277
void SetT0amplitude(Double32_t amp[24])
Definition: AliESDEvent.h:276
const AliESDVertex * GetPrimaryVertexSPD() const
Definition: AliESDEvent.h:307
Int_t GetNumberOfCascades() const
Definition: AliESDEvent.h:553
Float_t GetTOFTimeResolution() const
Definition: AliESDEvent.h:348
Bool_t IsDetectorInTriggerCluster(TString detector, AliTriggerConfiguration *trigConf) const
const AliESDVertex * GetPrimaryVertex() const
Int_t GetNumberOfITSClusters(Int_t lr) const
Definition: AliESDEvent.h:358
void SetEMCALMatrix(TGeoHMatrix *matrix, Int_t i)
Definition: AliESDRun.h:93
void CompleteStdContent()
void SetTZEROData(const AliESDTZERO *obj)
ULong64_t GetTriggerMaskNext50() const
Definition: AliESDHeader.h:76
UInt_t GetOrbitNumber() const
Definition: AliESDHeader.h:78
void GetStdContent()
Int_t GetNumberOfTracks() const
Definition: AliESDEvent.h:536
UInt_t GetPeriodNumber() const
Definition: AliESDEvent.h:146
AliESDtrack * GetTrack(Int_t i) const
Definition: AliESDEvent.h:405
const AliESDRun * GetESDRun() const
Definition: AliESDEvent.h:135
const TGeoHMatrix * GetEMCALMatrix(Int_t i) const
Definition: AliESDEvent.h:161
UInt_t GetEventSpecie() const
Definition: AliESDEvent.h:223
void SetCaloTriggerType(int i, const Int_t *type)
Definition: AliESDEvent.h:163
Bool_t RemoveV0(Int_t i) const
Float_t GetCurrentDip() const
Definition: AliESDEvent.h:180
TClonesArray * fV0s
TRD tracklets (for trigger)
Definition: AliESDEvent.h:648
AliESDMuonPad * NewMuonPad()
void GetESDfriend(AliESDfriend *f)
void SetVZEROData(const AliESDVZERO *obj)
TClonesArray * fMuonTracks
ESD tracks.
Definition: AliESDEvent.h:641
const AliTimeStamp & GetCTPStart() const
Definition: AliESDRun.h:84
void SetStdNames()
void AddTrdTrack(const AliESDTrdTrack *t)
void AddTrdTracklet(const AliESDTrdTracklet *trkl)
AliESDMuonCluster * GetMuonCluster(Int_t i)
Bool_t IsUniformBMap() const
Definition: AliESDEvent.h:186
Int_t GetNTOFclusters() const
Definition: AliESDEvent.h:356
Int_t GetEventNumberInFile() const
Definition: AliESDEvent.h:224
UShort_t GetBunchCrossNumber() const
Definition: AliESDHeader.h:83
Float_t GetT0clock() const
Definition: AliESDTZERO.h:32
Int_t GetNumberOfCaloClusters() const
Definition: AliESDEvent.h:559
Double_t GetZDCN2Energy() const
Definition: AliESDEvent.h:237
AliESDHeader * GetHeader() const
Definition: AliESDEvent.h:193
void SetTriggerClass(const char *name, Int_t index)
Definition: AliESDEvent.h:157
void SetT0time(Double32_t time[24])
Definition: AliESDEvent.h:274
virtual void SetVZEROEqFactors(Float_t factors[64]) const
Definition: AliESDEvent.h:191
virtual Bool_t IsPileupFromSPD(Int_t minContributors=5, Double_t minZdist=0.8, Double_t nSigmaZdist=3., Double_t nSigmaDiamXY=2., Double_t nSigmaDiamZ=5.) const
void SetOrbitNumber(UInt_t n)
Definition: AliESDEvent.h:198
Int_t * GetCaloTriggerType()
Definition: AliESDRun.h:123
void SetTriggerCluster(UChar_t n)
Definition: AliESDHeader.h:44
Bool_t fTracksConnected
Do not use the list from the esdTree but use the one created by this class.
Definition: AliESDEvent.h:666
TClonesArray * fCosmicTracks
PHOS cell info.
Definition: AliESDEvent.h:654
AliESDVertex * fTPCVertex
FITObject.
Definition: AliESDEvent.h:628
Class for calorimeter cell ESD data handling.
Float_t GetTOFResolution() const
Definition: AliTOFHeader.h:47
Int_t GetNumberOfPmdTracks() const
Definition: AliESDEvent.h:549
AliESDZDC * fESDZDC
ESD Event Header.
Definition: AliESDEvent.h:623
Double_t GetDiamondZ() const
Definition: AliESDEvent.h:152
void SetFriendEvent(AliVfriendEvent *f)
Definition: AliESDEvent.h:585
void SetCurrentDip(Float_t cur)
Definition: AliESDRun.h:46
Int_t GetBeamParticleZ(Int_t ibeam) const
Definition: AliESDEvent.h:185
UInt_t GetTimeStampCTP() const
void SetDetectorStatus(ULong_t detMask)
Definition: AliESDEvent.h:593
Int_t GetVZEROData(AliESDVZERO &v) const
Definition: AliESDEvent.h:283
TString GetHLTTriggerDescription() const
TClonesArray * fTracks
Pileup primary vertices reconstructed using the tracks.
Definition: AliESDEvent.h:640
void SetEventNumberInFile(Int_t n)
Definition: AliESDEvent.h:202
AliESDACORDE * fESDACORDE
PHOS Trigger information.
Definition: AliESDEvent.h:634
Bool_t RemoveKink(Int_t i) const
Int_t GetNumberOfKinks() const
Definition: AliESDEvent.h:554
TClonesArray * fErrorLogs
TOF matching info (with the reference to tracks)
Definition: AliESDEvent.h:658
virtual Bool_t IsPileupFromSPDInMultBins() const
TClonesArray * fESDTOFMatches
TOF hits (used for clusters)
Definition: AliESDEvent.h:657
Int_t GetNumberOfHLTHoughTracks() const
Definition: AliESDEvent.h:542
Double_t GetZDCP1Energy() const
Definition: AliESDEvent.h:236
Definition: AliESD.h:40
virtual ~AliESDEvent()
void SetBeamEnergy(Float_t be) const
Definition: AliESDEvent.h:172
virtual AliVEvent::EDataLayoutType GetDataLayoutType() const
TClonesArray * fPmdTracks
MUON+MFT ESD tracks // AU.
Definition: AliESDEvent.h:645
Bool_t Clean(TObjArray *track2destroy, const AliGRPRecoParam *grpRecoParam)
AliESDHLTtrack * GetHLTConfMapTrack(Int_t) const
Definition: AliESDEvent.h:413
AliESDAD * fESDAD
ACORDE ESD object caontaining bit pattern.
Definition: AliESDEvent.h:635
Bool_t IsEventSelected(const char *trigExpr) const
virtual Int_t EventIndexForEMCALCell(Int_t) const
Definition: AliESDEvent.h:591
Bool_t IsTriggerClassFired(ULong64_t mask, const char *name) const
Definition: AliESDRun.cxx:377
void SetTriggerMask(ULong64_t n)
Definition: AliESDEvent.h:196
AliTOFHeader * GetTOFHeader() const
Definition: AliESDEvent.h:346
AliESDCaloCells * fEMCALCells
Calorimeter clusters for PHOS/EMCAL.
Definition: AliESDEvent.h:652
void SetEventType(UInt_t eventType)
Definition: AliESDEvent.h:200
UInt_t GetEventSpecie() const
Definition: AliESDHeader.h:81
void UpdateNumberOfESDTracks()
Definition: AliESDEvent.h:538
AliESD * GetAliESDOld()
Definition: AliESDEvent.h:573
Double32_t GetT0zVertex() const
Definition: AliESDTZERO.h:28
void SetTriggerCluster(UChar_t n)
Definition: AliESDEvent.h:205
AliESDRun * fESDRun
Definition: AliESDEvent.h:621
void SetFITData(const AliESDFIT *obj)
void AddHLTHoughTrack(const AliESDHLTtrack *)
Definition: AliESDEvent.h:428
void SetPeriodNumber(UInt_t n)
Definition: AliESDHeader.h:43
virtual Bool_t InitMagneticField() const
Definition: AliESDEvent.h:188
UInt_t GetEventType() const
Definition: AliESDHeader.h:80
Int_t GetNumberOfTPCTracks() const
void CopyFromOldESD()
void SetACORDEData(AliESDACORDE *obj)
void SetT0TOF(Int_t icase, Float_t time)
Definition: AliESDTZERO.h:37
Int_t AddTrack(const AliESDtrack *t)
Float_t GetT0spread(Int_t i) const
Definition: AliESDEvent.h:190
UShort_t GetBunchCrossNumber() const
Definition: AliESDEvent.h:225
Float_t GetCurrentL3() const
Definition: AliESDEvent.h:179
ULong64_t fDetectorStatus
number of TPC friend tracks to store
Definition: AliESDEvent.h:676
void SetT0amplitude(Double32_t amp[24])
Definition: AliESDTZERO.h:51
Int_t GetPHOSClusters(TRefArray *clusters) const
Double_t GetSigma2DiamondX() const
Definition: AliESDRun.h:57