#include "AliESDCaloCluster.h"
#include "AliESDCaloCells.h"
+#include "AliTOFHeader.h"
+
+#include "AliESDVZERO.h"
class AliESDfriend;
-class AliESDVZERO;
class AliESDHLTtrack;
class AliESDVertex;
class AliESDPmdTrack;
class AliESDMuonTrack;
class AliESD;
class AliESDcascade;
+class AliCentrality;
+class AliEventplane;
class TRefArray;
class AliESDACORDE;
class AliESDHLTDecision;
kPHOSCells,
kErrorLogs,
kESDACORDE,
+ kTOFHeader,
kESDListN
};
// 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;}
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);}
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;}
// 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;}
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; }
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;}
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);
}
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);
}
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);
}
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();
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