MMC New/Recent Questions

  1. How to compute energy losses with MMC
  2. What are main uncertainties within MMC

MMC Frequently Asked Questions

  1. Blacklisted block at 0x8f4b000?
  2. Another exception has been detected?
  3. What is the minimum jdk/jre requirement?
  4. Can MMC handle muons above 1020 eV?
  5. What units are used by MMC?
  6. 3 regions of MMC for AMANDA
  7. MMC User Line mmc_en
  8. What do "-rdmc" and "-amasim" options do?
  9. Muon propagation through several media
  10. Tau and muon propagation
  11. Some other question

Blacklisted block at 0x8f4b000?

Q:
What does it mean:
Needed to allocate blacklisted block at 0x8f4b000 ?
The program produces messages like this while running, but the output looks ok.

A:
Hmm, as long as it's running ... This looks like a memory management warning produced by gcc java. Theoretically it should not affect the calculation.

Another exception has been detected?

Q:
When i run "ammc" with no parameters i occasionally get this strange message:
testing java ... java version "1.3.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Java HotSpot(TM) Client VM (build 1.3.1_02-b02, mixed mode)


****************
Another exception has been detected while we were handling last error.
Dumping information about last error:
ERROR REPORT FILE = (N/A)
PC                = 0x0x401cd25a
SIGNAL            = 11
FUNCTION NAME     = (N/A)
LIBRARY NAME      = (N/A)
Please check ERROR REPORT FILE for further information, if there is any.
Good bye.
At this point it hangs, but returns normally when Ctrl-C is hit. Huh?

A:
This is a SUN JRE 1.3x bug. Upgrade to 1.4x or use IBM JRE, which does not have this bug and is also quite a bit faster than either SUN 1.3x and 1.4x JREs.

What is the minimum jdk/jre requirement?

Q:
What is the minimum jdk/jre requirement?

