ROOT logo
AliRoot » PWG » FLOW » BASE » AliFlowEventSimple

class AliFlowEventSimple: public TObject

Function Members (Methods)

public:
AliFlowEventSimple()
AliFlowEventSimple(const AliFlowEventSimple& anEvent)
AliFlowEventSimple(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts)
AliFlowEventSimple(Int_t nParticles, AliFlowEventSimple::ConstructionMethod m = kEmpty, TF1* ptDist = NULL, Double_t phiMin = 0.0, Double_t phiMax = TMath::TwoPi(), Double_t etaMin = -1.0, Double_t etaMax = 1.0)
virtual~AliFlowEventSimple()
voidTObject::AbstractMethod(const char* method) const
voidAddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5)
voidAddFlow(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)
voidAddTrack(AliFlowTrackSimple* track)
voidAddV1(Double_t v1)
voidAddV2(Double_t v2)
voidAddV2(TF1* ptDepV2)
voidAddV3(Double_t v3)
voidAddV4(Double_t v4)
voidAddV5(Double_t v5)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
Int_tCleanUpDeadTracks()
virtual voidTObject::Clear(Option_t* = "")
virtual voidClearFast()
virtual TObject*TObject::Clone(const char* newname = "") const
voidCloneTracks(Int_t n)
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidDefineDeadZone(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
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 = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
Double_tGetAfterBurnerPrecision() const
Double_tGetCentrality() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetEventNSelTracksPOI() const
Int_tGetEventNSelTracksRP() const
virtual const char*TObject::GetIconName() const
Double_tGetMCReactionPlaneAngle() const
virtual const char*TObject::GetName() const
Int_tGetNumberOfPOIs(Int_t i = 1) const
Int_tGetNumberOfRPs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPsi1() const
Double_tGetPsi2() const
Double_tGetPsi3() const
Double_tGetPsi4() const
Double_tGetPsi5() const
virtual AliFlowVectorGetQ(Int_t n = 2, TList* weightsList = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
Int_tGetReferenceMultiplicity() const
virtual const char*TObject::GetTitle() const
AliFlowTrackSimple*GetTrack(Int_t i)
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidIncrementNumberOfPOIs(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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSetMCReactionPlaneAngle() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsUserModified() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
AliFlowTrackSimple*MakeNewTrack()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tNumberOfTracks() 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)
AliFlowEventSimple&operator=(const AliFlowEventSimple& anEvent)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResolutionPt(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 = "")
voidSetAfterBurnerPrecision(Double_t p)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCentrality(Double_t c)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEventNSelTracksPOI(Int_t np)
voidSetEventNSelTracksRP(Int_t nr)
voidSetMCReactionPlaneAngle(Double_t fPhiRP)
voidSetNumberOfPOIs(Int_t nubmerOfPOIs, Int_t poiType = 1)
voidSetNumberOfRPs(Int_t nr)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPsi1(Double_t gPsi1)
voidSetPsi2(Double_t gPsi2)
voidSetPsi3(Double_t gPsi3)
voidSetPsi4(Double_t gPsi4)
voidSetPsi5(Double_t gPsi5)
voidSetReferenceMultiplicity(Int_t m)
voidSetShuffleTracks(Bool_t b)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseExternalSymmetryPlanes(TF1* gPsi1Psi3 = 0x0, TF1* gPsi2Psi4 = 0x0, TF1* gPsi3Psi5 = 0x0)
voidSetUseGlauberMCSymmetryPlanes()
voidSetUserModified(Bool_t s = kTRUE)
virtual voidShowMembers(TMemberInspector&)
voidShuffleTracks()
static TF1*SimplePtDepV2()
static TF1*SimplePtSpectrum()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
voidTagPOI(const AliFlowTrackSimpleCuts* cuts, Int_t poiType = 1)
voidTagRP(const AliFlowTrackSimpleCuts* cuts)
voidTagSubeventsByCharge()
voidTagSubeventsInEta(Double_t etaMinA, Double_t etaMaxA, Double_t etaMinB, Double_t etaMaxB)
voidTagTracks(const AliFlowTrackSimpleCuts* cutsRP, const AliFlowTrackSimpleCuts* cutsPOI)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTrackAdded()
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 voidGenerate(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()

Data Members

public:
enum 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_tfAfterBurnerPrecisioniteration precision in afterburner
Double_tfCentralitycentrality
Double_tfMCReactionPlaneAnglethe angle of the reaction plane from the MC truth
Bool_tfMCReactionPlaneAngleIsSetdid we set it from MC?
TParameter<Double_t>*fMCReactionPlaneAngleWrap! the angle of the reaction plane from the MC truth in TBrowser
TObjArray*fMothersCollection!cache the particles with daughters
TParameter<Int_t>*fNumberOfPOIsWrap! number of tracks that have passed the POI selection in TBrowser
TParameter<Int_t>*fNumberOfRPsWrap! number of tracks that have passed the RP selection in TBrowser
Int_tfNumberOfTracksnumber of tracks
TParameter<Int_t>*fNumberOfTracksWrap! number of tracks in TBrowser
Double_tfPsi1Psi_1
TF1*fPsi1Psi3Correlation between Psi_1 and Psi_3
Double_tfPsi2Psi_2
TF1*fPsi2Psi4Correlation between Psi_2 and Psi_4
Double_tfPsi3Psi_3
TF1*fPsi3Psi5Correlation between Psi_3 and Psi_5
Double_tfPsi4Psi_4
Double_tfPsi5Psi_5
Int_tfReferenceMultiplicityreference multiplicity
Bool_tfShuffleTracksdo we shuffle tracks on get?
Int_t*fShuffledIndexes! placeholder for randomized indexes
TObjArray*fTrackCollection-> collection of tracks
Bool_tfUseExternalSymmetryPlanesUse symmetry planes (external)
Bool_tfUseGlauberMCSymmetryPlanesUse symmetry planes (Glauber MC)
Bool_tfUserModifieddid we modify the event in any way (afterburner etc) ?
private:
Int_t*fNumberOfPOIs[fNumberOfPOItypes] number of tracks that have passed the POI selection
Int_tfNumberOfPOItypeshow many different flow particle types do we have? (RP,POI,POI_2,...)

Class Charts

Inheritance Chart:
TObject
AliFlowEventSimple
AliFlowEvent
AliFlowEventStar

Function documentation

AliFlowEventSimple()
AliFlowEventSimple(Int_t nParticles, AliFlowEventSimple::ConstructionMethod m = kEmpty, TF1* ptDist = NULL, Double_t phiMin = 0.0, Double_t phiMax = TMath::TwoPi(), Double_t etaMin = -1.0, Double_t etaMax = 1.0)
ctor
 if second argument is set to AliFlowEventSimple::kGenerate
 it generates n random tracks with given Pt distribution
 (a sane default is provided), phi and eta are uniform
AliFlowEventSimple(const AliFlowEventSimple& anEvent)
copy constructor
void SetNumberOfPOIs(Int_t nubmerOfPOIs, Int_t poiType = 1)
set the number of poi classes, resize the array if larger is needed
never shrink the array
never decrease the stored number
void IncrementNumberOfPOIs(Int_t poiType = 1)
AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent)
assignment operator
~AliFlowEventSimple()
destructor
void SetUseExternalSymmetryPlanes(TF1* gPsi1Psi3 = 0x0, TF1* gPsi2Psi4 = 0x0, TF1* gPsi3Psi5 = 0x0)
Use symmetry planes, setup correlations between different Psi_n
void 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)
generate nParticles random tracks uniform in phi and eta
according to the specified pt distribution
AliFlowTrackSimple* GetTrack(Int_t i)
get track i from collection
void ShuffleTracks()
shuffle track indexes
void AddTrack(AliFlowTrackSimple* track)
add a track, delete the old one if necessary
void TrackAdded()
book keeping after a new track has been added
AliFlowTrackSimple* MakeNewTrack()
AliFlowVector GetQ(Int_t n = 2, TList* weightsList = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
 calculate Q-vector in harmonic n without weights (default harmonic n=2)
void Get2Qsub(AliFlowVector* Qarray, Int_t n = 2, TList* weightsList = NULL, Bool_t usePhiWeights = kFALSE, Bool_t usePtWeights = kFALSE, Bool_t useEtaWeights = kFALSE)
void Print(Option_t* option = "") const
   -*-*-*-*-*Print some global quantities for this histogram collection class *-*-*-*-*-*-*-*

   printf( "TH1.Print Name  = %s, Entries= %d, Total sum= %g\n",GetName(),Int_t(fEntries),GetSumOfWeights());
void Browse(TBrowser* b)
browse in TBrowser
AliFlowEventSimple(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts)
constructor, fills the event from a TTree of kinematic.root files
applies RP and POI cuts, tags the tracks
void CloneTracks(Int_t n)
clone every track n times to add non-flow
void ResolutionPt(Double_t res)
smear pt of all tracks by gaussian with sigma=res
void TagSubeventsInEta(Double_t etaMinA, Double_t etaMaxA, Double_t etaMinB, Double_t etaMaxB)
Flag two subevents in given eta ranges
void TagSubeventsByCharge()
Flag two subevents in given eta ranges
void AddV1(Double_t v1)
add v2 to all tracks wrt the reaction plane angle
void AddV2(Double_t v2)
add v2 to all tracks wrt the reaction plane angle
void AddV3(Double_t v3)
add v3 to all tracks wrt the reaction plane angle
void AddV4(Double_t v4)
add v4 to all tracks wrt the reaction plane angle
void AddV5(Double_t v5)
add v4 to all tracks wrt the reaction plane angle
void 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)
add flow to all tracks wrt the reaction plane angle, for all harmonic separate angle
void AddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5)
add flow to all tracks wrt the reaction plane angle
void AddV2(TF1* ptDepV2)
add v2 to all tracks wrt the reaction plane angle
void TagRP(const AliFlowTrackSimpleCuts* cuts)
tag tracks as reference particles (RPs)
void TagPOI(const AliFlowTrackSimpleCuts* cuts, Int_t poiType = 1)
tag tracks as particles of interest (POIs)
void TagTracks(const AliFlowTrackSimpleCuts* cutsRP, const AliFlowTrackSimpleCuts* cutsPOI)
 simple interface to tagging poi's and rp's
