PAT Exercise 9: How to find trigger information in CMS
Contents
Objectives
- Gain experience in collecting trigger information in general.
Note:
This web course is part of the
PAT Tutorial, which takes regularly place at cern and in other places. When following the PAT Tutorial the answers of questions marked in
RED should be filled into the exercise form that has been introduced at the beginning of the tutorial. Also the solutions to the
Exercises should be filled into the form. The exercises are marked in three colours, indicating whether this exercise is basic (obligatory), continuative (recommended) or optional (free). The colour coding is summarized in the table below:
Color Code |
Explanation |
|
Basic exercise, which is obligatory for the PAT Tutorial. |
|
Continuative exercise, which is recommended for the PAT Tutorial to deepen what has been learned. |
|
Optional exercise, which shows interesting applications of what has been learned. |
Basic exercises (

) are obliged and the solutions to the exercises should be filled into the exercise form during the PAT Tutorial.
Introduction
In order to decide on the HLT path(s) to use in an analysis, it is essential to know as much as possible about the paths under consideration. The decision taken here should hold until the end of the analysis in the ideal case, since a change of the used trigger(s) could result in the necessity to re-run the whole analysis chain - not only in terms of data processing, but also for what concerns studies done and conclusions drawn.
Several information sources are available as web tools or via software tools (scripts) for this task. Unfortunately, there is no central entry point, which summarizes all available information sources and tools, so it can become time consuming to first find them before to find the actual trigger information. This exercise is meant to give you an idea and reference point for this search and to create some experience in their usage.
Setting up of the environment
Preparation
We assume that you are logged in on
lxplus.cern.ch
. If not you can follow the instruction given
here.
mkdir exercise09
cd exercise09
cmsrel CMSSW_7_4_1_patch4
cd CMSSW_7_4_1_patch4/src
cmsenv
git cms-init
git-cms-merge-topic CMS-PAT-Tutorial:CMSSW_7_4_1_patTutorial
How to get and compile the code
Check out the required package with
git clone https://github.com/cms-sw/RecoLuminosity-LumiDB.git $CMSSW_BASE/src/RecoLuminosity/LumiDB
cd $CMSSW_BASE/src/RecoLuminosity/LumiDB
git checkout V04-02-10
(s. also
the LumiCalc TWiki)
Compile the code with
scram b

You might want to use more than one core to compile the package making use of the
scram
compiler flag
-j
followed by the number of cores you would like to make use of.
Exercises
Find information on a particular HLT path
We want to collect information on a particular HLT path. For this exercise a path has been chosen, which has not been online for too long, so that the output you will get is not too excessive. The path we want to inspect is
- HLT_Ele25_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_TriCentralPFJet30
First identify the run range, this trigger has been online. For this, search the path on the
list of HLT menus and paths in 2012
. You will see, that the list of runs is not too long. However, there have been version changes during this time
- from HLT_Ele25_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_TriCentralPFJet30_v8
- to HLT_Ele25_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_TriCentralPFJet30_v10
Exercise 9 a):
Check, if this trigger has been prescaled at any point (lumi section) during data taking. Consider only certified data for that.
After you have identified the run range, you can create a JSON file for certified data for
that run range. You start from the complete list of certified data:
- Find the latest "Golden JSON"
- Edit the file in order to limit it to the run range you have identified for the trigger path of interest.
The tool to provide you with prescale information for runs or run ranges is the
lumiContext.py
script. You have installed its most recent version already. Inspect
its documentation and find out, how to use it with a JSON file as input.
Question 9 a.1)
The path comes in different versions, hard-coded in its name. Do you have to consider this with this tool?
Question 9 a.2)
What are your actual findings about the prescales? Is this trigger useful as signal trigger in an analysis:of all 2012 data, resp. of the run range it has been used in?
Exercise 9 b):
Inspect the change of the trigger rate for this path (example)
After you have the list of prescales for our trigger path, you can inspect its change of rate for this change, starting from the
run summary page
:
- Choose a run number, enter it in the field CMS RunNumber and click the "submit" button.
You will see a page with accumulated information about this run, including plenty of links to more detailed information.
- Find the link to the used HLT Key and follow it.
Now a page opens with detailed information on the HLT in this run, also including a (long) list of paths.
- Find our path of interest in the table. The number given in the column RateHz is just an average value, but it is clickable. Follow that link ... et voila!
Exercise 9 c):
Inspect the modular structure of the path
To answer the next question, you have to browse the HLT configuration. There are two main sources for that (accessing actually the same underlying web page):
- Try first the HLT config browser
. It offers the opportunity of real "browsing" through the menus.
- HLT menus really used in online are found under the tab "ORCOFF".
- Now you do not know, where to look in all this folders? remember the HLT Key from the run summary. This is nothing else but the path you have to follow here.
- After you have clicked on the HLT version you want, the actual menu will open on the right of the browser. It opens in the "Streams" view (tabs on top). The information we need is in the "Details" view -- so, come back to inspect the rest later.
Do not get confused. This page uses the obsolete configuration language used in CMSSW before Python configurations.
- Select the bookmark "Paths" and search for the path of interest.
Does Ctrl+F (Command+F for mac)
work for you? If not...
- ... you can access the same content directly from the HLT page you got from the run summary:
- Follow the link "Full Configuration cfg file". Now you have a searchable page.
- The first occurrence under "Paths" gives the details of the sequences of modules in the path. Now you can start searching...
Question 9 c.1)
What is the final filter of this path?
Exercise 9 d):
Find the input data to your analysis based on the path
For the last question, you are almost on your own. Only one tip:

It is found in the
HLT config browser
again. It was mentioned already, that you would come back there again.
Question 9 d.1)
In which primary dataset(s) do the events triggered by our path finally end up?
Note:
In case of problems don't hesitate to contact the
PAT support. Having successfully finished
Exercise 9 you might want to proceed to
Exercise 10 of the
SWGuidePAT to learn more about the PAT support of accessing trigger information. For an overview you can go back to the
WorkBookPATTutorial entry page.
Review status
--
VolkerAdler - 08-Dec-2011