/Uboot

UrQMD afterburner with decays

Primary LanguageC++

**** U2boot ***** License LGPL 3

Unigen2urqmdBOOsTer

This program use data from unigen-like tree and pass it to UrQMD code and/or decay long living particles by using THERMINATOR 2 decay tables (see https://therminator2.ifj.edu.pl/).

1. Prerequisites

ROOT >5.34 + cmake To use all features of this program ou will need also:

2. How to install

download code from git then

cd [dowloaded_code]
mkdir build
cd build 
cmake -DCMAKE_INSTALL_PREFIX=[installation path] -D URMQD_PATH:STRING=[path to urqmd model] ..
make 
make install

Default UrQMD code seems to start at fixed time.It's impossible to include advanced hypersurface there. Therefore to work with hypersurfaces you need to apply path.

cd [urqmd path]
patch < [uboot code path]/coload.path
make

After this UrQMD should be rebuild with updates. NOTE: this probably make UrQMD useless in "stand alone" mode.

3. How to use

After compilation you should see file config.sh in build directory. This scripts sets enviromental variables. Then you have to call

U2boot inFile outFile optional_flags

following flags are supported: -f clean temporary files (by default this code produce diretory with text files processed by UrQMD, usually they are not needed after so yo can remove them)
-s=N where you specify status of processed particles - other particles are not processed.
-n=N to specify number of events to process (by default process all events)
-decay - only decay particles, don't call UrQMD
-no-decay - only call UrQMD, don't decay particles
-feeddown - try to decay particles that are not suppored by UrQMD to suppored decay products (note: all decay products are created in postion of creation of parent particle) UrQMD start at given time. Without patch from uboot all particles positions are interpolated to given time. Then UrQMD starts. If you apply patch particles should not interact until "formation time".
There are few ways to define this time
-t=min - start cascades when first particle is created (recommended, default)
-t=XX - star with fixed time (XX in fm/c) (since ver. 2.3)
-t=av = - start with time equal to average freezout time
-t=max - start with time creation of last particle
-sup - supress UrQMD output (since ver. 2.3)
UrQMD time calcualtion times:
-urqmd_out=XX - where XX is output time (in UrQMD input: tim[1]=outtime)
-urqmd_calc=XX - where XX is calculation time (in UrQMD input: tim[0]=tottime)
-urqmd_dt=XX - where XX is step time (in UrQMD input: cdt)
Output tree there has 4 types of particle status:
0 - for "bad" particles (with PDG that is not supported in UrQMD)
1 - for particles that passed UrQMD cascades and didn't interact
2 - for other particles from UrQMD
3 - for particles that comes from weak decays
Those values are defined in UItyp.h file.
In UDecayParticle.h by commenting USE_BREIT_WIGNER you can disable using breit wigner procedure, resonance peaks become sharp.

Input file

From 2.3 there is option of support input file with own configuration. Such inputfile begins from #UBOOT_INPUT then you can set the same flags like when running U2boot, however is such case '-' sign at begin is not required. Each flag should be in separate line. Important note! you can't set input files in input file.Such inputfile can look like this:

#UBOOT_INPUT
feeddown
s=1
n=1
sup
t=20

or

#UBOOT_INPUT
-feeddown
-s=1
-n=1
-sup
-t=20

Both mean the same - run Uboot with options "-feeddown -s=1 -n=1 -sup -t=20"