ROOT logo
AliRoot » EVGEN » AliGenPileup

class AliGenPileup: public AliGenCocktail

                          Class AliGenPileup
   This is a generator of beam-beam pileup.
   It generates interactions within 3 orbits (+-1) around
   the trigger event. The trigger event itself is chosen
   randomly among the bunch crossings within the central orbit.
   The user can decide whenever to include in the simulation the
   "trigger" interaction or not. This is handled by the
   GenerateTrigInteraction(Bool_t flag) method.
   In the case the trigger interaction is included, it is
   generated using the same settings (vertex smear for example) as
   the pileup events.
   In case the trigger simulation is not included, the user can make
   a cocktail of generator used to produce the trigger interaction and
   AliGenPileup. In this case in order to avoid a fake increase of the rate around the
   trigger, the number of background events within the bunch
   crossing of the trigger is readuced by one.
   The beam profile (the list of the active bunch crossings) can be
   controlled via the SetBCMask(const char *mask) method. The syntax
   follows the one in AliTriggerBCMask class. For example:
   "3564H" would mean that all the bunch corssings within the orbit
   are aloowed (which is of course unphysical). In case one wants to simulate
   one-bunch-crossing-per-orbit scenario, the way to do it is to put something like:
   "1H3563L" or similar.
   The SetGenerator(AliGenerator *generator, Float_t rate) method is
   used in order to define the generator to be used. The second argument is the pileup
   rate in terms of #_of_interactions/bunch-crossing = sigma_tot * luminosity.
   The pileup generation time window can be set via
   AliGenerator::SetPileUpTimeWindow(Float_t pileUpTimeW) method. By the default the
   window is set to 88micros (= TPC readout window).

 cvetan.cheshkov@cern.ch  9/12/2008

Function Members (Methods)

public:
AliGenPileup()
virtual~AliGenPileup()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliGenCocktail::AddHeader(AliGenEventHeader* header)
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 TList*AliGenCocktail::Entries()
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 voidAliGenCocktail::FinishRun()
AliGenCocktailEntry*AliGenCocktail::FirstGenerator()
voidAliGenCocktail::FirstGeneratorPair(AliGenCocktailEntry*& e1, AliGenCocktailEntry*& e2)
virtual voidGenerate()
virtual voidAliGenerator::GenerateN(Int_t ntimes)
voidGenerateTrigInteraction(Bool_t flag)
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 voidAliGenCocktail::Init()
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
AliGenCocktailEntry*AliGenCocktail::NextGenerator()
voidAliGenCocktail::NextGeneratorPair(AliGenCocktailEntry*& e1, AliGenCocktailEntry*& e2)
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)
Bool_tSetBCMask(const char* mask)
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)
voidSetGenerator(AliGenerator* generator, Float_t rate, Bool_t flag = kFALSE)
virtual voidAliGenerator::SetMC(TGenerator* theMC)
virtual voidAliGenerator::SetMomentumRange(Float_t pmin = 0, Float_t pmax = 1.e10)
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 voidSetRandomise(Bool_t flag)
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 voidAliGenCocktail::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()
virtual voidUsePerEventRates()
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 voidAddGenerator(AliGenerator* Generator, const char* Name, Float_t RateExp, TFormula* formula = 0, Int_t ntimes = 1)
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)
private:
AliGenPileup(const AliGenPileup& gen)
AliGenPileup&operator=(const AliGenPileup& gen)

Data Members

protected:
Int_tAliGenerator::fAProjectileProjectile A
Int_tAliGenerator::fATargetTarget A
Int_tAliGenerator::fAnalogFlag for anolog or pt-weighted generation
AliTriggerBCMaskfBCMaskMask used to tag the active bunch-crossings within an orbit
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
TList*AliGenCocktail::fEntriesList of Generators
Float_tAliGenerator::fEvPlanethe event plane
Bool_tfFlagfixed interaction rate (integer)
Bool_tfGenTrigGenerate or not the trigger interaction
AliGenCocktailEventHeader*AliGenCocktail::fHeader!Header container
TGenerator*AliGenerator::fMCEvGen!Pointer to the generator
Int_tAliGenCocktail::fNGeneratorsNumber of generators booked
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
TArrayFAliGenCocktail::fProbProbability of an event (if fSRandom == kTRUE)
TStringAliGenerator::fProjectileProjectile
Float_tAliGenerator::fPtMaxMaximum transverse momentum
Float_tAliGenerator::fPtMinMinimum transverse momentum
TRandom*AliRndm::fRandom! Pointer to the random number generator
Bool_tAliGenCocktail::fSRandomFlag to select random generator from list
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
Float_tAliGenCocktail::fTotalRateTotal rate of the generators booked
Int_tAliGenerator::fTrackItif 1, Track final state particles
Bool_tAliGenCocktail::fUsePerEventRateFlag to generate the events according to the rate per event
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
TObjLink*AliGenCocktail::flnk1! Iterator for first generator
TObjLink*AliGenCocktail::flnk2! Iterator for second generator

Class Charts

Inheritance Chart:
TNamed
AliRndm
AliGenerator
AliGenCocktail
AliGenPileup

Function documentation

AliGenPileup()
 Constructor
 The pileup time window is by default
 set to the TPC readout one
~AliGenPileup()
 Destructor
void SetGenerator(AliGenerator* generator, Float_t rate, Bool_t flag = kFALSE)
 The method sets the geenrator to be used
 for pileup simulation.
 The second argument is the pileup rate in terms of
 #_of_interactions/bunch-crossing = sigma_tot * luminosity.
 There is a protection in case the generator was already set.
void AddGenerator(AliGenerator* Generator, const char* Name, Float_t RateExp, TFormula* formula = 0, Int_t ntimes = 1)
 The method used to add the pileup generator
 in the cocktail list.
 The method is protected in order to avoid
 its misusage
Bool_t SetBCMask(const char* mask)
 Set the active bunch-crossings that
 will be included in the pileup
 simulation. For more details on the
 syntax of the mask - see
 STEER/AliTriggerBCMask.* and the comments
 in the header of this file
void Generate()
 Generate pileup event
 For details see the coments inline
void SetRandomise(Bool_t flag)
 This setting is not implemented in
 case of pileup generation
 So the method gives an warning and exits
void UsePerEventRates()
 This setting is not implemented in
 case of pileup generation
 So the method gives an warning and exits
AliGenPileup()
void GenerateTrigInteraction(Bool_t flag)
{fGenTrig = flag;}
AliGenPileup & operator=(const AliGenPileup& gen)