CKMGEANT is available for SGI platforms (IRIX6) and Linux, and has been tested on fsgi01 and fnppd as well as on San Luis Potosi computers. Other flavours and machines are possible too. Please contact Jurgen on how to install it. Some instructions on installation are given below.
An online HTML manual for GEANT can be found at the CERN site: here. Other CERNLIB documentation, such as a KUIP manual and a PAW manual, can be found here.
We use the CVS code development platform for concurrent development at different institutions. The use of CVS is discussed below. In brief, you can checkout the latest modifications to the code, modify it yourself, and then check it back in. Periodically a new official version is released when enough modifications have been made.
Usage of the Monte Carlo is possible on different levels of complexity, described in detail here. To go to a higher complexity, make sure to read and understand the lower complexity first.
The current version of ckmgeant is called v5_1, and was released on
September 8, 2003.
List of changes to version v5_1.
List of changes to version v5_0.
List of changes to version v4_2.
List of changes to version v4_1.
List of changes to version v4_0.
List of changes to version v3_9.
List of changes to version v3_7.
List of changes to version v3_6.
List of changes to version v3_5.
List of changes to version v3_4.
List of changes to version v3_3.
List of changes to version v3_2.
List of changes to version v3_1.
List of changes to version v3_0.
At this point, all code for the current release can be accessed via the environment variable CKMGEANT_DIR. The fortran source files are in $CKMGEANT_DIR/src, the libraries are in $CKMGEANT_DIR/lib, and this file is in $CKMGEANT_DIR/doc. The common blocks which show the data structure are in include files in the subdirectory $CKMGEANT_DIR/include. Beam input files (on fsgi03/fnppd) can be found in the directory ~ckm/geant/beam_at_detector/.
To run ckmgeant, simply copy $CKMGEANT_DIR/examples/ckminit.kumac into your area, modify
it if you wish (as discussed below), and type
Command Description of parameters ------- ------------------------- KINE itype ipart Describes how initial particle is generated itype=-2: start given particle at given location with given momentum and smear initial angle (must give additional 8 parameters as follows: KINE -2 99 -24.5 0 -1450. 0 0 22.0 .001 .001 where the parameters are 3 vertex numbers, 3 momentum values and the last two numbers are the smear angles in mrad) -1: same as -2, but no angle smearing (must give additional 6 parameters) 0: can use arbitrary input file; the structure of the input file is # of input particles, followed by that number of lines, each line containing: IPART XVTX YVTX ZVTX PX PY PZ 1: use beamfile as input (if ipart=0, use particle type in file, otherwise use the given particle type) 2: use randomly generated beam with given particle type DECAY_POS lowz hiz Gives limits on decay position. Will loop inside program and force the decay within these limits. SWIT num value Switches performance level, track drawing, debugging: SWIT 1 0 - maximum performance SWIT 1 1 - secondaries' kinematics are saved, particle trajectories are memorized; both can be viewed then with CONTROL/KINE and DXYZ commands correspondingly. SWIT 1 2 - the same as previous + trajectories are drawn in a graphics window. SWIT 2 n - use to dump RICH internals at different levels. (use SWIT 2 100 if you want drawing of RICH photons+lots of output) SWIT 3 1 - events are dumped interactively BEAMFILE filename Determines what beamfile to use, if you have KINE 1 OUTPUTFILE filename Determines what output file to write. OUTPUT_MODE mode(4) Determines what output gets written (if 0, don't write out). This switch has the following format: * n: 1 2 3 4 5 6 7 8 9 10 11 * detector: ALL GEN UMS KRC KEA BIV VVS STR PRC FVS MVS OUTPUT_MODE 1 0 0 0 0 0 0 0 0 0 0 KRCH_GAS Selects the Kaon RICH gas Parameters: Gas'Kaon RICH Gas' C D=CF4 R=CF4,N2 KRCH_PRES Change the value of pressure of Kaon Rich Gas (atm) Parameters: KPRESSURE'Radiator pressure' R D=0.68 R=0.:3. PRCH_PRES Change the value of pressure of Pion Rich Gas (atm) Parameters: PPRESSURE'Radiator pressure' R D=1. R=0.:3.
You can either checkout the whole package (with cvs checkout ckmgeant) or sub-packages only; at this time we have "driver" (general code) "bin" (contains the general makefiles), "examples" (contains ckminit.kumac and batch.kumac, some kumacs to plot, and uu-routines) "rich" (kaon rich and pion rich codes), "vvs" (everything about the vacuum veto system), "straw" (obvious), "fvs" (forward veto), "keat" (obvious) "mvs" (muon veto), "ums" (upstream magnetic spectrometer), "bivs" (beam interaction veto), "btsm" (beam time stamp module), "cvp" (conversion veto plan), "driver" (general init and steering routines), "etp" (exit time plane), "hvs" (hole veto), "utility" (general utility routines) "scripts" (contains scripts to build a new version) and "ups" (used by the setup command). For analysing the output, we have the "read" sub-packages, which is not fully supported anymore. "unpack" reads and digitizes the output to real data format, and "digi" is the trigger and analysis sub-packages. "display" is an older version of the display routines. To add a new package, you need to be an expert. The checkout command should only be used once for the whole package or for every sub-package. If you do not like to use a sub-package (or even the whole package) you should type cvs release -d package_name
You should edit the routines (or add new ones) in the directories the
checkout command generates.
To check if your routines compile, go to a different directory (for
example where you "played" with the previous chapter) and make a symbolic
link (with ln -s) to your changed routine and add it to
the GNUmakefile. Compiling the code in the a different directory will
help you keep the cvs directories clean.
After you are sure that your changes are
correct and without bugs, you can commit this code. A good sequence
of commands to do this would be:
Since version v2.1, to install it on any computer, tar files are available. They are located on fnppd/fsgi03 in ~ckm/ckmgeant/ with obvious names. To compile and link, you need also cern and geant installed on your computer.
If you like to be able to follow easily new version, a installation script via cvs is provided. For the first installation, cvs checkout scripts and edit make_ckmgeant_versions to add information. execute this script and you will have the libraries installed on your computer. After this you have either to declare the version to ups (if you use setup) or set the environment variable CKMGEANT_DIR and source setup.sh.