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 > mkdir src > svn co 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 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 ./ You can run your script with a spawned new shell 1.2.2 ./ python *.py You can run your script with arguments of (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/ Same to 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