ROOT logo
AliRoot » STEER » AliESDEvent

class AliESDEvent: public AliVEvent

           Implementation of the AliESDEvent class
   This is the class to deal with during the physics analysis of data.
   It also ensures the backward compatibility with the old ESD format.

   AliESDEvent *ev= new AliESDEvent();
   ev->ReadFromTree(esdTree);
   ...
    for (Int_t i=0; i<nev; i++) {
      esdTree->GetEntry(i);
      if(ev->GetAliESDOld())ev->CopyFromOldESD();

   The AliESDInputHandler does this automatically for you

 Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch

Function Members (Methods)

public:
AliESDEvent()
virtual~AliESDEvent()
voidTObject::AbstractMethod(const char* method) const
Int_tAddCaloCluster(const AliESDCaloCluster* c)
voidAddCascade(const AliESDcascade* c)
voidAddHLTConfMapTrack(const AliESDHLTtrack*)
voidAddHLTHoughTrack(const AliESDHLTtrack*)
Int_tAddKink(const AliESDkink* c)
voidAddMuonTrack(const AliESDMuonTrack* t)
virtual voidAddObject(TObject* obj)
Char_tAddPileupVertexSPD(const AliESDVertex* vtx)
Char_tAddPileupVertexTracks(const AliESDVertex* vtx)
voidAddPmdTrack(const AliESDPmdTrack* t)
voidAddRawDataErrorLog(const AliRawDataErrorLog* log) const
Int_tAddTrack(const AliESDtrack* t)
voidAddTrdTrack(const AliESDTrdTrack* t)
Int_tAddV0(const AliESDv0* v)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
Bool_tClean(Float_t* cleanPars)
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCopy(TObject& obj) const
voidCopyFromOldESD()
virtual voidCreateStdContent()
voidCreateStdContent(Bool_t bUseThisList)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
voidEstimateMultiplicity(Int_t& tracklets, Int_t& trITSTPC, Int_t& trITSSApure, Double_t eta = 1., Bool_t useDCAFlag = kTRUE, Bool_t useV0Flag = kTRUE) const
virtual Int_tEventIndex(Int_t) const
virtual Int_tEventIndexForCaloCluster(Int_t) const
virtual Int_tEventIndexForEMCALCell(Int_t) const
virtual Int_tEventIndexForPHOSCell(Int_t) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*FindListObject(const char* name) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliESDACORDE*GetACORDEData() const
AliESD*GetAliESDOld()
Float_tGetBeamEnergy() const
const char*GetBeamType() const
virtual UShort_tGetBunchCrossNumber() const
virtual AliESDCaloCluster*GetCaloCluster(Int_t i) const
AliESDCaloTrigger*GetCaloTrigger(TString calo) const
AliESDcascade*GetCascade(Int_t i) const
AliESDCentrality*GetCentrality()
Float_tGetCurrentDip() const
Float_tGetCurrentL3() const
virtual voidGetDiamondCovXY(Float_t* cov) const
virtual Double_tGetDiamondX() const
virtual Double_tGetDiamondY() const
Double_tGetDiamondZ() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual AliESDCaloCells*GetEMCALCells() const
virtual Int_tGetEMCALClusters(TRefArray* clusters) const
const TGeoHMatrix*GetEMCALMatrix(Int_t i) const
AliRawDataErrorLog*GetErrorLog(Int_t i) const
voidGetESDfriend(AliESDfriend* f) const
const AliESDRun*GetESDRun() const
const AliESDTZERO*GetESDTZERO() const
AliESDZDC*GetESDZDC() const
Int_tGetEventNumberInFile() const
UInt_tGetEventSpecie() const
Float_tGetEventTimeSpread() const
virtual UInt_tGetEventType() const
TStringGetFiredTriggerClasses() const
AliESDFMD*GetFMDData() const
virtual AliESDHeader*GetHeader() const
AliESDHLTtrack*GetHLTConfMapTrack(Int_t) const
AliESDHLTtrack*GetHLTHoughTrack(Int_t) const
TObject*GetHLTTriggerDecision() const
TStringGetHLTTriggerDescription() const
virtual const char*TObject::GetIconName() const
AliESDkink*GetKink(Int_t i) const
virtual TList*GetList() const
virtual Double_tGetMagneticField() const
const AliMultiplicity*GetMultiplicity() const
AliESDMuonTrack*GetMuonTrack(Int_t i) const
virtual const char*TObject::GetName() const
virtual Int_tGetNumberOfCaloClusters() const
virtual Int_tGetNumberOfCascades() const
Int_tGetNumberOfErrorLogs() const
Int_tGetNumberOfHLTConfMapTracks() const
Int_tGetNumberOfHLTHoughTracks() const
Int_tGetNumberOfKinks() const
Int_tGetNumberOfMuonTracks() const
Int_tGetNumberOfPileupVerticesSPD() const
Int_tGetNumberOfPileupVerticesTracks() const
Int_tGetNumberOfPmdTracks() const
virtual Int_tGetNumberOfTracks() const
Int_tGetNumberOfTrdTracks() const
virtual Int_tGetNumberOfV0s() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual UInt_tGetOrbitNumber() const
virtual UInt_tGetPeriodNumber() const
virtual AliESDCaloCells*GetPHOSCells() const
virtual Int_tGetPHOSClusters(TRefArray* clusters) const
const TGeoHMatrix*GetPHOSMatrix(Int_t i) const
const AliESDVertex*GetPileupVertexSPD(Int_t i) const
const AliESDVertex*GetPileupVertexTracks(Int_t i) const
AliESDPmdTrack*GetPmdTrack(Int_t i) const
virtual const AliESDVertex*GetPrimaryVertex() const
const AliESDVertex*GetPrimaryVertexSPD() const
const AliESDVertex*GetPrimaryVertexTPC() const
const AliESDVertex*GetPrimaryVertexTracks() const
virtual Int_tGetRunNumber() const
Double_tGetSigma2DiamondX() const
Double_tGetSigma2DiamondY() const
Double_tGetSigma2DiamondZ() const
virtual voidGetStdContent()
Double32_tGetT0() const
const Double32_t*GetT0amplitude() const
Double32_tGetT0clock() const
const Double32_t*GetT0time() const
const Double32_t*GetT0TOF() const
Double32_tGetT0TOF(Int_t icase) const
Int_tGetT0Trig() const
Double32_tGetT0zVertex() const
UInt_tGetTimeStamp() const
virtual const char*TObject::GetTitle() const
const AliTOFHeader*GetTOFHeader() const
Float_tGetTOFTimeResolution() const
virtual AliESDtrack*GetTrack(Int_t i) const
AliESDTrdTrack*GetTrdTrack(Int_t i) const
virtual UChar_tGetTriggerCluster() const
virtual ULong64_tGetTriggerMask() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseOwnList() const
AliESDv0*GetV0(Int_t i) const
const AliESDVertex*GetVertex() const
AliESDVZERO*GetVZEROData() const
virtual Double_tGetZDCEMEnergy(Int_t i = 0) const
virtual Double_tGetZDCN1Energy() const
virtual Double_tGetZDCN2Energy() const
virtual Double_tGetZDCP1Energy() const
virtual Double_tGetZDCP2Energy() const
Int_tGetZDCParticipants() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
Bool_tInitMagneticField() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventSelected(const char* trigExpr) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsHLTTriggerFired(const char* name = NULL) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsPileupFromSPD(Int_t minContributors = 3, Double_t minZdist = 0.8, Double_t nSigmaZdist = 3., Double_t nSigmaDiamXY = 2., Double_t nSigmaDiamZ = 5.) const
virtual Bool_tIsPileupFromSPDInMultBins() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsTriggerClassFired(const char* name) const
Bool_tIsUniformBMap() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliESDEvent&operator=(const AliESDEvent& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
AliESDVertex*PrimaryVertexTracksUnconstrained() const
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidReadFromTree(TTree* tree, Option_t* opt = "")
virtual voidTObject::RecursiveRemove(TObject* obj)
Bool_tRemoveKink(Int_t i) const
Bool_tRemoveTrack(Int_t i) const
Bool_tRemoveV0(Int_t i) const
virtual voidReset()
voidTObject::ResetBit(UInt_t f)
voidResetCascades()
voidResetStdContent()
voidResetV0s()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetACORDEData(AliESDACORDE* obj)
voidSetBeamEnergy(Float_t be) const
voidSetBeamType(const char* bt) const
voidSetBInfoStored(Bool_t val = kTRUE) const
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetBunchCrossNumber(UShort_t n)
voidSetCurrentDip(Float_t cur) const
voidSetCurrentL3(Float_t cur) const
voidSetDiamond(const AliESDVertex* vertex)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEMCALMatrix(TGeoHMatrix* matrix, Int_t i)
voidSetESDfriend(const AliESDfriend* f) const
voidSetEventNumberInFile(Int_t n)
voidSetEventSpecie(UInt_t eventSpecie)
virtual voidSetEventType(UInt_t eventType)
voidSetFMDData(AliESDFMD* obj)
virtual voidSetMagneticField(Double_t mf)
voidSetMultiplicity(const AliMultiplicity* mul)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOrbitNumber(UInt_t n)
virtual voidSetPeriodNumber(UInt_t n)
voidSetPHOSMatrix(TGeoHMatrix* matrix, Int_t i)
voidSetPrimaryVertexSPD(const AliESDVertex* vertex)
voidSetPrimaryVertexTPC(const AliESDVertex* vertex)
voidSetPrimaryVertexTracks(const AliESDVertex* vertex)
virtual voidSetRunNumber(Int_t n)
virtual voidSetStdNames()
voidSetT0(Double32_t timeStart)
voidSetT0amplitude(Double32_t* amp)
voidSetT0clock(Double32_t timeStart)
voidSetT0time(Double32_t* time)
voidSetT0TOF(Int_t icase, Double32_t timeStart)
voidSetT0Trig(Int_t tvdc)
voidSetT0zVertex(Double32_t z)
voidSetTimeStamp(UInt_t timeStamp)
voidSetTOFHeader(const AliTOFHeader* tofEventTime)
voidSetTriggerClass(const char* name, Int_t index)
virtual voidSetTriggerCluster(UChar_t n)
virtual voidSetTriggerMask(ULong64_t n)
voidSetUniformBMap(Bool_t val = kTRUE) const
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseOwnList(Bool_t b)
voidSetVZEROData(AliESDVZERO* obj)
voidSetZDC(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)
voidSetZDCData(AliESDZDC* obj)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidWriteToTree(TTree* tree) const
protected:
AliESDEvent(const AliESDEvent&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
static Bool_tResetWithPlacementNew(TObject* pObject)

Data Members

public:
enum ESDListIndex { kESDRun
kHeader
kESDZDC
kESDFMD
kESDVZERO
kESDTZERO
kTPCVertex
kSPDVertex
kPrimaryVertex
kSPDMult
kPHOSTrigger
kEMCALTrigger
kSPDPileupVertices
kTrkPileupVertices
kTracks
kMuonTracks
kPmdTracks
kTrdTracks
kV0s
kCascades
kKinks
kCaloClusters
kEMCALCells
kPHOSCells
kErrorLogs
kESDACORDE
kTOFHeader
kESDListN
};
enum AliVEvent::EOfflineTriggerTypes { kMB
kMUON
kHighMult
kUserDefined
kAny
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TClonesArray*fCaloClusters! Calorimeter clusters for PHOS/EMCAL
TClonesArray*fCascades! Cascade vertices
AliESDCentrality*fCentrality! Centrality for AA collision
Bool_tfConnected! flag if leaves are alreday connected
AliESDCaloCells*fEMCALCells! EMCAL cell info
AliESDCaloTrigger*fEMCALTrigger! PHOS Trigger information
AliESDACORDE*fESDACORDE! ACORDE ESD object caontaining bit pattern
AliESDFMD*fESDFMD! FMD object containing rough multiplicity
AliESDfriend*fESDFriendOld! Old friend esd Structure
TList*fESDObjectsList of esd Objects
AliESD*fESDOld! Old esd Structure
AliESDRun*fESDRun! Run information tmp put in the Userdata
AliESDTZERO*fESDTZERO! TZEROObject
AliESDVZERO*fESDVZERO! VZERO object containing rough multiplicity
AliESDZDC*fESDZDC! ZDC information
TClonesArray*fErrorLogs! Raw-data reading error messages
AliESDHeader*fHeader! ESD Event Header
TClonesArray*fKinks! Kinks
TClonesArray*fMuonTracks! MUON ESD tracks
AliESDCaloCells*fPHOSCells! PHOS cell info
AliESDCaloTrigger*fPHOSTrigger! PHOS Trigger information
TClonesArray*fPmdTracks! PMD ESD tracks
AliESDVertex*fPrimaryVertex! Primary vertex estimated using ESD tracks
AliMultiplicity*fSPDMult! SPD tracklet multiplicity
TClonesArray*fSPDPileupVertices! Pileup primary vertices reconstructed by SPD
AliESDVertex*fSPDVertex! Primary vertex estimated by the SPD
AliTOFHeader*fTOFHeader! event times (and sigmas) as estimated by TOF
AliESDVertex*fTPCVertex! Primary vertex estimated by the TPC
TClonesArray*fTracks! ESD tracks
TClonesArray*fTrdTracks! TRD ESD tracks (triggered)
TClonesArray*fTrkPileupVertices! Pileup primary vertices reconstructed using the tracks
Bool_tfUseOwnList! Do not use the list from the esdTree but use the one created by this class
TClonesArray*fV0s! V0 vertices
static const char*fgkESDListName[27]!

Class Charts

Inheritance Chart:
TObject
AliVEvent
AliESDEvent

Function documentation

AliESDEvent()
AliESDEvent(const AliESDEvent& )
 CKB init in the constructor list and only add here ...
AliESDEvent & operator=(const AliESDEvent& source)
~AliESDEvent()
 Standard destructor

void Copy(TObject& obj) const
void Reset()
Bool_t ResetWithPlacementNew(TObject* pObject)
void ResetStdContent()
 Reset the standard contents
Int_t AddV0(const AliESDv0* v)
 Add V0

void Print(Option_t* option = "") const
 Print header information of the event

void SetESDfriend(const AliESDfriend* f) const
 Attaches the complementary info to the ESD

Bool_t RemoveKink(Int_t i) const
 Remove a kink candidate and references to it from ESD,
 if this candidate does not come from a reconstructed decay
 Not yet implemented...

Bool_t RemoveV0(Int_t i) const
 Remove a V0 candidate and references to it from ESD,
 if this candidate does not come from a reconstructed decay

Bool_t RemoveTrack(Int_t i) const
 Remove a track and references to it from ESD,
 if this track does not come from a reconstructed decay

Bool_t Clean(Float_t* cleanPars)
 Remove the data which are not needed for the physics analysis.

 1) Cleaning the V0 candidates

    If the cosine of the V0 pointing angle "csp" and
    the DCA between the daughter tracks "dca" does not satisfy
    the conditions

     csp > cleanPars[1] + dca/cleanPars[0]*(1.- cleanPars[1])

    an attempt to remove this V0 candidate from ESD is made.

    The V0 candidate gets removed if it does not belong to any
    recosntructed cascade decay

    12.11.2007, optimal values: cleanPars[0]=0.5, cleanPars[1]=0.999

 2) Cleaning the tracks

    If track's transverse parameter is larger than cleanPars[2]
                       OR
    track's longitudinal parameter is larger than cleanPars[3]
    an attempt to remove this track from ESD is made.

    The track gets removed if it does not come
    from a reconstructed decay

Char_t AddPileupVertexSPD(const AliESDVertex* vtx)
 Add a pileup primary vertex reconstructed with SPD
Char_t AddPileupVertexTracks(const AliESDVertex* vtx)
 Add a pileup primary vertex reconstructed with SPD
Int_t AddTrack(const AliESDtrack* t)
 Add track
void AddMuonTrack(const AliESDMuonTrack* t)
void AddPmdTrack(const AliESDPmdTrack* t)
void AddTrdTrack(const AliESDTrdTrack* t)
Int_t AddKink(const AliESDkink* c)
 Add kink
void AddCascade(const AliESDcascade* c)
Int_t AddCaloCluster(const AliESDCaloCluster* c)
 Add calocluster
void AddRawDataErrorLog(const AliRawDataErrorLog* log) const
void SetZDCData(AliESDZDC* obj)
 use already allocated space
void SetPrimaryVertexTPC(const AliESDVertex* vertex)
 Set the TPC vertex
 use already allocated space
void SetPrimaryVertexSPD(const AliESDVertex* vertex)
 Set the SPD vertex
 use already allocated space
void SetPrimaryVertexTracks(const AliESDVertex* vertex)
 Set the primary vertex reconstructed using he ESD tracks.
 use already allocated space
const AliESDVertex * GetPrimaryVertex() const
 Get the "best" available reconstructed primary vertex.

AliESDVertex * PrimaryVertexTracksUnconstrained() const
 Removes diamond constraint from fPrimaryVertex (reconstructed with tracks)
 Returns a AliESDVertex which has to be deleted by the user

void SetMultiplicity(const AliMultiplicity* mul)
 Set the SPD Multiplicity
void SetFMDData(AliESDFMD* obj)
 use already allocated space
void SetVZEROData(AliESDVZERO* obj)
 use already allocated space
void SetACORDEData(AliESDACORDE* obj)
void GetESDfriend(AliESDfriend* f) const
 Extracts the complementary info from the ESD

void AddObject(TObject* obj)
 Add an object to the list of object.
 Please be aware that in order to increase performance you should
 refrain from using TObjArrays (if possible). Use TClonesArrays, instead.
void GetStdContent()
 set pointers for standard content
 get by name much safer and not a big overhead since not called very often
void SetStdNames()
 Set the names of the standard contents

void CreateStdContent(Bool_t bUseThisList)
void CreateStdContent()
 create the standard AOD content and set pointers
TObject* FindListObject(const char* name) const
 Find object with name "name" in the list of branches

Int_t GetPHOSClusters(TRefArray* clusters) const
 fills the provided TRefArray with all found phos clusters
Int_t GetEMCALClusters(TRefArray* clusters) const
 fills the provided TRefArray with all found emcal clusters
void WriteToTree(TTree* tree) const
 Book the branches as in TTree::Branch(TCollection*)
 but add a "." at the end of top level branches which are
 not a TClonesArray
void ReadFromTree(TTree* tree, Option_t* opt = "")
 Connect the ESDEvent to a tree

void CopyFromOldESD()
 Method which copies over everthing from the old esd structure to the
 new
Bool_t IsEventSelected(const char* trigExpr) const
 Check if the event satisfies the trigger
 selection expression trigExpr.
 trigExpr can be any logical expression
 of the trigger classes defined in AliESDRun
 In case of wrong syntax return kTRUE.
TObject* GetHLTTriggerDecision() const
 get the HLT trigger decission object
TString GetHLTTriggerDescription() const
 get the HLT trigger decission description
Bool_t IsHLTTriggerFired(const char* name = NULL) const
 get the HLT trigger decission description
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
 This function checks if there was a pile up
 reconstructed with SPD

void EstimateMultiplicity(Int_t& tracklets, Int_t& trITSTPC, Int_t& trITSSApure, Double_t eta = 1., Bool_t useDCAFlag = kTRUE, Bool_t useV0Flag = kTRUE) const
 calculates 3 estimators for the multiplicity in the -eta:eta range
 tracklets   : using SPD tracklets only
 trITSTPC    : using TPC/ITS + complementary ITS SA tracks + tracklets from clusters not used by tracks
 trITSSApure : using ITS standalone tracks + tracklets from clusters not used by tracks
 if useDCAFlag is true: account for the ESDtrack flag marking the tracks with large DCA
 if useV0Flag  is true: account for the ESDtrack flag marking conversion and K0's V0s
Bool_t IsPileupFromSPDInMultBins() const
void SetTOFHeader(const AliTOFHeader* tofEventTime)
 Set the TOF event_time

AliESDCentrality* GetCentrality()
const AliESDRun* GetESDRun() const
 RUN
 move this to the UserData!!!
{return fESDRun;}
void SetRunNumber(Int_t n)
 Delegated methods for fESDRun
Int_t GetRunNumber() const
{return fESDRun?fESDRun->GetRunNumber():-1;}
void SetPeriodNumber(UInt_t n)
UInt_t GetPeriodNumber() const
void SetMagneticField(Double_t mf)
Double_t GetMagneticField() const
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
Double_t GetSigma2DiamondY() const
Double_t GetSigma2DiamondZ() const
void GetDiamondCovXY(Float_t* cov) const
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);}
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 SetCurrentL3(Float_t cur) const
void SetCurrentDip(Float_t cur) const
void SetBeamEnergy(Float_t be) const
void SetBeamType(const char* bt) const
void SetUniformBMap(Bool_t val = kTRUE) const
void SetBInfoStored(Bool_t val = kTRUE) const
Float_t GetCurrentL3() const
Float_t GetCurrentDip() const
Float_t GetBeamEnergy() const
const char* GetBeamType() const
{return fESDRun?fESDRun->GetBeamType():0;}
Bool_t IsUniformBMap() const
Bool_t InitMagneticField() const
 HEADER
AliESDHeader* GetHeader() const
{return fHeader;}
void SetTriggerMask(ULong64_t n)
 Delegated methods for fHeader
void SetOrbitNumber(UInt_t n)
void SetTimeStamp(UInt_t timeStamp)
{if(fHeader) fHeader->SetTimeStamp(timeStamp);}
void SetEventType(UInt_t eventType)
{if(fHeader) fHeader->SetEventType(eventType);}
void SetEventSpecie(UInt_t eventSpecie)
{if(fHeader) fHeader->SetEventSpecie(eventSpecie);}
void SetEventNumberInFile(Int_t n)
  void     SetRunNumber(Int_t n) {if(fHeader) fHeader->SetRunNumber(n);}
void SetBunchCrossNumber(UShort_t n)
void SetTriggerCluster(UChar_t n)
ULong64_t GetTriggerMask() const
TString GetFiredTriggerClasses() const
Bool_t IsTriggerClassFired(const char* name) const
UInt_t GetOrbitNumber() const
UInt_t GetTimeStamp() const
{ return fHeader?fHeader->GetTimeStamp():0;}
UInt_t GetEventType() const
{ return fHeader?fHeader->GetEventType():0;}
UInt_t GetEventSpecie() const
Int_t GetEventNumberInFile() const
UShort_t GetBunchCrossNumber() const
UChar_t GetTriggerCluster() const
AliESDZDC* GetESDZDC() const
 ZDC CKB: put this in the header?
{return fESDZDC;}
Double_t GetZDCN1Energy() const
 Delegated methods for fESDZDC
Double_t GetZDCP1Energy() const
Double_t GetZDCN2Energy() const
Double_t GetZDCP2Energy() const
Double_t GetZDCEMEnergy(Int_t i = 0) const
Int_t GetZDCParticipants() const
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)
AliESDFMD * GetFMDData() const
{ return fESDFMD; }
const AliESDTZERO* GetESDTZERO() const
 TZERO CKB: put this in the header?
{return fESDTZERO;}
Double32_t GetT0zVertex() const
 delegetated methods for fESDTZERO
void SetT0zVertex(Double32_t z)
Double32_t GetT0() const
{return fESDTZERO?fESDTZERO->GetT0():0;}
void SetT0(Double32_t timeStart)
{if(fESDTZERO) fESDTZERO->SetT0(timeStart);}
Double32_t GetT0clock() const
void SetT0clock(Double32_t timeStart)
{if(fESDTZERO) fESDTZERO->SetT0clock(timeStart);}
Double32_t GetT0TOF(Int_t icase) const
{return fESDTZERO?fESDTZERO->GetT0TOF(icase):0;}
const Double32_t * GetT0TOF() const
{return fESDTZERO?fESDTZERO->GetT0TOF():0x0;}
void SetT0TOF(Int_t icase, Double32_t timeStart)
{if(fESDTZERO) fESDTZERO->SetT0TOF(icase,timeStart);}
const Double32_t * GetT0time() const
{return fESDTZERO?fESDTZERO->GetT0time():0x0;}
void SetT0time(Double32_t* time)
const Double32_t * GetT0amplitude() const
void SetT0amplitude(Double32_t* amp)
Int_t GetT0Trig() const
{ return fESDTZERO?fESDTZERO->GetT0Trig():0;}
void SetT0Trig(Int_t tvdc)
AliESDVZERO * GetVZEROData() const
 VZERO
{ return fESDVZERO; }
AliESDACORDE * GetACORDEData() const
 ACORDE
{ return fESDACORDE;}
const AliESDVertex * GetPrimaryVertexTPC() const
{return fTPCVertex;}
const AliESDVertex * GetPrimaryVertexSPD() const
{return fSPDVertex;}
const AliESDVertex * GetVertex() const
For the backward compatibily only
const AliESDVertex * GetPrimaryVertexTracks() const
{return fPrimaryVertex;}
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.;}
const AliMultiplicity * GetMultiplicity() const
{return fSPDMult;}
const AliESDVertex * GetPileupVertexSPD(Int_t i) const
const AliESDVertex * GetPileupVertexTracks(Int_t i) const
AliESDtrack * GetTrack(Int_t i) const
AliESDHLTtrack * GetHLTConfMapTrack(Int_t ) const
    return (AliESDHLTtrack *)fHLTConfMapTracks->UncheckedAt(i);
