]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESD.h
Correct vertex handling. (P. Hristov, AM)
[u/mrichter/AliRoot.git] / STEER / AliESD.h
index fc6c304121aa37e359869c8b730bb62c8ede3c08..ac9e815ac453785a63baab8cdef994dbe506ffc2 100644 (file)
 #include "AliESDv0.h"
 #include "AliESDV0MI.h"
 #include "AliESDFMD.h"
+#include "AliMultiplicity.h"
+
+class AliESDfriend;
 
 class AliESD : public TObject {
 public:
   AliESD();
   virtual ~AliESD(); 
 
+  void SetESDfriend(const AliESDfriend *f);
+  void GetESDfriend(AliESDfriend *f) const;
+
   void SetEventNumber(Int_t n) {fEventNumber=n;}
   void SetRunNumber(Int_t n) {fRunNumber=n;}
-  void SetTrigger(Long_t n) {fTrigger=n;}
+  void SetTriggerMask(ULong64_t n) {fTriggerMask=n;}
+  void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
   void SetMagneticField(Float_t mf){fMagneticField = mf;}
   Float_t GetMagneticField() const {return fMagneticField;}
   
@@ -124,14 +131,25 @@ public:
     return fCaloClusters.GetEntriesFast()-1;
   }
     
-  void SetVertex(const AliESDVertexvertex) {
-    new(&fPrimaryVertex) AliESDVertex(*vertex);
+  void SetVertex(const AliESDVertex *vertex) {
+     new (&fSPDVertex) AliESDVertex(*vertex);
   }
-  const AliESDVertex* GetVertex() const {return &fPrimaryVertex;};
+  const AliESDVertex *GetVertex() const {return &fSPDVertex;}
+
+  void SetMultiplicity(const AliMultiplicity *mul) {
+     new (&fSPDMult) AliMultiplicity(*mul);
+  }
+  const AliMultiplicity *GetMultiplicity() const {return &fSPDMult;}
+
+  void SetPrimaryVertex(const AliESDVertex *vertex) {
+     new (&fPrimaryVertex) AliESDVertex(*vertex);
+  }
+  const AliESDVertex *GetPrimaryVertex() const {return &fPrimaryVertex;}
 
   Int_t  GetEventNumber() const {return fEventNumber;}
   Int_t  GetRunNumber() const {return fRunNumber;}
-  Long_t GetTrigger() const {return fTrigger;}
+  ULong64_t GetTriggerMask() const {return fTriggerMask;}
+  UChar_t  GetTriggerCluster() const {return fTriggerCluster;}
   
   Int_t GetNumberOfTracks()     const {return fTracks.GetEntriesFast();}
   Int_t GetNumberOfHLTConfMapTracks()     const {return fHLTConfMapTracks.GetEntriesFast();}
@@ -157,6 +175,16 @@ public:
 
   Float_t GetT0zVertex() const {return fT0zVertex;}
   void SetT0zVertex(Float_t z) {fT0zVertex=z;}
+  Float_t GetT0() const {return fT0timeStart;}
+  void SetT0(Float_t timeStart) {fT0timeStart = timeStart;}
+  const Float_t * GetT0time() const {return fT0time;}
+  void SetT0time(Float_t time[24]) {
+    for (Int_t i=0; i<24; i++) fT0time[i] = time[i];
+  }
+  const Float_t * GetT0amplitude() const {return fT0amplitude;}
+  void SetT0amplitude(Float_t amp[24]) {
+    for (Int_t i=0; i<24; i++) fT0amplitude[i] = amp[i];
+  }
 
   Float_t GetZDCN1Energy() const {return fZDCN1Energy;}
   Float_t GetZDCP1Energy() const {return fZDCP1Energy;}
@@ -182,11 +210,13 @@ public:
   AliESDFMD * GetFMDData(){ return fESDFMD;}
    
 protected:
+  AliESD(const AliESD&);
 
   // Event Identification
   Int_t        fEventNumber;     // Event Number
   Int_t        fRunNumber;       // Run Number
-  Long_t       fTrigger;         // Trigger Type
+  ULong64_t    fTriggerMask;     // Trigger Type (mask)
+  UChar_t      fTriggerCluster;  // Trigger cluster (mask)
   Int_t        fRecoVersion;     // Version of reconstruction 
   Float_t      fMagneticField;   // Solenoid Magnetic Field in kG : for compatibility with AliMagF
 
@@ -198,7 +228,13 @@ protected:
   Int_t        fZDCParticipants; // number of participants estimated by the ZDC
 
   Float_t      fT0zVertex;       // vertex z position estimated by the START
-  AliESDVertex fPrimaryVertex;   // Primary vertex estimated by the ITS
+  AliESDVertex fSPDVertex;       // Primary vertex estimated by the SPD
+  AliESDVertex fPrimaryVertex;   // Primary vertex estimated using ESD tracks
+  AliMultiplicity fSPDMult;      // SPD tracklet multiplicity
+
+  Float_t      fT0timeStart;     // interaction time estimated by the START
+  Float_t      fT0time[24];      // best TOF on each START PMT
+  Float_t      fT0amplitude[24]; // number of particles(MIPs) on each START PMT
 
   TClonesArray fTracks;          // ESD tracks
   TClonesArray fHLTConfMapTracks;// HLT ESD tracks from Conformal Mapper method
@@ -219,7 +255,7 @@ protected:
  
   AliESDFMD *  fESDFMD; // FMD object containing rough multiplicity
 
-  ClassDef(AliESD,9)  //ESD class 
+  ClassDef(AliESD,13)  //ESD class 
 };
 #endif