#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);
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;}
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);
}
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;}
TArrayF *GetPHOSTriggerAmplitudes() const {return fPHOSTriggerAmplitudes;}
- 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];
+ Double32_t GetT0zVertex() const {return fT0zVertex;}
+ void SetT0zVertex(Double32_t z) {fT0zVertex=z;}
+ Double32_t GetT0() const {return fT0timeStart;}
+ void SetT0(Double32_t timeStart) {fT0timeStart = timeStart;}
+ Float_t GetT0clock() const {return fT0clock;}
+ void SetT0clock(Float_t timeStart) {fT0clock = timeStart;}
+ Double32_t GetT0TOF(Int_t i) const {return fT0TOF[i];}
+ const Double32_t * GetT0TOF() const {return fT0TOF;}
+ void SetT0TOF(Int_t icase, Float_t time) { fT0TOF[icase] = time;}
+ Int_t GetT0Trig() const {return fT0trig;}
+ void SetT0Trig(Int_t tvdc) {fT0trig = tvdc;}
+ const Double32_t * GetT0time() const {return fT0time;}
+ void SetT0time(Double32_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]) {
+ const Double32_t * GetT0amplitude() const {return fT0amplitude;}
+ void SetT0amplitude(Double32_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;}
Float_t GetZDCN2Energy() const {return fZDCN2Energy;}
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);
}
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
Float_t fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
Int_t fZDCParticipants; // number of participants estimated by the ZDC
- Float_t fT0zVertex; // vertex z position estimated by the T0
+
+ Double32_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
- Float_t fT0time[24]; // best TOF on each T0 PMT
- Float_t fT0amplitude[24]; // number of particles(MIPs) on each T0 PMT
+ Float_t fT0clock; // backward compatibility
+ Double32_t fT0TOF[3]; // interaction time in ns ( A&C, A, C)
+ Double32_t fT0timeStart; // interaction time estimated by the T0
+ Int_t fT0trig; // T0 trigger signals
+ Double32_t fT0time[24]; // best TOF on each T0 PMT
+ Double32_t fT0amplitude[24]; // number of particles(MIPs) on each T0 PMT
+
TClonesArray fTracks; // ESD tracks
TClonesArray fHLTConfMapTracks;// HLT ESD tracks from Conformal Mapper method
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,19) //ESD class
+ ClassDef(AliESD,23) //ESD class
};
#endif