Boot Camp for new icetray (new EHE meta-project based on simV02-00-14)
2007/12/28, presented by K. Mase
attendance: Aya, Keiichi, Mina, Mio, Shigeru
1. CMake
1.1 how to make
http://code.icecube.wisc.edu/projects/icecube/wiki/CMake
> mkdir src
> svn co http://code.icecube.wisc.edu/projects/icecube/browser/meta-projects/ehe/branches/trunk-IC22 src
> setenv I3_PORTS /proj/soft/I3/i3ports (assuming csh)
> mkdir build
> cd build
> $I3_PORTS/bin/cmake ../src
> make (at $I3_BUILD directory)
1.2 how to run a script (environment setting)
* The point is env-shell.sh make a "new shell", which means that environment written in .cshrc
* will be read again and it can overwrite some icetray related environment variables.
1.2.1 ./env-shell.sh
You can run your script with a spawned new shell
1.2.2 ./env-shell.sh python *.py
You can run your script with arguments of env-shell.sh
(1.2.3 .login file)
If you have some troubles with the environment variables, try not to set icetray
related variables at your .cshrc. Instead, you may define it at .login file.
1.3 some tweak to run
1.3.1 photonics
> cd $I3_BUILD
> ln -s /disk0/data/photonics/AHAmodel/ tables
> ln -s tables/level1_table.list
> ln -s tables/level2_table.list
1.3.2 juliet jar file
> cd $I3_SRC/juliet/java_lib
> jar xvf JULIeT_version3_0_cls.jar
1.3.3 juliet data file
> cd $I3_SRC/juliet/java_lib
> ln -s /data/iceCube/JULIeT data
1.3.4 juliet compile
javac -classpath $I3_SRC/juliet/java_lib/classes/ -d $I3_SRC/juliet/java_lib/classes/
-sourcepath $I3_SRC/juliet/java_lib/sources/ sources/iceCube/uhe/neutrinoModel/PropagatingNeutrinoFlux.java
Same to PropagatingAtmMuonFlux.java.
1.3.5 romeo-data (this will be changed soon)
> cd $I3_BUILD/romeo
> make romeo-rsync
1.4 CMakeLists.txt
1.5 make rebuild_cache
* You will type "make rebuild_cache" at $I3_BUILD, if you add some projects or classes in $I3_SRC directory.
> cd $I3_BUILD
> make rebuild_cache
2. I3MCTree
2.1 example (SC-generator)
> #include "dataclasses/physics/I3MCTreeUtils.h"
> using namespace I3MCTreeUtils;
> I3Particle cascade;
> I3MCTreePtr mcTree(new I3MCTree);
> AddPrimary(mcTree, cascade);
2.2 more example (weighting-module/private/weighting-module/checker/I3WeightCheckerJuliet.cxx )
2.2 juliet specific
I3JulieetPrimaryParams.h: additional info for primary particle (one I3Particle)
I3JulietParams.h: additonal info for juliet particles (tree)
I3JulietUtils.h: utility for I3JulietParams
See weighting-module/private/weighting-module/weigher/I3WeigherModuleJuliet.cxx.
> #include "juliet-interface/I3JulietUtils.h"
> #include "juliet-interface/I3JulietParams.h"
(in function FillMCWeightDict)
> I3JulietParamsTreeConstPtr juliet_params_tree_ptr
> = frame->Get(inputJulietParamsTreeName_);
>
> I3JulietParams i3juliet_inice_track_params
> = GetJulietParams(juliet_params_tree, i3juliet_inice_track[0].GetMajorID(),
> i3juliet_inice_track[0].GetID());
3. track
http://code.icecube.wisc.edu/projects/icecube/