AliRoot Core  3dc7879 (3dc7879)
AliMixedEvent.h
Go to the documentation of this file.
1 // -*- mode: C++ -*-
2 #ifndef ALIMIXEDEVENT_H
3 #define ALIMIXEDEVENT_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$ */
9 
10 //-------------------------------------------------------------------------
11 // Class AliMixedEvent
12 // VEvent which is the container of several VEvents
13 // Use Case: Event Mixing
14 // Origin: Andreas Morsch, CERN, Andreas.Morsch@cern.ch
15 //-------------------------------------------------------------------------
16 
17 #include "AliVEvent.h"
18 #include <TList.h>
19 #include <TObjArray.h>
20 class AliCentrality;
21 class AliEventplane;
22 class AliVVertex;
23 
24 class AliMixedEvent : public AliVEvent {
25 
26 public:
27 
28  AliMixedEvent();
29  virtual ~AliMixedEvent() ;
30  AliMixedEvent(const AliMixedEvent& vEvnt);
31  AliMixedEvent& operator=(const AliMixedEvent& vEvnt);
32 
33  // Services from VEvent
34  virtual void AddObject(TObject* /*obj*/) {;}
35  virtual TObject* FindListObject(const char* /*name*/) const {return 0;}
36  virtual TList* GetList() const {return 0;}
37  virtual void CreateStdContent() {;}
38  virtual void GetStdContent() {;}
39  virtual void ReadFromTree(TTree* /*tree*/, Option_t* /*opt*/) {;}
40  virtual void WriteToTree(TTree* /*tree*/) const {;}
41  virtual void SetStdNames() {;}
42  virtual void Print(Option_t * /*option*/) const {;}
43  // Specific Services
44  virtual void AddEvent(AliVEvent* evt);
45  virtual void SetPrimaryVertex(AliVVertex* newVertex) {fMeanVertex = newVertex;}
46  virtual void Reset();
47  virtual void Init();
48  const AliVVertex* GetEventVertex(Int_t i) const;
49  const AliVVertex* GetVertexOfEvent(Int_t i) const;
50  Int_t GetNumberOfEvents() {return fNEvents;}
51 
52  // Header
53  virtual AliVHeader* GetHeader() const {return 0;}
54 
55  // Delegated methods for fESDRun or AODHeader
56 
57  virtual void SetRunNumber(Int_t /*n*/) {;}
58  virtual void SetPeriodNumber(UInt_t /*n*/) {;}
59  virtual void SetMagneticField(Double_t /*mf*/) {;}
60 
61  virtual Int_t GetRunNumber() const {return -999 ;}
62  virtual UInt_t GetPeriodNumber() const {return 0 ;}
63  virtual Double_t GetMagneticField() const;
64 
65 
66  virtual Double_t GetDiamondX() const {return -999.;}
67  virtual Double_t GetDiamondY() const {return -999.;}
68  virtual void GetDiamondCovXY(Float_t cov[3]) const
69  {cov[0]=-999.; return;}
70 
71  // Delegated methods for fHeader
72  virtual void SetOrbitNumber(UInt_t /*n*/) {;}
73  virtual void SetBunchCrossNumber(UShort_t /*n*/) {;}
74  virtual void SetEventType(UInt_t /*eventType*/) {;}
75  virtual void SetTriggerMask(ULong64_t /*n*/) {;}
76  virtual void SetTriggerCluster(UChar_t /*n*/) {;}
77 
78  virtual UInt_t GetOrbitNumber() const {return 0;}
79  virtual UShort_t GetBunchCrossNumber() const {return 0;}
80  virtual UInt_t GetEventType() const {return 0;}
81  virtual ULong64_t GetTriggerMask() const {return 0;}
82  virtual UChar_t GetTriggerCluster() const {return 0;}
83  virtual TString GetFiredTriggerClasses() const {return ("");}
84 
85  virtual Double_t GetZDCN1Energy() const {return -999.;}
86  virtual Double_t GetZDCP1Energy() const {return -999.;}
87  virtual Double_t GetZDCN2Energy() const {return -999.;}
88  virtual Double_t GetZDCP2Energy() const {return -999.;}
89  virtual Double_t GetZDCEMEnergy(Int_t /*i*/) const {return -999.;}
90 
91  // Tracks
92  virtual AliVParticle *GetTrack(Int_t i) const;
93  virtual Int_t GetNumberOfTracks() const {return fNumberOfTracks;}
94  virtual Int_t GetNumberOfV0s() const {return -999;}
95  virtual Int_t GetNumberOfCascades() const {return -999;}
96 
97  // Calo Clusters and cells
98  virtual AliVCluster *GetCaloCluster(Int_t i) const;
99  virtual Int_t GetNumberOfCaloClusters() const {return fNumberOfCaloClusters;}
100  virtual AliVCaloCells *GetPHOSCells() const {return fPHOSCells;}
101  virtual AliVCaloCells *GetEMCALCells() const {return fEMCALCells;}
102  virtual Int_t GetNumberOfPHOSCells() const {return fNumberOfPHOSCells;}
103  virtual Int_t GetNumberOfEMCALCells() const {return fNumberOfEMCALCells;}
104  virtual Int_t* GetPHOSCellsCumul() const {return fNPHOSCellsCumul;}
105  virtual Int_t* GetEMCALCellsCumul() const {return fNEMCALCellsCumul;}
106  virtual Int_t GetNCaloClustersCumul(Int_t iev) const {return fNCaloClustersCumul[iev];}
107 
108 
109  virtual Int_t EventIndex(Int_t itrack) const;
110  virtual Int_t EventIndexForCaloCluster(Int_t iclu) const;
111  virtual Int_t EventIndexForPHOSCell(Int_t icell) const;
112  virtual Int_t EventIndexForEMCALCell(Int_t icell) const;
113 
114  virtual AliCentrality* GetCentrality() {return 0;}
115  virtual AliEventplane* GetEventplane() {return 0;}
116  // Primary vertex
118  virtual const AliVVertex *GetPrimaryVertex() const {return fMeanVertex;}
119  virtual Bool_t ComputeVtx(const TObjArray *vertices, Double_t *pos,Double_t *sig,Int_t *nContributors);
120  // VZERO
121  virtual AliVVZERO *GetVZEROData() const {return 0;}
122  virtual AliVZDC *GetZDCData() const {return 0;}
123  virtual EDataLayoutType GetDataLayoutType() const;
124 private:
125  TList fEventList;
126  Int_t fNEvents;
131  Int_t* fNTracksCumul;
138 
139  ClassDef(AliMixedEvent, 0) // Container for mixed events
140 };
141 #endif
142 
virtual void Init()
virtual const AliVVertex * GetPrimaryVertex() const
Definition: AliVEvent.h:247
Int_t * fNEMCALCellsCumul
Cumulant.
virtual Int_t EventIndexForPHOSCell(Int_t icell) const
Int_t fNEvents
List of Events.
Int_t fNumberOfCaloClusters
Total number of tracks.
virtual Int_t GetNumberOfEMCALCells() const
#define TObjArray
virtual UInt_t GetEventType() const
Definition: AliMixedEvent.h:80
AliVCaloCells * fPHOSCells
Cumulant.
virtual UShort_t GetBunchCrossNumber() const
Definition: AliMixedEvent.h:79
const AliVVertex * GetVertexOfEvent(Int_t i) const
Virtual class for calorimeter cell data handling.
Definition: AliVCaloCells.h:19
virtual void AddEvent(AliVEvent *evt)
virtual void SetRunNumber(Int_t)
Definition: AliMixedEvent.h:57
virtual void SetPeriodNumber(UInt_t)
Definition: AliMixedEvent.h:58
Int_t * fNCaloClustersCumul
Cumulant.
virtual void SetTriggerMask(ULong64_t)
Definition: AliMixedEvent.h:75
virtual void SetEventType(UInt_t)
Definition: AliMixedEvent.h:74
virtual const AliVVertex * GetPrimaryVertex() const
virtual TList * GetList() const
Definition: AliMixedEvent.h:36
virtual AliCentrality * GetCentrality()
Virtual class for calorimeter cluster data handling.
Definition: AliVCluster.h:20
virtual void Reset()
virtual Int_t GetNCaloClustersCumul(Int_t iev) const
const AliVVertex * GetEventVertex(Int_t i) const
Int_t GetNumberOfEvents()
Definition: AliMixedEvent.h:50
virtual ~AliMixedEvent()
virtual TString GetFiredTriggerClasses() const
Definition: AliMixedEvent.h:83
virtual AliEventplane * GetEventplane()
virtual UChar_t GetTriggerCluster() const
Definition: AliMixedEvent.h:82
virtual UInt_t GetOrbitNumber() const
Definition: AliMixedEvent.h:78
virtual Double_t GetZDCP1Energy() const
Definition: AliMixedEvent.h:86
virtual Double_t GetDiamondX() const
Definition: AliMixedEvent.h:66
AliVCaloCells * fEMCALCells
array ofPHOS cells
virtual Double_t GetZDCN1Energy() const
Definition: AliMixedEvent.h:85
virtual void SetPrimaryVertex(AliVVertex *newVertex)
Definition: AliMixedEvent.h:45
virtual EDataLayoutType GetDataLayoutType() const
virtual Double_t GetMagneticField() const
virtual void SetStdNames()
Definition: AliMixedEvent.h:41
virtual Int_t GetRunNumber() const
Definition: AliMixedEvent.h:61
virtual void CreateStdContent()
Definition: AliMixedEvent.h:37
Int_t * fNPHOSCellsCumul
Cumulant.
Int_t * fNTracksCumul
Total number of EMCAL Cells.
virtual ULong64_t GetTriggerMask() const
Definition: AliMixedEvent.h:81
virtual AliVCaloCells * GetEMCALCells() const
virtual void SetMagneticField(Double_t)
Definition: AliMixedEvent.h:59
virtual Int_t EventIndexForEMCALCell(Int_t icell) const
Int_t fNumberOfTracks
Number of Events.
virtual Double_t GetZDCN2Energy() const
Definition: AliMixedEvent.h:87
Int_t fNumberOfPHOSCells
Total number of calo clusters.
virtual UInt_t GetPeriodNumber() const
Definition: AliMixedEvent.h:62
virtual Int_t EventIndex(Int_t itrack) const
virtual Int_t * GetEMCALCellsCumul() const
EDataLayoutType
Definition: AliVEvent.h:46
AliVVertex * fMeanVertex
array ofPHOS cells
virtual void ReadFromTree(TTree *, Option_t *)
Definition: AliMixedEvent.h:39
virtual Int_t GetNumberOfPHOSCells() const
virtual Int_t GetNumberOfCascades() const
Definition: AliMixedEvent.h:95
virtual AliVParticle * GetTrack(Int_t i) const
virtual void GetStdContent()
Definition: AliMixedEvent.h:38
virtual void Print(Option_t *) const
Definition: AliMixedEvent.h:42
virtual Int_t GetNumberOfV0s() const
Definition: AliMixedEvent.h:94
virtual Double_t GetZDCEMEnergy(Int_t) const
Definition: AliMixedEvent.h:89
virtual AliVCluster * GetCaloCluster(Int_t i) const
virtual Int_t GetNumberOfTracks() const
Definition: AliMixedEvent.h:93
virtual Bool_t ComputeVtx(const TObjArray *vertices, Double_t *pos, Double_t *sig, Int_t *nContributors)
virtual AliVCaloCells * GetPHOSCells() const
virtual Double_t GetZDCP2Energy() const
Definition: AliMixedEvent.h:88
virtual AliVHeader * GetHeader() const
Definition: AliMixedEvent.h:53
virtual AliVVZERO * GetVZEROData() const
virtual void SetTriggerCluster(UChar_t)
Definition: AliMixedEvent.h:76
virtual void SetOrbitNumber(UInt_t)
Definition: AliMixedEvent.h:72
virtual Int_t EventIndexForCaloCluster(Int_t iclu) const
virtual Int_t * GetPHOSCellsCumul() const
virtual Int_t GetNumberOfCaloClusters() const
Definition: AliMixedEvent.h:99
virtual void GetDiamondCovXY(Float_t cov[3]) const
Definition: AliMixedEvent.h:68
virtual TObject * FindListObject(const char *) const
Definition: AliMixedEvent.h:35
AliMixedEvent & operator=(const AliMixedEvent &vEvnt)
virtual void SetBunchCrossNumber(UShort_t)
Definition: AliMixedEvent.h:73
virtual Double_t GetDiamondY() const
Definition: AliMixedEvent.h:67
virtual AliVZDC * GetZDCData() const
virtual void AddObject(TObject *)
Definition: AliMixedEvent.h:34
Int_t fNumberOfEMCALCells
Total number of PHOS Cells.
virtual void WriteToTree(TTree *) const
Definition: AliMixedEvent.h:40