ATLAS Offline Software
Loading...
Searching...
No Matches
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
16from .SignatureDicts import ChainStore
17
18PhysicsStream='Main'
19ExpressStream='express'
20SingleMuonGroup = ['RATE:SingleMuon', 'BW:Muon']
21MultiMuonGroup = ['RATE:MultiMuon', 'BW:Muon']
22SingleElectronGroup = ['RATE:SingleElectron', 'BW:Electron']
23MultiElectronGroup = ['RATE:MultiElectron', 'BW:Electron']
24SinglePhotonGroup = ['RATE:SinglePhoton', 'BW:Photon']
25MultiPhotonGroup = ['RATE:MultiPhoton', 'BW:Photon']
26METGroup = ['RATE:MET', 'BW:MET']
27SingleJetGroup = ['RATE:SingleJet', 'BW:Jet']
28MultiJetGroup = ['RATE:MultiJet', 'BW:Jet']
29SingleBjetGroup = ['RATE:SingleBJet', 'BW:BJet']
30MultiBjetGroup = ['RATE:MultiBJet', 'BW:BJet']
31EgammaBjetGroup = ['RATE:EgammaBjet', 'BW:BJet']
32MuonBjetGroup = ['RATE:MuonBjet', 'BW:BJet']
33BjetMETGroup = ['RATE:BjetMET', 'BW:BJet']
34SingleTauGroup = ['RATE:SingleTau', 'BW:Tau']
35MultiTauGroup = ['RATE:MultiTau', 'BW:Tau']
36BphysicsGroup = ['RATE:Bphysics', 'BW:Bphysics']
37BphysElectronGroup = ['RATE:BphysicsElectron', 'BW:BphysicsElectron']
38EgammaMuonGroup = ['RATE:EgammaMuon', 'BW:Egamma', 'BW:Muon']
39EgammaMETGroup = ['RATE:EgammaMET', 'BW:Egamma', 'BW:MET']
40MuonJetGroup =['RATE:MuonJet','BW:Muon', 'BW:Jet']
41TauMETGroup =['RATE:TauMET', 'BW:Tau']
42TauJetGroup =['RATE:TauJet', 'BW:Tau']
43TauBJetGroup =['RATE:TauBJet', 'BW:Tau']
44TauPhotonGroup =['RATE:TauPhoton', 'BW:Tau']
45MuonMETGroup =['RATE:MuonMET', 'BW:Muon']
46EgammaJetGroup = ['RATE:EgammaJet', 'BW:Egamma']
47EgammaTauGroup =['RATE:EgammaTau', 'BW:Egamma', 'BW:Tau']
48MuonTauGroup =['RATE:MuonTau', 'BW:Muon', 'BW:Tau']
49JetMETGroup = ['RATE:JetMET', 'BW:Jet']
50MinBiasGroup = ['RATE:MinBias', 'BW:MinBias']
51ZeroBiasGroup = ['RATE:ZeroBias', 'BW:ZeroBias']
52MuonXStreamersGroup = ['RATE:SeededStreamers', 'BW:Muon']
53MuonXPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Muon']
54EgammaStreamersGroup = ['RATE:SeededStreamers', 'BW:Egamma']
55EgammaPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Egamma']
56TauStreamersGroup = ['RATE:SeededStreamers', 'BW:Tau']
57TauPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Tau']
58JetStreamersGroup = ['RATE:SeededStreamers', 'BW:Jet']
59JetPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:Jet']
60METStreamersGroup = ['RATE:SeededStreamers', 'BW:MET']
61METPhaseIStreamersGroup = ['RATE:PhaseISeededStreamers', 'BW:MET']
62# For chains seeded by L1 muon (no calo items)
63PrimaryL1MuGroup = ['Primary:L1Muon']
64# For chains containing a legacy L1 calo / topo item
65PrimaryLegGroup = ['Primary:Legacy']
66# For chains containing a phase 1 calo / topo item
67PrimaryPhIGroup = ['Primary:PhaseI']
68SupportGroup = ['Support']
69SupportLegGroup = ['Support:Legacy']
70SupportPhIGroup = ['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
72TagAndProbeGroup = ['Support:TagAndProbe']
73TagAndProbeLegGroup = ['Support:LegacyTagAndProbe']
74TagAndProbePhIGroup = ['Support:PhaseITagAndProbe']
75EOFL1MuGroup = ['EOF:L1Muon']
76EOFEgammaLegGroup = ['EOF:EgammaLegacy']
77EOFEgammaPhIGroup = ['EOF:EgammaPhaseI']
78EOFBPhysL1MuGroup = ['EOF:BPhysL1Muon']
79EOFBeePhIGroup = ['EOF:BeePhaseI']
80EOFTLALegGroup = ['EOF:TLALegacy']
81EOFTLAPhIGroup = ['EOF:TLAPhaseI']
82# For unconventional tracking chains (ATR-23797)
83UnconvTrkGroup = ['RATE:UnconvTrk', 'BW:UnconvTrk']
84LowMuGroup = ['LowMu']
85# Topo boards
86Topo2Group = ['Topo2']
87Topo3Group = ['Topo3']
88LegacyTopoGroup = ['LegacyTopo']
89
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