ROOT logo
AliRoot » STEER » STEERBASE » AliMCEvent

class AliMCEvent: public AliVEvent

     Class for Kinematic Events
     Author: Andreas Morsch, CERN

Function Members (Methods)

public:
AliMCEvent()
AliMCEvent(const AliMCEvent& mcEvnt)
virtual~AliMCEvent()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddObject(TObject*)
virtual voidAddSubsidiaryEvent(AliMCEvent* event)
virtual voidTObject::AppendPad(Option_t* option = "")
static Int_tBgLabelOffset()
virtual Int_tBgLabelToIndex(Int_t label)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClean()
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidConnectHeaderAndStack(AliHeader* header)
virtual voidAliVEvent::ConnectTracks()
virtual voidConnectTreeE(TTree* tree)
virtual voidConnectTreeK(TTree* tree)
virtual voidConnectTreeTR(TTree* tree)
virtual voidTObject::Copy(TObject& object) const
virtual voidCreateStdContent()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidDrawCheck(Int_t i, Int_t search)
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
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 AliVfriendEvent*AliVEvent::FindFriend() const
virtual AliGenEventHeader*FindHeader(Int_t ipart)
virtual TObject*FindListObject(const char*) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidFinishEvent()
AliGenEventHeader*GenEventHeader() const
virtual UShort_tGetBunchCrossNumber() const
virtual AliVCluster*AliVEvent::GetCaloCluster(Int_t) const
virtual AliVCaloTrigger*AliVEvent::GetCaloTrigger(TString) const
virtual AliCentrality*GetCentrality()
Bool_tGetCocktailGenerator(Int_t index, TString& nameGen)
TList*GetCocktailList()
virtual AliVEvent::EDataLayoutTypeGetDataLayoutType() const
virtual voidAliVEvent::GetDiamondCovXY(Float_t* cov) const
virtual Double_tAliVEvent::GetDiamondX() const
virtual Double_tAliVEvent::GetDiamondY() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual AliVCaloCells*AliVEvent::GetEMCALCells() const
virtual Int_tAliVEvent::GetEMCALClusters(TRefArray*) const
const TGeoHMatrix*AliVEvent::GetEMCALMatrix(Int_t) const
virtual Int_tAliVEvent::GetEventNumberInFile() const
virtual AliEventplane*GetEventplane()
virtual UInt_tAliVEvent::GetEventSpecie() const
virtual Float_tAliVEvent::GetEventTimeSpread() const
virtual UInt_tGetEventType() const
virtual TStringGetFiredTriggerClasses() const
TStringGetGenerator(Int_t index)
virtual AliVHeader*GetHeader() const
virtual const char*TObject::GetIconName() const
virtual AliESDkink*AliVEvent::GetKink(Int_t) const
virtual TList*GetList() const
virtual Double_tGetMagneticField() const
virtual AliVMultiplicity*AliVEvent::GetMultiplicity() const
virtual const char*TObject::GetName() const
virtual Int_tAliVEvent::GetNumberOfCaloClusters() const
virtual Int_tGetNumberOfCascades() const
virtual Int_tAliVEvent::GetNumberOfESDTracks() const
virtual Int_tAliVEvent::GetNumberOfITSClusters(Int_t) const
virtual Int_tAliVEvent::GetNumberOfKinks() const
virtual Int_tGetNumberOfPrimaries()
virtual Int_tGetNumberOfTracks() const
virtual Int_tAliVEvent::GetNumberOfTrdTracks() 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 Int_tGetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs)
virtual UInt_tGetPeriodNumber() const
virtual AliVCaloCells*AliVEvent::GetPHOSCells() const
virtual Int_tAliVEvent::GetPHOSClusters(TRefArray*) const
const TGeoHMatrix*AliVEvent::GetPHOSMatrix(Int_t) const
virtual Int_tGetPrimaryOffset() const
virtual const AliVVertex*GetPrimaryVertex() const
virtual Int_tAliVEvent::GetPrimaryVertexSPD(AliESDVertex&) const
virtual Int_tAliVEvent::GetPrimaryVertexTPC(AliESDVertex&) const
virtual Int_tAliVEvent::GetPrimaryVertexTracks(AliESDVertex&) const
virtual Int_tGetRunNumber() const
virtual Int_tGetSecondaryOffset() const
virtual voidGetStdContent()
virtual Float_tAliVEvent::GetT0spread(Int_t) const
virtual const Double32_t*AliVEvent::GetT0TOF() const
virtual Double32_tAliVEvent::GetT0TOF(Int_t icase) const
virtual UInt_tAliVEvent::GetTimeStamp() const
virtual const char*TObject::GetTitle() const
virtual const AliTOFHeader*AliVEvent::GetTOFHeader() const
virtual Float_tAliVEvent::GetTOFTimeResolution() const
virtual AliVParticle*GetTrack(Int_t i) const
virtual AliVTrdTrack*AliVEvent::GetTrdTrack(Int_t) const
virtual UChar_tGetTriggerCluster() const
virtual ULong64_tGetTriggerMask() const
virtual UInt_tTObject::GetUniqueID() const
virtual Int_tAliVEvent::GetV0(AliESDv0&, Int_t) const
virtual AliVTrack*AliVEvent::GetVTrack(Int_t) const
virtual AliVVZERO*GetVZEROData() const
virtual const Float_t*AliVEvent::GetVZEROEqFactors() const
virtual Float_tAliVEvent::GetVZEROEqMultiplicity(Int_t) const
virtual AliVZDC*GetZDCData() const
virtual Double_tGetZDCEMEnergy(Int_t) const
virtual Double_tGetZDCN1Energy() const
virtual Double_tGetZDCN2Energy() const
virtual Double_tGetZDCP1Energy() const
virtual Double_tGetZDCP2Energy() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
AliHeader*Header()
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
virtual voidInitEvent()
virtual Bool_tAliVEvent::InitMagneticField() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsFromBGEvent(Int_t index)
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsPhysicalPrimary(Int_t i) const
virtual Bool_tAliVEvent::IsPileupFromSPD(Int_t, Double_t, Double_t, Double_t, Double_t) const
virtual Bool_tAliVEvent::IsPileupFromSPDInMultBins() const
virtual Bool_tIsSecondaryFromMaterial(Int_t index)
virtual Bool_tIsSecondaryFromWeakDecay(Int_t index)
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
AliMCEvent&operator=(const AliMCEvent& mcEvnt)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPreReadAll()
virtual voidPrint(Option_t*) const
virtual Int_tTObject::Read(const char* name)
virtual voidReadFromTree(TTree*, Option_t*)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetBunchCrossNumber(UShort_t)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEventType(UInt_t)
virtual voidSetExternalHeader(AliVHeader* aodmcHeader)
virtual voidSetMagneticField(Double_t)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOrbitNumber(UInt_t)
virtual voidSetParticleArray(TClonesArray* mcParticles)
virtual voidSetPeriodNumber(UInt_t)
virtual voidSetPrimaryOffset(Int_t ioff)
virtual voidSetRunNumber(Int_t)
virtual voidSetSecondaryOffset(Int_t ioff)
virtual voidSetStdNames()
virtual voidSetTriggerCluster(UChar_t)
virtual voidSetTriggerMask(ULong64_t)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliVEvent::SetVZEROEqFactors(Float_t*) const
virtual voidShowMembers(TMemberInspector&)
AliStack*Stack()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
const char*AliVEvent::Whoami()
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*) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
virtual voidAssignGeneratorIndex()
virtual voidAssignGeneratorIndex(Int_t index, Int_t dmin, Int_t dmax)
virtual Int_tFindIndexAndEvent(Int_t oldidx, AliMCEvent*& event) const
virtual voidReorderAndExpandTreeTR()
voidUpdateEventInformation()

