/******************************************************************************
 *                                                                            *
 *           GLISSANDO - GLauber Initial State Simulation AND mOre...         *
 *                       ver. 1.95, 6 August 2010                             *
 *                                                                            *
 * Authors: Wojciech Broniowski (Wojciech.Broniowski@ifj.edu.pl)              *
 *          Maciej Rybczynski   (Maciej.Rybczynski@pu.kielce.pl)              *
 *          Piotr Bozek         (Piotr.Bozek@ifj.edu.pl)                      *
 *                                                                            *
 * For the detailed description of the program and further references         *
 * to the description of the model, please, refer to                          *
 *                                                                            *
 * Computer Physics Communications 180(2009)69, arXiv:0710.5731 [nucl-th]     *
 * accessibile from: http://arxiv.org.abs/0710.5731                           *
 *                                                                            *
 * Implementation of nuclear correlations as in Phys. Rev. C81(2010)064909    *
 *                                                                            *
 * Homepage: http://www.pu.kielce.pl/homepages/mryb/GLISSANDO/index.html      *
 *                                                                            *
 * This code can be freely used and redistributed. However, if you decide to  *
 * make modifications, the authors would appreciate notification.             *
 * Any publication or display of results obtained using this code must        *
 * include a reference to our published paper.                                *
 *****************************************************************************/

// typical running sequences - paste and copy to the terminal window

// Root must be installed, see http://root.cern.ch/

// installation
./install

// help
./glissando.exe --help

// sample run
./glissando.exe

// sample run with nuclear correlations
// get and save the files from http://www.phys.psu.edu/∼malvioli/eventgenerator/
// create one big file, for instance
cat o16-1.dat o16-2.dat o16-3.dat [more files] > o16.dat

// run glissando
./glissando_files.exe input_O16.dat glissando.root o16.dat o16.dat

// run the Root script
root -b -l -q -x "epsilon.C(\"glissando.root\")"

// generate nuclear profile of nucleus A, no expulsion
./glissando_profile.exe input_profile_0.dat             

// generate nuclear profile of nucleus A, expulsion distance 0.4 fm, fix-last algorithm
./glissando_profile.exe input_profile_04.dat             

// generate nuclear profile of nucleus A, expulsion distance 0.4 fm, fix-last algorithm
./glissando_profile.exe input_profile_08.dat             

// or use the return-to-beginning algorithm (very SLOW, not recommended!)
./glissando_profile.exe input_profile_04_ret.dat         

// run the Root script
root -b -l -q -x "fitr.C(\"glissando.root\")"

./glissando.exe input_snap.dat
root -b -l -q -x "density.C(\"glissando.root\")"

// generate centrality classes for min-bias Au+Au collisions
./glissando.exe input_minbias.dat           
root
.x centrality.C("")
.x epsilon.C("")
.x epsilon_b.C("")
.x dxdy.C("")
...

// generate most central Au+Au collisions
./glissando.exe input_0_5.dat glissando_0_5.root        
// check b distribution
root 
TBrowser a, open "glissando_0_5.root", go to "events" tree, click branch "b"
// generate 2D density plots and Fourier profiles
root 
.x density.C("glissando_0_5.root")
.x profile2.C("glissando_0_5.root")
...

// run the interpolation code
interpolation.exe glissando_0_5.root

// repeat the above and for other centrality classes  
./glissando.exe input_30_40.dat glissando_30_40.root    
...
./glissando.exe input_80_95.dat glissando_80_95.root   
...

// analysis of the hot-spot model
./glissando.exe input_hotspot.dat hs.root
root 
.x centrality.C("hs.root")
.x epsilon.C("hs.root")
.x epsilon_b.C("hs.root")
...

// analysis for asymmetric collisions
./glissando.exe input_S_Pb.dat
root 
.x centrality.C("")
.x epsilon.C("")
...

// p+Au collisions
./glissando_prot.exe
root 
.x centrality.C("")
...

// d+Au collisions
./glissando_deut.exe
root 
.x centrality.C("")
...

// LHC predictions
./glissando.exe input_minbias_LHC.dat
root
.x centrality.C("")
.x epsilon.C("")
...

// retrieving the full event info (LARGE OUTPUT DATA!)
// (FULL=1 flag must be set in GLISSANDO input file)
/.glissando.exe input_full.dat full.root
./retrieve.exe full.root
...

// Gaussian wounding profile (SLOW, but possibly more realistic!)
./glissando_gauss.exe
...

