gSeaGen: a GENIE-based code for neutrino telescopes

The gSeaGen code is a GENIE based application to generate neutrino-induced events in an underwater neutrino detector. The gSeaGen code is able to generate events induced by all neutrino flavours, taking into account 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. The main features of gSeaGen will be presented together with some examples of its application within ANTARES and KM3NeT.


Introduction
Monte Carlo simulations play an important role in the data analysis of neutrino telescopes. Simulations are used to design and optimise trigger, reconstruction and event selection algorithms. A reliable simulator of neutrino events at the detector is therefore required.
GENIE [1] is a neutrino event generator for the experimental neutrino physics community. It has a focus on low energies and is currently used by a large number of experiments working in the neutrino oscillation field. The goal of the project is the development of a "canonical" Monte Carlo simulating the physics of neutrino interactions whose validity extends to all nuclear targets and neutrino flavours from MeV to PeV scales. At the moment GENIE is validated up to 5 TeV [2].
The gSeaGen code is a neutrino event generator for neutrino telescopes. It simulates particles created in all-flavour neutrino interactions, which may produce detectable Cherenkov light. gSeaGen uses GENIE to simulate the neutrino interactions. The kinematics of the generated particles is used as input to the codes simulating the detector response [3]. The code is written in C++. The main features are described in the following.

The neutrino interaction volume
The gSeaGen simulation code depends only on the detector size. The detector is defined inside the code by the so-called can. It represents the detector horizon, i.e. the volume sensitive to light. Within this volume the Cherenkov light is generated in the next steps of simulation to study the detector response. The can is a cylinder exceeding the instrumented volume by three light absorption lengths, L a , bounded by the sea bed from which the light can not emerge (see Fig. 1).
The interaction volume is the volume where a neutrino interaction can produce detectable particles. In case of electron neutrinos and neutral current interactions of muon or tau neutrinos, resulting  particles may be detected only if they are generated inside the light sensitive volume (shower-like events) and the interaction volume is defined as a cylinder coincident with the can and entirely made by seawater. If muon or tau neutrino charged current interactions are simulated, secondary muons may be detected also if the interaction vertex is outside the can (track-type events). In this case the interaction volume is a cylinder made by a layer of rock and a layer of seawater surrounding the can. Its size is dimensioned according to the muon maximum range in water and in rock, evaluated at the highest energy of simulated neutrinos. The maximum muon range is input by the user. In the simulations reported in this work, the maximum muon range was evaluated through a Monte Carlo simulation using the MUSIC code [4].

The target media
Four different target media are defined: SeaWater, Rock (used to define the interaction volume), Mantle and Core (entering in the calculation of the transmission probability through the Earth). The composition of all media is set by the user, providing the possibility to study the systematics due to medium compositions and also to simulate under-ice detectors. The density profile of inner layers of the Earth (Mantle and Core media) is described according to the Preliminary Reference Earth Model (PREM) [5].

Simulation algorithm
The energy range considered for event generation is binned in equal divisions of log-energy. For each bin, the interaction probability is scaled up to reduce the number of trials. The probability scale is the maximum interaction probability (i.e. probability at maximum energy and for the maximum possible path length) summed over initial states and it is calculated by GENIE [1].
If track-type events may be generated, the interaction volume and the number of events are also scaled. The neutrino energy is drawn according to a power-law energy spectrum and its direction is randomly extracted according to a flat distribution in the solid angle. The track vertex is drawn on a circular surface (outside the interaction volume and covering its projection onto a plane perpendicular to each neutrino's direction).
Once the neutrino is generated, its interaction is simulated using the GENIE event generation driver class GMCJDriver [1]. The neutrino-induced particles generated inside the can are stored in the output file. Muons generated outside the can are propagated with the MUSIC code [4] and stored if they reach the can surface.

Calculation of the event weight
During the simulation, the code assigns a weight W evt to each event in order to normalise the generation to a real neutrino flux. The event weight is the product of the real neutrino spectrum φ(E ν , cos θ ν ), at the generated neutrino energy E ν and direction θ ν , and the generation weight W gen : (1) The generation weight is defined as the inverse of the simulated neutrino spectrum: where I E and I θ are the energy and angular phase space factors, T gen is the simulated time interval, A gen is the generation area, N ν is the number of simulated neutrino types and N T ot is the total number of simulated neutrinos. P scale is the GENIE interaction probability scale (see Sec. 4). The neutrino transmission probability through the Earth is calculated as: where σ(E ν ) is the total cross section per nucleon (taking into account the different layer compositions); ρ l (θ ν ) is the amount of material encountered by a neutrino in its passage through the Earth. The latter is computed with the line integral ρ l (θ ν ) = L ρ Earth(r) dl, being L the neutrino path at the angle θ ν and ρ Earth(r) is the PREM Earth density profile [5].

Calculation of the systematic weights
The accuracy of the input simulation parameters is known and the uncertainties related to nu interactions can be propagated with GENIE. For each input physics quantity P, a systematic parameter x P is introduced. Tweaking this systematic parameter modifies the corresponding physics parameter P as follows: where δP is the estimated standard deviation of P. The calculation of the systematic errors in GENIE is based on an event reweighting strategy. A description of the full reweighting scheme is reported in [6].
The evaluation of the systematics has been implemented in gSeaGen, using the GENIE class GReWeight [6]. The implementation accepts single parameters or a list of them as input. In the latter case, the code treats all parameters at the same time and calculates the global systematic weight. If the calculation is activated, the systematic weights w sys are written in the output file. The modified distributions are obtained by multiplying the event weights by w sys .
The development of gSeaGen code started within ANTARES Collaboration [7], providing the possibility to use modern and maintained neutrino interaction codes/libraries. Currently, the code is used as a cross-check for GenHen [8], the standard generator code written in FORTRAN, limiting the comparison within the present GENIE validity range. gSeaGen can generate high energy events in ANTARES and KM3NeT-ARCA [9], when the GENIE extension at the PeV scale will be available. At present, gSeaGen is the reference code for simulation of the KM3NeT-ORCA detector [10].
As an example of application of gSeaGen, a flux of muon neutrinos and anti-neutrinos have been generated for the ANTARES detector can. The spectrum of generated events have been shaped according to the Bartol atmospheric muon flux [11]. The results are reported in Fig. 2 in terms of the energy spectrum and angular distributions of neutrinos producing detectable events (i.e. inside or reaching the detector can). Figure 2. Energy spectrum and angular distribution of atmospheric muon neutrinos and anti-neutrinos producing detectable events at the ANTARES detector can. Generated events are weighted according to the Bartol atmospheric muon flux [11]. Results from the standard neutrino event generator GenHen are shown for comparison [8].