]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDEvent.h
coverity warnings 15388 10083 10082 fixed
[u/mrichter/AliRoot.git] / STEER / AliESDEvent.h
index e0b59c5ee035888b2d1437211f7d1711a7078345..56e1003e87e02bfaa1eecf05e19054efaf710427 100644 (file)
@@ -20,7 +20,6 @@
 #include <TTree.h>
 #include <TArrayF.h>
 
-class TList;
 
 #include "AliVEvent.h"
 // some includes for delegated methods
@@ -36,16 +35,20 @@ class TList;
 #include "AliESDtrack.h"
 // same for AliESDVertex (which is a AliVVertex)
 #include "AliESDVertex.h"
+// same for CaloCells and CaloClusters (which is a AliVCaloCells, AliVCluster)
+#include "AliESDCaloCluster.h"
+#include "AliESDCaloCells.h"
+
+#include "AliTOFHeader.h"
+
+#include "AliESDVZERO.h"
 
 class AliESDfriend;
-class AliESDVZERO;
 class AliESDHLTtrack;
 class AliESDVertex;
 class AliESDPmdTrack;
 class AliESDFMD;
 class AliESDkink;
-class AliESDCaloCluster;
-class AliESDCaloCells;
 class AliESDv0;
 class AliMultiplicity;
 class AliRawDataErrorLog;
@@ -54,10 +57,15 @@ class AliESDTrdTrack;
 class AliESDMuonTrack;
 class AliESD;
 class AliESDcascade;
+class AliCentrality;
 class TRefArray;
 class AliESDACORDE;
 class AliESDHLTDecision;
 
+class TList;
+class TString;
+
+
 class AliESDEvent : public AliVEvent {
 public:
 
@@ -88,6 +96,7 @@ public:
                       kPHOSCells,
                       kErrorLogs,
                        kESDACORDE,
+                      kTOFHeader,
                       kESDListN
   };
 
@@ -103,15 +112,20 @@ 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;}
   void     SetDiamond(const AliESDVertex *vertex) { if(fESDRun) fESDRun->SetDiamond(vertex);}
   Double_t  GetDiamondX() const {return fESDRun?fESDRun->GetDiamondX():0;}
   Double_t  GetDiamondY() const {return fESDRun?fESDRun->GetDiamondY():0;}
+  Double_t  GetDiamondZ() const {return fESDRun?fESDRun->GetDiamondZ():0;}
   Double_t  GetSigma2DiamondX() const {return  fESDRun?fESDRun->GetSigma2DiamondX():0;}
   Double_t  GetSigma2DiamondY() const {return  fESDRun?fESDRun->GetSigma2DiamondY():0;}
+  Double_t  GetSigma2DiamondZ() const {return  fESDRun?fESDRun->GetSigma2DiamondZ():0;}
   void      GetDiamondCovXY(Float_t cov[3]) const {if(fESDRun) fESDRun->GetDiamondCovXY(cov);}   
   void     SetTriggerClass(const char*name, Int_t index) {if(fESDRun) fESDRun->SetTriggerClass(name,index);}
   void     SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetPHOSMatrix(matrix,i);}
@@ -133,6 +147,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;}
 
@@ -164,6 +179,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;}
@@ -172,15 +188,15 @@ 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();
+    
+
   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; }
 
@@ -234,10 +250,19 @@ 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;}
-
+  void   EstimateMultiplicity(Int_t &tracklets,Int_t &trITSTPC,Int_t &trITSSApure,
+                             Double_t eta=1.,Bool_t useDCAFlag=kTRUE,Bool_t useV0Flag=kTRUE) const;
 
   Bool_t Clean(Float_t *cleanPars);
   Bool_t RemoveKink(Int_t i)   const;
@@ -248,13 +273,19 @@ public:
     return (const AliESDVertex *)(fSPDPileupVertices?fSPDPileupVertices->UncheckedAt(i):0x0);
   }
   Char_t  AddPileupVertexSPD(const AliESDVertex *vtx);
-  Bool_t  IsPileupFromSPD(Int_t ncont=2, Double_t distz=1., Double_t nSigmaDeltaZ=3., Double_t nSigmaXY=2., Int_t option=0) const;
-
   const AliESDVertex *GetPileupVertexTracks(Int_t i) const {
     return (const AliESDVertex *)(fTrkPileupVertices?fTrkPileupVertices->UncheckedAt(i):0x0);
   }
   Char_t  AddPileupVertexTracks(const AliESDVertex *vtx);
 
+  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;
+
   AliESDtrack *GetTrack(Int_t i) const {
     return (AliESDtrack *)(fTracks?fTracks->UncheckedAt(i):0x0);
   }
@@ -327,6 +358,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);
   }
@@ -334,12 +372,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);
   }
@@ -365,24 +397,6 @@ public:
 
   void SetUseOwnList(Bool_t b){fUseOwnList = b;}
   Bool_t GetUseOwnList() const {return fUseOwnList;}
-  
-  // Remove this stuff CKB?
-  //---------------------------------------------------
-  Int_t GetNumberOfEMCALClusters() const {return fEMCALClusters;}
-  void  SetNumberOfEMCALClusters(Int_t clus) {fEMCALClusters = clus;}
-  Int_t GetFirstEMCALCluster() const {return fFirstEMCALCluster;}
-  void  SetFirstEMCALCluster(Int_t index) {fFirstEMCALCluster = index;}
-  Int_t GetNumberOfPHOSClusters() const {return fPHOSClusters;}
-  void  SetNumberOfPHOSClusters(Int_t part) { fPHOSClusters = part ; }
-  void  SetFirstPHOSCluster(Int_t index) { fFirstPHOSCluster = index ; } 
-  Int_t GetFirstPHOSCluster() const  { return fFirstPHOSCluster ; }
-  //-------------------------------------------------------
-
-  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(); }
@@ -392,7 +406,7 @@ public:
 
   void AddObject(TObject* obj);
   void ReadFromTree(TTree *tree, Option_t* opt = "");
-  TObject* FindListObject(const char *name);
+  TObject* FindListObject(const char *name) const;
   AliESD *GetAliESDOld(){return fESDOld;}
   void WriteToTree(TTree* tree) const;
   void GetStdContent();
@@ -402,6 +416,13 @@ public:
   void SetStdNames();
   void CopyFromOldESD();
   TList* GetList() const {return fESDObjects;}
+  
+    //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;} 
+  
 
 protected:
   AliESDEvent(const AliESDEvent&);
@@ -446,14 +467,12 @@ protected:
 
   static const char* fgkESDListName[kESDListN]; //!
 
-  // Remove this stuff CKB
-  Int_t        fEMCALClusters;   // Number of EMCAL clusters (subset of caloclusters)
-  Int_t        fFirstEMCALCluster; // First EMCAL cluster in the fCaloClusters list 
-
-  Int_t        fPHOSClusters;     // Number of PHOS clusters (subset of caloclusters)
-  Int_t        fFirstPHOSCluster; // First PHOS cluster in the fCaloClusters list 
-
-  ClassDef(AliESDEvent,10)  //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
+  ClassDef(AliESDEvent,13)  //ESDEvent class 
 };
 #endif