70 likes | 194 Views
I3PropagatorMMC module. Dmitry Chirkin, LBNL. IceCube meeting, Uppsala, 2004. Based on DATACLASS-APP. V00-00-03 bfd co -r V00-02-00 mmc bfd co -r V00-01-01 mmc-icetray cvs co -D '2004-09-01' c2j-icetray. I3PropagatorMMC module status. V01-00-00 bfd co -r V00-02-00 mmc
E N D
I3PropagatorMMC module Dmitry Chirkin, LBNL IceCube meeting, Uppsala, 2004
Based on DATACLASS-APP • V00-00-03 • bfd co -r V00-02-00 mmc • bfd co -r V00-01-01 mmc-icetray • cvs co -D '2004-09-01' c2j-icetray I3PropagatorMMC module status • V01-00-00 • bfd co -r V00-02-00 mmc • bfd co -r V01-00-00 mmc-icetray • cvs co -D '2004-09-01' c2j-icetray • add log4cxx to USES_TOOLS • Files of mmc-icetray V00-01-01: • private/mmc/I3PropagatorMMC.cxx • public/mmc/I3PropagatorMMC.h • New files of mmc-icetray V01-00-00: • public/mmc/I3MMCTrack.h • public/mmc/I3MMCCompositeTrack.h mmc V00-02-00 is based on mmc release 1.3.2, which is contained within the src/ directory
mmc package • MMC V00-02-00: • based on mmc version 1.3.2: • the sources and compiled mmc.jar archive are exactly the same as used for AMANDA; therefore bug fixes for AMANDA become immediately available for IceCube. • based on jni (sun’s java – native interface): • version of jni libraries must match version of header files (check LD_LIBRARY_PATH). • jre initialization is handled by c2j-icetray, which is an independent project maintained by Simon. • In addition to compiling with “ant”, the mmc.jar archive can be compiled by running “ammc –ca” from the src/ directory. • Parameterization tables and mediadef configuration file are/should be placed in the resources/ directory of the mmc-icetray package.
mmc-icetray package • most of the private routines of I3PropagatorMMC.{cxx,h} are based on functions of i3module.{c,h} of the i3m (native interface) package of mmc. • to avoid Fortran code compilation (CTEQ PDF parameterization is a Fortran code which is used by MMC for the calculation of neutrino cross sections), the pre-calculated parameterization table file .cteqPDF_raw.data file (48239 bytes) is placed in the resources/ directory. This file will need to be updated when the new version of CTEQ PDF parameterization becomes available. • mmc-specific modules • libjvm.so • lib2cj-icetray.so • libmmc-icetray.so • must be loaded at the beginning of your root script.
Extra field: • double Elost; // the total energy lost by the collection of particles represented by this track inside the detector cylinder (specified in options to mmc, currently parameter “opts”) • Extra fields: • // coordinates at entry point [m,m,m,sec,GeV] • double xi, yi, zi, ti, Ei; • // coordinates at exit point • double xf, yf, zf, tf, Ef; • // coordinates at point of closest approach • double xc, yc, zc, tc, Ec; mmc-icetray V01-00-00 functionality • for each IceTop lepton of the event (except e+ and e-), copies it into an InIce particle of the • I3MMCComposite:I3MCTrack • type. • This primary particle, together with all additional secondaries are added to the I3MMCComposite track as • I3MCCascade (cascades), • I3MCTrack (neutrinos), or • I3MMCTrack:I3MCTrack • (muons and taus) types.
/* mmc_mode=1 propagate muons or taus only * mmc_mode=2 use as phenomenological event generator * mmc_mode=3 propagate all leptons, not just muons or taus * mmc_mode<0 output debugging (extra) info */ int mmc_mode=-2; tray.SetParameter("propagate","mode", mmc_mode); tray.SetParameter("propagate","opts", ""); /* Linking up inboxes to outboxes */ if(mmc_mode==2 || mmc_mode==-2){ // using MMC as event generator tray.ConnectBoxes("source", "OutBox", "propagate"); } else{ // using CORSIKA as event generator tray.ConnectBoxes("source", "OutBox", "corsika"); tray.ConnectBoxes("corsika","OutBox","propagate"); } I3PropagatorMMC parameters
Conclusions • I3 Propagator module I3PropagatorMMC is basically an interface to the mmc package, which is identical for AMANDA and IceCube. • It has been updated for DATACLASS-APP V01-00-00 and tracks have been structured using the Composite Track functionality. • Two new classes derived from I3MCTrack have been added to mmc-icetray. They allow to record extra information such as the total energy deposited inside the detector cylinder and energy of the muons and taus at the entry and exit points to/from this cylinder (what is known as USER info in AMANDA; lines mmc_en and mmc_et). • I3PropagatorMMC module can be used not only as a muon/tau propagator, but also an atmospheric/E-g muon and muon- and electron neutrino generator, thus potentially simplifying development. • I3PropagatorMMC is the first neutrino generator implemented in IceCube simulation software. • Most of the mmc options (listed with “opts=-h”) can be set through the parameter “opts” of your root script.