IAP GITLAB

README 9.97 KB
Newer Older
1
CRMC v1.0 Last modifications 2013/04/11
2

3 4 5
**********************************************************
                     The Program "crmc"
**********************************************************
Colin Baus's avatar
Colin Baus committed
6

Ralf Ulrich's avatar
Ralf Ulrich committed
7 8 9 10 11
The program "crmc" (Cosmic Ray Monte Carlo) is an interface giving
access to different cosmic ray and non cosmic ray event generators by
an easy-to-use command line interface. The output can be stored in
different formats, i.e. in a root TTree or HepMC event file
(http://lcgapp.cern.ch/project/simu/HepMC/).
Colin Baus's avatar
Colin Baus committed
12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
**********************************************************
                         Authors
**********************************************************

C++ interface : Colin Baus (colin.baus@kit.edu)
                Ralf Ulrich (ralf.ulrich@kit.edu)
Fortran interface : Tanguy Pierog (tanguy.pierog@kit.edu)

"crmc" is based on the first epos-root interface by X. Garrido (2009)

**********************************************************
                         References
**********************************************************

-- CRMC :

Reference : C. Baus, T. Pierog and R. Ulrich. To be published (2013)
           (please ask to colin.baus@kit.edu when needed)


33
-- Hadronic interaction models :
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

* Post LHC :

EPOS LHC (-m0) : T. Pierog and K. Werner. To be published (2013).
                (please ask tanguy.pierog@kit.edu when needed)

QGSJETII-04 (-m7) : S.Ostapchenko, 
                    Phys.Rev. D83 (2011) 014018 

* Pre LHC :

EPOS 1.99 (-m1) : K. Werner, F.M. Liu and T. Pierog,
                  Phys.Rev. C74 (2006) 044902
                 and
                  T. Pierog and K. Werner,
                  Nucl.Phys.Proc.Suppl. 196 (2009) 102-105

QGSJET01 (-m2) : N.N. Kalmykov, S. Ostapchenko, and A.I. Pavlov, 
                 Nucl.Phys. B (Proc. Suppl.) 52B (1997) 17

QGSJETII-03 (-m11) : S. Ostapchenko,
                     Nucl.Phys.Proc.Suppl. 151 (2006) 143

SIBYLL2.1 (-m6) : R. Engel, T.K. Gaisser, P. Lipari, and T. Stanev,
                  Proc. 26th Int. Cosmic Ray Conf., Salt Lake City (USA), 1 (1999) 415
                 and 
                  E.-J. Ahn, R. Engel, T.K. Gaisser, P. Lipari, and T. Stanev, 
                  Phys.Rev. D80 (2009) 094003
Colin Baus's avatar
Colin Baus committed
62

63 64 65
**********************************************************
                       Installation
**********************************************************
Colin Baus's avatar
Colin Baus committed
66

67 68 69 70 71
To install please get the latest version from the authors and
install the following pre-requisites: BOOST, HEPMC, CMAKE.
The next optional step is to modify the CMakeLists.txt file to
your needs of which models should be compiled. After you have
done so, you can compile the program:
Colin Baus's avatar
Colin Baus committed
72

Colin Baus's avatar
Colin Baus committed
73 74
mkdir -p installed
cd installed
Colin Baus's avatar
Colin Baus committed
75
cmake DIRECTORY_WHERE_YOUR_SOURCE_IS
Colin Baus's avatar
Colin Baus committed
76 77
make --jobs=8
make install
Colin Baus's avatar
Colin Baus committed
78

Tanguy Pierog's avatar
Tanguy Pierog committed
79 80 81
To test the installation you can use
make test ARGS=-V
or
82
bin/crmc -T <your options>
Tanguy Pierog's avatar
Tanguy Pierog committed
83
if you want to test some specific set of options.
Colin Baus's avatar
Colin Baus committed
84

85

86 87 88 89 90 91 92 93
**********************************************************
                            Run
**********************************************************

Run the program by executing

./bin/crmc -h

94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
to get the following help:

Options of CRMC:
  -h [ --help ]                     description of options
  -v [ --version ]                  show version and exits
  -o [ --output ] arg               output mode: hepmc (default), hepmc.gz, root, lhe, lhe.gz
  -s [ --seed ] arg                 random seed (default: random)
  -n [ --number ] arg               number of collisions
  -m [ --model ] arg                model [0=EPOS_LHC (default), 1=EPOS_1.99, 2=QGSJET01,
                                    6=Sibyll_2.1, 7=QGSJETII-04, 11=QGSJETII-03]
  -p [ --projectile-momentum ] arg  momentum/(GeV/c) (usually  >0)
  -P [ --target-momentum ] arg      momentum/(GeV/c) (usually =<0)
  -i [ --projectile-id ] arg        PDG or Z*10000+A*10 (default=proton)
  -I [ --target-id ] arg            PDG or Z*10000+A*10 (default=proton)
  -c [ --config ] arg               config file
  -f [ --out ] arg                  output file name (auto if none provided)
  -t [ --produceTables ] [=arg(=1)] create tables if none are found
  -T [ --Test ] [=arg(=1)]          Test mode


for projectile and target Id the following shortcuts are allowed : 
 1    = PDG(2112)       = proton
-1    = PDG(-2112)      = anti-proton
 12   = PDG(1000060120) = Carbon
 120  = PDG(211)        = pion+ (not for -I)
-120  = PDG(-211)       = pion- (not for -I)
 208  = PDG(1000822080) = Lead
using these shortcuts with automatic output file name generation will create more human readable names.

The environment variable $CRMC_OUT can be set to define the path the path of the output files,
otherwise $PWD is used as default path.

**Example to generate 100 7 TeV pp collisions with EPOS LHC:
bin/crmc -o hepmc -p3500 -P-3500 -n100 -m0

**Example to generate 100 1.38 ATeV PbPb collisions with EPOS 1.99:
bin/crmc -o hepmc -p1380 -P-1380 -n100 -i208 -I208 -m1

**Example to generate 100 4.4 ATeV pPb collisions with QGSJetII-04:
bin/crmc -o hepmc -p3500 -P-1380 -n100 -m7 -i2112 -I822080

**Example to test Sibyll2.1
136 137 138 139 140
bin/crmc -T -m6

**********************************************************
                         Options
**********************************************************
141

142 143
The details of the run can be controlled by the file "crmc.param". 

144 145 146
In this file the 3 first commented options are valid for EPOS 1.99 and EPOS LHC only.

- By defaults EPOS models use a simplified treatment of QGP in events where the energy density is high enough (including in pp). If you 
147
uncomment the line "!switch fusion off" this will be disable and running time will be shorter (but data description will be worth since
148
the physics model will be incomplete). In that mode EPOS is comparable to PYTHIA model (no final state interaction). 
149 150

- By default only the final particles are recorded in the output file like for other cosmic ray models. 
151
Uncommenting "!set istmax 1" allows the user to have the full chain of mother/daughter from the beam to the final particles with EPOS models. 
152 153 154 155 156 157 158 159 160
The outfile is at least 2 times larger but includes the decayed particles and some special intermediate particles between the beam and
the real particles which allow the user to know where the particles were generated. The ids of such particles are the following :

90 : sum of all spectators in case of nuclear beam. It is the mother particle of final nuclear fragments (nucleons and light nuclei).
91 : cluster which will produce particle statistically. Mother of particles coming from mini-(quark-gluon) plasma in EPOS.
92 : string. Mother of particles coming directly from string fragmentation of initial Pomerons (which do not participate to plasma formation).
93 : remnant. Mother of particles coming from the beam remnants.

Each primary particle has a mother with id 9x. For technical reasons all particles with the same id and same momentum are in fact the same 
161
initial object (cluster, string or remnant) which was split in different local pieces to keep the correct production vertexes of the final 
162 163 164
particles. If a set of particles with the same id (91 or 92) and the same momentum has 2 different mothers (one from the projectile and one 
from the target) it means that the string was produced by the interaction of this pair of nucleons or for a cluster that it was the closest
pair of nucleon which participate at the formation of the cluster (a cluster is formed by string pieces of different pairs but hepmc format
165
allows only one mother in that case).
166

167 168 169 170
- By default the cross-section is calculated by a numerical method with is valid only for h-p or h-A 
(h being pion, kaon or nucleon) but not AB (nucleus-nucleus). If you uncomment "!set isigma 2" the inelastic 
cross-section will be always correct but it takes several minutes to compute it (see Note on simulating Heavy Ion events).

171
**********************************************************
172 173 174 175 176 177 178 179 180 181
           Note on simulating heavy ion (HI) events
******I****************************************************

QGSJET01 and SIBYLL2.1 are limited to hA collisions with A<64 and h being a pion, a kaon or a nucleon.
Only EPOS (1.99 and LHC) and QGSJETII (03 and 04) models can run (h)AB collisions with A and B up to 208.
QGSJETII was never designed for HI collisions, so results should be interpreted with care (no final
state interactions). 
EPOS 1.99 and LHC include a simplified treatment of final state interaction but doesn't include full hydro 
simulations as already possible in EPOS 2. It gives a good overall description of HI data but it should not be
used to interpret QGP related observables (flow, jet quenching, etc ...) since the model is oversimplified in 
182 183 184
this distribution.
* For detailed simulations of HI collisions within EPOS 2, please contact K. Werner (werner@subatech.in2p3.fr).*

185
Concerning the cross-section calculation in EPOS, to avoid unnecessary long time calculation needed
186 187
for HI interactions, the default type of cross-section calculation is fast and good for hA but not reliable for 
AB collisions (OK for p-Pb, pi-C but not for C-C or Pb-Pb for instance). So if you really need to have
188
a correct cross-section for PbPb scattering for example, you should uncomment the line "set isigma 2" in the
189
crmc.param file but it will take several minutes to compute the cross-section each time you start CRMC.
190

191 192 193 194
The current IO library of HepMC (2.06) has a limitation of the number of produced particles.
In particular, it will return an error message if the number of particles is larger than 10000.
To simulate heavy ion collisions where more than 10k particles are produced we recommend to
change the following variables and recompile.
Colin Baus's avatar
Colin Baus committed
195

196 197 198 199 200 201
Index: CRMCinterface.h
-  const static unsigned int fMaxParticles = 199990; // HEP max number of particles
+  const static unsigned int fMaxParticles = 9990; // HEP max number of particles
Index: epos.inc
-      parameter (nmxhep=199990)       !max nr of particles in hep ptl list
+      parameter (nmxhep=9990)       !max nr of particles in hep ptl list
Colin Baus's avatar
Colin Baus committed
202

203
When running the program you will receive lots of warning messages that can safely be ignored.
204
One solution to get rid of those would be to pipe it through: crmc 2>&1 | grep -v "exceeds"
205

206