A:
MMC can be compiled with jdk 1.3 or higher. It will run with jdk/jre 1.2.2 or higher. You might be able to run parts of it with an earlier jre, but table read will not work (delete the tables before running). Also some of the earlier Javas cannot parse the input lines, so only Test front end will work (unless you write your own that doesn't expect any input). It is also possible to produce a static executable if your gcc version is 3.x (run "ammc -gcj"). This executable will not require jre to run.

Can MMC handle muons above 1020 eV?

Q:
I tried propagating muons with energies above 1020 eV, but the output is definitely wrong. I thought it works up to 1030 eV?

A:
By default parametrization tabled go up to only 1020 eV. Use the option "-ebig=1.e21" to increase the energy span of the tables. This does not affect mmc-based programs that do not use parameterizations; they should work for muons of any energy right away.

What units are used by MMC?

Q:
What units are used by MMC internally?

A:
MMC internally uses MeV, cm, and ns. These units are translated into GeV, m, and ns by the front-end programs Amanda, Frejus, and Test. The only exception is command-line parameter -ecut=[energy in MeV], which is specified in the printout of "ammc -help".

3 regions of MMC for AMANDA

Q:
How does MMC track a muon through the AMANDA?

A:
The ice is divided in 3 regions: one from the surface to the point where the track of the muon enters the cylinder around the detector. From here and to the point where the track exits the cylinder is the second region, and finally the rest of the track lies in the third region. By default in the first region muon is treated with relative lost energy cutoff of 0.05 (this value defines how the lost energy is split between continuous and stochastic treatments), then in the second region the cutoff is fixed at 500 MeV, and finally in the third region it is propagated in one large step with the relative cutoff 1 (all loss is continuous) to the point where it is lost. Only secondaries and interactions in the second region are recorded into the output. These numbers were adapted after talking to Christopher. This results in the same default behavior as with mudedx.

MMC User Line mmc_en

Q:
A typical MMC user line is the following
USER_DEF mmc_en NR E_INI E_CPD E_IN E_OUT CDP_X CDP_Y CDP_Z Z_IN Z_OUT

where
 NR     is the muon track number in the event
 E_INI  is the initial muon energy (as listed in the TR line)
 E_CPD  is the muon energy at the closest approach point
 E_IN   |- the muon energies at the detector (cylinder)
 E_OUT  |- boundary when entering/exiting the detector
 CDP_X  |+   the coordinates of the closest
 CDP_Y  |+   approach point of the muon
 CDP_Z  |+   to the center of the detector
 Z_IN   |= z-coordinates of the muon track intersection
 Z_OUT  |= with the detector (cylinder) boundaries

e.g.

US mmc_en 3 731.68 ? -2194.36 ? -204.23 -77.68 -180.33 -17.99 -400
US mmc_en 4 738.61 ? -1755.49 ? -221.88 -70.81 -177.39 -20.57 -400
US mmc_en 5 1680.52 192.12 274.83 95.28 -215.41 -81.41 -189.85 -35.81 -400
The muon #5 can make to the bottom of Active volume and I get the energies E_in, E_cdp, E_out. But what are these numbers for the muons 3 and 4?

A:
The definition of the negative number has changed some time ago (v. 0.09.1) - it now is the actual distance that the muon has traveled (from the starting point, not end boundary; and the full distance, not just z-component). As applies to the user line, it is the distance traveled in meters from the entrance point of the last propagation region.

If the user line is enabled, there are 4 such propagation regions (3 if disabled): before the detector, next before the CPD point, next before the end of the detector, and then from there to the point of disappearance.

If the energy number is positive, then the muon passed that point and had that energy. If it's negative, then the muon entered the region that has the point at which the energy is recorded as its far boundary; but did not reach that point. Then the energy number is a negative distance traveled from the starting point of this region. If the number is a question mark, then it was not evaluated, i.e. the muon disappeared before entering this region.

What do "-rdmc" and "-amasim" options do?

Q:
What do "-rdmc" and "-amasim" options do?

A:
-rdmc:
If the "mmc_en" user line is used, it is defined only once in the header, but is output by default once for each muon, i.e. as many times as there are muons in the event (and not at all if the event contains no muons). Apparently this confuses some programs later during processing if they try to add their own user line. To output one and only one "mmc_en" line per event, use "-rdmc" option. Only information about the highest energy muon in the event will be reported in this line. If there is no muon, "?" will be output in all fields of the "mmc_en" line.

-amasim:
AMASIM will exit with error on almost any particle other than primary, muon, or 4 kinds of point showers (delta, brems, epair, and munu). In addition to these, MMC outputs e/e+/e- and hadr (a collective name for all hadronic products of tau decay). When option "-amasim" is used, these types are substitutes with their AMASIM-compatible counterparts: delta/epair/delta and munu. In dCORSIKA one needs to use "-oms" option to restrict the output to only AMASIM-compatible types.

Muon propagation through several media

Q:
Is it possible to propagate muons through more than one media with MMC?

A:
There are two ways of propagating muons through more than one media with MMC. For the rock and ice configuration in AMANDA, with ice above z=-1080 m and rock below, the setup could be either one of the following two choices:

  1. For flat geometry run
    	ammc -r -surf=-1080 -face -medi="Standard Rock" [other options] |
    	ammc -r [other options]
    

    This propagates muons to and through the detector whether the they originate from inside the rock or ice (thanks to "-face" option, which leaves all muons propagating from above the plane z=[h] unchanged). The coordinates of the muons moving toward the plane z=[h] at the end of the pipe will be given at their intersection point with the plane z=[h], since the fisrt program moves the muons to the plane and updates their coordinates, and then the second acts as usual: it only updates the muon track length and creates secondaries in the active volume of the detector.

  2. Create a media definition file with contents as follows:
    	# media definition file
    	# include with -mediadef=[this file]
    	# use the following syntax:
    	# all        det vcut ecut conti rho medium
    	# sphere z r det vcut ecut conti rho medium
    	all                  0 0.05 5.e2 1 0.673 Air
    	sphere  1730 6400000 0 0.05 5.e2 1 0.825 Ice
    	sphere  1530 6399800 1 0.05 5.e2 1 1.0   Ice
    	sphere -1080 6397190 0 0.05 5.e2 1 1.0   Standard Rock
    

    Please note that as of version 1.2 definition of this file has changed (and as of version 1.5.7 it changed again). The new parameter "rho" is a correction factor by which the density of the propagation medium is multiplied.

    First word in a definition line can be either "all" or "sphere". Use "all" for the main propagation media that fills all space, and then place "sphere"s on top of it. End result will depend on the order in which the spheres are placed. If there is no "all" line the media used to fill "all" space is that supplied with the "-medi=[]" command-line option or default (Ice) if this option was not used. z-r gives the z-coordinate of the sphere center, and r is its radius. At the moment only "all" and "sphere" keywords are understood. If necessary, new keywords can be added to the code rather easily.

    Assuming the Earth radius is 6400000 m, the bedrock starts at depth of 2810 m, and the detector center is at depth 1730 m, the sphere for Standard Rock goes through z=1730-2810=-1080 m, and its radius is 6400000-2810=6397190 m. The first 200 m of ice have smaller density, the factor is (200-35)/200=0.825. Atmospheric pressure at the South Pole is 682./1013.25=0.673 atm. Of course, if this configuration is used, -DCORR=35 option should not be used with ucr.

    If no part of the active volume of the detector (specified by "-length=[]" and "-radius=[]" command-line options) is located in one or more of the media, parameterizations for that media can be omitted by setting det=0. Otherwise det must be set to 1 (unless you need to run non-parameterized mmc in the detector region, which is much slower). Setting det=0 for some of the media will reduce the program size and initialization time at the run time.

Tau and muon propagation

Q:
How can taus be propagated in addition to muons?

A:
For simultaneous treatment of muons and taus in the same stream, run mmc twice in a pipe: first with tau option on, then off, e.g.

ammc -r -tau [other options] | ammc -r [other options].
Tau option ignores muons and muon version will ignore taus, processing muons including those arising from the tau decay created by the run with tau option.

Some other question

Q:
What if i have a question that is not answered here?

A:
You are encouraged to read the README file, scan through the HISTORY file, look into the program sources, and read the technical report. If you still have the question, email it to me.