Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /HLTrigger/Configuration/scripts/utils/readme.md is written in an unsupported language. File is not indexed.

0001 This directory contains utilities to create a spreadsheet summarising the content of a given HLT menu.
0002 Such a spreadsheet is normally produced by TSG upon the release of a new HLT menu to be used
0003 for data-taking and/or central production of Monte-Carlo samples.
0004 
0005  - The JSON file `hltPathOwners.json` contains
0006    the latest information on the triggers (Paths) in the HLT combined table.
0007    For every given trigger, this file lists the groups which are responsible for it ("owners"),
0008    and whether or not this trigger is to be included in the "online" version of the HLT menu
0009    (as opposed to being included only in the "offline" menus used for MC productions).
0010 
0011  - `hltListPathsWithoutOwners`:
0012    this scripts print to stdout the names of the triggers
0013    of a given HLT configuration which do not have a owner,
0014    based on the content of the JSON file provided as input to the script.
0015 
0016  - `hltMenuContentToCSVs`:
0017    this scripts creates files in CSV format which summarise the content of a given HLT configuration.
0018    Each of these CSV files corresponds to one of the tabs of
0019    the spreadsheet produced by TSG upon the release of a new HLT menu.
0020 
0021 Instructions for creating a spreadsheet for the release of a HLT menu.
0022 
0023  1. Check if there are Paths without owners in the target configuration.
0024     ```
0025     ./hltListPathsWithoutOwners /dev/CMSSW_14_0_0/GRun --meta hltPathOwners.json
0026     ```
0027 
0028  2. If there are Paths without owners, update the JSON file accordingly.
0029       - Update `hltPathOwners.json` manually.
0030       - Create a new version of it with proper formatting as `tmp.json` by using the commands below in `python3`.
0031         ```python
0032         import json
0033         json.dump(json.load(open('hltPathOwners.json')),open('tmp.json','w'),sort_keys=True, indent=2)
0034         ```
0035       - Check the content of `tmp.json`. If correct, rename it manually to `hltPathOwners.json`.
0036         ```bash
0037         mv tmp.json hltPathOwners.json
0038         ```
0039 
0040  3. Create the `.csv` files summarising the content of the HLT menu.
0041     ```bash
0042     ./hltMenuContentToCSVs /dev/CMSSW_14_0_0/GRun --meta hltPathOwners.json --prescale 2p0E34
0043     ```
0044     In the command above, provide as argument to `--prescale` the name of the PS column
0045     to be considered as the main/default PS column for that HLT menu.
0046 
0047  4. Copy one of the previous HLT-menu spreadsheets, or copy
0048     [this template](https://docs.google.com/spreadsheets/d/11Jubd_1Mgh9bueaQUH4Clc-SpQqZ7q1LaUT_QJa9NOQ).
0049     This includes the "conditional formatting" used to color each slot based on its content.
0050 
0051  5. The spreadsheet contains four tabs.
0052     The first one ("metadata") is to be filled manually.
0053     Each of the other three tabs corresponds to one of the CSV files created by `hltMenuContentToCSVs`.
0054     For each of those tabs, first ensure it be empty (ctrl-a + delete),
0055     and then fill it by importing the corresponding CSV file
0056     (the name of the tab is similar to the name of the corresponding CSV file).
0057     When importing one of these files, select `|` as separator for the CSV lines.