e907mc Documentation

Overview

Monte Carlo is based on GEANT 3.21, but the program itself contains no hard-coded geometry or configuration numbers. e907mc is configured through a combination of RCP files and XML files, so
virtually no geometry constants are compiled into the application.
The big picture is:
Execution path is something along these lines
  1. Command-line options are parsed (type e907mc -h for help with those)
  2. e907mc.xml file is parsed
  3. Soft links are created to rcp(e) files, including target_rcp link pointing to the right target geometry file.
  4. hanuman_rcpe file is created from templated hanuman_generate.rcpe or hanuman_interactive.rcpe depending on whether interactive or batch mode were selected.
  5. Bfield is configured (on to-do list)
  6. ROOT geometry is loaded for selected target
  7. ROOT file is created (default name is e907mc.root)
  8. Execution is passed to GEANT side through e907mc_() subroutine (defined in hanuman.F)
  9. TheEnd() function defined in e907mc.cc is called at the very end. ROOT file gets closed and soft links are deleted.

Executing e907mc

e907mc allows a number of options defined. For upto-date list, check e907mc -h.
Option
Explanation
-h, --help
Print help message
-s, --stdhep <file>
Specify input STDHEP file. Required for batch-mode processing
-o, --output <file>
Specify the name of the output ROOT file
-p, --prompt
Select interactive mode
-n, --nevt <number>
Number of events to process. Overrides setting in rcp file.
-t, --target <target>
Selects target geometry. Acceptable options are wheel (default), cryo, and numi. Depending on the target option selected, target_rcp soft link will point to target_wheel.rcp, cryo_target.rcp, or numi_target.rcp, and corresponding ROOT geometry will be loaded.
-r, --rzout <file>
Name of output GEANT zebra file
-g, --histo <file>
Name of output PAW histogram file

Note that physics process modeling is expected to be external to Monte Carlo, with output stored as STDHEP file. Examples are coming soon.

Configuration files

RCP are structured text files which contain geometry definition, i.e. all constants necessary to produce GEANT hits. In addition RICH digitization constants are stored there.

XML side of configuration starts with e907mc.xml, which resides in e907mc package and gets installed into $SRT_PUBLIC_CONTEXT/xml or $SRT_PRIVATE_CONTEXT/xml if e907mc is built in your private release. The order in which directories are scanned is defined in MippXML package: the file is first looked for in current working directory, then $SRT_PRIVATE_CONTEXT/xml, and finally in $SRT_PUBLIC_CONTEXT/xml.

Building e907mc

If CERN lib is installed on your system, e907mc should get built as part of the development or tagged offline release. In order to run Monte Carlo, you do not have to build it in your private release. However, if you change any of the following static libraries, you will need to rebuild the binary:
If you update a dynamic library (e.g. digitizer modules), or text/XML configuration files, you do not need to rebuild the binary -- the newly built library will be picked up automatically.

Monte Carlo Projects

More info on MIPP Monte Carlo.

Coding conventions

Coding conventions are created for a reason. Like it or not, but please follow the following Fortran coding convention and C/C++ coding convention.


Andre Lebedev
Last updated $Date: 2006/02/09 20:22:45 $