Data Members

private:
AliVHeader*fAODMCHeaderCurrent pointer to AODMC header
Bool_tfExternalTrue if external particle array
AliHeader*fHeaderCurrent pointer to header
TObjArray*fMCParticleMapMap of MC Particles
TClonesArray*fMCParticlesPointer to list of particles
Int_tfNBG! Background particles in current event
Int_tfNparticlesNumber of particles
Int_tfNprimariesNumber of primaries
Int_tfPrimaryOffsetOffset for primaries
Int_tfSecondaryOffsetOffset for secondaries
AliStack*fStackCurrent pointer to stack
TList*fSubsidiaryEventsList of possible subsidiary events (for example merged underlying event)
TClonesArray*fTRBufferTrack reference buffer
TFile*fTmpFileTRTemporary file with TreeTR to read old format
TTree*fTmpTreeTRTemporary tree TR to read old format
TClonesArray*fTrackReferencesArray of track references
TTree*fTreeTRPointer to Track Reference Tree
AliVVertex*fVertexMC Vertex
static Int_tfgkBgLabelOffsetStandard branch name

Class Charts

Inheritance Chart:
TObject
AliVEvent
AliMCEvent

Function documentation

AliMCEvent()
 Default constructor
AliMCEvent(const AliMCEvent& mcEvnt)
 Copy constructor
AliMCEvent& operator=(const AliMCEvent& mcEvnt)
 assignment operator
void ConnectTreeE(TTree* tree)
 Connect the event header tree
void ConnectTreeK(TTree* tree)
 Connect Kinematics tree
void ConnectHeaderAndStack(AliHeader* header)
 fill MC event information from stack and header
void UpdateEventInformation()
 bookkeeping for next event
void ConnectTreeTR(TTree* tree)
 Connect the track reference tree
Int_t GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs)
 Retrieve entry i
void Clean()
 Clean-up before new trees are connected
void FinishEvent()
 Clean-up after event

void DrawCheck(Int_t i, Int_t search)
 Simple event display for debugging
void ReorderAndExpandTreeTR()
  Reorder and expand the track reference tree in order to match the kinematics tree.
  Copy the information from different branches into one

  TreeTR
