diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index d1e09209b0e42a6af5e1826093475c6022912aad..28210fd550c4e9ad2893054a7212c1a600759682 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -9782,6 +9782,16 @@ HLT_j20_0eta290_boffperf_pf_ftf_preselj180_PhysicsTLA_L1J100: 2: 11 3: 11 4: 1 +HLT_j20_JetPEBPhysicsTLA_L1HT190-J15s5pETA21: + eventCount: 4 + stepCounts: + 0: 4 + 1: 4 + 2: 4 + stepFeatures: + 0: 32 + 1: 32 + 2: 32 HLT_j20_PhysicsTLA_L1HT190-J15s5pETA21: eventCount: 4 stepCounts: @@ -9878,6 +9888,18 @@ HLT_j20_pf_ftf_presel6j40_PhysicsTLA_L14J15: 1: 20 2: 20 3: 2 +HLT_j20_pf_ftf_preselcHT450_JetPEBPhysicsTLA_L1HT190-J15s5pETA21: + eventCount: 1 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + stepFeatures: + 0: 1 + 1: 11 + 2: 11 + 3: 11 HLT_j20_pf_ftf_preselcHT450_PhysicsTLA_L1HT190-J15s5pETA21: eventCount: 1 stepCounts: @@ -17058,6 +17080,30 @@ HLT_mu8_L1MU5VF: 1: 12 2: 10 3: 9 +HLT_noalg_AFPPEB_L12MU5VF: + eventCount: 3 + stepCounts: + 0: 3 + stepFeatures: + 0: 3 +HLT_noalg_AFPPEB_L1EM22VHI: + eventCount: 10 + stepCounts: + 0: 10 + stepFeatures: + 0: 10 +HLT_noalg_AFPPEB_L1J100: + eventCount: 3 + stepCounts: + 0: 3 + stepFeatures: + 0: 3 +HLT_noalg_AFPPEB_L1MU14FCH: + eventCount: 5 + stepCounts: + 0: 5 + stepFeatures: + 0: 5 HLT_noalg_CostMonDS_L1All: eventCount: 20 stepCounts: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 7ce35b54168a2c39ff532409238279c9570c975c..4b8b7eda09ebb7a4f4aa944bffcfb6025add6028 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -3626,6 +3626,8 @@ HLT_j20_0eta290_boffperf_pf_ftf_preselj140_PhysicsTLA_L1J50_DETA20-J50J: eventCount: 0 HLT_j20_0eta290_boffperf_pf_ftf_preselj180_PhysicsTLA_L1J100: eventCount: 0 +HLT_j20_JetPEBPhysicsTLA_L1HT190-J15s5pETA21: + eventCount: 0 HLT_j20_PhysicsTLA_L1HT190-J15s5pETA21: eventCount: 0 HLT_j20_PhysicsTLA_L1HT190-jJ40s5pETA21: @@ -3668,6 +3670,8 @@ HLT_j20_pf_ftf_presel5j50_PhysicsTLA_L14J15: eventCount: 0 HLT_j20_pf_ftf_presel6j40_PhysicsTLA_L14J15: eventCount: 0 +HLT_j20_pf_ftf_preselcHT450_JetPEBPhysicsTLA_L1HT190-J15s5pETA21: + eventCount: 0 HLT_j20_pf_ftf_preselcHT450_PhysicsTLA_L1HT190-J15s5pETA21: eventCount: 0 HLT_j20_pf_ftf_preselj140_PhysicsTLA_L1J50: @@ -6754,6 +6758,26 @@ HLT_mu8_L1MU5VF: 1: 3 2: 2 3: 1 +HLT_noalg_AFPPEB_L12MU5VF: + eventCount: 1 + stepCounts: + 0: 1 + stepFeatures: + 0: 1 +HLT_noalg_AFPPEB_L1EM22VHI: + eventCount: 5 + stepCounts: + 0: 5 + stepFeatures: + 0: 5 +HLT_noalg_AFPPEB_L1J100: + eventCount: 0 +HLT_noalg_AFPPEB_L1MU14FCH: + eventCount: 2 + stepCounts: + 0: 2 + stepFeatures: + 0: 2 HLT_noalg_CostMonDS_L1All: eventCount: 50 stepCounts: diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/DataScoutingInfo.py b/Trigger/TriggerCommon/TrigEDMConfig/python/DataScoutingInfo.py index 4b171297636a706ab77870fa44d9fe0d2a3efdc3..093a4da6050fb9720e75b11f0aacfd5eb6deeab6 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/DataScoutingInfo.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/DataScoutingInfo.py @@ -21,6 +21,7 @@ CostMonDS, PhysicsTLA DataScoutingIdentifiers = { 'CostMonDS': 1, 'PhysicsTLA': 5, + 'JetPEBPhysicsTLA': 6, } @@ -29,6 +30,7 @@ TruncationThresholds = { 0: 5*(1024**2), # Main: 5 MB 1: 2*(1024**2), # CostMonDS: 2 MB 5: 1*(1024**2), # PhysicsTLA: 1 MB + 6: 1*(1024**2), # JetPEBPhysicsTLA: 1 MB } diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index cfa2a8227dea760a6bf91f220e31822f786fc0cc..bb0f1b4175c3dce70391752fe15d74514065e778 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -782,25 +782,26 @@ TriggerHLTListRun3 = [ ('xAOD::JetContainer#HLT_AntiKt4HIJets', 'BS ESD AODFULL', 'Jet'), ('xAOD::JetAuxContainer#HLT_AntiKt4HIJetsAux.'+HIJetVars, 'BS ESD AODFULL', 'Jet'), - # TLA jets + # TLA jets + PEB jets + ('TrigRoiDescriptorCollection#HLT_Roi_JetPEBPhysicsTLA', 'BS ESD JetPEBPhysicsTLA', 'Jet'), - ('xAOD::TrigCompositeContainer#HLT_TCEventInfo_TLA', 'BS PhysicsTLA ESD', 'Jet' ), - ('xAOD::TrigCompositeAuxContainer#HLT_TCEventInfo_TLAAux.JetDensityEMPFlow.JetDensityEMTopo.AvgMu.NumPV', 'BS PhysicsTLA ESD', 'Jet' ), + ('xAOD::TrigCompositeContainer#HLT_TCEventInfo_TLA', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet' ), + ('xAOD::TrigCompositeAuxContainer#HLT_TCEventInfo_TLAAux.JetDensityEMPFlow.JetDensityEMTopo.AvgMu.NumPV', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet' ), - ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS_TLA', 'BS PhysicsTLA ESD', 'Jet'), - ('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesIS_TLAAux.'+TLAJetVars, 'BS PhysicsTLA ESD', 'Jet'), + ('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS_TLA', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet'), + ('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesIS_TLAAux.'+TLAJetVars, 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet'), - ('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_TLA', 'BS PhysicsTLA ESD', 'Jet'), - ('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_TLAAux.'+TLAJetVars, 'BS PhysicsTLA ESD', 'Jet'), + ('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_TLA', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet'), + ('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_TLAAux.'+TLAJetVars, 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Jet'), # TLA Photons - ('xAOD::PhotonContainer#HLT_egamma_Photons_TLA', 'BS PhysicsTLA ESD', 'Egamma'), - ('xAOD::PhotonAuxContainer#HLT_egamma_Photons_TLAAux.', 'BS PhysicsTLA ESD', 'Egamma'), + ('xAOD::PhotonContainer#HLT_egamma_Photons_TLA', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Egamma'), + ('xAOD::PhotonAuxContainer#HLT_egamma_Photons_TLAAux.', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Egamma'), # TLA Muons - ('xAOD::MuonContainer#HLT_MuonsCB_RoI_TLA', 'BS PhysicsTLA ESD', 'Muon'), - ('xAOD::MuonAuxContainer#HLT_MuonsCB_RoI_TLAAux.', 'BS PhysicsTLA ESD', 'Muon'), + ('xAOD::MuonContainer#HLT_MuonsCB_RoI_TLA', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Muon'), + ('xAOD::MuonAuxContainer#HLT_MuonsCB_RoI_TLAAux.', 'BS PhysicsTLA JetPEBPhysicsTLA ESD', 'Muon'), # FS tracks ('xAOD::TrackParticleContainer#HLT_IDTrack_FS_FTF', 'BS ESD AODFULL', 'Jet'), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py index e1b4644e5329e8d05afed6edd0da7ac1ee2f67f6..ce6536c366e74320f955f1359c9ebce5f447775a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py @@ -201,6 +201,15 @@ def pebInfoWriterTool(flags, name, eventBuildType): SubDetector.TDAQ_CALO_JET_PROC_ROI, SubDetector.TDAQ_CTP ]) + elif 'JetPEBPhysicsTLA' == eventBuildType: + tool = RoIPEBInfoWriterToolCfg(name) + # Add subdetectors within a ROI for PEB + tool.addRegSelDets(flags,['Pixel', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD', 'TILE']) + tool.EtaWidth = 0.6 # half-width (the RoI is between etaJet-EtaWidth and etaJet+EtaWidth) + tool.PhiWidth = 0.6 + tool.MaxRoIs = 3 + moduleId = DataScoutingInfo.getDataScoutingResultID(eventBuildType) + tool.addHLTResultToROBList(moduleId) elif eventBuildType in DataScoutingInfo.getAllDataScoutingIdentifiers(): # Pure DataScouting configuration diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py index 1f75e2821a099d72a512449cc987ba1a94fba868..ab4168687b12ec8bcf3680dd0ce8537fa18fa090 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py @@ -80,7 +80,7 @@ def findTLAStep(chainConfig): def alignTLASteps(chain_configs, chain_dicts): def is_tla_dict(chainNameAndDict): - return chainNameAndDict[1]['eventBuildType'] == 'PhysicsTLA' + return 'PhysicsTLA' in chainNameAndDict[1]['eventBuildType'] all_tla_chain_dicts = dict(filter(is_tla_dict, chain_dicts.items())) all_tla_chain_names = list(all_tla_chain_dicts.keys()) @@ -92,7 +92,7 @@ def alignTLASteps(chain_configs, chain_dicts): all_tla_chain_configs = dict(filter(is_tla_config, chain_configs.items())) - maxTLAStepPosition = {} # {eventBuildType: N} + maxTLAStepPosition = 0 # {eventBuildType: N} def getTLAStepPosition(chainConfig): tlaStep = findTLAStep(chainConfig) @@ -106,16 +106,13 @@ def alignTLASteps(chain_configs, chain_dicts): # First loop to find the maximal TLA step positions to which we need to align for chainName, chainConfig in all_tla_chain_configs.items(): tlaStepPosition = getTLAStepPosition(chainConfig) - ebt = all_tla_chain_dicts[chainName]['eventBuildType'] - if ebt not in maxTLAStepPosition or tlaStepPosition > maxTLAStepPosition[ebt]: - maxTLAStepPosition[ebt] = tlaStepPosition - + if tlaStepPosition > maxTLAStepPosition: + maxTLAStepPosition = tlaStepPosition + # Second loop to insert empty steps before the TLA steps where needed for chainName, chainConfig in all_tla_chain_configs.items(): tlaStepPosition = getTLAStepPosition(chainConfig) - ebt = all_tla_chain_dicts[chainName]['eventBuildType'] - if tlaStepPosition < maxTLAStepPosition[ebt]: - numStepsNeeded = maxTLAStepPosition[ebt] - tlaStepPosition + if tlaStepPosition < maxTLAStepPosition: + numStepsNeeded = maxTLAStepPosition - tlaStepPosition log.debug('Aligning TLA step for chain %s by adding %d empty steps', chainName, numStepsNeeded) chainConfig.insertEmptySteps('EmptyTLAAlign', numStepsNeeded, tlaStepPosition-1) - diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 3a1102d64208fbc7865cd76d010795947bb6d0c7..b5f2ac922eab24e5b9b25fb76f6988874d4a34b1 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -171,6 +171,10 @@ def setupMenu(): ChainProp(name='HLT_j20_pf_ftf_presel6j40_PhysicsTLA_L14J15', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=MultiJetGroup+DevGroup), ## with calo fast-tag presel - so actually btag TLA ATR-23002 ChainProp(name='HLT_2j20_2j20_pf_ftf_presel2j25XX2j25b85_PhysicsTLA_L14J15p0ETA25', l1SeedThresholds=['FSNOSEED']*2, stream=['TLA'], groups=MultiJetGroup+DevGroup), + + #TLA+PEB test for jets ATR-21596, matching "multijet+PFlow" TLA chain in physics menu for cross-check of event size + ChainProp(name='HLT_j20_pf_ftf_preselcHT450_JetPEBPhysicsTLA_L1HT190-J15s5pETA21', l1SeedThresholds=['FSNOSEED'], stream=['TLAJetPEB'], groups=DevGroup+MultiJetGroup+LegacyTopoGroup), + ChainProp(name='HLT_j20_JetPEBPhysicsTLA_L1HT190-J15s5pETA21', l1SeedThresholds=['FSNOSEED'], stream=['TLAJetPEB'], groups=DevGroup+MultiJetGroup+LegacyTopoGroup), # ChainProp(name='HLT_6j25c_L14J15', l1SeedThresholds=['FSNOSEED'], groups=MultiJetGroup+DevGroup), @@ -561,6 +565,13 @@ def setupMenu(): # high-mu AFP ChainProp(name='HLT_2j20_mb_afprec_afpdijet_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED']*2, stream=[PhysicsStream],groups=['PS:Online']+MinBiasGroup+SupportLegGroup), + # Test PEB chains for AFP (single/di-lepton-seeded, can be prescaled) + # ATR-23946 + ChainProp(name='HLT_noalg_AFPPEB_L1EM22VHI', l1SeedThresholds=['FSNOSEED'], stream=['AFPPEB'], groups=MinBiasGroup), + ChainProp(name='HLT_noalg_AFPPEB_L1MU14FCH', l1SeedThresholds=['FSNOSEED'], stream=['AFPPEB'], groups=MinBiasGroup), + ChainProp(name='HLT_noalg_AFPPEB_L12MU5VF', l1SeedThresholds=['FSNOSEED'], stream=['AFPPEB'], groups=MinBiasGroup), + ChainProp(name='HLT_noalg_AFPPEB_L1J100', l1SeedThresholds=['FSNOSEED'], stream=['AFPPEB'], groups=MinBiasGroup), + #ATR-23156 will be superseeded by ATR-24698 ChainProp(name='HLT_mu4_j20_0eta290_boffperf_pf_ftf_dRAB03_L1MU3V', l1SeedThresholds=['MU3V','FSNOSEED'], groups=SingleBjetGroup), ChainProp(name='HLT_mu4_j35_0eta290_boffperf_pf_ftf_dRAB03_L1BTAG-MU3VjJ40', l1SeedThresholds=['MU3V','FSNOSEED'], groups=SingleBjetGroup+Topo2Group), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/StreamInfo.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/StreamInfo.py index e6bf90aa605f18ab728a2fbce384e6cfeed10e43..dde13d9666c41051f7b0803f7723aad3a523fadc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/StreamInfo.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/StreamInfo.py @@ -50,6 +50,8 @@ _all_streams = [ StreamInfo('Late', 'physics', True, True), # TLA/PEB/DATA SCOUTING (physics) STREAMS StreamInfo('TLA','physics',True,False), + StreamInfo('TLAJetPEB', 'physics', True, False), + StreamInfo('AFPPEB','physics',True,False), # EXPRESS STREAM StreamInfo('express', 'express', True, True), # MONITORING STREAMS