Simulator Documentation

Under:

The STAR trigger simulator is designed to

  1. reproduce trigger algorithms in offline software that can be run on Monte Carlo or real data ("online" mode)
  2. allow for use of improved calibration coefficients, pedestals, status tables, etc. to "clean up" trigger spectra ("offline" mode)
  3. aid in the development of new triggers ("expert" mode)

It should provide a common framework for simulators of all trigger detectors.

How to Run

Ideally, this could be as simple as adding StTriggerSimuMaker to your chain and then asking

trigSimu->isTrigger(trigId);

in your analysis Maker.  Because the trigger simulator is still in development this is not always the case.  Here is a "straight from real-life" description of how to get it running:

( don't ask me, I'm just writing the docs .... )

Code Structure

Everything lives in StRoot/StTriggerUtilities.  StTriggerSimuMaker is the "head Maker" and owns all of the subdetector simulators.  Each subdetector simulator inherits from StVirtualTriggerSimu, which requires an implementation of isTrigger(int trigId).  This means that a user can

  1. ask the head Maker if the trigger fired for this event.
  2. ask the head Maker for a pointer to a subdetector simulator, and then ask this subdetector if the event passed the trigger.  For instance, a simple BEMC HT trigger is typically run in coincidence with a minbias trigger from the BBC, ZDC, or VPD.  By querying the BEMC and BBC/ZDC/VPD separately a user can find out why a particular event might have failed a HT trigger (i.e. was it because the HT threshold wasn't satisfied, or was it because the minbias condition failed?).

Subsystem Simulators

Detailed documentation of the subsystem simulators follows below: