Integrating QA Histograms into Makers


(Instructions provided by Gene Van Buren, November 17, 2004)

It is generally the responsibility of the subsystem software leaders to select the appropriate histograms for quality assurance studies of the data and to integrate those histograms into their event reconstruction Makers. The following are some helpful instructions provided by Gene Van Buren for integrating QA histograms into subsystem Makers. This process involves a collaborative effort between the subsystem software expert and Gene Van Buren.

Lanny Ray

There are two possible ways to do this:
  1. Create the histograms in your own Maker, use StMaker::AddHist() on them, and tell me (Gene Van Buren) what your maker is called.
  2. Write up the code that would be necessary to produce the histograms from StEvent and give it to me. This option only works if your data is available in StEvent, but allows reproduction of the histograms from event.root files as well as during production.
Option 1 leaves maintenance of the histograms (for the most part) in your hands. But the QA team will work with either option given your preference. For option 2, the StEvent data structures are presently used.

After that, there are two more issues:

  1. Do you want the histograms to be viewed by the QA shift crew? Such histograms are a subset of the total set of QA histograms. The rest can be viewed by more interested experts at any time. Please be very conservative in selecting histograms for the QA shift crew to review; a few well chosen plots are optimal.
  2. Do you want the histograms to be viewed by trigger type or not? For most histograms in QA, we make separate instances of the histograms for different trigger sets (for example, central triggers, minbias triggers, high tower triggers, etc.). This is only available with option 2) above. Some histograms have only one instance, filled for all trigger types of interest in each file sequence. (Note: trigger types are not the same as file streams, though file streams are usually correlated with trigger types. For example, the st_physics file stream may contain several trigger types, while the st_mtd file stream may only contain one.)
For histograms not viewed by trigger type using option 2 above, the class St_QA_Maker/StQAMakerBase is used to book the histograms. For those viewed by trigger type, the class for booking is St_QA_Maker/StQABookHist. Booking functions are typically called BookHistXXX(), where XXX is specific to the subsystem (or reconstrunction topic, such as PID). Filling of all such histograms is in St_QA_Maker/StEventQAMaker., via functions typically called MakeHistXXX().

A note that the QA team uses a small wrapper class to book histograms in an effort to standardize naming, particularly for the case of trigger-type-separated histograms, and simplify some common, repetitive booking procedures: St_QA_Maker/QAH.

Lastly, we can add colors or lines or log axes or whatever graphics you'd like when the plots are drawn. This is controlled in the class StAnalysisUtilities/StHistUtil.

Gene Van Buren

Created: Wed Nov 17 10:33:14 EDT 2004; Last Modified: Tue March 10 12:30 EDT 2015