ROOT logo
AliRoot » EVGEN » AliGenMUONLMR

class AliGenMUONLMR: public AliGenMC

Function Members (Methods)

public:
AliGenMUONLMR()
AliGenMUONLMR(AliGenMUONLMR& gen)
virtual~AliGenMUONLMR()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliGenMC::AddHeader(AliGenEventHeader* header)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidAliGenMC::BeamCrossAngle()
virtual voidAliGenMC::Boost()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tAliGenMC::CheckAcceptanceGeometry(Int_t np, TClonesArray* particles)
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 voidDalitzDecay(TParticle* mother)
virtual voidDecay2Body(TParticle* mother)
virtual voidDecayPiK(TParticle* mother, Bool_t& hadDecayed)
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 voidFinishRun()
virtual Double_tFormFactor(Double_t q2, Int_t decay)
virtual voidGenerate()
virtual voidAliGenerator::GenerateN(Int_t ntimes)
virtual voidGenerateSingleProcess(Int_t whichproc)
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 TParticle*GetMuon(Int_t i)
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 TF1*GetPt(Int_t iproc)
virtual TRandom*AliRndm::GetRandom() const
virtual TF1*GetRapidity(Int_t iproc)
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 voidAliGenMC::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
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)
AliGenMUONLMR&operator=(const AliGenMUONLMR& gen)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Bool_tAliGenerator::ProvidesCollisionGeometry() const
static Double_tPtDistr(Double_t* x, Double_t* par)
virtual Int_tTObject::Read(const char* name)
virtual voidAliRndm::ReadRandom(const char* filename)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
static Double_tRhoLineShapeNew(Double_t*, Double_t*)
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 voidAliGenMC::SetChildMomentumRange(Float_t pmin = 0, Float_t pmax = 1.e10)
virtual voidAliGenMC::SetChildPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
virtual voidAliGenMC::SetChildPtRange(Float_t ptmin = 0, Float_t ptmax = 20.)
virtual voidAliGenMC::SetChildThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
virtual voidAliGenerator::SetChildWeight(Float_t wgt)
virtual voidAliGenMC::SetChildYRange(Float_t ymin = -12, Float_t ymax = 12)
voidSetCMSEnergy(AliGenMUONLMR::CMSEnergies energy)
virtual voidSetCMSRapidity(Double_t ycm)
virtual voidAliGenerator::SetCollisionGeometry(AliCollisionGeometry* geom)
virtual voidAliGenerator::SetContainer(AliGenerator* container)
virtual voidAliGenMC::SetCrossingAngle(Float_t phiX, Float_t phiY)
virtual voidAliGenMC::SetCutOnChild(Int_t flag = 0)
virtual voidAliGenerator::SetCutVertexZ(Float_t cut = 999999.)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliGenMC::SetDyBoost(Double_t dyBoost = 0.)
virtual voidAliGenerator::SetEnergyCMS(Float_t energy = 0)
virtual voidAliGenerator::SetEventPlane(Float_t evPlane)
virtual voidAliGenMC::SetForceDecay(Decay_t decay = kAll)
virtual voidAliGenMC::SetGeometryAcceptance(AliGeometry* GeometryAcceptance = 0)
virtual voidAliGenMC::SetMaximumLifetime(Float_t time = 1.e-15)
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 voidSetNMuMin(Int_t nmin)
virtual voidAliGenMC::SetNumberOfAcceptedParticles(Int_t NumberOfAcceptedParticles = 2)
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 voidAliGenMC::SetPdgCodeParticleforAcceptanceCut(Int_t PdgCodeParticleforAcceptanceCut = 0)
virtual voidAliGenerator::SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
voidAliGenerator::SetPileUpTimeWindow(Float_t pileUpTimeW)
virtual voidAliGenMC::SetProjectile(TString proj = "P", Int_t a = 1, Int_t z = 1)
virtual voidSetPtParams(Int_t iproc, Double_t p1, Double_t p2, Double_t p3)
virtual voidAliGenerator::SetPtRange(Float_t ptmin = 0, Float_t ptmax = 1.e10)
virtual voidAliRndm::SetRandom(TRandom* ran = 0)
virtual voidSetScaleMultiplicity(Int_t ipart, Double_t scale)
virtual voidAliGenerator::SetSigma(Float_t sx, Float_t sy, Float_t sz)
virtual voidAliGenerator::SetSigmaZ(Float_t sz)
voidAliGenerator::SetStack(AliStack* stack)
virtual voidAliGenMC::SetTarget(TString tar = "P", Int_t a = 1, Int_t z = 1)
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 voidSetYParams(Int_t iproc, Double_t p1, Double_t p2, Double_t p3, Double_t ycm = 0)
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
static Double_tYDistr(Double_t* x, Double_t* par)
protected:
Int_tAliGenMC::CheckPDGCode(Int_t pdgcode) const
Bool_tAliGenMC::ChildSelected(Int_t ip) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidAliGenerator::KeepTrack(Int_t itrack)
Bool_tAliGenMC::KinematicSelection(const TParticle* particle, Int_t flag) const
voidTObject::MakeZombie()
Bool_tAliGenMC::ParentSelected(Int_t ip) const
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

