Introduction to the JEM-EUSO and running air shower event simulations

The aim of the workshop is to familiarize students with the topic of Ultra High Energy Cosmic Rays and JEM-EUSO programme. Then practical activity includes simulation of events in the collaboration’s frameworks.

The Air Shower Pattern Recognition summer school consists of the following five workshops:

  1. Introduction to the JEM-EUSO and running air shower event simulations
  2. Reading the detector data
  3. Implementation of a feature extraction method
  4. Classification of the data through the extracted features
  5. Classification of the data using a convolutional neural network

Slides

Practical activity

  1. ESAF:
    1. Running an air shower event simulation
    2. Running an air shower event reconstruction
    3. Visualization of the data
  2. Offline:
    1. Running an air shower event simulation
    2. Running an air shower event reconstruction
    3. Visualization of the data using the ETOS application.

Vncviewer 

Pripojiť sa.

ESAF

  1. Terminal: ~/summer_school
  2. cd esaf_exercise
  3. ./use_esaf

Simulacia:

  1. Simu -b –events=3 –ofile=test_simulation –usrcfg=config/Balloon_v1.cfg
  2. Simu -b –events=5 –ofile=test_simulation –usrcfg=config/Balloon_v1.cfg –GeneratorLightToEuso.ThetaRangeMin=25.0 –GeneratorLightToEuso.ThetaRangeMax=25.0

Prezretie eventu:

  1. root
  2. .L macros/EEventViewer.C
  3. EEventViewer(“CESTA_K_SIMULOVANEMU_SUBORU”)

Rekonštrukcia:

  1. Reco –usrcfg=config/Balloon_v1.cfg  –RecoFramework.ModuleFile=usrcfg/module_sequence_pwise.cfg 
  2. root
  3. .L scripts/RecoInfo.C
  4. RecoInfo(“CESTA_K_RECO_SUBORU”, 0)
  5. .q

Offline

Simulation

  • ./use_offline_docker.sh
  • cd ~
  • cd G4*
  • make
  • ./JemEusoOffline -b *shower.xml
  • . offline/env.sh

Visualization of events

  • ./use_offline.sh
  • OfflineViewer
  • etos

———————–

ESAF

  • Euso Simulation and Analysis Framework
  • Originally developed for the (ESA-)EUSO
  • More complete reconstruction than Offline (as of summer 2020)
  • Configuration 
    • Module-specific configuration files
    • User configuration files
    • Command-line arguments
  • key=value style of configuration
  • Two main executables
    • Simu
    • Reco
  • Direct codepath between the main executables and modules.
  • Several deprecated parts and modules
  • Uses CERN ROOT 5, recently refactored to support ROOT 6
Running ESAF simulation
  1. Activate environment for ESAF by running: ./use_esaf.sh 
  2. Simu -b --events=10 --usrcfg=$HOME/esaf_activity/low_zenith_angles.cfg --odir=$HOME/esaf_activity/output1 
  3. Open ROOT, launch .x EEventViewer.C(:::YOUR OUTPUT FILE HERE:::)
  4. Create $HOME/esaf_acitivity/high_zenith_angles.cfg 
  5. Simu -b --events=10 --usrcfg=$HOME/esaf_activity/high_zenith_angles.cfg --odir=$HOME/esaf_activity/output2 
  6. Open ROOT, launch .x EEventViewer.C(:::YOUR OUTPUT FILE HERE:::)
    1. Observe differences
Running ESAF reconstruction
  1. Activate environment for ESAF by running: ./use_esaf.sh .
  2. Reco --usrcfg=$HOME/esaf_acitivity/low_zenith_angles.cfg --outpath=$HOME/esaf_activity/output3 --RecoFramework.ModuleFile=$HOME/esaf_activity/RecoModuleListPWISE.cfg $HOME/esaf_activity/output1/Simu.root
  3. Open ROOT, run .x RecoInfo.C(:::YOUR RECO OUTPUT FILE HERE:::)
    1. Observe differences between reconstructed and simulated values of theta (zenith angle) and phi (azimuth angle)
  4. Reco --usrcfg=$HOME/esaf_acitivity/low_zenith_angles.cfg --outpath=$HOME/esaf_activity/output4 --RecoFramework.ModuleFile=$HOME/esaf_activity/RecoModuleListKeHough.cfg $HOME/esaf_activity/output1/Simu.root.
  5. Open ROOT, run .x RecoInfo.C(:::YOUR RECO OUTPUT FILE HERE:::)
    1. Observe differences between reconstructed and simulated values of theta (zenith angle) and phi (azimuth angle)

Offline

  • Based on Pierre Auger Observatory’s code
  • Utilizes jape package manager (can be viewed as a part of the framework) – solves dependencies, such as Geant4, which is used to model the detectors
  • Typically/in principle application per simulation, each with custom module sequence
  • XML-based configuration (XSD used for validation)
  • Project consists of:
    • bootstrap.xml.in
    • Makefile
    • Custom modules code
  • *.xml.in files – XML files with variables, such as @SCHEMALOCATION@. XML file generated after running Offline by filling in the values.
Running Offline simulation
  1. Activate environment for ESAF by running: ./use_offline.sh 
  2. Change your current working directory to the simulation project examples/spb1.
    • Review the following items in the directory:
      • Makefile
      • bootstrap_laser.xml.in
      • bootstrap_shower.xml.in
  3. Compile the application
  4. Run ./JemEusoOffline --help and observe the output.
  5. Run make run_shower
    which is a simulation of an air shower track observation. This could be run also by make run, but the goal here is to observe the result of the simulation first.
  6. Observe files in the directory after the simulation.
Visualization of data in ETOS
  1. Remain in the working directory used in the previous activity. However, working directory is not important for this activity.
  2. Open a simulation output file in ETOS. If you are continuing in the shell from the previous activity, It can be launched in the following way:
    $JEMEUSOOFFLINEROOT/bin/etos/open_in_etos.sh SIMULATION_ROOT_FILE_PATHNAME
    Note, this is not a typical way of launching ETOS. Script was created for purposes of this tutorial, it setups the environment and executes etos.py script.
  3. Experiment with visualization options in ETOS
    • Set appropriate range of PDM values.
    • Review the frames manually.
    • Set GTU window size to see the whole track in a single view.
    • Click on pixels to observe lightcurves. Under tab “Click” on the right side of the window.
    • Export the first ten frames as a gif:
      FileSaveSave animation
  4. Launch ETOS in expert mode
    • Select option TriggerFind trigger aggregates in time
Running Offline reconstruction
  1. Activate environment for ESAF by running: ./use_offline.sh