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:: :code:`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 :code:`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 : 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 :code:`--domsimulator` option. IceSim3 needs this option. The :code:`--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 : 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 :code:`--simulation` or :code:`-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 : 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.