Title: The PLUTO event generator
 1The PLUTO Event Generator
Romain Holzmann, GSI Darmstadt
-  design and implementation 
-  physics 
-  elementary reactions 
-  AA collisions 
-  examples
CBM Software Week May 2004 
 2What is PLUTO?
- In simple terms 
-  
- PLUTO is a ROOT-based framework for implementing 
- customized event generators 
-  object-oriented (C), modular, flexible, 
 extensible
-  fast simulations (kinematics, decays) 
-  filters (e.g. acceptances, efficiencies) 
-  no transport through media, no geometry, no 
 field!
- PLUTO designed by Marios Kagarlis (GSI 2000/2001) 
- Documentation at www-hades.gsi.de/computing/pluto/
 html/PlutoIndex.html
3The PLUTO web page
User manual
Class documentation
Tar ball 
To be updated soon! 
 4Basic design of PLUTO
 TClonesArray of PParticle 
- Main classes 
-  PParticle 
-  PChannel 
-  PReaction 
-  PDecayManager 
-  PData 
-  PUtils
 TTree 
HADES specific! 
 5Physics implemented in PChannel
-  kinematics (E and P conservation) 
-  build-in particle table (extendable) 
-  build-in and/or user-defined 
-  angular distributions 
-  resonances with G  G(M) 
-  form factors in Dalitz decays 
-  beam momentum spread
6Particle decay engine
Use internal PLUTO engine or Pythia engine 
(needs libPythia6.so) 
 7Output formats
- PLUTO offers 2 output formats 
- Root file (TFile/TTree) 
- Ascii file
8Modes of operation
- 1) Simulate a specific reaction, e.g. 1.1 GeV 
 p-p?n?
-  
 1 ? p0ee-
-  
 2
 4
-  (? define a PReaction made of 4 PChannels) 
 3 ? ??
-  
- 2) Simulate a reaction with all decays open, e.g. 
 25 AGeV AuAu
-  (? define a PReaction made of thermal sources 
 T, sy, flow)
9Example 1 p-p ? n? ? p0 ee-
 PParticle pim  new PParticle("pi-",1.1) 
// define projectile and target PParticle p  
new PParticle("p") PParticle s  new 
PParticle(pimp) PParticle omeg  new 
PParticle("w") PParticle n  new 
PParticle("n") PParticle pl1  
s,n,omeg PChannel ch1  new PChannel(pl1) 
 // define 1st reaction step PParticle 
pi0  new PParticle("pi0") PParticle epem  
new PParticle("dilepton") PParticle pl2  
omeg, pi0, epem PChannel ch2  new 
PChannel(pl2) // define 2nd reaction 
step PParticle gam1  new PParticle("g") 
PParticle gam2  new PParticle("g") PParticle 
pl3  pi0, gam1, gam2 PChannel ch3  new 
PChannel(pl3) // define 3rd reaction 
step PParticle ep  new PParticle("e") 
PParticle em  new PParticle("e-") PParticle 
pl4  epem, ep, em PChannel ch4  new 
PChannel(pl4) // define 4th reaction 
step PChannel ch  ch1, ch2, ch3, ch4 
PReaction r  new PReaction(ch, "w-Dalitz", 4, 
1, 0, 0) // define reaction r-gtPrint() 
r-gtloop(10000) // 
run simulation  
 10Example 2 Pions from 25 AGeV AuAu
 Float_t Ebeam  25 // beam 
energy Float_t T  0.12 // 
temperature Float_t sigma  1. // 
rapidity distribution Float_t blast  0.3 
 // blast Int_t Mpi  400 
 // pion multiplicity PFireball pip  new 
PFireball("pi",Ebeam, T, 0, 1, blast,0,0,0,0) 
// pi source pip-gtsetSigma(sigma) 
PFireball pim  new PFireball("pi",Ebeam, T, 0, 
1, blast,0,0,0,0) // pi- source 
pim-gtsetSigma(sigma) PFireball pi0  new 
PFireball("pi",Ebeam, T, 0, 1, blast,0,0,0,0) 
// pi0 source pi0-gtsetSigma(sigma) 
PChannel ch1  pip-gtmakeChannel(800,Mpi) 
PChannel ch2  pim-gtmakeChannel(800,Mpi) 
PChannel ch3  pi0-gtmakeChannel(800,Mpi) 
PChannel ch  ch1, ch2, ch3 PReaction r 
 new PReaction(ch, "AuAu25AgeV", 3, 1, 0, 0) 
// define reaction r-gtsetDecayAll(10.) 
 // decay all particles with lifetime lt10 ns 
 r-gtPrint() r-gtloop(10000) 
// run simulation  
 11PLUTO for CBM VMC
- Interfaced to CBM simulation 
-  via Root files (existing) 
-  internal (to be implemeted)