Go to D0 at Work
Trigsim Certification Homepage

Trigsim Certification Homepage

On this pageQuick links
What does TrigSimCert do?TrigSimCert Doc (updated 27-Jun-05)
What do the macros do?Macros Doc
RCP Tutorial
Macros Tutorial
Tutorial presentations at DØ weeks:23/9/04, 9/12/04
DØ Note 4570 (updated 24-Jun-05)

TrigSimCert is a dual purpose package that was added in D0 software test releases starting with t04.04.00 and will be added to production releases starting p17. Although the package was designed as tool to facilitate and automate the certification of the releases of D0TrigSim, it is also a very powerful analysis tool that replaces trigsim_analyze. It consists of:

- the TrigSimCert executable, which takes TMB or DST input and returns a root tree containing the event information and

- a macro that produces comparison plots between two of the output root tuples.

In particular, trigger information is available in the Triggers branch of the output tree of the TrigSimCert executable. The content of each leaf and each branch of the tree is available from the trigsimcert documentation.

TrigSimCert includes some nice features like being independant of TOOLLISTs, producing uniform branch names and being able to run on any file produced by D0TrigSim (data or MC) as well as on raw data and recoed data/MC. Brief tutorials on using TrigSimCert and its macros are available .

What does TrigSimCert do exactly?

-The program mostly consists of a list of classes, one for each type of trigger object, for all three trigger levels (plus information about each trigger).

-Each class contains setters and accessors for (almost) all variables from all available objects but doesn't depend on the original objects so it is easy to use in ROOT.

-The main file, CertAnalyze.cpp, checks for valid L1L2Chunk and L3Chunk of the specified flavors.

-If they exist, it instantiates a bunch of TClonesArray of those trigsimcert classes and initialises ROOT tree branches with them.

-For Level 3 in particular, it loops over the L3ChunkPhysToolMap and saves L3PhysicsResults in their corresponding class, each result being a new entry in a TClonesArray.

-L3 classes inherit from a common base class with a ToolName() member that contains the trigger list name of the tool instance that produced it.

No need for a toollist to either save or read back the ROOT tree

What do the macros do?

-The macros can be used to create a refence set of data, or to compare a given data file to a reference.

-When the Plots constructor is called, the root files are opened and the root trees loaded into a chain. Histograms and trigsimcert objects are created and initialized.

-The Loop function opens the reference file, and loops over all events pulling out the trigsimcert objects (that is things like L1Cal, L1Track etc...) These objects are passed to the histogram class objects which handle all the plotting.

-The histograms themselves show the reference set as a red line on which are overlayed black crosses for the new data.

-Histograms are scaled to make comparisons possible. A chi square value is returned and flags indicate overflows or large discrepancies.

-Appropriate reference sets can be created by running the Loop function as Loop(true), which produces a file called Ref.root which can then be used as reference.

For complete information, go to the macros documentation.

back to top


back to top

If you are trying to find certification information about older releases, you can have a look at the old version of this webpage.

Last modified: Mon Jun 27 17:19:09 CDT 2005