gSeaGen
|
The gSeaGen code is a GENIE based application developed within the KM3NeT Collaboration to efficiently generate high statistics of the neutrino interaction events detectable in the neutrino telescopes. The gSeaGen code is able to generate events induced by all neutrino flavours, considering topological differences between track-type and shower-like events. The neutrino interaction is simulated taking into account the density and the composition of the media surrounding the detector.
More detailed documentation:
Carla Distefano, INFN-LNS, Via S.Sofia 62, 95123, Catania, Italy (e-mail: diste.nosp@m.fano.nosp@m._c@ln.nosp@m.s.in.nosp@m.fn.it)
Alfonso Andres Garcia Soto, Nikhef, Science Park 904, Amsterdam 1098 XH, Netherlands (e-mail: alfon.nosp@m.sog@.nosp@m.nikhe.nosp@m.f.nl)
Piotr Kalaczynski, CAMK PAN, Bartycka 18, 00-716 Warsaw, Poland (e-mail: pkala.nosp@m.czyn.nosp@m.ski@k.nosp@m.m3ne.nosp@m.t.de)
© Copyright 2012, the KM3NeT Collaboration. For the full text of the license see the file LICENSE
To use gSeaGen, one can:
gSeaGen can be compiled on a Unix operating system and requires some basic tools, such as the gcc
compiler suite, make
and PERL
. A minimal installation of gSeaGen requires only GENIE.
A number of environmental variables must be defined to compile gSeaGen:
GSEAGEN
: pointing at the top level gSeaGen directory
GENIE
: pointing at the top level GENIE directory
ROOTSYS
: pointing at the top level ROOT directory
gSeaGen has been written using the GENIE Auk production release series and tested with GENIE version 2.12.10. It is also possible to link gSeaGen with the new Bear release series (GENIE v3.0.0 and later). In this case the GENIE environmental variables for the compilation are:
GENIE
: pointing at the top level GENIE Generator directory
GENIE_REWEIGHT
: pointing at the top level GENIE Reweight directory
Once the environmental variables are set, a minimal installation of gSeaGen is obtained by typing:
WARNING: Parallel make
(e.g.make -j 4
) will NOT work!
The configuration script allows to enable/disable features and specify paths to external libraries as the MUSIC
and PROPOSAL propagators. The command:
lists the configuration options. The configuration script also creates the shell scripts setenv.sh
and setenv.csh
, helping the user to prepare the environment to run the code.
To set the environment configuration required to run gSeaGen, the setenv
script must be executed:
The environmental variables required by GENIE and the ROOT version used during the compilation step are also set. Finally, the user can run the code with the following syntax:
Running the code with the option -h
:
displays the list of the available options:
Running gSeaGen requires a pre-computed GENIE cross-section file. Official GENIE cross sections or instructions for building your own are available at http://www.genie-mc.org. By default, gSeaGen will look for the gxspl-FNALsmall.xml
file in the running directory or in the one pointed by the GXMLPATH
environmental variable (GENIE default).
The code will generate 1000
muon neutrinos
sampling from a diffuse flux according to a power-law energy spectrum with a spectral index of -1.4. The code will also compute a weight for each event to normalize the simulation to the flux 1e-9*E-2 1/(GeV m2 s sr)
. Default values will be used for all other options.
gSeaGen supports BARTOL
, FLUKA
and HONDA
atmospheric muon fluxes. Some of them are in the $GSEAGEN/dat
directory and described in the $GSEAGEN/FLUX
file.
In this case both muon neutrinos and anti-neutrinos
will be generated and the events weights will be computed according to the HONDA
fluxes in the file grn-ally-20-12-solmin.d
.
It is possible to generate neutrinos from point or extended astrophysical sources. To activate this mode and to input the source information, the -point
option can be used.
In this case, the neutrinos are generated from the source defined in the file $GSEAGEN/dat/AstroSource.xml
that can be used as a reference. When the point/extended mode is activated, gSeaGen uses the detector geographical coordinates. To set the detector coordinates option –coord
must be used.
CORSIKA output files (DATxxxxxx
) may be used as input for gSeaGen:
Will process the CORSIKA output file DAT001000
located in $DIR
.
There is a number of CORSIKA-specific options available in gSeaGen, e.g.
will read only first 500 records from the CORSIKA file.
Running
will reduce the number of information printed while processing the file. This is particularly useful when working with low-energy simulation, containing huge numbers of events which can easily flood the output.
To only convert the CORSIKA file, without muon propagation, one can run:
For the other options, please refer to the output of gSeaNuEvGen -h
and to processing of CORSIKA files with gSeaGen. Notably, there are options allowing to control what is saved in the output (-save
and -write
) and to increase the statistics (--muon-range-tolerance
and -chances
). The latter should be used with caution, as the retried events introduce a need for reweighting of the entire simulation if they are to be included in an analysis. This can be done using tools\gWeightCorsika
, which is not an exact solution, however it works well within the statistical fluctuations.
An easier way to use gSeaGen is through the docker and singularity containers, provided in the image registry.
WARNING: although easier to use, the containers currently DO NOT support tau propagation due to legal constraints associated with the TAUSIC code (and similarly, muon propagation with MUSIC is not included). In the future it is foreseen to replace TAUSIC completely with PROPOSAL for this purpose.
To fetch a docker image of v7.4.3
release, one can run:
and similarly for a singularity container:
To get a different tag, e.g. latest
, simply replace v7.4.3-singularity
by latest
.
To execute the code one can use exactly the same options as for installation from source, with the difference in calling the gSeaNuEvGen
itself:
In this example the v7.3.0
release is ran from a singularity container. The syntax of docker
is analogous here. For more advanced used of exec
in both, please consult docker documentation and singularity documentation.
References:
Proceedings:
gSeaGen is a GENIE-based application. For information about GENIE citing rules visit https://hep.ph.liv.ac.uk/~costasa/genie/citing.html