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.

  1. 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.
  2. 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.
  3. Fast MC does not simulate energy loss.
  4. No new particles are created (by either showering or decay)
  5. 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

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

  1. 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.
  2. 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.
  3. The model of the field in the had and muon endcap regions may be too far off the mark to be of any use.
  4. Energy loss could be handled at least on a per-component basis without major perturbations to the code -- I'd need some more parameters.
  5. 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.
  6. Particles which exit the tracking volume via the beam pipe rather than the EM calorimeter are ignored.
  7. 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.
  8. 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.
  9. 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