Introduction
Overview
Teaching: 15 min
Exercises: 5 minQuestions
How do I locate and access the simulation output?
Objectives
Understand how the simulation output is organized
Know how to access the simulation output using Jefferson Lab xrootd
More detailed information on the simulation productions, including the information presented below, can be found on the Simulation Production Campaign Website.
Note that as of March 2026, Rucio will soon become the default and preferred method to browse and find files and datasets. A tutorial on using Rucio for this purpose will be available soon
Simulation Files Organization
There are three broad classes of files stored on xrootd, each in their own directory:
- EVGEN: The input hepmc3 datasets
- E.g. some files that have been supplied by a physics event generator
- FULL: The full GEANT4 output root files (usually only saved for a fraction of runs)
- If running a simulation yourself, this would be your output from processing npsim
- RECO: The output root files from the reconstruction
- And again, if running yourself, this would be your output from EICrecon (after you’ve used your awesome new reconstruction algorithm from the later tutorial of course)
Most users will interact with the files in the RECO directory and that is what we will focus on in this tutorial. Within the RECO directory, files are organized by campaign (26.02.0 for the February 2026 campaign, for example), detector configuration and then physics process. Each physics process will have different sub directories, for example generator version, energy, or Q2. The directory structure and number of reconstructed files for each campaign can be found on the Simulation Website here.
Note that campaigns more than ~6 months old will not directly be accessible. If you are running this tutorial and encounter a file access error, check the campaign you are trying to access. Where possible, use the latest campaign available.
Access Simulation from Jefferson Lab xrootd
The prefered method for browsing the simulation output is to use xrootd from within the eic-shell. To browse the directory structure and exit, one can run the commands:
./eic-shell
xrdfs root://dtn-eic.jlab.org
ls /volatile/eic/EPIC/RECO/26.02.0
exit
It is also possible to copy a file and open it locally using the xrdcp command:
./eic-shell
xrdcp root://dtn-eic.jlab.org//volatile/eic/EPIC/RECO/26.02.0/path-to-file .
exit
Files can also be copied locally by replacing ls with cp.
Streaming Files
It is also possible to open a file directly in ROOT if you have xrootd installed too. Note that the following command should be executed after opening root and TFile::Open() should be used:
auto f = TFile::Open("root://dtn-eic.jlab.org//volatile/eic/EPIC/RECO/path-to-file")
Reminder - Download a file for the next step!
We will need a file to analyse going forward, if you have not done so, download a file now!
Grab a file from -
/volatile/eic/EPIC/RECO/26.02.0/epic_craterlake/DIS/NC/18x275/minQ2=10/
For example -
xrdcp root://dtn-eic.jlab.org//volatile/eic/EPIC/RECO/26.02.0/epic_craterlake/DIS/NC/18x275/minQ2=10/pythia8NCDIS_18x275_minQ2=10_beamEffects_xAngle=-0.025_hiDiv_5.0001.eicrecon.edm4eic.root ./
Note that the ./ at the end is the target location to copy to. Change this as desired.
Note that we can also specify a different filename to copy to as we could with a normal cp command. You might want to do this as the filename is a little cumbersome. I called mine NC_DIS_18x275_Feb26Campaign.root, just replace ./ with your file name of choice.
You can also stream the file if you prefer, just copy the path of the file above. You will need to modify the scripts later in the tutorial accordingly to account for this.
Typically, if you are processing more than a handful of files, it is probably best to stream files from the server rather than downloading a local copy of all files.
Key Points
Use
xrdfsfrom within the eic-shell to browse available files from simulations campaigns.Use
xrdcpfrom within eic-shell to copy files to your local environment.Within eic-shell, you can also stream files directly in your root macros.