ROOT logo
AliRoot » PWG » FLOW » BASE » AliFlowOnTheFlyEventGenerator

class AliFlowOnTheFlyEventGenerator: public TObject

Function Members (Methods)

public:
AliFlowOnTheFlyEventGenerator()
AliFlowOnTheFlyEventGenerator(Bool_t qa, Int_t ff, Int_t mult, TVirtualMCDecayer* decayer, Bool_t a, Bool_t b, Bool_t c, Bool_t d)
virtual~AliFlowOnTheFlyEventGenerator()
voidTObject::AbstractMethod(const char* method) const
voidAddV2(TClonesArray* event)
voidAddV2(TParticle* particle, Double_t v2, Double_t fluc)
voidAddV2Daughters(Bool_t b)
voidAddV2Mothers(Bool_t b)
voidAddV3Daughters(Bool_t b)
voidAddV3Mothers(Bool_t b)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
AliFlowEventSimple*ConvertTClonesToFlowEvent(TClonesArray* event, Int_t totalMultiplicity)
virtual voidTObject::Copy(TObject& object) const
voidDecayOnTheFlyTracks(TClonesArray* event)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voidDoGeneratorQA(Bool_t v2, Bool_t v3)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidEmbedEvent(TClonesArray* embedMe)
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
AliFlowOnTheFlyEventGenerator::NaiveFlowAndSpectrumGenerator*Find(Short_t pdg, Bool_t make)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidForceGammaDecay(TClonesArray* arr, TParticle* part)
AliFlowEventSimple*GenerateOnTheFlyEvent(TClonesArray* event, Int_t nSpecies, Int_t* species, Int_t* mult, Int_t bg, Bool_t fluc)
voidGenerateOnTheFlyTracks(Int_t mult, Int_t pid, TClonesArray* event, Double_t fluc)
TF1*GetDifferentialV2(Short_t pdg)
TF1*GetDifferentialV3(Short_t pdg)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TObjArray*GetGenerators()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TF1*GetPtSpectrum(Short_t pdg)
TH1*GetQAType(Short_t pdg, Int_t type)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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
voidInitGenerators()
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
Bool_tTObject::IsOnHeap() const
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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidPrintGenerators()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
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 = "")
voidSetAfterBurnerPrecision(Double_t a, Int_t b)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPtDependentV2(const char* func, Short_t pdg)
voidSetPtDependentV3(const char* func, Short_t pdg)
voidSetPtSpectrum(const char* func, Short_t pdg)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
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
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
voidTObject::MakeZombie()

Data Members

private:
Bool_tfAddV2Daughtersadd v2 to daughter tracks (not implemented)
Bool_tfAddV2Mothersadd v2 to mother tracks
Bool_tfAddV3Daughtersadd v3 to daughter tracks (not implemented)
Bool_tfAddV3Mothersadd v3 to mother tracks
TVirtualMCDecayer*fDecayervirtual decayer, needs to be set in macro
TClonesArray*fEmbedMetclones array for embedding
Int_tfFFintroduce e-by-e flow fluctuations
AliFlowEventSimple*fFlowEvent! flow event simple for output
TObjArray*fGeneratorsarray with generators
Int_tfMaxNumberOfIterationsafterburner convergence precision
Double_tfPrecisionPhiafterburner convergence precision
Double_tfPsi22nd order symmetry plane
Double_tfPsi33rd order symmetry plane (not implemented)
Bool_tfQAsave qa histograms for all generated species

Class Charts

Inheritance Chart:
TObject
AliFlowOnTheFlyEventGenerator

Function documentation

AliFlowOnTheFlyEventGenerator()
{/* constructor used for IO by root */}
AliFlowOnTheFlyEventGenerator(Bool_t qa, Int_t ff, Int_t mult, TVirtualMCDecayer* decayer, Bool_t a, Bool_t b, Bool_t c, Bool_t d)
 contructor
~AliFlowOnTheFlyEventGenerator()
 destructor
void SetPtSpectrum(const char* func, Short_t pdg)
 set pt spectrum for species, override default
void SetPtDependentV2(const char* func, Short_t pdg)
 set pt dependent v2 for species, override default
void SetPtDependentV3(const char* func, Short_t pdg)
 set pt dependent v2 for species, override default
AliFlowEventSimple* GenerateOnTheFlyEvent(TClonesArray* event, Int_t nSpecies, Int_t* species, Int_t* mult, Int_t bg, Bool_t fluc)
 generate a flow event according to settings provided in GENERATOR INTERFACE
AliFlowEventSimple* ConvertTClonesToFlowEvent(TClonesArray* event, Int_t totalMultiplicity)
 convert the content of a tclones array to an aliflowevent simple for output and tag particles as poi's and rp's
 first step, see if there's already a flow event available in memory. if not create one
void AddV2(TParticle* particle, Double_t v2, Double_t fluc)
 afterburner, adds v2, uses Newton-Raphson iteration
void AddV2(TClonesArray* event)
 afterburner, adds v2 for different species to all tracks in an event
void GenerateOnTheFlyTracks(Int_t mult, Int_t pid, TClonesArray* event, Double_t fluc)
 generate tracks for the event. the tracks that are generated here are the mothers
void DecayOnTheFlyTracks(TClonesArray* event)
 decay the tracks using a decayer that is set in the GenerateEventsOnTheFly.C macro
void ForceGammaDecay(TClonesArray* arr, TParticle* part)
 force gama decay
void InitGenerators()
 initializes generators for a list of common particles
 new generators will be created 'on the fly' if they are encountered
 if a generator is requested for a non-existent pdg value, things will get unstable ...
void PrintGenerators()
 make sure all went ok
void DoGeneratorQA(Bool_t v2, Bool_t v3)
 this function loops over all the species that are available in the fGenerators, which are
 a) created by the user (in the event generator) as mother particles or
 b) introduced by pythia (the decayer) as daughter particles
 c) made by the InitGenerators() function
 'empty species' (i.e. species for which a generator exists but which were not actually sampled) are omitted
 the output histograms are written to a file named "GeneratorfQA.root"
AliFlowOnTheFlyEventGenerator()
 general
TF1* GetPtSpectrum()
{return fpt;}
TF1* GetDifferentialV2()
{return fv2;}
TF1* GetDifferentialV3()
{return fv3;}
TH1* GetQAType(Int_t t)
NaiveFlowAndSpectrumGenerator* Find(Short_t pdg, Bool_t make)
 access to some members of the hidden nested class
TObjArray* GetGenerators()
{return fGenerators; }
void SetAfterBurnerPrecision(Double_t a, Int_t b)
void EmbedEvent(TClonesArray* embedMe)
{fEmbedMe = embedMe;}
void AddV2Mothers(Bool_t b)
{ fAddV2Mothers = b; }
void AddV3Mothers(Bool_t b)
{ fAddV3Mothers = b; }
void AddV2Daughters(Bool_t b)
void AddV3Daughters(Bool_t b)
 'bookkeeping'