From 2b795f51da7b186ca826006dd4a4cb8f08a373b0 Mon Sep 17 00:00:00 2001 From: Teng Jian Khoo <teng.jian.khoo@cern.ch> Date: Mon, 4 Nov 2019 17:28:52 +0000 Subject: [PATCH] Revert "Insert missing comma" This reverts commit 5a46ec0ca6c0d5fff252ccc6490ad4b7358a2252. --- .../python/JetMomentToolsConfig.py | 60 +++++++--- .../JetRecConfig/python/StandardJetMods.py | 1 + .../share/q221_RDOtoRDOTrig_mt1_build.ref | 28 +++-- .../TrigUpgradeTest/python/jetMenuHelper.py | 8 +- .../TrigUpgradeTest/share/full_menu_build.ref | 28 +++-- .../TrigUpgradeTest/share/slice_bjet.ref | 24 ++-- .../TrigUpgradeTest/share/slice_jet.ref | 36 ++++-- .../TrigEDMConfig/python/TriggerEDMRun3.py | 5 +- .../python/HLTMenuConfig/Bjet/BjetDef.py | 5 +- .../HLTMenuConfig/Bjet/BjetSequenceSetup.py | 51 +++------ .../Bjet/GenerateBjetChainDefs.py | 10 +- .../Jet/JetChainConfiguration.py | 8 +- .../HLTMenuConfig/Jet/JetMenuSequences.py | 1 - .../HLTMenuConfig/Jet/JetRecoConfiguration.py | 21 +++- .../HLTMenuConfig/Jet/JetRecoSequences.py | 37 ++++-- .../HLTMenuConfig/Jet/JetTrackingConfig.py | 105 ++++++++++++++++++ .../HLTMenuConfig/MET/METRecoSequences.py | 2 +- .../python/HLTMenuConfig/Menu/LS2_v1.py | 10 +- .../HLTMenuConfig/Menu/Physics_pp_run3_v1.py | 9 +- .../HLTMenuConfig/Menu/SignatureDicts.py | 2 +- 20 files changed, 322 insertions(+), 129 deletions(-) create mode 100644 Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py diff --git a/Reconstruction/Jet/JetMomentTools/python/JetMomentToolsConfig.py b/Reconstruction/Jet/JetMomentTools/python/JetMomentToolsConfig.py index 67c2fab050e1..58348c5602d2 100644 --- a/Reconstruction/Jet/JetMomentTools/python/JetMomentToolsConfig.py +++ b/Reconstruction/Jet/JetMomentTools/python/JetMomentToolsConfig.py @@ -14,6 +14,30 @@ jetmomentlog = Logging.logging.getLogger('JetMomentToolsConfig') from JetRecTools import JetRecToolsConfig from JetMomentTools import JetMomentToolsConf +# May need to specify non-standard tracking collections, e.g. for trigger +# Testing code -- move to another module and perhaps allow extensions +# e.g. in a dedicated trigger collections module to keep online/offline +# code more factorised +trackcolls = { + "":"InDetTrackParticles", + "ftf":"HLT_xAODTracks_FS", +} + +vertexcolls = { + "":"PrimaryVertices", + "ftf":"HLT_EFHistoPrmVtx" +} + +tvacolls = { + "":"JetTrackVtxAssoc", + "ftf":"JetTrackVtxAssoc_ftf" +} + +assoctracks = { + "":"GhostTrack", + "ftf":"GhostTrack_ftf" +} + def getCaloQualityTool(): caloqual = JetMomentToolsConf.JetCaloQualityTool( "caloqual", @@ -66,41 +90,51 @@ def getConstitFourMomTool(jetdef): return cfourmom # Jet vertex fraction with selection. -def getJVFTool(): +def getJVFTool(modspec=""): jettrackselloose = JetRecToolsConfig.getTrackSelTool() jvf = JetMomentToolsConf.JetVertexFractionTool( "jvf", - VertexContainer = "PrimaryVertices", - AssociatedTracks = "GhostTrack", - TrackVertexAssociation = "JetTrackVtxAssoc", - TrackParticleContainer = "JetSelectedTracks", + VertexContainer = vertexcolls[modspec], + AssociatedTracks = assoctracks[modspec], + TrackVertexAssociation = tvacolls[modspec], + TrackParticleContainer = trackcolls[modspec], TrackSelector = jettrackselloose, ) return jvf -def getTrackMomentsTool(): +# Jet vertex fraction with selection. +def getJVTTool(modspec=""): + + jvt = JetMomentToolsConf.JetVertexTaggerTool( + "jvt", + VertexContainer = vertexcolls[modspec], + ) + return jvt + + +def getTrackMomentsTool(modspec=""): jettrackselloose = JetRecToolsConfig.getTrackSelTool() trackmoments = JetMomentToolsConf.JetTrackMomentsTool( "trkmoms", - VertexContainer = "PrimaryVertices", - AssociatedTracks = "GhostTrack", - TrackVertexAssociation = "JetTrackVtxAssoc", + VertexContainer = vertexcolls[modspec], + AssociatedTracks = assoctracks[modspec], + TrackVertexAssociation = tvacolls[modspec], TrackMinPtCuts = [500, 1000], TrackSelector = jettrackselloose ) return trackmoments -def getTrackSumMomentsTool(): +def getTrackSumMomentsTool(modspec=""): jettrackselloose = JetRecToolsConfig.getTrackSelTool() tracksummoments = JetMomentToolsConf.JetTrackSumMomentsTool( "trksummoms", - VertexContainer = "PrimaryVertices", - AssociatedTracks = "GhostTrack", - TrackVertexAssociation = "JetTrackVtxAssoc", + VertexContainer = vertexcolls[modspec], + AssociatedTracks = assoctracks[modspec], + TrackVertexAssociation = tvacolls[modspec], RequireTrackPV = True, TrackSelector = jettrackselloose ) diff --git a/Reconstruction/Jet/JetRecConfig/python/StandardJetMods.py b/Reconstruction/Jet/JetRecConfig/python/StandardJetMods.py index 8ece35d42051..28718aeda7a8 100644 --- a/Reconstruction/Jet/JetRecConfig/python/StandardJetMods.py +++ b/Reconstruction/Jet/JetRecConfig/python/StandardJetMods.py @@ -69,6 +69,7 @@ jetmomentmods = { helperfn=JetMomentToolsConfig.getJVFTool, prereqs = ["mod:TrackMoments"] ), "JVT": JetModifier("JetVertexTaggerTool", "jvt", + helperfn=JetMomentToolsConfig.getJVTTool, prereqs = [ "mod:JVF" ]), "OriginSetPV": JetModifier("JetOriginCorrectionTool", "origin_setpv", prereqs = [ "mod:JVF" ]), diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref index d6ba14a434ff..757683d74d9a 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref @@ -50,28 +50,30 @@ TrigSignatureMoniMT INFO HLT_g5_etcut_LArPEB_L1EM TrigSignatureMoniMT INFO HLT_g5_etcut_LArPEB_L1EM3 decisions 140 140 185 185 0 0 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J2019 19 15 0 0 0 0 0 15 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 decisions 39 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J1004 4 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J1004 4 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J1004 4 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J1004 4 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J1004 4 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J1004 4 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J1004 4 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J1004 4 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 19 19 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA493 3 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA49 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J2019 19 19 18 18 0 0 0 18 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J20 decisions 69 48 48 0 0 0 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J2019 19 19 18 18 0 0 0 18 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J20 decisions 69 48 48 0 0 0 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J2019 19 19 19 18 18 0 0 18 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J20 decisions 19 68 46 46 0 0 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J2019 19 19 19 18 18 0 0 18 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J20 decisions 19 68 46 46 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J100 4 4 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 19 19 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j45_L1J15 20 20 18 0 0 0 0 0 18 TrigSignatureMoniMT INFO HLT_j45_L1J15 decisions 18 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 20 20 18 0 0 0 0 0 18 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 decisions 18 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J1004 4 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J20 19 19 0 0 0 0 0 0 0 @@ -90,6 +92,8 @@ TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 decisions 13 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j85_L1J20 19 19 13 0 0 0 0 0 13 TrigSignatureMoniMT INFO HLT_j85_L1J20 decisions 13 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 19 19 13 0 0 0 0 0 13 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 decisions 13 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 10 10 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 10 10 10 5 3 0 0 0 3 diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuHelper.py b/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuHelper.py index 40319961748e..f3811e6315e9 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuHelper.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuHelper.py @@ -18,7 +18,13 @@ def jetDictFromString(jet_def_string): "recoAlg": jetalg, "dataType": inputtype, "calib": clusterscale, - "jetCalib": jetcalib + "jetCalib": jetcalib, + # Default to this for now pending further development. + # Ideally it'd be better to deprecate this and instead + # take the defaults from SignatureDicts for most + # purposes, but this can wait until the needs of clients + # are more clear. + "trkopt" : "notrk" } return jetRecoDict diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref index ac84916f1579..61a2aad29658 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref @@ -54,28 +54,30 @@ TrigSignatureMoniMT INFO HLT_g5_etcut_LArPEB_L1E TrigSignatureMoniMT INFO HLT_g5_etcut_LArPEB_L1EM3 decisions 51 51 55 55 0 0 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J2020 20 1 0 0 0 0 0 1 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 decisions 2 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J10020 20 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J10020 20 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J10020 20 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J10020 20 0 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J10020 20 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J10020 20 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J10020 20 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J10020 20 0 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 20 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA4920 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA49 decisions 0 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J2020 20 6 5 5 0 0 0 5 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J20 decisions 9 5 5 0 0 0 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J2020 20 6 5 5 0 0 0 5 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J20 decisions 9 5 5 0 0 0 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J2020 20 6 6 5 5 0 0 5 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J20 decisions 6 9 5 5 0 0 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J2020 20 6 6 5 5 0 0 5 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J20 decisions 6 9 5 5 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J100 20 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 20 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j45_L1J15 20 20 5 0 0 0 0 0 5 TrigSignatureMoniMT INFO HLT_j45_L1J15 decisions 5 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 20 20 5 0 0 0 0 0 5 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 decisions 5 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J10020 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J100 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J20 20 20 0 0 0 0 0 0 0 @@ -94,6 +96,8 @@ TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 decisions 1 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_j85_L1J20 20 20 1 0 0 0 0 0 1 TrigSignatureMoniMT INFO HLT_j85_L1J20 decisions 1 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 20 20 1 0 0 0 0 0 1 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 decisions 1 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 20 20 0 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 decisions 0 0 0 0 0 0 TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 20 20 3 1 1 0 0 0 1 diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/slice_bjet.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/slice_bjet.ref index 3c1352bf0b75..733267b3460c 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/slice_bjet.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/slice_bjet.ref @@ -1,12 +1,12 @@ -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J100100 100 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j175_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J100100 100 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J100100 100 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J100100 100 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J20100 100 35 31 31 31 -TrigSignatureMoniMT INFO HLT_j35_gsc45_bmv2c1070_split_L1J20 decisions 89 57 57 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J20100 100 35 31 31 31 -TrigSignatureMoniMT INFO HLT_j35_gsc45_boffperf_split_L1J20 decisions 89 57 57 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J100100 100 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j175_ftf_gsc225_bmv2c1040_split_L1J100 decisions 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J100100 100 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc275_bmv2c1060_split_L1J100 decisions 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J100100 100 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc300_bmv2c1070_split_L1J100 decisions 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J100100 100 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_ftf_gsc360_bmv2c1077_split_L1J100 decisions 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J20100 100 35 35 31 31 31 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_bmv2c1070_split_L1J20 decisions 35 90 57 57 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J20100 100 35 35 31 31 31 +TrigSignatureMoniMT INFO HLT_j35_ftf_gsc45_boffperf_split_L1J20 decisions 35 90 57 57 diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/slice_jet.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/slice_jet.ref index 5a7623a1c11d..30f5694c87d6 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/slice_jet.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/slice_jet.ref @@ -1,22 +1,42 @@ -TrigSignatureMoniMT INFO HLT_2j330_a10t_lcw_jes_30smcINF_L1J2020 20 0 0 -TrigSignatureMoniMT INFO HLT_2j330_a10t_lcw_jes_30smcINF_L1J20 decisions 0 +TrigSignatureMoniMT INFO HLT_2j330_a10t_lcw_jes_35smcINF_L1J10020 20 0 0 +TrigSignatureMoniMT INFO HLT_2j330_a10t_lcw_jes_35smcINF_L1J100 decisions 0 +TrigSignatureMoniMT INFO HLT_3j200_L1J100 20 20 0 0 +TrigSignatureMoniMT INFO HLT_3j200_L1J100 decisions 0 TrigSignatureMoniMT INFO HLT_3j200_L1J20 20 20 0 0 TrigSignatureMoniMT INFO HLT_3j200_L1J20 decisions 0 -TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 20 20 0 0 -TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 decisions 0 +TrigSignatureMoniMT INFO HLT_5j70_0eta240_L14J20 20 20 0 0 +TrigSignatureMoniMT INFO HLT_5j70_0eta240_L14J20 decisions 0 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J2020 20 1 1 TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 decisions 2 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 20 20 0 0 TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 decisions 0 +TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA4920 20 0 0 +TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J75_31ETA49 decisions 0 +TrigSignatureMoniMT INFO HLT_j420_L1J100 20 20 0 0 +TrigSignatureMoniMT INFO HLT_j420_L1J100 decisions 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 20 20 0 0 TrigSignatureMoniMT INFO HLT_j420_L1J20 decisions 0 -TrigSignatureMoniMT INFO HLT_j420_a10t_lcw_jes_30smcINF_L1J2020 20 0 0 -TrigSignatureMoniMT INFO HLT_j420_a10t_lcw_jes_30smcINF_L1J20 decisions 0 -TrigSignatureMoniMT INFO HLT_j45_L1J20 20 20 5 5 -TrigSignatureMoniMT INFO HLT_j45_L1J20 decisions 5 +TrigSignatureMoniMT INFO HLT_j45_L1J15 20 20 5 5 +TrigSignatureMoniMT INFO HLT_j45_L1J15 decisions 5 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 20 20 5 5 +TrigSignatureMoniMT INFO HLT_j45_ftf_L1J15 decisions 5 +TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J10020 20 0 0 +TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J100 decisions 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J20 20 20 0 0 TrigSignatureMoniMT INFO HLT_j460_a10_lcw_subjes_L1J20 decisions 0 +TrigSignatureMoniMT INFO HLT_j460_a10r_L1J100 20 20 0 0 +TrigSignatureMoniMT INFO HLT_j460_a10r_L1J100 decisions 0 TrigSignatureMoniMT INFO HLT_j460_a10r_L1J20 20 20 0 0 TrigSignatureMoniMT INFO HLT_j460_a10r_L1J20 decisions 0 +TrigSignatureMoniMT INFO HLT_j460_a10t_lcw_jes_30smcINF_L1J10020 20 0 0 +TrigSignatureMoniMT INFO HLT_j460_a10t_lcw_jes_30smcINF_L1J100 decisions 0 +TrigSignatureMoniMT INFO HLT_j460_a10t_lcw_jes_L1J100 20 20 0 0 +TrigSignatureMoniMT INFO HLT_j460_a10t_lcw_jes_L1J100 decisions 0 +TrigSignatureMoniMT INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J2020 20 1 1 +TrigSignatureMoniMT INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20 decisions 1 +TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 20 20 1 1 +TrigSignatureMoniMT INFO HLT_j80_j60_L1J15 decisions 1 TrigSignatureMoniMT INFO HLT_j85_L1J20 20 20 1 1 TrigSignatureMoniMT INFO HLT_j85_L1J20 decisions 1 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 20 20 1 1 +TrigSignatureMoniMT INFO HLT_j85_ftf_L1J20 decisions 1 diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index 9e54c2b60295..2920d9bfcd99 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -224,7 +224,10 @@ TriggerHLTListRun3 = [ ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'), ('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesISAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'), - ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjes', 'BS ESD AODFULL', 'Jet'), + ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS_ftf', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'), + ('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesIS_ftfAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'), + + ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjes', 'BS ESD AODFULL', 'Jet'), ('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesAux.'+JetVars, 'BS ESD AODFULL', 'Jet'), ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_nojcalib', 'BS ESD AODFULL', 'Jet'), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetDef.py index 71fc80d0b4bb..bf3233b31f72 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetDef.py @@ -14,7 +14,7 @@ from TriggerMenuMT.HLTMenuConfig.Bjet.BjetSequenceSetup import getBJetSequence # fragments generating configuration will be functions in New JO, # so let's make them functions already now #---------------------------------------------------------------- -def bjetSequenceCfg_j( flags ): +def bjetSequenceCfg_j( flags ): return getBJetSequence('j') def bjetSequenceCfg_gsc( flags ): @@ -30,7 +30,7 @@ class BjetChainConfiguration(ChainConfigurationBase): def __init__(self, chainDict): ChainConfigurationBase.__init__(self,chainDict) - + # ---------------------- # Assemble the chain depending on information from chainName # ---------------------- @@ -62,6 +62,7 @@ class BjetChainConfiguration(ChainConfigurationBase): def getBjetSequence_j(self): stepName = "Step1_bjet" log.debug("Configuring step " + stepName) + bjetSeq = RecoFragmentsPool.retrieve( bjetSequenceCfg_j, None ) # the None will be used for flags in future return ChainStep(stepName, [bjetSeq]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py index 7f4841adf597..a5a126f60118 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py @@ -31,48 +31,23 @@ def getBJetSequence( step ): # ==================================================================================================== def bJetStep1Sequence(): + jetsKey = "HLT_AntiKt4EMTopoJets_subjesIS_ftf" + prmVtxKey = "HLT_EFHistoPrmVtx" + + from DecisionHandling.DecisionHandlingConf import InputMakerForRoI + InputMakerAlg = InputMakerForRoI("IMstep1bjet", RoIsLink="initialRoI") + InputMakerAlg.RoIs = "BjetInputRoI" - from TrigUpgradeTest.jetMenuHelper import jetCFSequenceFromString - (recoSequence, InputMakerAlg, sequenceOut) = jetCFSequenceFromString("a4_tc_em_subjes") - - # Start with b-jet-specific algo sequence - # Construct RoI. Needed input for Fast Tracking - from TrigBjetHypo.TrigBjetHypoConf import TrigRoIFromJetsMT - RoIBuilder = TrigRoIFromJetsMT("TrigRoIFromJetsMT") - RoIBuilder.JetInputKey = sequenceOut - RoIBuilder.RoIOutputKey = "BjetRoIs" - RoIs=RoIBuilder.RoIOutputKey - - # Fast Tracking - viewAlgs = makeInDetAlgs(whichSignature='FS',separateTrackParticleCreator="_FS", rois=RoIs) - - # Primary Vertex - #from TrigT2HistoPrmVtx.TrigT2HistoPrmVtxAllTEMTConfig import EFHistoPrmVtxAllTEMT_Jet - #prmVtx = EFHistoPrmVtxAllTEMT_Jet( "EFHistoPrmVtxAllTEMT_Jet" ) - #prmVtx.InputRoIsKey = RoIs - #prmVtx.InputTracksKey = "HLT_xAODTracks_FS" - #prmVtx.OutputVertexKey = recordable("HLT_EFHistoPrmVtx") - - from TrigInDetConfig.TrigInDetPriVtxConfig import makeVertices - - - #TODO need to change the name of the output vertex collection to something recordable - outputVertexKey = "HLT_EFHistoPrmVtx" - vtxAlgs = makeVertices( "egamma", "HLT_xAODTracks_FS", outputVertexKey ) - prmVtx = vtxAlgs[-1] - - # Shortlis of jets + # Shortlist of jets from TrigBjetHypo.TrigBjetHypoConf import TrigJetSplitterMT jetSplitter = TrigJetSplitterMT("TrigJetSplitterMT") jetSplitter.ImposeZconstraint = True - jetSplitter.Jets = sequenceOut + jetSplitter.Jets = jetsKey jetSplitter.OutputJets = recordable("HLT_SplitJet") jetSplitter.OutputRoi = "SplitJets" - #jetSplitter.InputVertex = prmVtx.OutputVertexKey - jetSplitter.InputVertex = outputVertexKey + jetSplitter.InputVertex = prmVtxKey - fastTrackingSequence = parOR("fastTrackingSequence",viewAlgs) - bJetEtSequence = seqAND("bJetEtSequence",[ RoIBuilder,fastTrackingSequence,prmVtx,jetSplitter] ) + bJetEtSequence = seqAND("bJetEtSequence",[ jetSplitter] ) # hypo from TrigBjetHypo.TrigBjetHypoConf import TrigBjetEtHypoAlgMT @@ -82,10 +57,10 @@ def bJetStep1Sequence(): hypo.PrmVtxLink = "xPrimVx" hypo.Jets = jetSplitter.OutputJets hypo.RoIs = jetSplitter.OutputRoi - hypo.PrmVtx = outputVertexKey + hypo.PrmVtx = prmVtxKey - # Sequence - BjetAthSequence = seqAND("BjetAthSequence_step1", [InputMakerAlg,recoSequence,bJetEtSequence]) + # Sequence + BjetAthSequence = seqAND("BjetAthSequence_step1",[InputMakerAlg,bJetEtSequence]) return MenuSequence( Sequence = BjetAthSequence, Maker = InputMakerAlg, diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/GenerateBjetChainDefs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/GenerateBjetChainDefs.py index 6fc270386773..09a8483d741a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/GenerateBjetChainDefs.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/GenerateBjetChainDefs.py @@ -2,7 +2,7 @@ from TriggerMenuMT.HLTMenuConfig.Menu.ChainDictTools import splitChainDict from TriggerMenuMT.HLTMenuConfig.Bjet.BjetDef import BjetChainConfiguration as BjetChainConfiguration - +from TriggerMenuMT.HLTMenuConfig.Jet.JetChainConfiguration import JetChainConfiguration from AthenaCommon.Logging import logging log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Bjet.GenerateBjetChainConfigs' ) @@ -19,10 +19,14 @@ def generateChainConfigs( chainDict ): listOfChainDefs = [] for subChainDict in listOfChainDicts: - + + subChainDict['chainParts']['signature'] = 'Jet' + + jet = JetChainConfiguration(subChainDict).assembleChain() Bjet = BjetChainConfiguration(subChainDict).assembleChain() + jet.steps = jet.steps + Bjet.steps - listOfChainDefs += [Bjet] + listOfChainDefs += [jet] log.debug('length of chaindefs %s', len(listOfChainDefs) ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py index 0ac3dbaed317..c208dcaae0c7 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py @@ -16,11 +16,9 @@ class JetChainConfiguration(ChainConfigurationBase): def __init__(self, chainDict): ChainConfigurationBase.__init__(self,chainDict) - # interpret the reco configuration only - # eventually should just be a subdict in the chainDict - recoKeys = ['recoAlg','dataType','calib','jetCalib','trkopt','cleaning'] - self.recoDict = { key:self.dict["chainParts"][key] for key in recoKeys } - + from TriggerMenuMT.HLTMenuConfig.Jet.JetRecoConfiguration import extractRecoDict + self.recoDict = extractRecoDict(self.dict["chainParts"]) + # ---------------------- # Assemble the chain depending on information from chainName # ---------------------- diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py index d3a0030a6cd5..f33061578354 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py @@ -7,7 +7,6 @@ from TriggerMenuMT.HLTMenuConfig.Jet.JetRecoSequences import jetAthSequence, jet def jetCFSequence(dummyFlags,**recoDict): """ Function to create the jet Menu Sequence""" - ## RoIs = 'FSJETRoI' #reco sequence (JetAthSequence, InputMakerAlg, sequenceOut) = RecoFragmentsPool.retrieve(jetAthSequence,None,**recoDict) return (JetAthSequence, InputMakerAlg, sequenceOut) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py index c4858141eaa2..a14aee1de8f5 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py @@ -9,6 +9,13 @@ from JetRecConfig.JetDefinition import JetConstit, xAODType, JetDefinition +# Extract the jet reco dict from the chainDict +def extractRecoDict(chainParts): + # interpret the reco configuration only + # eventually should just be a subdict in the chainDict + recoKeys = ['recoAlg','dataType','calib','jetCalib','trkopt','cleaning'] + return { key:chainParts[key] for key in recoKeys } + # Define the jet constituents to be interpreted by JetRecConfig # When actually specifying the reco, clustersKey should be # set, but default to None to allow certain checks, in particular @@ -27,11 +34,13 @@ def defineJetConstit(jetRecoDict,clustersKey=None): jetConstit = JetConstit( xAODType.CaloCluster, constitMods ) if clustersKey is not None: jetConstit.rawname = clustersKey + if jetRecoDict["dataType"]=="tc": + jetConstit.inputname = clustersKey # apply constituent pileup suppression + if "cs" in jetRecoDict["dataType"]: + constitMods.append("CS") if "sk" in jetRecoDict["dataType"]: constitMods.append("SK") - elif clustersKey is not None: - jetConstit.inputname = clustersKey return jetConstit # Arbitrary min pt for fastjet, set to be low enough for MHT(?) @@ -64,6 +73,14 @@ from JetRecConfig.StandardJetMods import jetmoddict def getModSpec(modname,modspec=''): return (jetmoddict[modname],str(modspec)) +def defineTrackMods(trkopt): + trkmods = [ + (jetmoddict["TrackMoments"],trkopt), + (jetmoddict["JVF"],trkopt), + (jetmoddict["JVT"],trkopt) + ] + return trkmods + # Translate calib specification into something understood by # the calibration config helper def defineCalibFilterMods(jetRecoDict,dataSource): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py index b10e89169f69..bc0dea420db2 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py @@ -10,6 +10,8 @@ import JetRecoConfiguration # Translate the reco dict to a string for suffixing etc def jetRecoDictToString(jetRecoDict): strtemp = "{recoAlg}_{dataType}_{calib}_{jetCalib}" + if jetRecoDict["trkopt"] != "notrk": + strtemp += "_{trkopt}" return strtemp.format(**jetRecoDict) # Configure reco from a dict of options @@ -103,6 +105,14 @@ def jetRecoSequence( dummyFlags, dataSource, RoIs = 'FSJETRoI', **jetRecoDict): (topoClusterSequence, clustersKey) = RecoFragmentsPool.retrieve(HLTFSTopoRecoSequence,RoIs) recoSeq += topoClusterSequence + # Set up tracking sequence -- may need to reorganise or relocate + # depending on how we want to handle HLT preselection + trkcolls = None + if jetRecoDict["trkopt"] != "notrk": + from JetTrackingConfig import JetTrackingSequence + (jettrkseq, trkcolls) = RecoFragmentsPool.retrieve( JetTrackingSequence, None, trkopt=jetRecoDict["trkopt"], RoIs=RoIs) + recoSeq += jettrkseq + # Potentially add particle flow reconstruction # Work in progress if jetRecoDict["dataType"] == "pf": @@ -115,26 +125,35 @@ def jetRecoSequence( dummyFlags, dataSource, RoIs = 'FSJETRoI', **jetRecoDict): if doConstitMods: from JetRecConfig.ConstModHelpers import getConstitModAlg recoSeq += getConstitModAlg(jetDef.inputdef,"HLT") + + # Add the PseudoJetGetter alg to the sequence + constitPJAlg = getConstitPJGAlg( jetDef.inputdef ) + constitPJKey = constitPJAlg.PJGetter.OutputContainer + recoSeq += constitPJAlg + # Basic list of PseudoJets is just the constituents + # Append ghosts (tracks) if desired + pjs = [constitPJKey] + if trkcolls: + pjs.append(trkcolls["GhostTracks"]) # chosen jet collection jetsFullName = jetNamePrefix+jetDef.basename+"Jets_"+jetRecoDict["jetCalib"] + if jetRecoDict["trkopt"] != "notrk": + jetsFullName += "_{}".format(jetRecoDict["trkopt"]) sequenceOut = recordable(jetsFullName) from JetRecConfig import JetRecConfig + jetModList = [] + if jetRecoDict["trkopt"] != "notrk": + trkMods = JetRecoConfiguration.defineTrackMods(jetRecoDict["trkopt"]) + jetModList += trkMods + # Import the standard jet modifiers as defined for offline # We can add/configure these differently if desired. In particular, # we could define a TriggerJetMods module if settings need to # diverge substantially e.g. track/vertex collections calibMods = JetRecoConfiguration.defineCalibFilterMods(jetRecoDict,dataSource) - jetModList = calibMods - - # Add the PseudoJetGetter alg to the sequence - constitPJAlg = getConstitPJGAlg( jetDef.inputdef ) - constitPJKey = constitPJAlg.PJGetter.OutputContainer - recoSeq += constitPJAlg - # Basic list of PseudoJets is just the constituents - # Append ghosts (tracks) if desired - pjs = [constitPJKey] + jetModList += calibMods if "sub" in jetRecoDict["jetCalib"]: # Add the event shape alg if needed for area subtraction diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py new file mode 100644 index 000000000000..66af99bb6a2b --- /dev/null +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py @@ -0,0 +1,105 @@ +# +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# + +from AthenaCommon.CFElements import parOR +from TrigEDMConfig.TriggerEDMRun3 import recordable + +from JetRecTools import JetRecToolsConf + +# From JetRecToolsConfig -- needs more than offline, though could extend that setup with more options +# For now, leave until this has stabilised +def getTrackSelTool(trkopt, tracksname): + jettracksname = "JetSelectedTracks_{}".format("trkopt") + + # Track selector needs its own hierarchical config getter in JetRecTools? + from InDetTrackSelectionTool import InDetTrackSelectionToolConf + idtrackselloose = InDetTrackSelectionToolConf.InDet__InDetTrackSelectionTool( + "idtrackselloose", + CutLevel = "Loose", + minPt = 500, + UseTrkTrackTools = False, + Extrapolator = "", + TrackSummaryTool = "" + ) + jettrackselloose = JetRecToolsConf.JetTrackSelectionTool( + "jettrackselloose", + InputContainer = tracksname, + OutputContainer = jettracksname, + Selector = idtrackselloose + ) + return jettrackselloose, jettracksname + +def getTrackVertexAssocTool(trkopt,tracksname,verticesname): + tvaname = "JetTrackVtxAssoc_{}".format(trkopt) + # Track-vertex association + from TrackVertexAssociationTool import TrackVertexAssociationToolConf + idtvassoc = TrackVertexAssociationToolConf.CP__TrackVertexAssociationTool("idloosetvassoc") + + jettvassoc = JetRecToolsConf.TrackVertexAssociationTool( + "jettvassoc", + TrackParticleContainer = tracksname, + TrackVertexAssociation = tvaname, + VertexContainer = verticesname, + TrackVertexAssoTool = idtvassoc, + ) + return jettvassoc, tvaname + + +def JetTrackingSequence(dummyFlags,trkopt,RoIs): + jetTrkSeq = parOR( "JetTrackingSeq_"+trkopt, []) + tracksname = "" + verticesname = "" + + if trkopt=="ftf": + from TriggerMenuMT.HLTMenuConfig.CommonSequences.InDetSetup import makeInDetAlgs + # Guess FS rather than making it jet-specific? + viewAlgs = makeInDetAlgs( "FS", rois=RoIs ) + + for alg in viewAlgs: + if "RoIs" in alg.properties(): + alg.RoIs = RoIs + if "roiCollectionName" in alg.properties(): + alg.roiCollectionName = RoIs + jetTrkSeq += alg + tracksname = recordable("HLT_xAODTracks_FS") + verticesname = recordable("HLT_EFHistoPrmVtx") + + from TrigInDetConfig.TrigInDetPriVtxConfig import makeVertices + vtxAlgs = makeVertices( "jet", "HLT_xAODTracks_FS", verticesname ) + prmVtx = vtxAlgs[-1] + jetTrkSeq += prmVtx + + # Jet track selection + jettrackselloose, jettracksname = getTrackSelTool(trkopt, tracksname) + jettvassoc, tvaname = getTrackVertexAssocTool(trkopt, tracksname, verticesname) + + from JetRec import JetRecConf + jettrkprepalg = JetRecConf.JetAlgorithm("jetalg_TrackPrep") + jettrkprepalg.Tools = [ jettrackselloose, jettvassoc ] + jetTrkSeq += jettrkprepalg + + label = "GhostTrack_{}".format(trkopt) + ghosttracksname = "PseudoJet{}".format(label) + pjg = JetRecConf.PseudoJetGetter("pjg_{}".format(label), + InputContainer=tracksname, + OutputContainer=ghosttracksname, + Label=label, + SkipNegativeEnergy=True, + GhostScale=1e-40) + + pjgalg = JetRecConf.PseudoJetAlgorithm( + "pjgalg_"+label, + PJGetter=pjg + ) + jetTrkSeq += pjgalg + + trkcolls = { + "Tracks": tracksname, + "Vertices": verticesname, + "JetTracks": jettracksname, + "TVA": tvaname, + "GhostTracks": ghosttracksname + } + + return jetTrkSeq, trkcolls diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py index 2970aa8338b6..8b0674859c69 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py @@ -126,7 +126,7 @@ def metJetAthSequence(ConfigFlags): def metJetRecoSequence(RoIs = 'FSJETRoI'): from TriggerMenuMT.HLTMenuConfig.Jet.JetRecoSequences import jetRecoSequence - jetRecoDict={"recoAlg":"a4", "dataType": "tc", "calib": "em", "jetCalib": "subjes"} + jetRecoDict={"recoAlg":"a4", "dataType": "tc", "calib": "em", "jetCalib": "subjes", "trkopt": "notrk"} (jetSeq, sequenceOut) = RecoFragmentsPool.retrieve( jetRecoSequence, None, dataSource="data", **jetRecoDict ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py index 1fc2b067a0fc..f207eafd6cd3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py @@ -82,6 +82,11 @@ def setupMenu(): ChainProp(name='HLT_j45_L1J15', groups=SingleJetGroup), ChainProp(name='HLT_j420_L1J20', groups=SingleJetGroup), + ChainProp(name='HLT_j45_ftf_L1J15', groups=SingleJetGroup), + ChainProp(name='HLT_j85_ftf_L1J20', groups=SingleJetGroup), + + # Intentionally omitted for now, to be implemented later + #ChainProp(name='HLT_j225_gsc420_boffperf_split_L1J20', groups=SingleJetGroup), ChainProp(name='HLT_j260_320eta490_L1J20', groups=SingleJetGroup), ChainProp(name='HLT_j460_a10_lcw_subjes_L1J20', groups=SingleJetGroup), @@ -93,9 +98,8 @@ def setupMenu(): ] TriggerFlags.BjetSlice.signatures = TriggerFlags.BjetSlice.signatures() + [ - #ATR-20049 - ChainProp(name="HLT_j35_gsc45_boffperf_split_L1J20", groups=SingleBjetGroup), - ChainProp(name="HLT_j35_gsc45_bmv2c1070_split_L1J20", groups=SingleBjetGroup), + ChainProp(name="HLT_j35_ftf_gsc45_boffperf_split_L1J20", groups=SingleBjetGroup), + ChainProp(name="HLT_j35_ftf_gsc45_bmv2c1070_split_L1J20", groups=SingleBjetGroup), ] TriggerFlags.TauSlice.signatures = TriggerFlags.TauSlice.signatures() + [ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py index db34b321bdc1..08bdd380a5b3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py @@ -84,11 +84,10 @@ def setupMenu(): ] TriggerFlags.BjetSlice.signatures = [ - #ATR-20049 - ChainProp(name="HLT_j175_gsc225_bmv2c1040_split_L1J100", groups=SingleBjetGroup), - ChainProp(name="HLT_j225_gsc275_bmv2c1060_split_L1J100", groups=SingleBjetGroup), - ChainProp(name="HLT_j225_gsc300_bmv2c1070_split_L1J100", groups=SingleBjetGroup), - ChainProp(name="HLT_j225_gsc360_bmv2c1077_split_L1J100", groups=SingleBjetGroup), + ChainProp(name="HLT_j175_ftf_gsc225_bmv2c1040_split_L1J100", groups=SingleBjetGroup), + ChainProp(name="HLT_j225_ftf_gsc275_bmv2c1060_split_L1J100", groups=SingleBjetGroup), + ChainProp(name="HLT_j225_ftf_gsc300_bmv2c1070_split_L1J100", groups=SingleBjetGroup), + ChainProp(name="HLT_j225_ftf_gsc360_bmv2c1077_split_L1J100", groups=SingleBjetGroup), ] TriggerFlags.TauSlice.signatures = [ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index 97a8d9e147dc..41127f45c97a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -115,7 +115,7 @@ JetChainParts = { 'bTracking' : [], 'bConfig' : ['split',], 'bMatching' : ['antimatchdr05mu'], - 'trkopt' : [], + 'trkopt' : ['notrk','ftk','ftkrefit','ftf'], 'hypoScenario' : ['simple', 'vbenf', 'vbenfSEP30etSEP34mass35SEP50fbet', 'dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass'], -- GitLab