You cannot do complicated studies just by using JRunMC. First of all, only a small number of histograms are available from JRunMC. Monte Carlo settings also cannot be changed flexibly enough. Note that if you will copy steering cards to the directory where you execute ``runmc'', you can change some Monte Carlo parameters by modifying the steering cards. Examples of the steering cards are located in ``example/steer'' directory.
As was mentioned above, the user can include personal histograms and modifications to the MC settings by changing subroutines in the ``proj'' directory. This directory contains:
The structure of the ``user-name.txt'' is:
# this is just a comment # variable1 describe it here variable2 describe it here ....
Use "#" to add a comment. Do not use spaces in the definition of the variable names!.
All the subroutines defined above can be modified, and all executable for MC models can be recompiled by typing ``make'' from the ``proj'' directory.
In fact, the directory ``proj'' is ``unpacked'' form of the so called ``RMC'' file (or project), which contains everything you need to do the analysis. At this moment, this directory has only dummy functions. Go to this directory ``proj'', type ``runmc'' and save this directory from ``RMC project - save RMC''. You will see the message ``archive/<project>.rmc created'' (of course, <project>.rmc' could be any name which you type in JRunMC).
The file <project>.rmc is nothing but the ``proj'' directory, archived and compressed using the ``zip'' utility. This file is stored in the ``archive'' directory.
In the directory ``archive'' you can find a number of files with the extension ``rmc''. These files contain various physics projects (MC settings+histogram definitions as in the ``proj'' directory), saved exactly as you did before. This is a list of the present projects: Every time when you start JRunMC, the program read XML file inside such file and build a database.
Try to load one of this projects to ``proj'' directory for testing. Click ``RMC project - open RMC''. Select one of the files with the extension. Use doble click to read about the selected project. To load the RMC project, click on "Load". You can get recent RMC files from http://www.desy.de/~chekanov/runmc.
When you click on "Load", this automatically recreates ``proj'' directory by copying new files from the selected RMC file. You will see a yellow message ``Wait'' and yellow status bar indicating the compilation progress: it starts compilations of all MC models using new files from ``proj''.
Note that if you had important files in ``proj'', and you have forgotten to save them before loading a new RMC project, such files will not be lost. Check the ``main/tmp'' directory. It should contain old ``proj'' directory (in zip format) with the name ``proj_date.tmp''. Note that files which are one week old are removed automatically.
When the compilation process finished, you can see that there are new histogram in RunMC. A new message will appear which contains information on this project (from the ``proj/user-comment.xml'' file). Say ``OK'' to close this window. Then, press histogram bottom, and study the list of the histograms. Now you can do necessary modification via RunMC and can start the run. (Note: if histograms in JRunMC were not updated, try to restart ``runmc'').
You can read comments on the current project using the the menu ``RMC Projects-RMC info''. This information be modified by using ``RMC Projects-RMC info editor''
The new ``proj'' file should contain at least one file with the extension ``mc'' which defines the status of RunMC GUI (which can be loaded as ``runmc project.mc'' or using ``File-read MC'' option.
To debug files in ``proj'' directory, just type ``make'' from the shell prompt.
You can study the RMC project which is currently in ``proj'' using ``RMC project-RMC browser''. This executes appropriately modified Jedit editor.
The user can define and fill external variables in ``user-run.cpp''. Load the ``par-had-jetLHC.rmc'' project to see how this was done. In this example, several histogram files are defined in the user initialization subroutine, and final states are defined in the ``user-run.cpp'' file. In this subroutine, jets are reconstructed using an external function ``ktjet.cpp'', and histograms are filled separately for hadrons and partons. The final state in RunMC GUI was set to ``user-defined'' final state, since the final state is filled by a user.