public:
enum parttype_t { kPionLMR
kKaonLMR
kEtaLMR
kRhoLMR
kOmegaLMR
kPhiLMR
kEtaPrimeLMR
};
enum CMSEnergies { kCMS2760GeV
kCMS7000GeV
kCMS8000GeV
kCMS5020GeVpPb
kCMS5020GeVPbp
kNCMSEnergies
};
enum AliGenerator::[unnamed] { kThetaRange
kVertexRange
kPhiRange
kPtRange
kYRange
kMomentumRange
kEtaRange
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tAliGenerator::fAProjectileProjectile A
Int_tAliGenerator::fATargetTarget A
Int_tAliGenerator::fAnalogFlag for anolog or pt-weighted generation
Float_tAliGenMC::fChildPMaxChildren maximum p
Float_tAliGenMC::fChildPMinChildren minimum p
Float_tAliGenMC::fChildPhiMaxChildren maximum phi
Float_tAliGenMC::fChildPhiMinChildren minimum phi
Float_tAliGenMC::fChildPtMaxChildren maximum pT
Float_tAliGenMC::fChildPtMinChildren minimum pT
TArrayIAliGenMC::fChildSelect!Decay products to be selected
Float_tAliGenMC::fChildThetaMaxChildren maximum theta
Float_tAliGenMC::fChildThetaMinChildren minimum theta
Float_tAliGenerator::fChildWeightChildWeight
Float_tAliGenMC::fChildYMaxChildren maximum y
Float_tAliGenMC::fChildYMinChildren minimum y
AliCollisionGeometry*AliGenerator::fCollisionGeometry!Collision geometry
AliGenerator*AliGenerator::fContainer! Local pointer to container
Int_tAliGenMC::fCutOnChildCuts on decay products (children) are enabled/disabled
Float_tAliGenerator::fCutVertexZVertex cut in units of sigma_z
Double_tAliGenMC::fDyBoostdy for boost into lab frame
Float_tAliGenerator::fEnergyCMSCentre of mass energy
Float_tAliGenerator::fEvPlanethe event plane
Decay_tAliGenMC::fForceDecayDecay channel forced
AliGeometry*AliGenMC::fGeometryAcceptanceGeometry to which particles must be simulated
TGenerator*AliGenerator::fMCEvGen!Pointer to the generator
Float_tAliGenMC::fMaxLifeTimeMaximum lifetime for unstable particles
TStringTNamed::fNameobject identifier
Int_tAliGenerator::fNpartMaximum number of particles per event
Int_tAliGenMC::fNprimariesNumber of produced and stored particles
Int_tAliGenMC::fNumberOfAcceptedParticlesNumber of accepted particles in GeometryAcceptance with the right Abs(PdgCode)
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
TArrayIAliGenMC::fParentSelect!Parent particles to be selected
Float_tAliGenerator::fParentWeightParent Weight
TClonesArrayAliGenMC::fParticles!Particle List
Int_tAliGenMC::fPdgCodeParticleforAcceptanceCutAbs(PDG Code) of the particle to which the GeometryAcceptance must be applied
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_tAliGenMC::fXingAngleXCrossing angle X
Float_tAliGenMC::fXingAngleYCrossing angle Y
Float_tAliGenerator::fYMaxMaximum rapidity
Float_tAliGenerator::fYMinMinimum rapidity
Int_tAliGenerator::fZProjectileProjectile Z
Int_tAliGenerator::fZTargetTarget Z
private:
AliGenMUONLMR::CMSEnergiesfCMSEnergyCMS Energy
TF1*fCosThetafunction for polarized theta distributions
TH1F*fDalitz[3]Dalitz decay form factor for eta, omega, etaprime
TF1*fDecay[2]fDecay[0] = pion, fDecay[1] = kaon
Int_tfGenSingleProcflag to generate a single process (1) or the whole cocktail (0)
TH1D*fHMultMumuon multiplicity
TH1D*fHNProcnumber of events generated per process
TParticle*fMu[2]fMu[0] = mu+ fMu[1] = mu-
TF1*fMult[7]multiplicity distribution
Int_tfNMuMinmin. number of muons to accept the event for writing
Int_tfPDG[7]pdg code of particle to be generated
TParticle*fParticle[7]TPaticle object for the particles to be generated
TF1*fPt[7]pt distribution
TF1*fRhoLineShaperho line shape
Double_tfScaleMult[7]multiplicity scaling factor (w.r.t. pythia@7TeV)
TF1*fY[7]rapidity distribution
Double_tfYCMcenter of mass rapidity (def. 0)
static const Int_tfgkNpartnumber of particles to be generated

Class Charts

Inheritance Chart:
TNamed
AliRndm
AliGenerator
AliGenMC
AliGenMUONLMR

Function documentation

AliGenMUONLMR()
 default constructor

void SetCMSEnergy(AliGenMUONLMR::CMSEnergies energy)
AliGenMUONLMR(AliGenMUONLMR& gen)
AliGenMUONLMR& operator=(const AliGenMUONLMR& gen)
 Assignment operator
~AliGenMUONLMR()
 Default destructor
void FinishRun()
 save some histograms to an output file
Double_t YDistr(Double_t* x, Double_t* par)
 function for rapidity distribution: plateau at par[0] +
 gaussian tails centered at par[1] and with par[2]=sigma
Double_t PtDistr(Double_t* x, Double_t* par)
 pt distribution: power law
void Generate()
 generate the low mass resonances and their decays according to
 the multiplicity parameterized by pythia and BR from PDG
 rapidity distributions parametrized from pythia
 pt distributions from data (or pythia for etaprime)

void Decay2Body(TParticle* mother)
 performs decay in two muons of the low mass resonances
void DecayPiK(TParticle* mother, Bool_t& hadDecayed)
 performs decays of pions and kaons
void DalitzDecay(TParticle* mother)
 perform dalitz decays of eta, omega and etaprime

in the rest frame of the virtual photon:
Double_t FormFactor(Double_t q2, Int_t decay)
  Calculates the form factor for Dalitz decays A->B+l+l
  Returns: |F(q^2)|^2

  References: L.G. Landsberg, Physics Reports 128 No.6 (1985) 301-376.
Double_t RhoLineShapeNew(Double_t* , Double_t* )
new parameterization implemented by Hiroyuki Sako (GSI)
void SetPtParams(Int_t iproc, Double_t p1, Double_t p2, Double_t p3)
{fPt[iproc]->SetParameters(p1,p2,p3);}
void SetYParams(Int_t iproc, Double_t p1, Double_t p2, Double_t p3, Double_t ycm = 0)
{fY[iproc]->SetParameters(p1,p2,p3,ycm);}
TParticle* GetMuon(Int_t i)
{return fMu[i];}
void SetNMuMin(Int_t nmin)
{fNMuMin = nmin;}
void GenerateSingleProcess(Int_t whichproc)
{ fGenSingleProc = whichproc;}
void SetScaleMultiplicity(Int_t ipart, Double_t scale)
{ fScaleMult[ipart] = scale; }
TF1* GetRapidity(Int_t iproc)
{ return fY[iproc]; }
TF1* GetPt(Int_t iproc)
{ return fPt[iproc]; }
void SetCMSRapidity(Double_t ycm)
{ fYCM = ycm; }