]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDEvent.h
add protection against truncated events + coverity - Rachid
[u/mrichter/AliRoot.git] / STEER / AliESDEvent.h
index 5cb7d84e0615d05d54016fcd1ed97cef5399e5af..36d84a61f7e4f37f9eceece3b38c4d0331ec1fcc 100644 (file)
 #include "AliESDCaloCluster.h"
 #include "AliESDCaloCells.h"
 
+#include "AliTOFHeader.h"
+
+#include "AliESDVZERO.h"
 
 class AliESDfriend;
-class AliESDVZERO;
 class AliESDHLTtrack;
 class AliESDVertex;
 class AliESDPmdTrack;
@@ -55,6 +57,8 @@ class AliESDTrdTrack;
 class AliESDMuonTrack;
 class AliESD;
 class AliESDcascade;
+class AliCentrality;
+class AliEventplane;
 class TRefArray;
 class AliESDACORDE;
 class AliESDHLTDecision;
@@ -93,6 +97,7 @@ public:
                       kPHOSCells,
                       kErrorLogs,
                        kESDACORDE,
+                      kTOFHeader,
                       kESDListN
   };
 
@@ -108,7 +113,10 @@ public:
   // Delegated methods for fESDRun
   void     SetRunNumber(Int_t n) {if(fESDRun) fESDRun->SetRunNumber(n);}
   Int_t    GetRunNumber() const {return fESDRun?fESDRun->GetRunNumber():-1;}
-  void     SetPeriodNumber(UInt_t n){if(fESDRun) fESDRun->SetPeriodNumber(n);}
+  void     SetPeriodNumber(UInt_t n){
+    if(fESDRun) fESDRun->SetPeriodNumber(n);
+    if(fHeader) fHeader->SetPeriodNumber(n);
+  }
   UInt_t   GetPeriodNumber() const {return fESDRun?fESDRun->GetPeriodNumber():0;}
   void     SetMagneticField(Double_t mf){if(fESDRun) fESDRun->SetMagneticField(mf);}
   Double_t GetMagneticField() const {return fESDRun?fESDRun->GetMagneticField():0;}
@@ -125,6 +133,9 @@ public:
   const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {return fESDRun?fESDRun->GetPHOSMatrix(i):0x0;}
   void     SetEMCALMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetEMCALMatrix(matrix,i);}
   const TGeoHMatrix* GetEMCALMatrix(Int_t i) const {return fESDRun?fESDRun->GetEMCALMatrix(i):0x0;}
+  void     SetCaloTriggerType(const Int_t* type) {if (fESDRun) fESDRun->SetCaloTriggerType(type);}
+  Int_t*   GetCaloTriggerType() const {return fESDRun?fESDRun->GetCaloTriggerType():0x0;};
+       
   //
   void        SetCurrentL3(Float_t cur)           const  {if(fESDRun) fESDRun->SetCurrentL3(cur);}
   void        SetCurrentDip(Float_t cur)          const  {if(fESDRun) fESDRun->SetCurrentDip(cur);}
@@ -140,6 +151,7 @@ public:
   Bool_t      IsUniformBMap()                     const  {return fESDRun?fESDRun->TestBit(AliESDRun::kUniformBMap):kFALSE;}
   //
   Bool_t      InitMagneticField()                 const  {return fESDRun?fESDRun->InitMagneticField():kFALSE;} 
+  void      SetT0spread(Float_t *t)               const  {if(fESDRun) fESDRun->SetT0spread(t);} 
   // HEADER
   AliESDHeader* GetHeader() const {return fHeader;}
 
@@ -171,6 +183,7 @@ public:
 
   // ZDC CKB: put this in the header?
   AliESDZDC*    GetESDZDC() const {return fESDZDC;}
+  void SetZDCData(AliESDZDC * obj);
 
   // Delegated methods for fESDZDC
   Double_t GetZDCN1Energy() const {return fESDZDC?fESDZDC->GetZDCN1Energy():0;}
@@ -179,15 +192,16 @@ public:
   Double_t GetZDCP2Energy() const {return fESDZDC?fESDZDC->GetZDCP2Energy():0;}
   Double_t GetZDCEMEnergy(Int_t i=0) const {return fESDZDC?fESDZDC->GetZDCEMEnergy(i):0;}
   Int_t    GetZDCParticipants() const {return fESDZDC?fESDZDC->GetZDCParticipants():0;}
+  AliCentrality* GetCentrality();
+  AliEventplane* GetEventplane();
+    
+
   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)
   {if(fESDZDC) fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, 
             participants, nPartA, nPartC, b, bA, bC,  recoflag);}
