... the Hitch-hiker's Guide has already supplanted the great Encyclopaedia Galactica as the standard repository of all knowledge and wisdom, because although it has many omissions, contains much that is apocryphal, or at least wildly inaccurate, it scores over the older more pedestrian work in two important ways. First, it is slightly cheaper; and second, it has the words ``DON'T PANIC'' inscribed in large, friendly letters on its cover.-- Douglas Adams in The Hitch-hiker's Guide to the Galaxy
EOSGX is a program which combines the GEANT package of simulation codes with the EOS TPC analysis shell (TAS). The 3.15 version of EOSGX links to version 3.1590 of GEANT and the V93c version of the CERN library. The 3.21 version of EOSGX links to version 3.21 of GEANT and the V94a version. The 3.15 code is maintained in CMS library EOSU:[EOSG.CMS].1.00 1.45 The 3.21 code is maintained on the EOS cluster in CMS library EOSU:[EOSG_321.CMS].1.00 1.45 There are also TAS2 versions of EOSGX maintained using CVS on the UNIX machine SSEOS. EOSGX is appropriate for use in any EOS simulation study involving GEANT, as it contains the full GEANT code, apart from a few interactive GEANT menus (see below). The program has also been specifically tailored for studies of the track reconstruction efficiency in the TPC analysis chain (see Section 2).
In order to implement the GEANT/TAS combination, a few key modifications were necessary. The main program of EOSGX initializes GEANT, PAW and TAS so that the ZEBRA structures for each occupy different stores, so that the codes do not share memory except for the special case of the PAWC common, which has historically been referenced by GEANT. The interactive portion of GEANT contains histogramming and plotting options which become redundant in a GEANT + PAW interface -- so that in most such cases the GEANT references have been removed. This means, unavoidably, that there are modified GEANT subroutines in the EOSGX library which have to be updated along with any GEANT version updates.
There are also minor modifications to some the action routines of the GEANT drawing menu to correspond with features of the EOSGX event display, and to the GIDROP routine used for clearing the geometry banks. These modifications increase the flexibility of EOSGX at the KUIP command level. All PAW, TAS and unique GEANT commands are available, in addition to a special menu, EOS_GEANT, particular to EOSGX.
The connection between GEANT and TAS is established in a modified version of subroutine TEP_AM, in which special analysis modules have been defined whose only action is to initiate a GEANT event loop at particular points within the TAS GO loop. These analysis modules are switched on and off internally by EOSGX when appropriate, and can therefore be ignored by the user in most cases. Other analysis modules are more conventional in purpose: the GEANT_TRACKS module outputs tables with kinematics from the simulation, and the GEANT_DISPLAY module draws hits on line within the TAS event loop.
EOSGX currently has the ability to (1) analyze experimental data, and (optionally) then pass the results of the data analysis (positions, momenta and particle ID) to GEANT so that the results of the simulation may be compared to experiment, and (2) read a FREESCO (or other event generator) data file, pass the particle momenta and ID to GEANT to simulate the detector response, and then (optionally) pass the data to the data analysis routines so that the results of the analysis may be compared to the input to the simulation.