IC86_2013¶
Documentation and examples for running L1 and L2 filtering on IC86_2013 data and simulation.
Environment Setup¶
First obtain a copy of the IceRec meta-project:
$ svn co http://code.icecube.wisc.edu/svn/meta-projects/icerec/releases/IC2013-L2_V13-06-00_IceSim4compat_V4 src
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ../src
$ make
Note
The IceRec version listed here is the special L2 variant for 2013, with IceSim 4 compatibility.
Hint
make -j12
on servers will run 12 threads of compiling in parallel,
building your meta-project faster.
Possible Errors¶
glshovel
A glshovel cmake error like this:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: GLUT_Xmu_LIBRARY (ADVANCED) linked by target "glshovel" in directory /scratch/dschultz/IC86_2013/src/glshovel -- Configuring incomplete, errors occurred!
The solution is to delete the glshovel project, since it is old and unsupported.
$ rm -rf ../src/glshovel
Experimental Data¶
An example of how to run L2 on a PFFilt file (not that you should ever do this yourself, as production has already done it.)
I am assuming you have a GCD and i3 file:
$ cp /data/exp/IceCube/2013/filtered/PFFilt/0609/PFFilt_PhysicsFiltering_Run00122520_Subrun00000000_00000000.tar.bz2 .
$ cp /data/exp/IceCube/2013/filtered/level2/0609/Run00122520/Level2_IC86.2013_data_Run00122520_0609_0_14_GCD.i3.gz .
Next, load the environment:
$ ./env-shell.sh
************************************************************************
* *
* W E L C O M E to I C E T R A Y *
* *
* Version icerec.branches.IC2013-L2_V13-06-00-icesim4 r126168 *
* *
* You are welcome to visit our Web site *
* http://icecube.umd.edu *
* *
************************************************************************
Icetray environment has:
I3_SRC = /scratch/dschultz/IC86_2013/src
I3_BUILD = /scratch/dschultz/IC86_2013/build
I3_PORTS = /cvmfs/icecube.wisc.edu/py2-v1/RHEL_6_x86_64/i3ports
Python = Python 2.7.3
The process.py
script has various options:
$ filter-2013/resources/scripts/offlineL2/process.py -h
Module iceprod.modules not found. Will not define IceProd Class
Usage: process.py [options]
Options:
-h, --help show this help message and exit
-s, --simulation Mark as simulation (MC)
-i INFILE, --input=INFILE
Input i3 file(s) (use comma separated list for
multiple files)
-g GCDFILE, --gcd=GCDFILE
GCD file for input i3 file
-o OUTFILE, --output=OUTFILE
Output i3 file
-n NUM, --num=NUM Number of frames to process
--dstfile=DSTFILE DST root file (should be .root)
--gapsfile=GAPSFILE gaps text file (should be .txt)
--icetopoutput=ICETOPOUTPUT
Output IceTop file
--eheoutput=EHEOUTPUT
Output EHE i3 file
--slopoutput=SLOPOUTPUT
Output SLOP file
--rootoutput=ROOTOUTPUT
Output root file
--photonicsdir=PHOTONICSDIR
Directory with photonics tables
For experimental data, most of the default configuration is fine. Use as such:
$ filter-2013/resources/scripts/offlineL2/process.py -i PFFilt_PhysicsFiltering_Run00122520_Subrun00000000_00000000.tar.bz2 -g Level2_IC86.2013_data_Run00122520_0609_0_14_GCD.i3.gz -o Level2_IC86.2013_data_Run00122520_Part00000000.i3.bz2
Warning in <TUnixSystem::SetDisplay>: DISPLAY not set, setting it to
Module iceprod.modules not found. Will not define IceProd Class
infiles: ['Level2_IC86.2013_data_Run00122520_0609_0_14_GCD.i3.gz', 'PFFilt_PhysicsFiltering_Run00122520_Subrun00000000_00000000.tar.bz2']
Reader: Filenamelist = ['Level2_IC86.2013_data_Run00122520_0609_0_14_GCD.i3.gz', 'PFFilt_PhysicsFiltering_Run00122520_Subrun00000000_00000000.tar.bz2']
... (many lines of output) ...
This may take a while for a full PFFilt file (2-3 hours is normal).
At the end, you should get a file named:
Level2_IC86.2013_data_Run00122520_Part00000000.i3.bz2
If you want the other files, specify filenames for those options.
Simulation¶
An example of how to run L2 on a generated simulation file.
I am assuming you have a GCD and i3 file:
$ cp /data/sim/IceCube/2013/generated/CORSIKA-in-ice/10649/00000-00999/IC86.2013_corsika.010649.000000.i3.bz2 .
$ cp /data/sim/sim-new/downloads/GCD/GeoCalibDetectorStatus_2013.56429_V1.i3.gz .
Next, load the environment:
$ ./env-shell.sh
************************************************************************
* *
* W E L C O M E to I C E T R A Y *
* *
* Version icerec.branches.IC2013-L2_V13-06-00-icesim4 r126168 *
* *
* You are welcome to visit our Web site *
* http://icecube.umd.edu *
* *
************************************************************************
Icetray environment has:
I3_SRC = /scratch/dschultz/IC86_2012/src
I3_BUILD = /scratch/dschultz/IC86_2012/build
I3_PORTS = /cvmfs/icecube.wisc.edu/py2-v1/RHEL_6_x86_64/i3ports
Python = Python 2.7.3
Because this is simulation, L1 still needs to be run to turn it into a PFFilt-like file. The script has various options:
$ python lib/icecube/filter_2013/offlineL2/level1_SimulationFiltering.py -h
Module iceprod.modules not found. Will not define IceProd Class
Usage: level1_SimulationFiltering.py [options]
Options:
-h, --help show this help message and exit
-i INFILE, --input=INFILE
Input i3 file(s) (use comma separated list for
multiple files)
-g GCDFILE, --gcd=GCDFILE
GCD file for input i3 file
-o OUTFILE, --output=OUTFILE
Output i3 file
-n NUM, --num=NUM Number of frames to process
--qify Apply QConverter, use if file is P frame only
--no-retrigger Do not retrigger
--MinBiasPrescale=MINBIASPRESCALE
Set the Min Bias prescale to something other than
default
--photonicsdir=PHOTONICSDIR
Directory with photonics tables
--domsimulator MC is produced by DOMSimulator (default=False)
Pay special attention to the --domsimulator
option. IceSim3 needs
this option. The --no-retrigger
option is needed for IceSim4
production datasets.
$ python lib/icecube/filter_2013/offlineL2/level1_SimulationFiltering.py -i IC86.2013_corsika.010649.000000.i3.bz2 -g GeoCalibDetectorStatus_2013.56429_V1.i3.gz -o PFFilt_IC86.2013_corsika.010649.000000.i3.bz2 --no-retrigger
Warning in <TUnixSystem::SetDisplay>: DISPLAY not set, setting it to
Module iceprod.modules not found. Will not define IceProd Class
infiles: ['GeoCalibDetectorStatus_2013.56429_V1.i3.gz', 'IC86.2013_corsika.010649.000000.i3.bz2']
Configuring mue in "/scratch/dschultz/IC86_2012/build/mue/resources/ice/mie/"
Using 6-parameter ice model at l=400 nm: np=1.31943 ng=1.35611
average sca=23.7124 abs=83.0609 depths=(1093.47;2803.47)
Wavecalibrator for sim (DOMLauncher) selected
... (many lines of output) ...
This may take a while for a full simulation file (30 minutes to 1 hour).
At the end, you should get files named:
PFFilt_IC86.2013_corsika.010649.000000.i3.bz2
The next step is to run through L2, which is much like experimental data
but with the --simulation
or -s
flag:
$ filter-2013/resources/scripts/offlineL2/process.py -s -i PFFilt_IC86.2013_corsika.010649.000000.i3.bz2 -g GeoCalibDetectorStatus_2013.56429_V1.i3.gz -o Level2_IC86.2013_data_Run00122520_Part00000000.i3.bz2
Warning in <TUnixSystem::SetDisplay>: DISPLAY not set, setting it to
Module iceprod.modules not found. Will not define IceProd Class
infiles: ['GeoCalibDetectorStatus_2013.56429_V1.i3.gz', 'PFFilt_IC86.2013_corsika.010649.000000.i3.bz2']
Reader: Filenamelist = ['GeoCalibDetectorStatus_2013.56429_V1.i3.gz', 'PFFilt_IC86.2013_corsika.010649.000000.i3.bz2']
... (many lines of output) ...
This may take a while (30 minutes to 1 hour is normal).
At the end, you should get a file named:
Level2_IC86.2013_corsika.010649.000000.i3.bz2
If you want the other files, specify filenames for those options.