L1 Trigger Software Validation

Complete: 3

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

Reviewer/editor and date Comments
JimBrooke - 23 Aug 2007 page author
JimBrooke - 01 Nov 2007 add trigger reports

Responsible: JimBrooke
Last reviewed by:

Edit | Attach | Watch | Print version | History: r19 < r18 < r17 < r16 < r15 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r19 - 2010-11-11 - MatthiasStein



 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback