ROOT logo
AliRoot » PWG » FLOW » TASKS » AliFlowEvent

class AliFlowEvent: public AliFlowEventSimple

Function Members (Methods)

public:
AliFlowEvent()
AliFlowEvent(Int_t n)
AliFlowEvent(const AliFlowEvent& event)
AliFlowEvent(AliFlowTrackCuts* rpCuts, AliFlowTrackCuts* poiCuts)
AliFlowEvent(const AliMCEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
AliFlowEvent(const AliESDEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
AliFlowEvent(const AliAODEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
AliFlowEvent(const AliESDEvent* anInput, const AliCFManager* poiCFManager, Bool_t hybrid)
AliFlowEvent(const AliESDEvent* anInput, const AliMultiplicity* anInputTracklets, const AliCFManager* poiCFManager)
AliFlowEvent(const AliESDEvent* anInput, const TH2F* anInputFMDhist, const AliCFManager* poiCFManager)
AliFlowEvent(const AliESDEvent* anInput, const AliESDPmdTrack* pmdtracks, const AliCFManager* poiCFManager)
AliFlowEvent(const AliESDEvent* anInput, const AliMCEvent* anInputMc, AliFlowEvent::KineSource anOption = kNoKine, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
virtual~AliFlowEvent()
voidTObject::AbstractMethod(const char* method) const
voidAliFlowEventSimple::AddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5)
voidAliFlowEventSimple::AddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5, Double_t rp1, Double_t rp2, Double_t rp3, Double_t rp4, Double_t rp5)
voidAliFlowEventSimple::AddTrack(AliFlowTrackSimple* track)
voidAliFlowEventSimple::AddV1(Double_t v1)
voidAliFlowEventSimple::AddV2(Double_t v2)
voidAliFlowEventSimple::AddV2(TF1* ptDepV2)
voidAliFlowEventSimple::AddV3(Double_t v3)
voidAliFlowEventSimple::AddV4(Double_t v4)
voidAliFlowEventSimple::AddV5(Double_t v5)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidAliFlowEventSimple::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
Int_tAliFlowEventSimple::CleanUpDeadTracks()
virtual voidTObject::Clear(Option_t* = "")
virtual voidClearCachedRun()
virtual voidClearFast()
virtual TObject*TObject::Clone(const char* newname = "") const
voidAliFlowEventSimple::CloneTracks(Int_t n)
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidAliFlowEventSimple::DefineDeadZone(Double_t etaMin, Double_t etaMax, Double_t phiMin, Double_t phiMax)
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
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
voidFill(AliFlowTrackCuts* rpCuts, AliFlowTrackCuts* poiCuts)
voidFindDaughters(Bool_t keepDaughtersInRPselection = kFALSE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidGet2Qsub(AliFlowVector* Qarray, Int_t n = 2, TList* weightsList = 0x0, Bool_t usePhiWeights = 0x0, Bool_t usePtWeights = 0x0, Bool_t useEtaWeights = 0x0)
Double_tAliFlowEventSimple::GetAfterBurnerPrecision() const
Double_tAliFlowEventSimple::GetCentrality() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tAliFlowEventSimple::GetEventNSelTracksPOI() const
Int_tAliFlowEventSimple::GetEventNSelTracksRP() const
virtual const char*TObject::GetIconName() const
Double_tAliFlowEventSimple::GetMCReactionPlaneAngle() const
virtual const char*TObject::GetName() const
Int_tAliFlowEventSimple::GetNumberOfPOIs(Int_t i = 1) const
Int_tAliFlowEventSimple::GetNumberOfRPs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tAliFlowEventSimple::GetPsi1() const
Double_tAliFlowEventSimple::GetPsi2() const
Double_tAliFlowEventSimple::GetPsi3() const
Double_tAliFlowEventSimple::GetPsi4() const
Double_tAliFlowEventSimple::GetPsi5() const
virtual AliFlowVectorGetQ(Int_t n = 2, TList* weightsList = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
Int_tAliFlowEventSimple::GetReferenceMultiplicity() const
virtual const char*TObject::GetTitle() const
AliFlowTrack*GetTrack(Int_t i)
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidAliFlowEventSimple::IncrementNumberOfPOIs(Int_t poiType = 1)
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
voidInsertTrack(AliFlowTrack*)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliFlowEventSimple::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tAliFlowEventSimple::IsSetMCReactionPlaneAngle() const
virtual Bool_tTObject::IsSortable() const
Bool_tAliFlowEventSimple::IsUserModified() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
AliFlowTrackSimple*AliFlowEventSimple::MakeNewTrack()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tAliFlowEventSimple::NumberOfTracks() const
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)
AliFlowEvent&operator=(const AliFlowEvent& event)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidAliFlowEventSimple::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidAliFlowEventSimple::ResolutionPt(Double_t res)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidAliFlowEventSimple::SetAfterBurnerPrecision(Double_t p)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliFlowEventSimple::SetCentrality(Double_t c)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliFlowEventSimple::SetEventNSelTracksPOI(Int_t np)
voidAliFlowEventSimple::SetEventNSelTracksRP(Int_t nr)
voidSetMCReactionPlaneAngle(const AliMCEvent* mcEvent)
voidAliFlowEventSimple::SetNumberOfPOIs(Int_t nubmerOfPOIs, Int_t poiType = 1)
voidAliFlowEventSimple::SetNumberOfRPs(Int_t nr)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliFlowEventSimple::SetPsi1(Double_t gPsi1)
voidAliFlowEventSimple::SetPsi2(Double_t gPsi2)
voidAliFlowEventSimple::SetPsi3(Double_t gPsi3)
voidAliFlowEventSimple::SetPsi4(Double_t gPsi4)
voidAliFlowEventSimple::SetPsi5(Double_t gPsi5)
voidAliFlowEventSimple::SetReferenceMultiplicity(Int_t m)
voidAliFlowEventSimple::SetShuffleTracks(Bool_t b)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliFlowEventSimple::SetUseExternalSymmetryPlanes(TF1* gPsi1Psi3 = 0x0, TF1* gPsi2Psi4 = 0x0, TF1* gPsi3Psi5 = 0x0)
voidAliFlowEventSimple::SetUseGlauberMCSymmetryPlanes()
voidAliFlowEventSimple::SetUserModified(Bool_t s = kTRUE)
voidSetVZEROCalibrationForTrackCuts(AliFlowTrackCuts* cuts)
virtual voidShowMembers(TMemberInspector&)
voidAliFlowEventSimple::ShuffleTracks()
static TF1*AliFlowEventSimple::SimplePtDepV2()
static TF1*AliFlowEventSimple::SimplePtSpectrum()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
voidAliFlowEventSimple::TagPOI(const AliFlowTrackSimpleCuts* cuts, Int_t poiType = 1)
voidAliFlowEventSimple::TagRP(const AliFlowTrackSimpleCuts* cuts)
voidAliFlowEventSimple::TagSubeventsByCharge()
voidAliFlowEventSimple::TagSubeventsInEta(Double_t etaMinA, Double_t etaMaxA, Double_t etaMinB, Double_t etaMaxB)
voidAliFlowEventSimple::TagTracks(const AliFlowTrackSimpleCuts* cutsRP, const AliFlowTrackSimpleCuts* cutsPOI)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidAliFlowEventSimple::TrackAdded()
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidAliFlowEventSimple::Generate(Int_t nParticles, TF1* ptDist = NULL, Double_t phiMin = 0.0, Double_t phiMax = TMath::TwoPi(), Double_t etaMin = -1.0, Double_t etaMax = 1.0)
voidTObject::MakeZombie()
AliFlowTrack*ReuseTrack(Int_t i)

Data Members

public:
enum KineSource { kNoKine
kESDkine
kMCkine
};
enum AliFlowEventSimple::ConstructionMethod { kEmpty
kGenerate
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tAliFlowEventSimple::fAfterBurnerPrecisioniteration precision in afterburner
Double_tAliFlowEventSimple::fCentralitycentrality
Double_tAliFlowEventSimple::fMCReactionPlaneAnglethe angle of the reaction plane from the MC truth
Bool_tAliFlowEventSimple::fMCReactionPlaneAngleIsSetdid we set it from MC?
TParameter<Double_t>*AliFlowEventSimple::fMCReactionPlaneAngleWrap! the angle of the reaction plane from the MC truth in TBrowser
TObjArray*AliFlowEventSimple::fMothersCollection!cache the particles with daughters
TParameter<Int_t>*AliFlowEventSimple::fNumberOfPOIsWrap! number of tracks that have passed the POI selection in TBrowser
TParameter<Int_t>*AliFlowEventSimple::fNumberOfRPsWrap! number of tracks that have passed the RP selection in TBrowser
Int_tAliFlowEventSimple::fNumberOfTracksnumber of tracks
TParameter<Int_t>*AliFlowEventSimple::fNumberOfTracksWrap! number of tracks in TBrowser
Double_tAliFlowEventSimple::fPsi1Psi_1
TF1*AliFlowEventSimple::fPsi1Psi3Correlation between Psi_1 and Psi_3
Double_tAliFlowEventSimple::fPsi2Psi_2
TF1*AliFlowEventSimple::fPsi2Psi4Correlation between Psi_2 and Psi_4
Double_tAliFlowEventSimple::fPsi3Psi_3
TF1*AliFlowEventSimple::fPsi3Psi5Correlation between Psi_3 and Psi_5
Double_tAliFlowEventSimple::fPsi4Psi_4
Double_tAliFlowEventSimple::fPsi5Psi_5
Int_tAliFlowEventSimple::fReferenceMultiplicityreference multiplicity
Bool_tAliFlowEventSimple::fShuffleTracksdo we shuffle tracks on get?
Int_t*AliFlowEventSimple::fShuffledIndexes! placeholder for randomized indexes
TObjArray*AliFlowEventSimple::fTrackCollection-> collection of tracks
Bool_tAliFlowEventSimple::fUseExternalSymmetryPlanesUse symmetry planes (external)
Bool_tAliFlowEventSimple::fUseGlauberMCSymmetryPlanesUse symmetry planes (Glauber MC)
Bool_tAliFlowEventSimple::fUserModifieddid we modify the event in any way (afterburner etc) ?
private:
Int_tfApplyRecenteringapply recentering of q-vectors? 2010 is 10h style, 2011 is 11h style
Int_tfCachedRun! cached calibration info for vzero
TArrayD*fChi2A! chi vs cent for vzero A ep_2
TArrayD*fChi2C! chi vs cent for vzero C ep_2
TArrayD*fChi3A! chi vs cent for vzero A ep_3
TArrayD*fChi3C! chi vs cent for vzero C ep_3
AliVEvent*fEvent! current event
Float_tfMeanQ[9][2][2]! recentering
Float_tfMeanQv3[9][2][2]! recentering
Int_tfVZEROcentralityBin! centrality bin for the current event
Float_tfWidthQ[9][2][2]! recentering
Float_tfWidthQv3[9][2][2]! recentering

Class Charts

Inheritance Chart:
TObject
AliFlowEventSimple
AliFlowEvent

Function documentation

AliFlowEvent()
 constructor
AliFlowEvent(Int_t n)
 constructor
AliFlowEvent(const AliFlowEvent& event)
 copy constructor
AliFlowEvent& operator=(const AliFlowEvent& event)
assignment operator
AliFlowTrack* GetTrack(Int_t i)
get track i from collection
void SetMCReactionPlaneAngle(const AliMCEvent* mcEvent)
sets the event plane angle from the proper header in the MC
AliFlowEvent(const AliMCEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
 constructor
AliFlowEvent(const AliAODEvent* anInput, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const AliMCEvent* anInputMc, AliFlowEvent::KineSource anOption = kNoKine, const AliCFManager* rpCFManager = NULL, const AliCFManager* poiCFManager = NULL)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const AliMultiplicity* anInputTracklets, const AliCFManager* poiCFManager)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const AliCFManager* poiCFManager, Bool_t hybrid)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const TH2F* anInputFMDhist, const AliCFManager* poiCFManager)
 constructor
void FindDaughters(Bool_t keepDaughtersInRPselection = kFALSE)
each flow track holds it's esd track index as well as its daughters esd index.
fill the array of daughters for every track with the pointers to flow tracks
to associate the mothers with daughters directly
void Fill(AliFlowTrackCuts* rpCuts, AliFlowTrackCuts* poiCuts)
Fills the event from a vevent: AliESDEvent,AliAODEvent,AliMCEvent
the input data needs to be attached to the cuts
we have two cases, if we're cutting the same collection of tracks
(same param type) then we can have tracks that are both rp and poi
in the other case we want to have two exclusive sets of rps and pois
e.g. one tracklets, the other PMD or global - USER IS RESPOSIBLE
FOR MAKING SURE THEY DONT OVERLAP OR ELSE THE SAME PARTICLE WILL BE
TAKEN TWICE
void InsertTrack(AliFlowTrack* )
 adds a flow track at the end of the container
AliFlowTrack* ReuseTrack(Int_t i)
try to reuse an existing track, if empty, make new one
AliFlowEvent(AliFlowTrackCuts* rpCuts, AliFlowTrackCuts* poiCuts)
 constructor
AliFlowEvent(const AliESDEvent* anInput, const AliESDPmdTrack* pmdtracks, const AliCFManager* poiCFManager)
 constructor
AliFlowVector GetQ(Int_t n = 2, TList* weightsList = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
 start with the uncalibrated Q-vector. if we're not looking at vzero data, this will be returned
 so this is completely backward compatible
void Get2Qsub(AliFlowVector* Qarray, Int_t n = 2, TList* weightsList = 0x0, Bool_t usePhiWeights = 0x0, Bool_t usePtWeights = 0x0, Bool_t useEtaWeights = 0x0)
 get q vectors for the subevents. if no recentering is necessary, get the guy from the flow event simple
void SetVZEROCalibrationForTrackCuts(AliFlowTrackCuts* cuts)
 open calibration info, copied from AliAnalyisTaskVnV0.cxx
void ClearFast()
clear the event without releasing any memory
note that cached run number of recentering settigns are not clear
(see AliFlowEvent::ClearCachedRun() )
void ClearCachedRun()
clear the cached run (not in clear fast as cache needs to be persistent in most cases )
virtual ~AliFlowEvent()
{}