IC86_2012

Documentation and examples for running L1 and L2 filtering on IC86_2012 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/IC2012-L2_V13-01-00_IceSim4compat_V3 src
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ../src
$ make

Note

The IceRec version listed here is the special L2 variant for 2012, 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_2012/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/2012/filtered/PFFilt/0608/PFFilt_PhysicsTrig_PhysicsFiltering_Run00120270_Subrun00000000_00000000.tar.bz2 .
$ cp /data/exp/IceCube/2012/filtered/level2/0608/Level2_IC86.2012_data_Run00120270_0608_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.IC2012-L2_V13-01-00-icesim4_rel2     r124584 *
*                                                                      *
*                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

The process.py script has various options:

$ python lib/icecube/filter_2012/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:

$ lib/icecube/filter_2012/process.py -i PFFilt_PhysicsTrig_PhysicsFiltering_Run00120270_Subrun00000000_00000000.tar.bz2 -g Level2_IC86.2012_data_Run00120270_0608_GCD.i3.gz -o Level2_IC86.2012_data_Run00120270_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.2012_data_Run00120270_0608_GCD.i3.gz', 'PFFilt_PhysicsTrig_PhysicsFiltering_Run00120270_Subrun00000000_00000000.tar.bz2']
Reader:  Filenamelist = ['Level2_IC86.2012_data_Run00120270_0608_GCD.i3.gz', 'PFFilt_PhysicsTrig_PhysicsFiltering_Run00120270_Subrun00000000_00000000.tar.bz2']

... (many, many lines of output) ...

This may take a while for a full PFFilt file (2-4 hours is normal).

At the end, you should get a file named:

Level2_IC86.2012_data_Run00120270_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/2012/generated/CORSIKA-in-ice/11042/00000-00999/IC86.2012_corsika.011042.000000.i3.bz2 .
$ cp /data/sim/sim-new/downloads/GCD/GeoCalibDetectorStatus_2012.56063_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.IC2012-L2_V13-01-00-icesim4_rel2     r124584 *
*                                                                      *
*                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_2012/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_2012/level1_SimulationFiltering.py -i IC86.2012_corsika.011042.000000.i3.bz2 -g GeoCalibDetectorStatus_2012.56063_V1.i3.gz -o PFFilt_IC86.2012_corsika.011042.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_2012.56063_V1.i3.gz', 'IC86.2012_corsika.011042.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, 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.2012_corsika.011042.000000.i3.bz2

The next step is to run through L2, which is much like experimental data but with the --simulation or -s flag:

$ lib/icecube/filter_2012/process.py -s -i PFFilt_IC86.2012_corsika.011042.000000.i3.bz2 -g GeoCalibDetectorStatus_2012.56063_V1.i3.gz -o Level2_IC86.2012_corsika.011042.000000.i3.bz2
Warning in <TUnixSystem::SetDisplay>: DISPLAY not set, setting it to
Module iceprod.modules not found. Will not define IceProd Class
infiles:  ['GeoCalibDetectorStatus_2012.56063_V1.i3.gz', 'PFFilt_IC86.2012_corsika.011042.000000.i3.bz2']

... (many, 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.2012_corsika.011042.000000.i3.bz2

If you want the other files, specify filenames for those options.