ATLAS Offline Software
PhysicsP1_pp_run3_v1.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #------------------------------------------------------------------------#
4 # PhysicsP1_pp_run3_v1.py menu
5 #
6 # Combines physics triggers with P1 monitoring chains
7 #------------------------------------------------------------------------#
8 
9 # All chains are represented as ChainProp objects in a ChainStore
10 from TriggerMenuMT.HLT.Config.Utility.ChainDefInMenu import ChainProp
11 from .SignatureDicts import ChainStore
12 
13 
14 from . import Physics_pp_run3_v1 as physics_menu
15 from . import P1_run3_v1
16 
17 from .Physics_pp_run3_v1 import (
18  SingleMuonGroup,
19  SingleJetGroup,
20  MinBiasGroup,
21  JetPhaseIStreamersGroup,
22  TauPhaseIStreamersGroup,
23  EgammaPhaseIStreamersGroup,
24  MuonXStreamersGroup,
25  SupportGroup,
26  SupportPhIGroup,
27 )
28 
29 
30 from AthenaCommon.Logging import logging
31 log = logging.getLogger(__name__)
32 
33 def addPhysicsP1Chains(chains):
34  chainsP1 = ChainStore()
35 
36  chainsP1['Muon'] = [
37  # ATR-25219, 1mu, for alignment run
38  # L1 item is not in MC menu
39  ChainProp(name='HLT_mu5_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
40  ChainProp(name='HLT_mu8_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
41  ChainProp(name='HLT_mu10_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
42  ChainProp(name='HLT_mu15_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
43  ChainProp(name='HLT_mu20_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
44  ChainProp(name='HLT_mu25_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
45  ChainProp(name='HLT_mu30_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
46  ChainProp(name='HLT_mu50_mucombTag_L1MU20VFC',groups=SingleMuonGroup+SupportGroup, monGroups=['muonMon:online']),
47  ]
48 
49  chainsP1['Jet'] = [
50  # L1 item is not in MC menu
51  ChainProp(name='HLT_j0_perf_L1jJ30_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleJetGroup+SupportPhIGroup, monGroups=['jetMon:online']),
52 
53  ]
54 
55  # Streamers with L1 items removed from MC menu
56  chainsP1['Streaming'] = [
57  ChainProp(name='HLT_noalg_L1MU3VC', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
58  ChainProp(name='HLT_noalg_L1MU3EOF', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
59  ChainProp(name='HLT_noalg_L1MU4BO', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
60  ChainProp(name='HLT_noalg_L1MU8FC', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
61  ChainProp(name='HLT_noalg_L1MU8FH', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
62  ChainProp(name='HLT_noalg_L1MU8EOF', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
63  ChainProp(name='HLT_noalg_L1MU9VF', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
64  ChainProp(name='HLT_noalg_L1MU9VFC', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
65  ChainProp(name='HLT_noalg_L1MU12FCH', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
66  ChainProp(name='HLT_noalg_L1MU14FCHR', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
67  ChainProp(name='HLT_noalg_L1MU14EOF', l1SeedThresholds=['FSNOSEED'], stream=['Main','express'], groups=SingleMuonGroup+SupportGroup),
68  ChainProp(name='HLT_noalg_L1MU15VFCH', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
69  ChainProp(name='HLT_noalg_L1MU15VFCHR', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
70  ChainProp(name='HLT_noalg_L1MU20VFC', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SingleMuonGroup+SupportGroup),
71 
72  ChainProp(name='HLT_noalg_L1eTAU20L', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+TauPhaseIStreamersGroup),
73  ChainProp(name='HLT_noalg_L1eTAU35', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+TauPhaseIStreamersGroup),
74  ChainProp(name='HLT_noalg_L1eTAU40HM', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+TauPhaseIStreamersGroup),
75 
76  ChainProp(name='HLT_noalg_L1eEM7', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
77  ChainProp(name='HLT_noalg_L1eEM10L', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
78  ChainProp(name='HLT_noalg_L1eEM15', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
79  ChainProp(name='HLT_noalg_L1eEM18', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
80  ChainProp(name='HLT_noalg_L1eEM22M', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
81  ChainProp(name='HLT_noalg_L1eEM24VM', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
82 
83  ChainProp(name='HLT_noalg_L1jEM20', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
84  ChainProp(name='HLT_noalg_L1jEM20M', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+EgammaPhaseIStreamersGroup),
85 
86  ChainProp(name='HLT_noalg_L1jJ30p0ETA25', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
87  ChainProp(name='HLT_noalg_L1jJ40p0ETA25', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
88 
89  ChainProp(name='HLT_noalg_L1jJ55', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
90  ChainProp(name='HLT_noalg_L1jJ55p0ETA23', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
91  ChainProp(name='HLT_noalg_L1jJ70p0ETA23', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
92  ChainProp(name='HLT_noalg_L1jJ80', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup, monGroups=['jetMon:online']),
93  ChainProp(name='HLT_noalg_L1jJ80p0ETA25', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
94  ChainProp(name='HLT_noalg_L1jJ85p0ETA21', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
95  ChainProp(name='HLT_noalg_L1jJ140', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup, monGroups=['jetMon:online']),
96  ChainProp(name='HLT_noalg_L1jJ180', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
97 
98  ChainProp(name='HLT_noalg_L1jLJ180', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportPhIGroup+JetPhaseIStreamersGroup),
99 
100  # Exotics support streamers
101  ChainProp(name='HLT_noalg_L1MU14FCH_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportGroup+MuonXStreamersGroup),
102  ChainProp(name='HLT_noalg_L1MU14FCH_UNPAIRED_ISO', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=SupportGroup+MuonXStreamersGroup),
103 
104  # AFP calibration
105  ChainProp(name='HLT_noalg_L1AFP_FSA_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
106  ChainProp(name='HLT_noalg_L1AFP_FSC_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
107  # all mu
108  ChainProp(name='HLT_noalg_L1AFP_FSA_TOF_T0_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
109  ChainProp(name='HLT_noalg_L1AFP_FSA_TOF_T1_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
110  ChainProp(name='HLT_noalg_L1AFP_FSA_TOF_T2_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
111  ChainProp(name='HLT_noalg_L1AFP_FSA_TOF_T3_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
112  ChainProp(name='HLT_noalg_L1AFP_FSC_TOF_T0_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
113  ChainProp(name='HLT_noalg_L1AFP_FSC_TOF_T1_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
114  ChainProp(name='HLT_noalg_L1AFP_FSC_TOF_T2_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
115  ChainProp(name='HLT_noalg_L1AFP_FSC_TOF_T3_BGRP12', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=MinBiasGroup+SupportGroup),
116  ]
117 
118  for sig,chainsInSig in chainsP1.items():
119  for chain in chainsInSig:
120  for group in chain.groups:
121  if 'Primary' in group:
122  log.error("chain %s in PhysicsP1 menu [%s] with Primary tag. Please move this to Physics menu file", chain.name, sig)
123  raise RuntimeError("Move %s chain to Physics menu file",chain.name)
124 
125  for sig,chainsInSig in chainsP1.items():
126  chains[sig] += chainsInSig
127 
128 def setupMenu():
129  log.info('setupMenu ...')
130 
131  # Add physics chains (data + MC)
132  chains = physics_menu.setupMenu()
133 
134  addPhysicsP1Chains(chains)
135 
136  # Add calibration and monitoring chains (not in Main)
137  P1_run3_v1.addCommonP1Signatures(chains)
138  P1_run3_v1.addHighMuP1Signatures(chains)
139 
140  return chains
141 
python.HLT.Menu.SignatureDicts.ChainStore
Definition: SignatureDicts.py:32
python.HLT.Menu.PhysicsP1_pp_run3_v1.setupMenu
def setupMenu()
Definition: PhysicsP1_pp_run3_v1.py:128
python.HLT.Menu.PhysicsP1_pp_run3_v1.addPhysicsP1Chains
def addPhysicsP1Chains(chains)
Definition: PhysicsP1_pp_run3_v1.py:33