]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESD.h
Base class (AliMisaligner); each detector will provide its derived class,
[u/mrichter/AliRoot.git] / STEER / AliESD.h
index 61180b392d4cb77f863ff5fef083fabd39a93630..c92aa446e98077b7bfd4d6d5bf5f2682bc0fe051 100644 (file)
 #include "AliESDFMD.h"
 #include "AliESDVZERO.h"
 #include "AliMultiplicity.h"
+#include "AliRawDataErrorLog.h"
+#include "AliESDACORDE.h"
 
 class AliESDfriend;
 
 class AliESD : public TObject {
 public:
   AliESD();
+  AliESD(const AliESD&);  
   virtual ~AliESD(); 
 
   void SetESDfriend(const AliESDfriend *f);
@@ -45,6 +48,7 @@ public:
   void SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;}
   void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;}
   void SetOrbitNumber(UInt_t n) {fOrbitNumber=n;}
+  void SetPeriodNumber(UInt_t n) {fPeriodNumber=n;}
   void SetRunNumber(Int_t n) {fRunNumber=n;}
   void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;}
   void SetEventType(UInt_t eventType){fEventType = eventType;}
@@ -72,11 +76,13 @@ public:
     return (AliESDTrdTrack *)fTrdTracks.UncheckedAt(i);
   }
 
+  Bool_t Clean(Float_t *cleanPars);
+  Bool_t RemoveKink(Int_t i);
+  Bool_t RemoveV0(Int_t i);
+  Bool_t RemoveTrack(Int_t i);
+
   Int_t  AddTrack(const AliESDtrack *t) {
-    AliESDtrack * track = new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t);
-    track->SetID(fTracks.GetEntriesFast()-1);
-    return  track->GetID();
-    
+    AliESDtrack * track = new(fTracks[fTracks.GetEntriesFast()]) AliESDtrack(*t);track->SetID(fTracks.GetEntriesFast()-1);return  track->GetID();
   }
   void AddHLTConfMapTrack(const AliESDHLTtrack *t) {
     new(fHLTConfMapTracks[fHLTConfMapTracks.GetEntriesFast()]) AliESDHLTtrack(*t);
@@ -144,9 +150,19 @@ public:
   }
   const AliESDVertex *GetPrimaryVertex() const {return &fPrimaryVertex;}
 
+  void SetDiamond(const AliESDVertex *vertex);
+  Float_t GetDiamondX() const {return fDiamondXY[0];}
+  Float_t GetDiamondY() const {return fDiamondXY[1];}
+  Float_t GetSigma2DiamondX() const {return fDiamondCovXY[0];}
+  Float_t GetSigma2DiamondY() const {return fDiamondCovXY[2];}
+  void GetDiamondCovXY(Float_t cov[3]) const {
+    for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return;
+  }
+
   Int_t  GetEventNumberInFile() const {return fEventNumberInFile;}
   UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;}
   UInt_t GetOrbitNumber() const {return fOrbitNumber;}
+  UInt_t GetPeriodNumber() const {return fPeriodNumber;}
   Int_t  GetRunNumber() const {return fRunNumber;}
   UInt_t    GetTimeStamp()  const { return fTimeStamp;}
   UInt_t    GetEventType()  const { return fEventType;}
@@ -214,15 +230,25 @@ public:
    
   void SetVZEROData(AliESDVZERO * obj) { fESDVZERO = new AliESDVZERO(*obj); }
   AliESDVZERO *GetVZEROData(){ return fESDVZERO; }
-   
+  void SetACORDEData(AliESDACORDE * obj){ fESDACORDE = new AliESDACORDE(*obj); } 
+  AliESDACORDE *GetACORDEDAta(){ return fESDACORDE; }
+  AliRawDataErrorLog *GetErrorLog(Int_t i) const {
+    return (AliRawDataErrorLog *)fErrorLogs.UncheckedAt(i);
+  }
+  void  AddRawDataErrorLog(const AliRawDataErrorLog *log) {
+    new(fErrorLogs[fErrorLogs.GetEntriesFast()]) AliRawDataErrorLog(*log);
+  }
+  Int_t GetNumberOfErrorLogs()   const {return fErrorLogs.GetEntriesFast();}
+
 protected:
-  AliESD(const AliESD&);
   AliESD &operator=(const AliESD& source);
 
   // Event Identification
+
   Int_t        fEventNumberInFile;// running Event count in the file
   UShort_t     fBunchCrossNumber;// Bunch Crossing Number
   UInt_t       fOrbitNumber;     // Orbit Number
+  UInt_t       fPeriodNumber;    // Period Number
   Int_t        fRunNumber;       // Run Number
   UInt_t       fTimeStamp;       // Time stamp
   UInt_t       fEventType;       // Type of Event
@@ -241,6 +267,8 @@ protected:
   Float_t      fT0zVertex;       // vertex z position estimated by the T0
   AliESDVertex fSPDVertex;       // Primary vertex estimated by the SPD
   AliESDVertex fPrimaryVertex;   // Primary vertex estimated using ESD tracks
+  Float_t      fDiamondXY[2];    // Interaction diamond (x,y) in RUN
+  Float_t      fDiamondCovXY[3]; // Interaction diamond covariance (x,y) in RUN
   AliMultiplicity fSPDMult;      // SPD tracklet multiplicity
 
   Float_t      fT0timeStart;     // interaction time estimated by the T0
@@ -269,8 +297,11 @@ protected:
 
   AliESDFMD   *fESDFMD;   // FMD object containing rough multiplicity
   AliESDVZERO *fESDVZERO; // VZERO object containing rough multiplicity
+  AliESDACORDE *fESDACORDE; // ACORDE ESD object containing bit pattern
+
+  TClonesArray fErrorLogs;        // Raw-data reading error messages
 
-  ClassDef(AliESD,18)  //ESD class 
+  ClassDef(AliESD,22)  //ESD class 
 };
 #endif