Recipes for testing new HLT paths inclusions in the menu prior to pull requests
This section contains recipes for testing new paths inclusions and existing paths modifications in the HLT Phase 2 menu prior to making pull requests to cmssw.
Testing infrastructure
Starting from CMSSW_14_2_0_pre2 it is possible to test HLT path inclusions and/or modifications to the HLT Phase menu via the PRs cms-sw/cmssw#46110, cmssw-sw/cmssw#46148 and cms-sw/cmssw#46220.
The main command to use is hltPhase2UpgradeIntegrationTests, which is available in the path after having set the cmssw environment.
This script:
- creates the configuration for the Phase 2 HLT menu from
cmssw; - for each of the N
paths in the menu it creates a copy of the menu with only that onepathin the schedule; - it runs ten (configurable)
GEN-SIM-DIGI-RAWTTbar event for the current Phase 2 default geometry; - runs on those events first the full menu and then N jobs for the N single-path versions;
- finally it loops over the output N
rootfiles and compares for each one of the standalone path outputs the trigger results with the full menu using thehltDifffacility.
The script supports the following arguments:
1 2 3 4 5 6 7 | |
Example usage:
1 | |
It is possible to use this options to test non-standard variants of the menu, e.g.:
1 | |
will test the menu using the alpaka processModifier. Similarly can be done for other modifiers (e.g. ticl_v5, etc.)
By default the test runs on 10 events, taking about 15 minutes on a typical lxplus node. In order to make it run faster, you can choose to restrict the tests to a subset of paths, for example you can run:
1 | |
Automatic tests in cmssw
Starting from the CMSSW_14_2_X release cycle it is possible to automatically run these tests in PRs.
This was introduced in PR cms-sw/cms-bot#2354 and refined in cms-sw/cms-bot#2356.
cmssw L2 conveners (generally @cms-sw/hlt-l2) can issue on-demand automatic testing via the cms-bot command enable hlt_p2_integration (similarly to the timing option enable hlt_p2_timing).
Additionally the test is run by default in IBs (Integration Builds) and the results are be available IB by IB at the CMSSW IB dashborard in the "HLT" section (look for the file hltPhase2UpgradeIntegrationTests.log).