README : Theta13 Geant4 simulation package : version 0.1.01 : Apr-24-2004 @author Dmitry Onoprienko : onoprien@phys.ksu.edu @url http://www.ksu.phys.edu/~onoprien/theta13/geant/ ------------------------------------------- Theta13 Neutrino Detector Geant4 Simulation ------------------------------------------- The package implements a simplified geometry of a proposed "Theta13" neutrino detector. Please note that this is a beta version of the package. Very limited amount of testing and validation has been done so far. 1. GENERAL REMARKS : Since this is a beta version, the code has been optimized for ease of modification rather than efficiency. Particularly, very serious inefficiencies have been left in some of the primary particle generation related functions (called once per event) in order to facilitate testing. All user settings (geometry parameters, primary particle kinematics, readout, etc.) are found in a T13Setup file. The file is meant to be self-explanatory, and additional information on the meaning of various variables can be found in the description of user commands that modify them. Package-specific user commands can be listed by typing "help" in an interactive Geant4 session and looking for directories starting with "Theta13 :". Settings can be modified by either editing T13Setup.cc file (no error checking is done in this case - make sure all the values are reasonable and consistent) or through the use of commands (issued from an interactive session or a macro file). 2. SYSTEM REQUIREMENTS AND INSTALLATION : The package requires Geant4.6.1 including hadronic physics lists. You will also need Gadolinium cross section data (for use with neutron_hp model) that is currently not a part of the standard Geant4 distribution, and I was explicitly asked not to redistribute the data files - please contact Hans-Peter Wellisch (Hans-Peter.Wellisch AT cern) if you need it. Note that while the package can be built with Geant4.6.0, bugs in that version (all patches) may have substantial effect on the simulation results. In order to use the built-in analysis framework, an AIDA-compliant analysis tool (JAIDA + AIDAJNI, for example) has to be installed. Set G4USE_ANALYSIS environment variable to activate it. JAS3 can be used for interactive analysis of the AIDA files created by the simulation code. To install, unpack the downloaded file into the directory of your choice, build it (sample GNU makefile is provided), and run "theta13" executable to start an interactive Geant4 session or "theta13 YourMacro.mac" to start a batch job. 3. GEOMETRY : The sensitive part of the detector is represented by a series of concentric spheres: "target" - Target volume filled with Gadolinium loaded scintillator. "targetShell" - Acrylic vessel. "catcher" - Gamma catcher filled with plain scintillator. "catcherShell" - Acrylic vessel. "buffer" - Buffer volume filled with non-scintillating mineral oil; "bufferShell" - Stainless steel vessel, black-painted on the inside, white painted on the outside. Buffer shell is surrounded by a water-filled cubic "veto" volume with a stainless still walls ("vetoShell"). Phototubes ("pmt") are mounted on the inside of the buffer shell. Approximate number of phototubes is determined by "pmtRequestedNumber" variable in T13Setup class (can be changed through "/det/pmtRequestedNumber" command). The actual number of phototubes can be somewhat different, and will be calculated automatically to allow for symmetric and uniform distribution on the buffer shell. Currently a simplistic algorithm is used for a more or less uniform placing of phototubes - the placement will have to be optimized in the final design. No realistic PMT geometry is currently implemented - each phototube is represented by a transparent disk that simply counts optical photon passing through it. 4. MATERIALS : Default scintillator parameters are chosen to roughly match those of CHOOZ detector. No wavelength shifting in scintillator is currently simulated. 5. PRIMARY PARTICLE GENERATION : Use commands in the "/gen/" directory to control primary particle generation. Do not use the Geant4 built-in particle gun commands ("/gun/..."). Any particle name recognized by Geant4 can be given to "/gen/particle" command. If the name is "anti_nu_e", the particle is immediately substituted by a positron-neutron pair, taking into account inverse beta decay differential cross section. Position, direction, and kinetic energy of the primary particle can be either given explicitly, or generated using a model. Currently available models are "RandomUniform" (can be used for setting direction and/or position) and "NeutrinoSpectrum" (can be used for setting initial kinetic energy, implements a typical reactor neutrino spectrum). You can add your own models by subclassing T13GeneratorModel, overwriting any desired functions, and registering new models in the T13PrimaryGeneratorAction constructor (use T13RandomUniform and T13NeutrinoSpectrum as examples). A new model must have a unique name with no spaces. On top of the setup described above, a volume mask can be used that will only accept primary vertex if it is inside one of the specified volumes, with a probability of acceptance that can be set independently for each volume. Names of volumes are listed in the "Geometry" section of this file. Look at the "example.mac" for an example of how to control primary particle generation. The file can be executed by typing "/control/execute example.mac" at the interactive session prompt. 6. PHYSICS : By default, "standard" electromagnetic physics, hadron physics from QGSP_HP list, and optical processes are used. No spectral properties of the scintillation light are currently simulated - average values are used for attenuation length, PMT quantum efficiency, etc. 7. DETECTOR RESPONSE : Very limited and seriously inefficient detector response simulation scheme is currently implemented - this will be redesigned in the future. By default, two hit collections are created for each event - one for phototube hits and one for buffer shell hits. Each hit contains signal accumulated from all optical photons that entered the detector during a time slice the hit corresponds to. Number of time slices is determined by T13Setup::timeBins, total time window for simulation is T13Setup::timeCutoff. At the moment, each photon contributes T13Setup::pmtQuantumEff to the signal - more realistic readout simulation is planned for the future. See the sample "T13UserAction.cc" file included in the download for an example of how to use hit collections. Phototubes in the "veto" volume are not yet implemented. 8. VISUALIZATION : Any standard Geant4 visualization driver can be used. By default, only trajectories of primary particles are stored and can be visualized. Issuing "/vis/storeTrajectory true" command will force storing trajectories for all particles except optical photons. Trying to use standard Geant4 command ("/tracking/storeTrajectory 1") might result in huge files and unintelligible graphics due to very large number of optical photon trajectories the system will try to store and draw. 9. ANALYSIS : A suggested way to compute, analyze, and store simulation output is to put appropriate code into the T13UserAction class. Skeleton version ("T13UserAction.template") is provided, as well as an example ("T13UserAction.hh" and "T13UserAction.cc" files) that creates some histograms and a tuple, and stores data into an AIDA file. T13UserAction extends T13UserActionBase and inherits a number of pointers that can be useful in analysis. Corresponding functions of T13UserAction are called automatically at the beginning and at the end of each run and event (standard Geant4 concept of run is used, meaning that a new run starts whenever "/run/beamOn" command is issued). If G4ANALYSIS_USE environment variable is set, and an AIDA-compliant tool is installed on your machine, AIDA factories are automatically created at the beginning of a run, and AIDA objects created by your code are automatically saved into a file "runName.aida", where "runName" is set through "/read/runName" command. Beyond that, no persistency mechanism is currently provided.