]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODEvent.h
Coding rule violations corrected
[u/mrichter/AliRoot.git] / STEER / AliAODEvent.h
index 04cb376e6b1b72e5c4b4e4e3cb1656cdbd215643..c88e8caa811315d0a25c37b7942f2000327d6eb8 100644 (file)
 #include "AliAODPmdCluster.h"
 #include "AliAODFmdCluster.h"
 #include "AliAODDimuon.h"
+#include "AliAODVZERO.h"
 
 class TTree;
 class TFolder;
+class AliCentrality;
 
 class AliAODEvent : public AliVEvent {
 
@@ -50,6 +52,7 @@ class AliAODEvent : public AliVEvent {
                       kAODFmdClusters,
                       kAODPmdClusters,
                       kAODDimuons,
+                      kAODVZERO,
                       kAODListN
   };
 
@@ -111,9 +114,9 @@ class AliAODEvent : public AliVEvent {
 
   // -- Tracks
   TClonesArray *GetTracks()              const { return fTracks; }
-  Int_t         GetNTracks()             const { return fTracks->GetEntriesFast(); }
+  Int_t         GetNTracks()             const { return fTracks? fTracks->GetEntriesFast() : 0; }
   Int_t         GetNumberOfTracks()      const { return GetNTracks(); }
-  AliAODTrack  *GetTrack(Int_t nTrack)   const { return (AliAODTrack*)fTracks->UncheckedAt(nTrack); }
+  AliAODTrack  *GetTrack(Int_t nTrack)   const { return fTracks ? (AliAODTrack*)fTracks->UncheckedAt(nTrack):0; }
   Int_t         AddTrack(const AliAODTrack* trk)
     {new((*fTracks)[fTracks->GetEntriesFast()]) AliAODTrack(*trk); return fTracks->GetEntriesFast()-1;}
   Int_t         GetMuonTracks(TRefArray *muonTracks) const;
@@ -121,8 +124,8 @@ class AliAODEvent : public AliVEvent {
 
   // -- Vertex
   TClonesArray *GetVertices()            const { return fVertices; }
-  Int_t         GetNumberOfVertices()    const { return fVertices->GetEntriesFast(); }
-  AliAODVertex *GetVertex(Int_t nVertex) const { return (AliAODVertex*)fVertices->At(nVertex); }
+  Int_t         GetNumberOfVertices()    const { return fVertices?fVertices->GetEntriesFast():0; }
+  AliAODVertex *GetVertex(Int_t nVertex) const { return fVertices?(AliAODVertex*)fVertices->At(nVertex):0; }
   Int_t         AddVertex(const AliAODVertex* vtx)
   {new((*fVertices)[fVertices->GetEntriesFast()]) AliAODVertex(*vtx); return fVertices->GetEntriesFast()-1;}
   
@@ -136,7 +139,7 @@ class AliAODEvent : public AliVEvent {
   virtual AliAODVertex *GetPileupVertexSPD(Int_t iV=0) const;
   virtual AliAODVertex *GetPileupVertexTracks(Int_t iV=0) const;
   virtual Bool_t  IsPileupFromSPD(Int_t minContributors=3, Double_t minZdist=0.8, Double_t nSigmaZdist=3., Double_t nSigmaDiamXY=2., Double_t nSigmaDiamZ=5.) const;
-
+  virtual Bool_t IsPileupFromSPDInMultBins() const;
 
 
   // V0
@@ -154,8 +157,8 @@ class AliAODEvent : public AliVEvent {
   {new((*fCascades)[fCascades->GetEntriesFast()]) AliAODcascade(*cascade); return fCascades->GetEntriesFast()-1;}
 
   // -- EMCAL and PHOS Cluster
-  TClonesArray *GetCaloClusters()        const { return fCaloClusters; }
-  Int_t         GetNCaloClusters()       const { return fCaloClusters->GetEntriesFast(); }
+  TClonesArray *GetCaloClusters()          const { return fCaloClusters; }
+  Int_t         GetNumberOfCaloClusters()  const { return fCaloClusters->GetEntriesFast(); }
   AliAODCaloCluster *GetCaloCluster(Int_t nCluster) const { return (AliAODCaloCluster*)fCaloClusters->UncheckedAt(nCluster); }
   Int_t         AddCaloCluster(const AliAODCaloCluster* clus)
   {new((*fCaloClusters)[fCaloClusters->GetEntriesFast()]) AliAODCaloCluster(*clus); return fCaloClusters->GetEntriesFast()-1;}
@@ -180,8 +183,8 @@ class AliAODEvent : public AliVEvent {
 
   // -- Jet
   TClonesArray *GetJets()            const { return fJets; }
-  Int_t         GetNJets()           const { return fJets->GetEntriesFast(); }
-  AliAODJet    *GetJet(Int_t nJet) const { return (AliAODJet*)fJets->UncheckedAt(nJet); }
+  Int_t         GetNJets()           const { return fJets?fJets->GetEntriesFast():0; }
+  AliAODJet    *GetJet(Int_t nJet) const { return fJets?(AliAODJet*)fJets->UncheckedAt(nJet):0; }
   Int_t         AddJet(const AliAODJet* vtx)
     {new((*fJets)[fJets->GetEntriesFast()]) AliAODJet(*vtx); return fJets->GetEntriesFast()-1;}
 
@@ -191,6 +194,9 @@ class AliAODEvent : public AliVEvent {
   // -- Calorimeter Cells
   AliAODCaloCells *GetEMCALCells() const { return fEmcalCells; }
   AliAODCaloCells *GetPHOSCells() const { return fPhosCells; }
+  const TGeoHMatrix* GetPHOSMatrix(Int_t /*i*/) const { return NULL; }
+  const TGeoHMatrix* GetEMCALMatrix(Int_t /*i*/)const { return NULL; }
+
 
   // -- Dimuons
   TClonesArray *GetDimuons()              const { return fDimuons; }
@@ -222,8 +228,19 @@ class AliAODEvent : public AliVEvent {
 
   void  Print(Option_t *option="") const;
   void  MakeEntriesReferencable();
-  static void AssignIDtoCollection(TCollection* col);
- private :
+  static void AssignIDtoCollection(const TCollection* col);
+  
+    //Following needed only for mixed event
+  virtual Int_t        EventIndex(Int_t)       const {return 0;}
+  virtual Int_t        EventIndexForCaloCluster(Int_t) const {return 0;}
+  virtual Int_t        EventIndexForPHOSCell(Int_t)    const {return 0;}
+  virtual Int_t        EventIndexForEMCALCell(Int_t)   const {return 0;} 
+  AliCentrality*       GetCentrality() {return fHeader->GetCentralityP();} 
+
+  // VZERO 
+  AliAODVZERO *GetVZEROData() const { return fAODVZERO; }
+
+  private :
 
   TList   *fAODObjects; //  list of AODObjects
   TFolder *fAODFolder;  //  folder structure of branches
@@ -242,10 +259,11 @@ class AliAODEvent : public AliVEvent {
   TClonesArray    *fFmdClusters;  //! FMDclusters
   TClonesArray    *fPmdClusters;  //! PMDclusters
   TClonesArray    *fDimuons;      //! dimuons
+  AliAODVZERO     *fAODVZERO;     //! VZERO AOD
 
   static const char* fAODListName[kAODListN]; //!
 
-  ClassDef(AliAODEvent, 6);
+  ClassDef(AliAODEvent, 7);
 };
 
 #endif