AliVParticle* GetTrack(Int_t i) const
 Get MC Particle i

AliGenEventHeader* GenEventHeader() const
void AddSubsidiaryEvent(AliMCEvent* event)
 Add a subsidiary event to the list; for example merged background event.
AliGenEventHeader * FindHeader(Int_t ipart)
 Get Header belonging to this track;
 only works for primaries (i.e. particles coming from the Generator)
 Also sorts out the case of Cocktail event (get header of subevent in cocktail generetor header)

Int_t FindIndexAndEvent(Int_t oldidx, AliMCEvent*& event) const
 Find the index and event in case of composed events like signal + background
Int_t BgLabelToIndex(Int_t label)
 Convert a background label to an absolute index
Bool_t IsPhysicalPrimary(Int_t i) const
 Delegate to subevent if necesarry
Bool_t IsSecondaryFromWeakDecay(Int_t index)
 Delegate to subevent if necesarry
Bool_t IsSecondaryFromMaterial(Int_t index)
 Delegate to subevent if necesarry
void InitEvent()
 Initialize the subsidiary event structure
void PreReadAll()
 Preread the MC information
const AliVVertex * GetPrimaryVertex() const
 Create a MCVertex object from the MCHeader information
Bool_t IsFromBGEvent(Int_t index)
 Checks if a particle is from the background events
 Works for HIJING inside Cocktail
TList* GetCocktailList()
gives the CocktailHeaders when reading ESDs/AODs (corresponding to fExteral=kFALSE/kTRUE)
the AODMC header (and the aodmc array) is passed as an instance to MCEvent by the AliAODInputHandler
TString GetGenerator(Int_t index)
void AssignGeneratorIndex()
 Assign the generator index to each particle

void AssignGeneratorIndex(Int_t index, Int_t dmin, Int_t dmax)
Bool_t GetCocktailGenerator(Int_t index, TString& nameGen)
method that gives the generator for a given particle with label index (or that of the corresponding primary)
void SetParticleArray(TClonesArray* mcParticles)
AliVEvent::EDataLayoutType GetDataLayoutType() const
virtual ~AliMCEvent()
{;}
void AddObject(TObject* )
 Methods implementing the interface

 Services
{;}
TObject* FindListObject(const char* ) const
{return 0;}
TList* GetList() const
{return 0;}
void CreateStdContent()
{;}
void GetStdContent()
{;}
void ReadFromTree(TTree* , Option_t* )
{;}
void WriteToTree(TTree* ) const
{;}
void SetStdNames()
{;}
void Print(Option_t* ) const
{;}
void Reset()
{;}
AliVHeader* GetHeader() const
{return 0;}
void SetRunNumber(Int_t )
 Delegated methods for fESDRun or AODHeader
{;}
void SetPeriodNumber(UInt_t )
{;}
void SetMagneticField(Double_t )
{;}
Int_t GetRunNumber() const
{return 0;}
UInt_t GetPeriodNumber() const
{return 0;}
Double_t GetMagneticField() const
{return 0.;}
void SetOrbitNumber(UInt_t )
 Setters not needed
{;}
void SetBunchCrossNumber(UShort_t )
{;}
void SetEventType(UInt_t )
{;}
void SetTriggerMask(ULong64_t )
{;}
void SetTriggerCluster(UChar_t )
{;}
UInt_t GetOrbitNumber() const
{return 0;}
UShort_t GetBunchCrossNumber() const
{return 0;}
UInt_t GetEventType() const
{return 0;}
ULong64_t GetTriggerMask() const
{return 0;}
UChar_t GetTriggerCluster() const
{return 0;}
TString GetFiredTriggerClasses() const
{return ("");}
Double_t GetZDCN1Energy() const
{return 0.;}
Double_t GetZDCP1Energy() const
{return 0.;}
Double_t GetZDCN2Energy() const
{return 0.;}
Double_t GetZDCP2Energy() const
{return 0.;}
Double_t GetZDCEMEnergy(Int_t /*i*/)
 Tracks
{return 0.;}
Int_t GetNumberOfTracks() const
{return fNparticles;}
Int_t GetNumberOfV0s() const
{return -1;}
Int_t GetNumberOfCascades() const
 Vertex
{return -1;}
Int_t GetNumberOfPrimaries()
{return fNprimaries;}
Int_t GetPrimaryOffset() const
{return fPrimaryOffset;}
Int_t GetSecondaryOffset() const
void SetPrimaryOffset(Int_t ioff)
{fPrimaryOffset = ioff;}
void SetSecondaryOffset(Int_t ioff)
Int_t BgLabelOffset()
void SetExternalHeader(AliVHeader* aodmcHeader)
External Header
{fAODMCHeader=aodmcHeader;}
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;}
AliCentrality* GetCentrality()
{return 0;}
AliEventplane* GetEventplane()
{return 0;}
AliVVZERO * GetVZEROData() const
{return 0;}
AliVZDC * GetZDCData() const
{return 0;}