void DefineDeadZone(Double_t etaMin, Double_t etaMax, Double_t phiMin, Double_t phiMax)
mark tracks in given eta-phi region as dead
by resetting the flow bits
Int_t CleanUpDeadTracks()
remove tracks that have no flow tags set and cleanup the container
returns number of cleaned tracks
TF1* SimplePtDepV2()
return a standard pt dependent v2 formula, user has to clean up!
TF1* SimplePtSpectrum()
return a standard pt spectrum, user has to clean up!
void ClearFast()
clear the counters without deleting allocated objects so they can be reused
Bool_t IsFolder() const
{return kTRUE;}
Int_t NumberOfTracks() const
{ return fNumberOfTracks; }
Int_t GetReferenceMultiplicity() const
void SetReferenceMultiplicity(Int_t m)
Int_t GetEventNSelTracksRP() const
{ return GetNumberOfPOIs(0); }
void SetEventNSelTracksRP(Int_t nr)
{ SetNumberOfPOIs(nr,0); }
Int_t GetEventNSelTracksPOI() const
{ return GetNumberOfPOIs(1); }
void SetEventNSelTracksPOI(Int_t np)
{ SetNumberOfPOIs(np,1); }
Int_t GetNumberOfRPs() const
{ return GetNumberOfPOIs(0); }
void SetNumberOfRPs(Int_t nr)
{ SetNumberOfPOIs(nr,0); }
Int_t GetNumberOfPOIs(Int_t i = 1) const
{ return (i<fNumberOfPOItypes)?fNumberOfPOIs[i]:0; }
void SetUseGlauberMCSymmetryPlanes()
void SetPsi1(Double_t gPsi1)
{ fPsi1 = gPsi1; }
void SetPsi2(Double_t gPsi2)
{ fPsi2 = gPsi2; }
void SetPsi3(Double_t gPsi3)
{ fPsi3 = gPsi3; }
void SetPsi4(Double_t gPsi4)
{ fPsi4 = gPsi4; }
void SetPsi5(Double_t gPsi5)
{ fPsi5 = gPsi5; }
Double_t GetPsi1() const
{ return fPsi1; }
Double_t GetPsi2() const
{ return fPsi2; }
Double_t GetPsi3() const
{ return fPsi3; }
Double_t GetPsi4() const
{ return fPsi4; }
Double_t GetPsi5() const
{ return fPsi5; }
Double_t GetMCReactionPlaneAngle() const
void SetMCReactionPlaneAngle(Double_t fPhiRP)
Bool_t IsSetMCReactionPlaneAngle() const
void SetAfterBurnerPrecision(Double_t p)
Double_t GetAfterBurnerPrecision() const
void SetUserModified(Bool_t s = kTRUE)
Bool_t IsUserModified() const
{ return fUserModified; }
void SetShuffleTracks(Bool_t b)
void SetCentrality(Double_t c)
Double_t GetCentrality() const
{return fCentrality;}