Skip to content
Snippets Groups Projects

Move all pp HLT jet reco configuration to be based on JetDef

Merged Teng Jian Khoo requested to merge khoo/athena:24.0-TMMT-JetFastMenuGen into 24.0

Following on from !70788 (merged), this is a cleanup of the HLT jet reconstruction configuration.

Previously we did all configuration based on the jetRecoDict, extracted from the chainDict. Since we factored out the definition of all JetDefinitions, we can now use those configuration objects to configure all algorithms directly without the further need to depend on jetRecoDict. This is more in the declarative spirit of the JetRecConfig package -- determine all your dependencies, and then step through and configure the components needed to satisfy them.

  • 25.04.2024: This runs the jet slice -- consistency checking needed. The MET slice seems to generate as well with minor fixes.

    • Fix the Unconventional Track Trigger chains to use the new syntax
  • 26.04.2024: Full menu now generates, but config differences are seen

    • Fix config inconsistencies wrt clean r25 nightly
    • Update code comments and any other documentation
    • Clean up code and add helpers to interpret the JetDefinition especially for repeated operations

FYI a few people who might be interested: @pakontax, @miochoa, @cantel. I decided we didn't really need more helpers but maybe will make notes of a couple of changes in how we get some information:

  • If you want to know what the trkopt is in BlahRecoCfg, check jetDef.context
  • If you want to check generic information about what the jet collection is made from, string-matching jetDef.inputdef.label is quite flexible.
  • If you need to get access to the track collection names, grab them from jetDef._contextDic, which is equivalent to flags.Jet.Context.[trkopt].
  • To get the trigger jet calibration string, use jetCalibFromJetDef(jetDef)
  • The default jet calibration getter has been changed to use the args getJetCalibDefaultString(recoAlg, constitType, trkopt) for easier compatibility both with jetRecoDict and `JetDefinition. The way I call it with the latter is not super elegant, but it's also not too offensive.

@fpastore I did not attempt to use getStep yet -- this needs a big reorganisation in JetChainConfiguration for most cases (some other cases are trivial and I would just do them all together). I have some idea as to how it could work, but it's better to go progressively.

Edited by Teng Jian Khoo

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Developer

    FYI @delsart, a couple more tweaks in JetDefinition here -- hashing of JetInputExternal and translation of xAODType.Jet as a constituent type.

  • Teng Jian Khoo changed the description

    changed the description

  • Teng Jian Khoo added 3 commits

    added 3 commits

    • 11a44bff - Add hash to JetInputExternal and register input xAODType.Jet as JetInputType.Jet
    • 7f8c18ec - Use JetRecoDataDeps etc to steer Configurable creation, rather than JetRecoDict
    • 79e25198 - Adapt MET and HitDV configuration to new jet syntax

    Compare with previous version

  • Teng Jian Khoo marked the checklist item Fix the Unconventional Track Trigger chains to use the new syntax as completed

    marked the checklist item Fix the Unconventional Track Trigger chains to use the new syntax as completed

  • Teng Jian Khoo changed the description

    changed the description

  • Teng Jian Khoo changed the description

    changed the description

  • Teng Jian Khoo marked the checklist item Fix config inconsistencies wrt clean r25 nightly as completed

    marked the checklist item Fix config inconsistencies wrt clean r25 nightly as completed

  • Author Developer

    Full menu diff (intended change):

    Component jetrecalg_HLT_AntiKt10EMTopoRCJets_subjesIS.builder may differ
            JetInputType =  12  vs  100   <<
       but all are suppressed by renaming/known differences/...
    Component jetrecalg_HLT_AntiKt10EMTopoRCJets_subjesIS_ftf.builder may differ
            JetInputType =  12  vs  100   <<
    Edited by Teng Jian Khoo
  • Teng Jian Khoo added 2 commits

    added 2 commits

    • 05a3e9a1 - Use JetRecoDataDeps etc to steer Configurable creation, rather than JetRecoDict
    • 1f8a259c - Adapt MET and HitDV configuration to new jet syntax

    Compare with previous version

  • Author Developer

    Will do a pass for comments and code clarity, but otherwise looking good.

  • Teng Jian Khoo changed the description

    changed the description

  • Author Developer

    Added one more change affecting config:

    Component TrigJetHypoAlg_a10_tc_em_nojcalib_calopresel may differ
            Jets =  HLT_AntiKt10EMTopoJets_nojcalib_pt10  vs  HLT_AntiKt10EMTopoJets_nojcalib   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a10_tc_lcw_subjes may differ
            Jets =  HLT_AntiKt10LCTopoJets_subjes_pt10  vs  HLT_AntiKt10LCTopoJets_subjes   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a4_pf_em_subjesgscIS_ftf may differ
            Jets =  HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf_pt10  vs  HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a4_pf_em_subresjesgscIS_ftf may differ
            Jets =  HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_pt10  vs  HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a4_tc_em_subjesIS may differ
            Jets =  HLT_AntiKt4EMTopoJets_subjesIS_pt10  vs  HLT_AntiKt4EMTopoJets_subjesIS   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a4_tc_em_subjesIS_calopresel may differ
            Jets =  HLT_AntiKt4EMTopoJets_subjesIS_pt10  vs  HLT_AntiKt4EMTopoJets_subjesIS   <<
       but all are suppressed by renaming/known differences/...
    Component TrigJetHypoAlg_a4_tc_em_subresjesgscIS_ftf may differ
            Jets =  HLT_AntiKt4EMTopoJets_subresjesgscIS_ftf_pt10  vs  HLT_AntiKt4EMTopoJets_subresjesgscIS_ftf   <<
       but all are suppressed by renaming/known differences/...

    Somewhere in the CA migration we stopped passing the filtered jet collections produced by JetViewAlgs to the hypo. No possible effect on the output decisions, just a sub-ms optimisation that went missing (it used to save significantly more). Re-adding this rather than taking out the JetView algs because technically it could save something of O(0.01%) of the CPU cost by running something that costs 10x less. But we could simplify config and save a small amount of memory by taking them out for quite a negligible cost.

    Maybe to look at cost data after this is merged to see if the impact of the correction is measurable.

  • Teng Jian Khoo added 2 commits

    added 2 commits

    • 9abc63a0 - Pass filtered jet collection names to jet hypo alg
    • b793a6f6 - Update various comments and docs

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Teng Jian Khoo marked the checklist item Update code comments and any other documentation as completed

    marked the checklist item Update code comments and any other documentation as completed

  • Teng Jian Khoo marked the checklist item Clean up code and add helpers to interpret the JetDefinition especially for repeated operations as completed

    marked the checklist item Clean up code and add helpers to interpret the JetDefinition especially for repeated operations as completed

  • Teng Jian Khoo changed the description

    changed the description

  • Teng Jian Khoo marked this merge request as ready

    marked this merge request as ready

  • Author Developer

    Jenkins please retry a build

  • Conflicts will need to be resolved by rebasing before the CI can run unfortunately

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading