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.