ATLAS Offline Software
Physics_pp_run4_v1.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 #------------------------------------------------------------------------#
4 # Physics_pp_run4_v1.py menu for Phase-II development
5 # contains some for the Run-3 (2022) primaries
6 # as well as chain from the TDR studies
7 # (https://gitlab.cern.ch/atlas/athena/-/blob/21.0/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_PhaseII.py)
8 #------------------------------------------------------------------------#
9 
10 # This defines the input format of the chain and it's properties with the defaults set
11 # always required are: name, stream and groups
12 #['name', 'chainParts'=[], 'stream', 'groups', 'merging'=[], 'topoStartFrom'=False],
13 
14 
16 from .SignatureDicts import ChainStore
17 
18 PhysicsStream='Main'
19 ExpressStream='express'
20 SingleMuonGroup = ['RATE:SingleMuon', 'BW:Muon']
21 MultiMuonGroup = ['RATE:MultiMuon', 'BW:Muon']
22 SingleElectronGroup = ['RATE:SingleElectron', 'BW:Electron']
23 MultiElectronGroup = ['RATE:MultiElectron', 'BW:Electron']
24 SinglePhotonGroup = ['RATE:SinglePhoton', 'BW:Photon']
25 MultiPhotonGroup = ['RATE:MultiPhoton', 'BW:Photon']
26 METGroup = ['RATE:MET', 'BW:MET']
27 SingleJetGroup = ['RATE:SingleJet', 'BW:Jet']
28 MultiJetGroup = ['RATE:MultiJet', 'BW:Jet']
29 SingleBjetGroup = ['RATE:SingleBJet', 'BW:BJet']
30 MultiBjetGroup = ['RATE:MultiBJet', 'BW:BJet']
31 EgammaBjetGroup = ['RATE:EgammaBjet', 'BW:BJet']
32 MuonBjetGroup = ['RATE:MuonBjet', 'BW:BJet']
33 BjetMETGroup = ['RATE:BjetMET', 'BW:BJet']
34 SingleTauGroup = ['RATE:SingleTau', 'BW:Tau']
35 MultiTauGroup = ['RATE:MultiTau', 'BW:Tau']
36 BphysicsGroup = ['RATE:Bphysics', 'BW:Bphysics']
37 BphysElectronGroup = ['RATE:BphysicsElectron', 'BW:BphysicsElectron']
38 EgammaMuonGroup = ['RATE:EgammaMuon', 'BW:Egamma', 'BW:Muon']
39 EgammaMETGroup = ['RATE:EgammaMET', 'BW:Egamma', 'BW:MET']
40 MuonJetGroup =['RATE:MuonJet','BW:Muon', 'BW:Jet']
41 TauMETGroup =['RATE:TauMET', 'BW:Tau']
42 TauJetGroup =['RATE:TauJet', 'BW:Tau']
43 TauBJetGroup =['RATE:TauBJet', 'BW:Tau']
44 TauPhotonGroup =['RATE:TauPhoton', 'BW:Tau']
45 MuonMETGroup =['RATE:MuonMET', 'BW:Muon']
46 EgammaJetGroup = ['RATE:EgammaJet', 'BW:Egamma']
47 EgammaTauGroup =['RATE:EgammaTau', 'BW:Egamma', 'BW:Tau']
48 MuonTauGroup =['RATE:MuonTau', 'BW:Muon', 'BW:Tau']
49 JetMETGroup = ['RATE:JetMET', 'BW:Jet']
50 MinBiasGroup = ['RATE:MinBias', 'BW:MinBias']
51 ZeroBiasGroup = ['RATE:ZeroBias', 'BW:ZeroBias']
52 MuonXStreamersGroup = ['RATE:SeededStreamers', 'BW:Muon']
53 MuonXPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Muon']
54 EgammaStreamersGroup = ['RATE:SeededStreamers', 'BW:Egamma']
55 EgammaPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Egamma']
56 TauStreamersGroup = ['RATE:SeededStreamers', 'BW:Tau']
57 TauPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Tau']
58 JetStreamersGroup = ['RATE:SeededStreamers', 'BW:Jet']
59 JetPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Jet']
60 METStreamersGroup = ['RATE:SeededStreamers', 'BW:MET']
61 METPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:MET']
62 # For chains seeded by L1 muon (no calo items)
63 PrimaryL1MuGroup = ['Primary:L1Muon']
64 # For chains containing a legacy L1 calo / topo item
65 PrimaryLegGroup = ['Primary:Legacy']
66 # For chains containing a phase 1 calo / topo item
67 PrimaryPhIGroup = ['Primary:PhaseI']
68 SupportGroup = ['Support']
69 SupportLegGroup = ['Support:Legacy']
70 SupportPhIGroup = ['Support:PhaseI']
71 # For the chains with the TAgAndProbe labels, we flag the rate group as being that of the tag leg and NOT the full chain selection
72 TagAndProbeGroup = ['Support:TagAndProbe']
73 TagAndProbeLegGroup = ['Support:LegacyTagAndProbe']
74 TagAndProbePhIGroup = ['Support:PhaseITagAndProbe']
75 EOFL1MuGroup = ['EOF:L1Muon']
76 EOFEgammaLegGroup = ['EOF:EgammaLegacy']
77 EOFEgammaPhIGroup = ['EOF:EgammaPhaseI']
78 EOFBPhysL1MuGroup = ['EOF:BPhysL1Muon']
79 EOFBeePhIGroup = ['EOF:BeePhaseI']
80 EOFTLALegGroup = ['EOF:TLALegacy']
81 EOFTLAPhIGroup = ['EOF:TLAPhaseI']
82 # For unconventional tracking chains (ATR-23797)
83 UnconvTrkGroup = ['RATE:UnconvTrk', 'BW:UnconvTrk']
84 LowMuGroup = ['LowMu']
85 # Topo boards
86 Topo2Group = ['Topo2']
87 Topo3Group = ['Topo3']
88 LegacyTopoGroup = ['LegacyTopo']
89 
90 def setupMenu():
91 
92  from AthenaCommon.Logging import logging
93  log = logging.getLogger( __name__ )
94  log.info('[setupMenu] going to add the Physics menu chains now')
95 
96  chains = ChainStore()
97  chains['Muon'] = []
98 
99  chains['Egamma'] = []
100 
101  chains['Tau'] = []
102 
103  chains['Jet'] = []
104 
105  chains['Bjet'] = []
106 
107  chains['MET'] = []
108 
109  chains['Bphysics'] = []
110 
111  chains['Combined'] = []
112 
113  chains['Monitor'] = []
114 
115  chains['Calib'] += []
116 
117  chains['UnconventionalTracking'] += []
118 
119  chains['EnhancedBias'] += []
120 
121  chains['Streaming'] += []
122 
123  chains['Beamspot'] += []
124 
125  # check all chains are classified as either primary, support or T&P chains
126  for sig in chains:
127  for chain in chains[sig]:
128  groupFound = False
129  for group in chain.groups:
130  if 'Primary' in group or 'Support' in group or 'EOF' in group:
131  groupFound = True
132  if not groupFound:
133  log.error("chain %s in Physics menu needs to be classified as either primary or support chain", chain.name)
134  raise RuntimeError("Add either the primary or support group to the chain %s",chain.name)
135 
136  return chains
python.HLT.Menu.SignatureDicts.ChainStore
Definition: SignatureDicts.py:32
python.HLT.Menu.Physics_pp_run4_v1.setupMenu
def setupMenu()
Definition: Physics_pp_run4_v1.py:90