MILAGRITO Simulation with GEANT


How to run the simulation

The GEANT user subroutines describing MILAGRITO are in
/disk02/Milagro/simulation/milagrito_geant/
together with a makefile and a program to convert the GEANT output into the current milagrito data format ( rewrite_mc ).


The makefile produces the executable milagrito which needs the steering file card: milagrito < card
Right now, the input file has to be a CORSIKA file. The subroutine getparticle.f reads the CORSIKA file given as the last line of the steering file card .
The meaning of (some) of the parameters in card (1=on, 0=off):
ckov production of Cherenkov light
hadr hadronic interactions
dray delta ray production
labs Cherenkov light absorption
cuts energy cuts (in GeV) for the different particle types.
The other parameters refer to physical processes like Compton scattering, pair production, bremsstrahlung. Please check the GEANT manual for details.
Make sure that the third time parameter is equal or greater than the number of events in trig.
If you want to see particle tracking "live" (very slow, but interesting), change the view parameter (first line) in card and make sure that the NGBANK parameter in milagrito.f is increased to (at least) 7000000.
Units are GeV, cm, g, and radians. As output, milagritosim gives the number of tubes, and for each tube the pulseheight and the time. The time is given with respect to the time of the first hit which is set to 1. In addition, the height of the first interaction is given. The default output file of milagritosim is fort.30, the default output file of rewrite_mc is mcdata.dat. After running rewrite_mc, the tube information is stored in the CAL_DATA structure (see /disk02/Milagro/analysis/offline_v21/procData.h). Additional information is in the MONTE_INFO structure. Currently, the following information is stored:

short int nPMTs (number of PMTS)
short int MONTE (1 for MC, 0 for experimental data)
unsigned int eventNum (event number)
unsigned int triggerId (1 for gamma showers, 14 for protons, 5 for muons)
float xCoreMC, yCoreMC (true core position in cm)
float thetaMC, phiMC (true zenith and azimut angle in rad)
float sizeMC (number of shower particles at observation level (gammas, electrons, muons, hadrons))
float ageMC (height of the first interaction in cm)
float muonMC (number of muons entering the pond)
float ePrimary (energy of the primary particle in GeV)

Two important parameters are waterlevel (180 cm) and coverlevel (190 cm) in ugeom.f. If coverlevel exceeds waterlevel (default), then the air between water and cover is dielectic, thus taking into account total internal reflection for upward going Cherenkov light.


The final output can also be displayed using Gus' event display program (~gus/openGL/GLUT/newDisplay).

Currently used parameters

The following plots show the dependance of the "late light tail" on parameters of the MC. Fig. 1 shows the chi(time) for tubes with less than 1.5 pes for the experimental data (Run 558), Fig. 2 for the MC without total internal reflection and 5 % bottom reflectivity, Fig. 3 includes total internal reflection, and for Fig. 4, the bottom reflectivity is 10 % (see Fig. 5 for a superposition of these plots). The slope of the fitted exponential goes from 0.051 to 0.043 and 0.038, which is still higher than the data with 0.032.
Changing the absorption length from 10m (at the maximum) to 5m gives a slope of 0.06 (see Fig. 6), and there is no way to get the late light tail of the data with using only 5m absorption length.
This leaves us with at least three parameters to play with (absorption length, bottom reflectivity, and cover reflection (with or without total internal reflection)), and an unknown parameter not yet implemented (the scattering of Cherenkov photons).


Monte Carlo library

Stefan Westerhoff