-  void     SetZDCScaler(UInt_t *counts) {if(fESDZDC) fESDZDC->SetZDCScaler(counts);}
-
-
-  // FMD
+    // FMD
   void SetFMDData(AliESDFMD * obj);
   AliESDFMD *GetFMDData() const { return fESDFMD; }
 
@@ -241,6 +255,14 @@ public:
 
   const AliESDVertex *GetPrimaryVertex() const;
 
+
+
+  void SetTOFHeader(const AliTOFHeader * tofEventTime);
+  const AliTOFHeader *GetTOFHeader() const {return fTOFHeader;}
+  Float_t GetEventTimeSpread() const {if (fTOFHeader) return fTOFHeader->GetT0spread(); else return 0.;}
+  Float_t GetTOFTimeResolution() const {if (fTOFHeader) return fTOFHeader->GetTOFResolution(); else return 0.;}
+
+
   void SetMultiplicity(const AliMultiplicity *mul);
 
   const AliMultiplicity *GetMultiplicity() const {return fSPDMult;}
@@ -267,6 +289,8 @@ public:
                                  Double_t nSigmaDiamXY=2., 
                                  Double_t nSigmaDiamZ=5.) const;
   
+  virtual Bool_t IsPileupFromSPDInMultBins() const;
+
   AliESDtrack *GetTrack(Int_t i) const {
     return (AliESDtrack *)(fTracks?fTracks->UncheckedAt(i):0x0);
   }
@@ -339,6 +363,13 @@ public:
   AliESDCaloCells *GetEMCALCells() const {return fEMCALCells; }  
   AliESDCaloCells *GetPHOSCells() const {return fPHOSCells; }  
 
+  AliESDCaloTrigger* GetCaloTrigger(TString calo) const 
+  {
+         if (calo.Contains("EMCAL")) return fEMCALTrigger;
+         else
+                 return fPHOSTrigger;
+  }
+       
   AliRawDataErrorLog *GetErrorLog(Int_t i) const {
     return (AliRawDataErrorLog *)(fErrorLogs?fErrorLogs->UncheckedAt(i):0x0);
   }
@@ -346,12 +377,6 @@ public:
 
   Int_t GetNumberOfErrorLogs()   const {return fErrorLogs?fErrorLogs->GetEntriesFast():0;}
 
-    
-  void AddPHOSTriggerPosition(TArrayF array)   { if(fPHOSTrigger) fPHOSTrigger->AddTriggerPosition(array); }
-  void AddPHOSTriggerAmplitudes(TArrayF array) { if(fPHOSTrigger) fPHOSTrigger->AddTriggerAmplitudes(array);}
-  void AddEMCALTriggerPosition(TArrayF array)  { if(fEMCALTrigger) fEMCALTrigger->AddTriggerPosition(array); }
-  void AddEMCALTriggerAmplitudes(TArrayF array){ if(fEMCALTrigger) fEMCALTrigger->AddTriggerAmplitudes(array); }
-
   Int_t GetNumberOfPileupVerticesSPD() const {
     return (fSPDPileupVertices?fSPDPileupVertices->GetEntriesFast():0);
   }
@@ -378,11 +403,6 @@ public:
   void SetUseOwnList(Bool_t b){fUseOwnList = b;}
   Bool_t GetUseOwnList() const {return fUseOwnList;}
 
-  TArrayF *GetEMCALTriggerPosition() const {return  fEMCALTrigger?fEMCALTrigger->GetTriggerPosition():0x0;}
-  TArrayF *GetEMCALTriggerAmplitudes() const {return  fEMCALTrigger?fEMCALTrigger->GetTriggerAmplitudes():0x0;}
-  TArrayF *GetPHOSTriggerPosition() const {return  fPHOSTrigger?fPHOSTrigger->GetTriggerPosition():0x0;}
-  TArrayF *GetPHOSTriggerAmplitudes() const {return  fPHOSTrigger?fPHOSTrigger->GetTriggerAmplitudes():0x0;}
-
   void ResetV0s() { if(fV0s) fV0s->Clear(); }
   void ResetCascades() { if(fCascades) fCascades->Clear(); }
   void Reset();
@@ -452,7 +472,13 @@ protected:
 
   static const char* fgkESDListName[kESDListN]; //!
 
-  ClassDef(AliESDEvent,11)  //ESDEvent class 
+  AliTOFHeader *fTOFHeader;  //! event times (and sigmas) as estimated by TOF
+                            //  combinatorial algorithm.
+                             //  It contains also TOF time resolution
+                             //  and T0spread as written in OCDB
+  AliCentrality *fCentrality; //! Centrality for AA collision
+  AliEventplane *fEventplane; //! Event plane for AA collision
+  ClassDef(AliESDEvent,14)  //ESDEvent class 
 };
 #endif