ROOT logo
AliRoot » EVGEN » AliGenGeVSim

class AliGenGeVSim: public AliGenerator

Function Members (Methods)

public:
AliGenGeVSim()
AliGenGeVSim(Float_t psi, Bool_t isMultTotal = kTRUE)
virtual~AliGenGeVSim()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliGenerator::AddHeader(AliGenEventHeader*)
voidAddParticleType(AliGeVSimParticle* part)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual AliCollisionGeometry*AliGenerator::CollisionGeometry() const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliGenerator::FinishRun()
virtual voidGenerate()
virtual voidAliGenerator::GenerateN(Int_t ntimes)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_tAliGenerator::GetEnergyCMS() const
virtual const char*TObject::GetIconName() const
virtual TGenerator*AliGenerator::GetMC() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidAliGenerator::GetOrigin(TLorentzVector& o) const
virtual voidAliGenerator::GetOrigin(Float_t& ox, Float_t& oy, Float_t& oz) const
virtual voidAliGenerator::GetProjectile(TString& tar, Int_t& a, Int_t& z) const
virtual TRandom*AliRndm::GetRandom() const
AliStack*AliGenerator::GetStack()
virtual voidAliGenerator::GetTarget(TString& tar, Int_t& a, Int_t& z) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
virtual voidInit()
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tAliGenerator::NeedsCollisionGeometry() const
virtual Bool_tTObject::Notify()
virtual Int_tAliGenerator::NumberParticles() 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Bool_tAliGenerator::ProvidesCollisionGeometry() const
virtual Int_tTObject::Read(const char* name)
virtual voidAliRndm::ReadRandom(const char* filename)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual Float_tAliRndm::Rndm() const
virtual voidAliRndm::Rndm(Float_t* array, Int_t size) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliGenerator::SetAnalog(Int_t flag = 1)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAliGenerator::SetChildWeight(Float_t wgt)
virtual voidAliGenerator::SetCollisionGeometry(AliCollisionGeometry* geom)
virtual voidAliGenerator::SetContainer(AliGenerator* container)
virtual voidAliGenerator::SetCutVertexZ(Float_t cut = 999999.)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliGenerator::SetEnergyCMS(Float_t energy = 0)
virtual voidAliGenerator::SetEventPlane(Float_t evPlane)
virtual voidAliGenerator::SetMC(TGenerator* theMC)
virtual voidAliGenerator::SetMomentumRange(Float_t pmin = 0, Float_t pmax = 1.e10)
voidSetMultTotal(Bool_t isTotal = kTRUE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidAliGenerator::SetNumberParticles(Int_t npart = 100)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidAliGenerator::SetOrigin(const TLorentzVector& o)
virtual voidAliGenerator::SetOrigin(Float_t ox, Float_t oy, Float_t oz)
virtual voidAliGenerator::SetParentWeight(Float_t wgt)
virtual voidAliGenerator::SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
voidAliGenerator::SetPileUpTimeWindow(Float_t pileUpTimeW)
virtual voidAliGenerator::SetProjectile(TString proj = "", Int_t a = 0, Int_t z = 0)
virtual voidAliGenerator::SetPtRange(Float_t ptmin = 0, Float_t ptmax = 1.e10)
virtual voidAliRndm::SetRandom(TRandom* ran = 0)
virtual voidAliGenerator::SetSigma(Float_t sx, Float_t sy, Float_t sz)
virtual voidAliGenerator::SetSigmaZ(Float_t sz)
voidAliGenerator::SetStack(AliStack* stack)
virtual voidAliGenerator::SetTarget(TString tar = "", Int_t a = 0, Int_t z = 0)
virtual voidAliGenerator::SetThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
virtual voidAliGenerator::SetTime(Float_t time)
virtual voidAliGenerator::SetTimeOrigin(Float_t timeorig)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidAliGenerator::SetTrackingFlag(Int_t flag = 1)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliGenerator::SetVertex(Float_t vx, Float_t vy, Float_t vz, Float_t t = 0)
voidAliGenerator::SetVertexGenerator(AliVertexGenerator* vertexGenerator)
virtual voidAliGenerator::SetVertexSmear(VertexSmear_t smear)
virtual voidAliGenerator::SetVertexSource(VertexSource_t source = kInternal)
virtual voidAliGenerator::SetVRange(Float_t vxmin, Float_t vxmax, Float_t vymin, Float_t vymax, Float_t vzmin, Float_t vzmax)
virtual voidAliGenerator::SetYRange(Float_t ymin = -100, Float_t ymax = 100)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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()
voidAliGenerator::Vertex()
voidAliGenerator::VertexExternal()
virtual voidAliGenerator::VertexInternal()
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 voidAliRndm::WriteRandom(const char* filename) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidAliGenerator::KeepTrack(Int_t itrack)
voidTObject::MakeZombie()
virtual voidAliGenerator::PushTrack(Int_t done, Int_t parent, Int_t pdg, Float_t* pmom, Float_t* vpos, Float_t* polar, Float_t tof, TMCProcess mech, Int_t& ntr, Float_t weight = 1, Int_t is = 0)
virtual voidAliGenerator::PushTrack(Int_t done, Int_t parent, Int_t pdg, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t tof, Double_t polx, Double_t poly, Double_t polz, TMCProcess mech, Int_t& ntr, Float_t weight = 1, Int_t is = 0)
virtual voidAliGenerator::SetHighWaterMark(Int_t nt)

Data Members

protected:
Int_tAliGenerator::fAProjectileProjectile A
Int_tAliGenerator::fATargetTarget A
Int_tAliGenerator::fAnalogFlag for anolog or pt-weighted generation
Float_tAliGenerator::fChildWeightChildWeight
AliCollisionGeometry*AliGenerator::fCollisionGeometry!Collision geometry
AliGenerator*AliGenerator::fContainer! Local pointer to container
Float_tAliGenerator::fCutVertexZVertex cut in units of sigma_z
Float_tAliGenerator::fEnergyCMSCentre of mass energy
Float_tAliGenerator::fEvPlanethe event plane
TGenerator*AliGenerator::fMCEvGen!Pointer to the generator
TStringTNamed::fNameobject identifier
Int_tAliGenerator::fNpartMaximum number of particles per event
TArrayFAliGenerator::fOriginOrigin of event
TArrayFAliGenerator::fOsigmaSigma of the Origin of event
Float_tAliGenerator::fPMaxMinimum momentum of generation in GeV/c
Float_tAliGenerator::fPMinMinimum momentum of generation in GeV/c
Float_tAliGenerator::fParentWeightParent Weight
Float_tAliGenerator::fPhiMaxMaximum phi of generation in radians
Float_tAliGenerator::fPhiMinMinimum phi of generation in radians
Float_tAliGenerator::fPileUpTimeWindowTime window for pile-up events
TStringAliGenerator::fProjectileProjectile
Float_tAliGenerator::fPtMaxMaximum transverse momentum
Float_tAliGenerator::fPtMinMinimum transverse momentum
TRandom*AliRndm::fRandom! Pointer to the random number generator
AliStack*AliGenerator::fStack! Local pointer to stack
TStringAliGenerator::fTargetTarget
Float_tAliGenerator::fThetaMaxMaximum theta of generation in radians
Float_tAliGenerator::fThetaMinMinimum theta of generation in radians
Float_tAliGenerator::fTimeEvent time smeared around time0 origin using sigma vertex
Float_tAliGenerator::fTimeOriginTime0 origin in a run or event sample
TStringTNamed::fTitleobject title
Int_tAliGenerator::fTrackItif 1, Track final state particles
TArrayFAliGenerator::fVMaxMinimum Decaylength
TArrayFAliGenerator::fVMinMinimum Decaylength
TArrayFAliGenerator::fVertex! Vertex of current event
AliVertexGenerator*AliGenerator::fVertexGenerator! Generator for the vertex
VertexSmear_tAliGenerator::fVertexSmearVertex Smearing mode
VertexSource_tAliGenerator::fVertexSourceVertex source (internal/external)
Float_tAliGenerator::fYMaxMaximum rapidity
Float_tAliGenerator::fYMinMinimum rapidity
Int_tAliGenerator::fZProjectileProjectile Z
Int_tAliGenerator::fZTargetTarget Z
private:
TFormula*fCurrentForm! currently used formula
TH1D*fHist[2]! two 1D histograms (fModel == 6)
Bool_tfIsMultTotalMode od multiplicity: total, dN/dY
Int_tfModelSelected model (1-7)
TObjArray*fPartTypesRegistered particles
TF1*fPhiFormula! phi formula
Float_tfPsiReaction Plane angle (0-2pi)
TF1*fPtFormula! Pt formula for model (1)
TF2*fPtYFormula[4]! Pt,Y formulae for model (2)-(4)
TH2D*fPtYHist! two-dimensional histogram (fModel == 7)
TF1*fYFormula! Y formula for model (1)

Class Charts

Inheritance Chart:
TNamed
AliRndm
AliGenerator
AliGenGeVSim

Function documentation

AliGenGeVSim()
  Default constructor

AliGenGeVSim(Float_t psi, Bool_t isMultTotal = kTRUE)
  Standard Constructor.

  models - thermal model to be used:
          1    - deconvoluted pt and Y source
          2,3  - thermalized sphericaly symetric sources
          4    - thermalized source with expansion
          5    - custom model defined in TF2 object named "gevsimPtY"
          6    - custom model defined by two 1D histograms
          7    - custom model defined by 2D histogram

  psi   - reaction plane in degrees
  isMultTotal - multiplicity mode
                kTRUE - total multiplicity (default)
                kFALSE - dN/dY at midrapidity

~AliGenGeVSim()
  Default Destructor

  Removes TObjArray keeping list of registered particle types

Bool_t CheckPtYPhi(Float_t pt, Float_t y, Float_t phi) const
 private function used by Generate()

 Check bounds of Pt, Rapidity and Azimuthal Angle of a track
 Used only when generating particles from a histogram

Bool_t CheckAcceptance(Float_t* p)
 private function used by Generate()

 Check bounds of a total momentum and theta of a track

void InitFormula()
 private function

 Initalizes formulas used in GeVSim.
void AddParticleType(AliGeVSimParticle* part)
 Adds new type of particles.

 Parameters are defeined in AliGeVSimParticle object
 This method has to be called for every particle type

void SetMultTotal(Bool_t isTotal = kTRUE)


Float_t FindScaler(Int_t paramId, Int_t pdg)
 private function
 Finds Scallar for a given parameter.
 Function used in event-by-event mode.

 There are two types of scallars: deterministic and random
 and they can work on either global or particle type level.
 For every variable there are four scallars defined.

 Scallars are named as folowa
 deterministic global level : "gevsimParam"        (eg. "gevsimTemp")
 deterinistig type level    : "gevsimPdgParam"     (eg. "gevsim211Mult")
 random global level        : "gevsimParamRndm"    (eg. "gevsimMultRndm")
 random type level          : "gevsimPdgParamRndm" (eg. "gevsim-211V2Rndm");

 Pdg - code of a particle type in PDG standard (see: http://pdg.lbl.gov)
 Param - parameter name. Allowed parameters:

 "Temp"   - inverse slope parameter
 "SigmaY" - rapidity width - for model (1) only
 "ExpVel" - expansion velocity - for model (4) only
 "V1"     - directed flow
 "V2"     - elliptic flow
 "Mult"   - multiplicity

void DetermineReactionPlane()
 private function used by Generate()

 Retermines Reaction Plane angle and set this value
 as a parameter [0] in fPhiFormula

 Note: if "gevsimPsiRndm" function is found it override both
       "gevsimPhi" function and initial fPsi value

Float_t GetdNdYToTotal()
 Private, helper function used by Generate()

 Returns total multiplicity to dN/dY ration using current distribution.
 The function have to be called after setting distribution and its
 parameters (like temperature).

void SetFormula(Int_t pdg)
 Private function used by Generate()

 Configure a formula for a given particle type and model Id (in fModel).
 If custom formula or histogram was selected the function tries
 to find it.

 The function implements naming conventions for custom distributions names

void GetRandomPtY(Double_t& pt, Double_t& y)
 Private function used by Generate()

 Returns random values of Pt and Y corresponding to selected
 distribution.

void Init()
 Standard AliGenerator initializer.
 does nothing

void Generate()
 Standard AliGenerator function
 This function do actual job and puts particles on stack.

AliGenGeVSim()
AliGenGeVSim & operator=(const AliGenGeVSim& )
void AdjustFormula()