void AddHLTConfMapTrack(const AliESDHLTtrack* )
AliESDHLTtrack * GetHLTHoughTrack(Int_t ) const
    return (AliESDHLTtrack *)fHLTHoughTracks->UncheckedAt(i);
void AddHLTHoughTrack(const AliESDHLTtrack* )
AliESDMuonTrack * GetMuonTrack(Int_t i) const
AliESDPmdTrack * GetPmdTrack(Int_t i) const
AliESDTrdTrack * GetTrdTrack(Int_t i) const
AliESDv0 * GetV0(Int_t i) const
AliESDcascade * GetCascade(Int_t i) const
AliESDkink * GetKink(Int_t i) const
AliESDCaloCluster * GetCaloCluster(Int_t i) const
AliESDCaloCells * GetEMCALCells() const
{return fEMCALCells; }
AliESDCaloCells * GetPHOSCells() const
{return fPHOSCells; }
AliESDCaloTrigger* GetCaloTrigger(TString calo) const
AliRawDataErrorLog * GetErrorLog(Int_t i) const
Int_t GetNumberOfErrorLogs() const
{return fErrorLogs?fErrorLogs->GetEntriesFast():0;}
Int_t GetNumberOfPileupVerticesSPD() const
Int_t GetNumberOfPileupVerticesTracks() const
Int_t GetNumberOfTracks() const
{return fTracks?fTracks->GetEntriesFast():0;}
Int_t GetNumberOfHLTConfMapTracks() const
 fHLTConfMapTracks->GetEntriesFast();}
{return 0;}
Int_t GetNumberOfHLTHoughTracks() const
  fHLTHoughTracks->GetEntriesFast();  }
{return 0; }
Int_t GetNumberOfMuonTracks() const
{return fMuonTracks?fMuonTracks->GetEntriesFast():0;}
Int_t GetNumberOfPmdTracks() const
{return fPmdTracks?fPmdTracks->GetEntriesFast():0;}
Int_t GetNumberOfTrdTracks() const
{return fTrdTracks?fTrdTracks->GetEntriesFast():0;}
Int_t GetNumberOfV0s() const
{return fV0s?fV0s->GetEntriesFast():0;}
Int_t GetNumberOfCascades() const
{return fCascades?fCascades->GetEntriesFast():0;}
Int_t GetNumberOfKinks() const
{return fKinks?fKinks->GetEntriesFast():0;}
Int_t GetNumberOfCaloClusters() const
{return fCaloClusters?fCaloClusters->GetEntriesFast():0;}
void SetUseOwnList(Bool_t b)
Bool_t GetUseOwnList() const
{return fUseOwnList;}
void ResetV0s()
{ if(fV0s) fV0s->Clear(); }
void ResetCascades()
AliESD * GetAliESDOld()
{return fESDOld;}
TList* GetList() const
{return fESDObjects;}
Int_t EventIndex(Int_t ) const
Following needed only for mixed event
{return 0;}
Int_t EventIndexForCaloCluster(Int_t ) const
{return 0;}
Int_t EventIndexForPHOSCell(Int_t ) const
{return 0;}
Int_t EventIndexForEMCALCell(Int_t ) const
{return 0;}