L1 Trigger Software Validation
Complete:
Goals of this page
To describe release validation tools and procedures for L1 software. Details over trigger (L1 + HLT) software validation are also given in
SW Guide Trigger Software Validation wiki page. This page is partly OBSOLETE...
Release Validation Results for L1 Trigger
The plots for DQM (for the time being only the package DQM/L1TMonitor) are available for all RelVals produced for a release in the DQM offline server
The recipe to access them is the following:
- open the DQM offline server
- click on "Run #"
- in the search box, enter a RelVal sample and/or a release (e.g. 3_8_0)
- click on "Any" and confirm the dataset
- in "Workspace", select the desired system (e.g. L1T)
- navigate the folder structure from subsystems to desired plots
For comparison of releases:
- click on View details in the upper-right of the window,
- in the reference tab choose "Show reference: For all"
- choose the desired "Position" ("Overlay" or "On side")
- enter the intended reference "Dataset" (name must be exact, one can search as before and copy/paste)
A summary of the results for recent releases can be found at
SWGuideValidationTableL1. Efficiencies for various tables are found at
L1SoftwareRelValResults.
HowTo Run Validation
Now working in 31X!
The standard way to run the L1 validation tools over several
RelVal samples is described below.
- First crate a fresh working area and check out the validation scripts :
scramv1 p CMSSW CMSSW_X_Y_Z
cd CMSSW_X_Y_Z/src
eval `scram ru -sh`
cvs co L1TriggerOffline/Configuration
cvs co -r V00-04-05 L1TriggerOffline/L1Analyzer
scram b
- Then create some RelVal*.txt files
- Create a job (within it's own directory) for each RelVal*.txt file
./L1TriggerOffline/Configuration/test/l1ValSetup.sh l1Val
- Submit all the jobs (get a coffee while you wait for them to finish)
./submitall.sh
- Once the jobs are finished, each RelVal* directory will contain the following :
- the batch job output in LSF*/STDOUT
- l1Val.log - the log output from l1Val.cfg)
- RelVal*.tgz - a tarball of plots produced by l1ValPlots.py)
How to make the jobs run in 22X
After step 3 above, do the following :
addpkg -z PhysicsTools/HepMCCandAlgos V09-23-02
addpkg -z DataFormats/HepMCCandidate V05-08-00
scramv1 b
Validation Tools
The L1 emulator validation tools can be found in L1TriggerOffline/Configuration :
L1TriggerOffline/Configuration/test/l1Val.cfg
This is a CMSSW config file that will run the validation job on a given dataset. This can be used by itself to produce plots for a single dataset, or is used by mkconfig.sh to run on many datasets. The job uses
L1Analyzer to produce a ROOT file of histograms comparing L1 objects to MC and Reco objects, and
L1GtTrigReport to print the efficiency of each trigger bit to the logfile.
L1TriggerOffline/Configuration/test/l1ValPlots.py
This is a python program that produces plots (using PyRoot) of the histograms produced by l1Val.cfg. It expects an argument which is the histogram file output by l1Val.cfg, ie
python l1Val.py l1ValHistos.root
L1TriggerOffline/Configuration/test/l1ValSetup.sh
This shell script is used to create config files to run l1Val.cfg/l1ValPlots.py on multiple
RelVal datasets. It takes input from files named
RelVal*.txt in the working directory - one for each dataset to be run over. These are expected to contain a suitable config file replace statement for the PoolSource fileNames parameter (eg. cut and paste from DBS web pages). It produces a directory for each dataset, containing the validation job and a batch script (suitable for submitting the job to lxbatch). Also, it produces a shell script submitall.sh, which submits all the jobs to lxbatch.
Example input file
Python version
process.source.fileNames = (
'/store/relval/2008/6/20/RelVal-RelValQCD_Pt_80_120-1213987236/0002/146C4E8C-813
F-DD11-8182-0019DB29C614.root',
'/store/relval/2008/6/20/RelVal-RelValQCD_Pt_80_120-1213987236/0002/14AFAE8C-743
F-DD11-8C99-001617C3B654.root',
'/store/relval/2008/6/20/RelVal-RelValQCD_Pt_80_120-1213987236/0002/1808C1CB-7A3
F-DD11-A78D-001617E30E28.root',
'/store/relval/2008/6/20/RelVal-RelValQCD_Pt_80_120-1213987236/0002/2419E2AD-733
F-DD11-9EC2-001617C3B710.root'
)
Old-style config version
replace PoolSource.fileNames = {
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/30E7CB7D-BBE6-DC11-9E65-000423D98FBC.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/32174E96-BCE6-DC11-B5FA-000423D94990.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/64C97BF8-BBE6-DC11-B39B-000423D60FF6.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/88B57063-BAE6-DC11-8493-000423D94990.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/8A574B67-BAE6-DC11-A92C-000423D9890C.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/A0F05DFA-BAE6-DC11-833B-0030487A18DC.root',
'/store/relval/2008/2/28/RelVal-RelValWM-1204230162/0000/F69E596E-BAE6-DC11-B102-001617E30F58.root'
}
Validation Output
The output of l1Val.cfg contains a print out of the trigger results : how many times each trigger bit fired. This is usually converted to a % efficiency for each sample and compared with results from the previous release.
The tarball output by l1ValPlots.py contains the following plots :
finish this
Validation CMSsandbox.ToDo List
- Add list of plots to this wiki!
- Add RECO comparisons to l1Val.cfg/l1ValPlots.py
- Add histograms of intermediate/regional subsystem quantities
- Add DBS query for RelVal datasets to mkconfig.sh (and replace with python script?)
Review Status
Responsible:
JimBrooke
Last reviewed by: