Move all pp HLT jet reco configuration to be based on JetDef
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 inBlahRecoCfg
, checkjetDef.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 toflags.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 withjetRecoDict
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.
Merge request reports
Activity
FYI @delsart, a couple more tweaks in
JetDefinition
here -- hashing ofJetInputExternal
and translation ofxAODType.Jet
as a constituent type.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 KhooAdded 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.