You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Trigger Root Tree Analysis Utility

Introduction

This utility is the standard offline analysis framework for trigger test data based on the plain Root Tree Analysis. It contains two subpackages under users/Trg/ package in CVS. A current working development version reside at /afs/slac/g/glast/trigger/current, but this development area may be unstable as it is being updated continuously so that it is recommended to check out production tagged versions for private development. The two subpackages:

RTAutil

this is a lower level utility containing basic Root Tree Analysis utilities such as formtted dump of various digis, recon objects and GEM data, GEM event time, ideal geometry etc.

TrgTest

this contains the actual higher level trigger test analyses, all constructed as classes inheriting from the (slightly modified) standard RootTreeAnalysis class.

These packages have standard CMT structures setup to build sharable ROOT libraries. This utility is only tested for running on Linux platform (Noric) at SLAC. To work with these utilities, the basic setup needed are just the standard GLAST ground user .cshrc and ROOTSYS and lib paths defined for running ROOT. An example of this is /afs/slac/g/glast/trigger/current/setup.

Usage and Development through CVS and CMT

CVS Repository 

The code CVS repository reside at the $CVSROOT/users/Trg/[Packagename]  (CVSROOT is /afs/slac/g/glast/ground/cvs on SLAC UNIX). As part of the "users" code, they are not attached to any office release so that you need to check them out and compile yourself for all usage. Because the packages live under users/ subdirectories, some care needs to be taken to not accidentally checkout or tag the whole users package with many people's code (you will regret it!). The general usage of the users packages are eplianed by Toby in this posting. As an example, if you want to develop the TrgTest code, starting from tag v0-01,  under your own release directory myRelease, then the cvs checkout command is:
  cd myRelease
  cvs co -r v0-01 -o users/Trg TrgTest
The -o option indicates the directory offset for the package.  This should make a directory myRelease/TrgTest/v0-01/.  Within the package directory, you typically should have a subdirectory with the same name as the package name which contains the class headers; a subdirectory /src containging the class implementation C++ source files and the /cmt subdirectory containing the build options. The TrgTest pacakge also has a subdirectory /workdir for running applications in ROOT. When you commit the revised version for Trgtest, you should also issue the cvs commit from the directory myRelease/TrgTest/v0-00/ or it subdirectories to only commit code within the package. When you want to tag an updated version, again you should be sitting in myRelease/TrgTest/v0-01/ and using the -rtag recommended by Toby for the packages residing in subdirectories:
  cvs rtag TagName users/Trg/TrgTest

CMT Code Build

For packages checked out from CVS, you will work within CMT to build and update them.  The interactive CMT GUI is the recommended tool for doing development. It can be started with the command MRvcmt& after the setup is run. The essense of the CMT operations are introduced in the offline workbookunder the tab: MRvcmt. Upon startup of MRvcmt for the first time you need to configure the paths. From the MRvcmt top menu, select the Options tab then "Cmt Options"  to bring up the the following panel: !snap-cmt-options!
to control the CMT path directories. You can also check what's in /afs/slac/g/glast/trigger/GlastRelease/cmtpath-save as an example how this is setup for development work in this working area. One typically goes to the GUI GlastRelease folder RTAutil or TrgTest package (by click and highlighting it) then just work under the Dev tab clean/config/Make to build and update the ROOT sharable libraries.

For running some of the existing jobs, the directory /afs/slac/g/glast/trigger/GlastRelease/TrigTest/v0/workdir has a release.setup script which only needs to be run once at creation to establish the softlinks for sharable libraries which only need to be updated when changing base release. The standard set of libraries are loaded through RooLogon.C which gets executed at ROOT startup. Upon firing up ROOT, one can simply do .x RunXXXX.C for the various existing tests, where XXXX can be

RunDump.C

Formated dumps of digis, recon objects and GEM data (digi/recon)

RunTestGeom.C

Test to validate the ideal geometry utility (recon/histograms)

RunAcdRate.C

Analysis of ACD rate test data (histogram, GEM event time)

  • No labels