LCD Fast MC
Root C++ Version
The Fast MC is intended to provide a reasonably fast simulation of LCD
performance, but with the understanding that detail is lost for speed. The goal of the
package is to parametrically smear charged tracks within an angular and momentum
acceptance and to extrapolate particles to the calorimeter to simulate deposited energy.
Bending in the magnetic field of charged particles is accounted for.
Capabilities (and failings) of the first version of the code:
- controlled by an ascii parameter file
- read StdHep generator files and select 'final state' particles (status code = 1)
- output the event to an ascii file for standard parsing to Root and JAS objects
- can be run interactively with Root
- currently does not run on NT. We believe this is due to a stream
conflict between Root and StdHep.
- no muon strips are simulated
- Tracking
- 2d lookup tables of resolution in the 5 helical parameters (phi,r,z,lambda,1/pt) vs
polar angle and momentum are used to smear the input MC momenta and positions. The sign of
the charge is permitted to flip.
- acceptance is done on straight polar angle and momentum cutoffs on the original MC
values
- cartesian parameters are returned; no track errors are computed.
- MC parentage is maintained
- Calorimetry
- final state particles are transported to and through the calorimeter volumes, by linear
or helical extrapolation as needed.
- the dice is rolled to select the depth of the shower start and then the position and
energy are smeared for EM and hadronic particle types
- MC parentage is maintained.
- Alpha version of code supports the default S & L detectors only
System Requirements
Code Generalities
- the FastMC class constructor takes input arguments for the StdHep generator file,
'Small' or 'Large' telling the calorimetry which to simulate, input file spec for tracking
parameters, output ascii file spec and, optionally, the number of events to process.
- there is a simple main(), with the same arguments which just instantiates a FastMC
object passing on the arguments. This allows one to run the fastMC from Root interactvely.
- subsystem classes inherit from the RecModule abstract class which forces them to define
cleanup, doit and spew member functions.
- the EventMarker and MCPartPrint classes output the event marker and the MC particle info
to the ascii file in the same format as their counterparts in the Gismo full simulation.
Usage
fastMC file-type StdHep-file Tracking-parameters-file output-file
where
file-type is StdFile for the FastMC (this syntax is also used for the
FullRecon)
StdHep-file is the input generator file spec
Tracking-parameters-file is just that. Contains the cuts and pointers to the
resolution lookup tables
output-file is where the ascii output file goes (and should be optional)
To be implemented for interactive Root (once we have a shared lib):
load the fastMC shared library and then use the FastMC class constructor with the same
argument list as main() to set up the event processing and then loop over
FastMC::DoEvent() to process them.
R.Dubois Last Modified: 01/13/04 12:45