Calorimetry for Fast MC
The overall aim is to produce, from a collection of input final-state particles, a list
of clusters (i.e., objects which have at least an energy and a position) whose behavior
is, in a statistical sense, similar to that of the "real" clusters to be
produced by a full reconstruction, using the full Gismo simulation as input. The cpu time
needed for the Fast MC is much less the for full simulation and reconstruction -- on the
order of a tenth of a second or less per event as opposed to 4 minutes.
Algorithm Overview
Like the full simulation, Fast MC makes some attempt to propagate particles through the
detector in a helical or linear path after throwing the dice to choose a path length (in
units of interaction length or radiation length), as appropriate, but there are several
gross simplifications.
- Detector geometry is known only at the component (e.g., EM endcap) level.
No allowance is made for active versus inactive material within a
component or for variation in any parameter, such as interaction length
per cm, dependent on the material. Each component is treated as if
it were homogeneous, with parameters such as interaction length per cm
take to be a suitable average value.
- Magnetic field is assumed constant throughout a component or, in the
case of endcaps, constant over each of two or three pieces making up
the component.
- Fast MC does not simulate energy loss.
- No new particles are created (by either showering or decay)
- There is no digitization.
The first four points taken together allow Fast MC to do the propagation in large chunks,
hence quickly. The result should be the coordinates of cluster max, but in this release of
the code it's the coordinates of the start of showering (to be fixed as soon as I'm
supplied with all the parameters I need to throw the extra path length).
Finally, the energy is smeared and the transverse (w.r.t. the momentum vector at the
"perfect" position) position is smeared. These smeared values are the ones
written to the ascii output file.
Inputs
In addition to the data (events of stdHep MC particles), the calorimetry part of Fast
MC needs
- a (coarse) geometry description of a detector, including dimensions of all calorimetry
components and of the coil
- a single field strength value from which, in an extremely crude fashion, it deduces an
average field value for each volume a particle might
traverse
- interaction length/cm for all components. radiation length/cm for at least EM components
- parameters needed to compute a sigma for energy smearing (one set for hadrons, another
for e/gamma)
- similar to previous item but for transverse position smearing
In this release, almost all of the above are predefined in the code. The only settable
option is detector type of "Small" or "Large," which sets
detector dimensions to those of Strawman Small or Large detectors, resp.
Outputs
Currently Fast MC can only be run as an independent program which produces an ascii
file as output. The calorimetry part of the file for each event consists of the number of
clusters found and some information about each: (smeared) energy, a position (in polar
coordinates), some notion of error on position, and a list of contributing MC particles
(always just 1 for this release). For this release, error on r is always 0.0 and
error on phi and theta is derived from the transverse position smearing sigma. Cluster
output also includes the number of hits a list of hits with energies contributed, but for
Fast MC "number of hits" is always 0.
Limitations and Possible Future Improvements
- The detector components simulated include EM barrel and endcaps, hadronic barrel and
endcaps and muon barrel. Muon endcaps are not included just because I ran out of time.
They should be in the next release.
- The inner volume is treated as air (i.e., no showering allowed). This could be changed
if I had average material parameters for this volume.
- The model of the field in the had and muon endcap regions may be too far off the mark to
be of any use.
- Energy loss could be handled at least on a per-component basis without major
perturbations to the code -- I'd need some more parameters.
- Electrons and photons are not currently treated differently when throwing path length,
but they could be -- if someone will tell me
what the right scale factor is.
- Particles which exit the tracking volume via the beam pipe rather than the EM
calorimeter are ignored.
- The only final state particles which are propagated are
electron
photon
pion
K-zero
K-plus
lambda
neutron
proton
and their anti-particles. Others (including muons) are ignored.
- Clusters are formed and reported with no filtering. In particular, clusters may occur in
the coil, and they will be recorded in the output
file exactly like clusters in the calorimeter. Analysis programs using the output file
should have access to the geometry description used by Fast MC so that they can detect
such clusters, but for this release such a geometry description is not radily available in
machine-readable form.
- Most of the parameters described above in the "Inputs" section should
ultimately be configurable. Until that time, those who are desperate can modify the source
and remake the program
Simply modifying values for smearing parameters should be straightforward. See
SmearFuzz.h, which defines the structure containing these parameters, and the files
GetSmall.cxx and GetLarge.cxx in which they are set for small and large detectors. To
understand how they are used, see CalSmeared.cxx.
Interaction and radiation length/cm are defined in GetSmall.cxx and GetLarge.cxx, as is
field strength.
It should also be possible to modify component dimensions as long as the topology (what
touches what) matches that of either the Strawman Small or Strawman Large detector. Look
at either GetSmall.cxx or GetLarge.cxx as appropriate. It should only be necessary to
change the definition of one or more of the static variables at the top of the file.
J.Bogart Last Modified: 01/13/04 12:44
RootApps/FastMC/V1.0/doc/FastMC-Cal