Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members
RECO Certification System
Introduction
The recocert package provides executables that can be used to certify new versions of the D0 reconstruction program. These executables are also used to perform offline data monitoring.
The following executables are created by this package
- RecoCert_x - Analyze DST/TMB files and make standard histograms
- MergeRecoCert - Merge several RecoCert histogram files into one
- OverlayPlots - Overlay two sets of histograms
- MakePlots - Create standard sets of plots using histograms created above
How to run RecoCert
The d0tools command runRecoCert simplifies the running of the RecoCert_x executable. To use this command, you must first define the environmental variable RECOCERT_WORKAREA, which should point to an area where you want results from jobs to be placed. For example, in csh
- setenv RECOCERT_WORKAREA /work/mynode-clued0/myaccount/recocert
The command runRecoCert currently supports the DZERO CAB system to run jobs using SAM. You must enable your account to use CAB. See the instructions at the CAB web site.
The following example shows how to submit 20 jobs to CAB, analyzing a run reconstructed by a specific version of RECO
- runRecoCert --run=174390 --version=p13.06.01
This command will create an appropriate SAM dataset and submit the jobs to CAB. By default, it will analyze DST's. If you wish to analyze TMB's (faster, but less detailed information), you can do
- runRecoCert --run=174390 --version=p13.06.01 --mode=TMB
If you have your own SAM dataset, you can use
- runRecoCert --defname=mydataset
If you use this option, you are required to know whether the data tier is DST or TMB (if TMB, you will need --mode=TMB).
You can use the --jobs option to specify fewer than 20 jobs. By default, all events in the dataset are processed. You can use the --num option to limit the number of events per job.
For more details on using runRecoCert, see "runRecoCert -h".
If you want to process files local to your particular computer system, you will need to use a lower level d0tools utility (runchunkanalyze). The following example shows how to submit a batch job to analyze a list of DST files on disk (assuming d0tools supports your batch system):
- runchunkanalyze -exe=RecoCert_x -rcppkg=recocert -mode=DST -batch -localbuild -localrcp -filelist=cert-p11.11-155554.dat
Verifying results from RecoCert
The utility command verifyRecoCert is provided to help verify results from RecoCert. It should be used in conjunction with runRecoCert. In particular, it is designed to be used to verify the results for specific run numbers processed with a given RECO version.
As an example, if you analyzed a run with the following command
- runRecoCert --run=174390 --version=p13.06.01
you can verify the results (after the jobs have completed) with the command
- verifyRecoCert --run=174390 --version=p13.06.01
This will perform three steps:
- Merge the results from all RecoCert jobs using MergeRecoCert (see below).
- Overlay a set of reference histograms onto these results using OverlayPlots (see below).
- Display the overlaid plots using ghostview.
The results of these steps will be stored in the appropriate subdirectory in RECOCERT_WORKAREA. In the above example, the following files would have been created
- $RECOCERT_WORKAREA/run174390-p130601-DST/run174390-p130601-DST.root - the merged histograms
- $RECOCERT_WORKAREA/run174390-p130601-DST/run174390-p130601-DST.ps - the overlaid plots
Users are responsible for creating the reference histograms. (The utility MergeRecoCert can be used for this.)
For more details on using verifyRecoCert, see "verifyRecoCert -h".
Merging histograms
If you would like to merge RecoCert root files and save the merged histograms, you can use the MergeReceCert command.
- MergeRecoCert /aaa/bbb/RecoCert_x-p14.01.00-maxopt-Linux-xxx/RecoCert.root
If you want to merge several files, use "MakePlots RecoCert1.root RecoCert2.root ..." You can also use wildcards to specify the files, e.g.
- MergeRecoCert /aaa/bbb/RecoCert_x-p14.01.00-maxopt*.../RecoCert.root
By default, the file "merged.root" will contain the merged histograms. You can specify your own file name by using the "-merge xxx.root" option. After merging histograms, you can then plot them using the MakePlots command.
Making plots
To make standard plots from histograms created above, use the MakePlots executable
If you have just one file, use "MakePlots RecoCert.root", e.g.
- MakePlots /aaa/bbb/RecoCert_x-p14.01.00-maxopt-Linux-xxx/RecoCert.root
If you have several files, use "MakePlots RecoCert1.root RecoCert2.root ..." You can also use wildcards to specify the files, e.g.
- MakePlots /aaa/bbb/RecoCert_x-p14.01.00-maxopt*.../RecoCert.root
The above two commands create the file "recocert.ps", which is a postscript file containing all standard plots. You can specify a different name by using the -ps xxx option.
A temporary file "recocert.temp" is also created, and can be ignored.
See "MergeRecoCert -h" for more details
Overlaying histograms
You can overlay two sets of histograms for direct comparision my using the OverlayPlots command
- OverlayPlots aaa/RecoCert.root bbb/RecoCert.root
By default, the histograms in the first file are black, and the second set are red. Also, the second set of histograms are normalized to the first based on the number of events analyzed.
See "OverlayPlots -h" for more details
How to create personal versions of the executables
To create personal versions of the executables, first set up the D0 software environment:
- setup D0RunII yxx.xx.xx # Select which release you want to use
- setup d0cvs # Get access to the code repository
- setup d0tools # Get access to tools for submitting jobs
Then create a local build area and check out a given version of recocert:
- newrel -t yxx.xx.xx myrecocert
- cd myrecocert
- addpkg recocert # Check out the released version of recocert for the chosen release
- d0setwa
Finally, build that version to create the executables
- gmake all # Make a local version of executables
Alternatively, you can check out a specific version of the package using
Consult the recocert package developers (use "fczar recocert" to get the list) for detailed information concerning what is available in each version or refer to the file recocert/ReleaseNotes within each version.
The most up-to-date supported version of recocert can be found in the latest test release. Please note that this version may not be released in any existing production release. Thus you may be required to run a "test" version of recocert on the output of a "production" version of RECO. This strategy enables recocert developers to release new functionality as quickly as possible.
To use runRecoCert with a local version, use the --localbuild option.
Additional plots for MC particles
An option was added to plot MC particles at the generator level from MCKineChunk.
To make this additional set of plots:
- runchunkanalyze -exe=RecoCert_x -mode=TMB_MCgen ...
It will pick up the corresponding framework rcp file runD0ChunkAnalyze_TMB_MCgen.rcp (or runD0ChunkAnalyzeSAM_TMB_MCgen.rcp if using SAM dataset) which uses the rcp file RecoCert_MCgen.rcp.
Then to make plots from the output root file, one has to specify "-level -10":
- MakePlots -level -10 aaa/RecoCert.root
- OverlayPlots -level -10 aaa/RecoCert.root bbb/RecoCert.root
The plots description in details can be found here (there can be minor differences).
For questions and comments concerning this set of plots, please contact shfu@fnal.gov.
Contributing to recocert development
Anyone who has a "good idea" for a new plot within recocert is encouraged to contact the recocert developers, or even better, write some code to make those plots. If you would like to help in any way, please contact Harry Melanson.
If you are considering adding new code to recocert, please look at the documentation available under the "Modules" link. If you want to add a specific histogram to an existing set of plots, you should look at "Histograms". If want to develop a new set of histograms, you will need to create a new "component". Look at the "Components" link, and pick one of the existing components as an example. Then look directly at the code for components or histograms.
Generated at Sat Oct 4 20:18:32 2003 for recocert by
1.2.6 written by Dimitri van Heesch,
© 1997-2001