8def EFMuonMonConfig(helper, isPhaseII=False, **kwargs):
10 from AthenaConfiguration.ComponentFactory
import CompFactory
15 kwargs.setdefault(
"MuonContainerName",
"Muons")
17 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonLoosenedNonCalibratedSelectionToolCfg
18 from .MuonMatchingToolConfig
import MuonMatchingToolConfig
19 monAlg = helper.addAlgorithm(CompFactory.EFMuonMon, name=
'EFMuonMon',
20 MuonSelectionTool = helper.result().popToolsAndMerge(MuonLoosenedNonCalibratedSelectionToolCfg(helper.flags,
22 MuonMatchingTool = helper.result().popToolsAndMerge(MuonMatchingToolConfig(helper.flags,
24 MuonContainerName=kwargs[
"MuonContainerName"])),
27 from TrigConfigSvc.TriggerConfigAccess
import getHLTMenuAccess
28 isR4Menu =
"run4" in getHLTMenuAccess(helper.flags).name()
31 monAlg.EFSAMuonContainerName = muNames.EFSAMuonsPhII
if isPhaseII
else muNames.EFSAMuons
32 monAlg.EFCBMuonContainerName = muNames.EFCBMuons
33 monAlg.EFSAMlbktMuonContainerName = muNames.EFSAMuonsPhIIMlbkt
if isPhaseII
and isR4Menu
else ""
34 monAlg.EFSANewFastMuonContainerName = muNames.EFSAMuonsPhIINewFast
if isPhaseII
and isR4Menu
else ""
36 monAlg.EFSATrackContainerName = muNames.EFSATrackParticlesPhII
if isPhaseII
else "HLT_MSExtrapolatedMuons_RoITrackParticles"
37 monAlg.EFSAMlbktTrackContainerName = muNames.EFSATrackParticlesPhIIMlbkt
if isPhaseII
and isR4Menu
else ""
38 monAlg.EFSANewFastTrackContainerName = muNames.EFSATrackParticlesPhIINewFast
if isPhaseII
and isR4Menu
else ""
41 from TrigConfigSvc.TriggerConfigAccess
import getHLTMonitoringAccess
42 moniAccess = getHLTMonitoringAccess(helper.flags)
43 monAlg.MonitoredChains = moniAccess.monitoredChains(signatures=
"muonMon",monLevels=[
"shifter",
"t0",
"val"])
46 if len(monAlg.MonitoredChains) == 0:
48 monAlg.MonitoredChains = [
'HLT_mu6_L1MU5VF',
'HLT_mu24_ivarmedium_L1MU14FCH',
'HLT_mu50_L1MU14FCH',
'HLT_mu60_0eta105_msonly_L1MU14FCH',
'HLT_2mu14_L12MU8F',
'HLT_mu22_mu8noL1_L1MU14FCH']
50 monAlg.Group = GroupName
53 histGroupNonSpecificChain = helper.addGroup(monAlg, GroupName,
'HLT/MuonMon/')
55 histGroupNonSpecificChain.defineHistogram(
'EFSAEta,EFSAPhi;EFSA_Eta_vs_Phi',
56 title=
'EFSA Eta vs Phi ;#eta;#phi',
57 type=
'TH2F', path=
'etaphi2D',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
59 histGroupNonSpecificChain.defineHistogram(
'EFCBEta,EFCBPhi;EFCB_Eta_vs_Phi',
60 title=
'EFCB Eta vs Phi ;#eta;#phi',
61 type=
'TH2F', path=
'etaphi2D',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
63 histGroupNonSpecificChain.defineHistogram(
'EFSAAboveCut,LB;EFSA_Over_OfflineSA_4GeV_Cut',
64 title=
'EFSA Over OfflineSA 4GeV Cut;LB;Ratio',
65 type=
'TEfficiency', path=
'Ratio',xbins=400,xmin=1.,xmax=801.)
67 histGroupNonSpecificChain.defineHistogram(
'EFCBAboveCut,LB;EFCB_Over_OfflineCB_4GeV_Cut',
68 title=
'EFCB Over OfflineCB 4GeV Cut;LB;Ratio',
69 type=
'TEfficiency', path=
'Ratio',xbins=400,xmin=1.,xmax=801.)
73 for chain
in monAlg.MonitoredChains:
75 histGroup = helper.addGroup(monAlg, GroupName+
'_'+chain,
'HLT/MuonMon/EFMuon/'+chain)
79 histGroup.defineHistogram(chain+
'_EFSA_Pt;EFSA_Pt',
80 title=
'EFSA Pt '+chain+
';p_{T} [GeV];Events',
81 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
83 histGroup.defineHistogram(chain+
'_EFSA_Eta;EFSA_Eta',
84 title=
'EFSA Eta '+chain+
';#eta;Events',
85 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
87 histGroup.defineHistogram(chain+
'_EFSA_Phi;EFSA_Phi',
88 title=
'EFSA Phi '+chain+
';#phi;Events',
89 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
91 histGroup.defineHistogram(chain+
'_EFSA_Eta,'+chain+
'_EFSA_Phi;EFSA_Eta_vs_Phi',
92 title=
'EFSA Eta vs Phi '+chain+
';#eta;#phi',
93 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
97 histGroup.defineHistogram(chain+
'_EFCB_Pt;EFCB_Pt',
98 title=
'EFCB Pt '+chain+
';p_{T} [GeV];Events',
99 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
101 histGroup.defineHistogram(chain+
'_EFCB_Eta;EFCB_Eta',
102 title=
'EFCB Eta '+chain+
';#eta;Events',
103 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
105 histGroup.defineHistogram(chain+
'_EFCB_Phi;EFCB_Phi',
106 title=
'EFCB Phi '+chain+
';#phi;Events',
107 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
109 histGroup.defineHistogram(chain+
'_EFCB_Eta,'+chain+
'_EFCB_Phi;EFCB_Eta_vs_Phi',
110 title=
'EFCB Eta vs Phi '+chain+
';#eta;#phi',
111 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
114 histGroup.defineHistogram(chain+
'_PtCone03;EFIso_PtCone03',
115 title=
'EFIso sum Pt in 0.3 cone '+chain+
';Sum p_{T} [GeV];Events',
116 type=
'TH1F', path=
'',xbins=50, xmin=0., xmax=25.)
118 histGroup.defineHistogram(chain+
'_PtCone03overMuonPt;EFIso_PtCone03overMuonPt',
119 title=
'EFIso sum Pt in 0.3 cone / muon Pt '+chain+
';Sum p_{T} in 0.3 cone / muon p_{T};Events',
120 type=
'TH1F', path=
'',xbins=100,xmin=0.,xmax=0.5)
124 histGroup.defineHistogram(chain+
'_OfflineSA_Pt;OfflineSA_Pt',
125 title=
'OfflineSA Pt '+chain+
';p_{T} [GeV];Events',
126 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
128 histGroup.defineHistogram(chain+
'_OfflineSA_Eta;OfflineSA_Eta',
129 title=
'OfflineSA Eta '+chain+
';#eta;Events',
130 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
132 histGroup.defineHistogram(chain+
'_OfflineSA_Phi;OfflineSA_Phi',
133 title=
'OfflineSA Phi '+chain+
';#phi;Events',
134 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
136 histGroup.defineHistogram(chain+
'_OfflineSA_Eta,'+chain+
'_OfflineSA_Phi;OfflineSA_Eta_vs_Phi',
137 title=
'OfflineSA Eta vs Phi '+chain+
';#eta;#phi',
138 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
142 histGroup.defineHistogram(chain+
'_OfflineCB_Pt;OfflineCB_Pt',
143 title=
'OfflineCB Pt '+chain+
';p_{T} [GeV];Events',
144 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
146 histGroup.defineHistogram(chain+
'_OfflineCB_Eta;OfflineCB_Eta',
147 title=
'OfflineCB Eta '+chain+
';#eta;Events',
148 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
150 histGroup.defineHistogram(chain+
'_OfflineCB_Phi;OfflineCB_Phi',
151 title=
'OfflineCB Phi '+chain+
';#phi;Events',
152 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
154 histGroup.defineHistogram(chain+
'_OfflineCB_Eta,'+chain+
'_OfflineCB_Phi;OfflineCB_Eta_vs_Phi',
155 title=
'OfflineCB Eta vs Phi '+chain+
';#eta;#phi',
156 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
162 histGroup.defineHistogram(chain+
'_OfflineSA_Pt,'+chain+
'_MatchedEFSA_Pt;EFSA_OfflineSA_PtCor',
163 title=
'PtCor EFSA OfflineSA '+chain+
';OfflineSA p_{T} [GeV];EFSA p_{T} [GeV]',
164 cutmask=chain+
'_matchedEFSA',
165 type=
'TH2F', path=
'',xbins=210,xmin=-105.,xmax=105., ybins=210,ymin=-105.,ymax=105.)
167 histGroup.defineHistogram(chain+
'_OfflineSA_Phi,'+chain+
'_MatchedEFSA_Phi;EFSA_OfflineSA_PhiCor',
168 title=
'PhiCor EFSA OfflineSA '+chain+
';OfflineSA #phi;EFSA #phi',
169 cutmask=chain+
'_matchedEFSA',
170 type=
'TH2F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi(), ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
172 histGroup.defineHistogram(chain+
'_OfflineSA_Eta,'+chain+
'_MatchedEFSA_Eta;EFSA_OfflineSA_EtaCor',
173 title=
'EtaCor EFSA OfflineSA '+chain+
';OfflineSA #eta;EFSA #eta',
174 cutmask=chain+
'_matchedEFSA',
175 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=108,ymin=-2.7,ymax=2.7)
177 histGroup.defineHistogram(chain+
'_SAdPt;EFSA_OfflineSA_dPt',
178 title=
'dPt EFSA OfflineSA '+chain+
';dPt [GeV];Events',
179 cutmask=chain+
'_matchedEFSA',
180 type=
'TH1F', path=
'',xbins=100,xmin=-10.,xmax=10.)
182 histGroup.defineHistogram(chain+
'_SAdEta;EFSA_OfflineSA_dEta',
183 title=
'dEta EFSA OfflineSA '+chain+
';dEta;Events',
184 cutmask=chain+
'_matchedEFSA',
185 type=
'TH1F', path=
'',xbins=200,xmin=-5.,xmax=5.)
187 histGroup.defineHistogram(chain+
'_SAdPhi;EFSA_OfflineSA_dPhi',
188 title=
'dPhi EFSA OfflineSA '+chain+
';dPhi;Events',
189 cutmask=chain+
'_matchedEFSA',
190 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
192 histGroup.defineHistogram(chain+
'_SAdR;EFSA_OfflineSA_dR',
193 title=
'dR EFSA OfflineSA '+chain+
';dR;Events',
194 cutmask=chain+
'_matchedEFSA',
195 type=
'TH1F', path=
'',xbins=110,xmin=0.,xmax=11.)
197 histGroup.defineHistogram(chain+
'_OfflineSA_Pt;OfflineSA_Pt_AwareEFSA',
198 title=
'OfflineSA Pt AwareEFSA '+chain+
';OfflineSA p_{T} [GeV];Events',
199 cutmask=chain+
'_matchedEFSA',
200 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
202 histGroup.defineHistogram(chain+
'_OfflineSA_Phi;OfflineSA_Phi_AwareEFSA',
203 title=
'OfflineSA Phi AwareEFSA '+chain+
';OfflineSA #phi;Events',
204 cutmask=chain+
'_matchedEFSA',
205 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
207 histGroup.defineHistogram(chain+
'_OfflineSA_Eta;OfflineSA_Eta_AwareEFSA',
208 title=
'OfflineSA Eta AwareEFSA '+chain+
';OfflineSA #eta;Events',
209 cutmask=chain+
'_matchedEFSA',
210 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
214 histGroup.defineHistogram(chain+
'_OfflineSA_Pt,'+chain+
'_OfflineSAmatchedL2SA_Pt;OfflineSA_matchedEFSA_matchedL2SA_PtCor',
215 title=
'PtCor OfflineSA (matched to EFSA) vs. OfflineSA (matched to L2SA) '+chain+
';OfflineSA matched to EFSA p_{T} [GeV];OfflineSA matched to L2SA p_{T} [GeV]',
216 cutmask=chain+
'_matchedL2SA',
217 type=
'TH2F', path=
'',xbins=210,xmin=-105.,xmax=105., ybins=210,ymin=-105.,ymax=105.)
219 histGroup.defineHistogram(chain+
'_OfflineSA_Phi,'+chain+
'_OfflineSAmatchedL2SA_Phi;OfflineSA_matchedEFSA_matchedL2SA_PhiCor',
220 title=
'PhiCor OfflineSA (matched to EFSA) vs. OfflineSA (matched to L2SA) '+chain+
';OfflineSA matched to EFSA #phi;OfflineSA matched to L2SA #phi',
221 cutmask=chain+
'_matchedL2SA',
222 type=
'TH2F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi(), ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
224 histGroup.defineHistogram(chain+
'_OfflineSA_Eta,'+chain+
'_OfflineSAmatchedL2SA_Eta;OfflineSA_matchedEFSA_matchedL2SA_EtaCor',
225 title=
'EtaCor OfflineSA (matched to EFSA) vs. OfflineSA (matched to L2SA) '+chain+
';OfflineSA matched to EFSA #eta;OfflineSA matched to L2SA #eta',
226 cutmask=chain+
'_matchedL2SA',
227 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=108,ymin=-2.7,ymax=2.7)
231 histGroup.defineHistogram(chain+
'_OfflineCB_Pt,'+chain+
'_MatchedEFCB_Pt;EFCB_OfflineCB_PtCor',
232 title=
'PtCor EFCB OfflineCB '+chain+
';OfflineCB p_{T} [GeV];EFCB p_{T} [GeV];',
233 cutmask=chain+
'_matchedEFCB',
234 type=
'TH2F', path=
'',xbins=210,xmin=-105.,xmax=105., ybins=210,ymin=-105.,ymax=105.)
236 histGroup.defineHistogram(chain+
'_OfflineCB_Phi,'+chain+
'_MatchedEFCB_Phi;EFCB_OfflineCB_PhiCor',
237 title=
'PhiCor EFCB OfflineCB '+chain+
';OfflineCB #phi;EFCB #phi;',
238 cutmask=chain+
'_matchedEFCB',
239 type=
'TH2F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi(), ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
241 histGroup.defineHistogram(chain+
'_OfflineCB_Eta,'+chain+
'_MatchedEFCB_Eta;EFCB_OfflineCB_EtaCor',
242 title=
'EtaCor EFCB OfflineCB '+chain+
';OfflineCB #eta;EFCB #eta;',
243 cutmask=chain+
'_matchedEFCB',
244 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=108,ymin=-2.7,ymax=2.7)
246 histGroup.defineHistogram(chain+
'_CBdPt;EFCB_OfflineCB_dPt',
247 title=
'dPt EFCB OfflineCB '+chain+
';dPt [GeV];Events',
248 cutmask=chain+
'_matchedEFCB',
249 type=
'TH1F', path=
'',xbins=100,xmin=-10.,xmax=10.)
251 histGroup.defineHistogram(chain+
'_CBdEta;EFCB_OfflineCB_dEta',
252 title=
'dEta EFCB OfflineCB '+chain+
';dEta;Events',
253 cutmask=chain+
'_matchedEFCB',
254 type=
'TH1F', path=
'',xbins=200,xmin=-5.,xmax=5.)
256 histGroup.defineHistogram(chain+
'_CBdPhi;EFCB_OfflineCB_dPhi',
257 title=
'dPhi EFCB OfflineCB '+chain+
';dPhi;Events',
258 cutmask=chain+
'_matchedEFCB',
259 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
261 histGroup.defineHistogram(chain+
'_CBdR;EFCB_OfflineCB_dR',
262 title=
'dR EFCB OfflineCB '+chain+
';dR;Events',
263 cutmask=chain+
'_matchedEFCB',
264 type=
'TH1F', path=
'',xbins=110,xmin=0.,xmax=11.)
266 histGroup.defineHistogram(chain+
'_OfflineCB_Pt;OfflineCB_Pt_AwareEFCB',
267 title=
'OfflineCB Pt AwareEFCB '+chain+
';OfflineCB p_{T} [GeV];Events',
268 cutmask=chain+
'_matchedEFCB',
269 type=
'TH1F', path=
'',xbins=210,xmin=-105.,xmax=105.)
271 histGroup.defineHistogram(chain+
'_OfflineCB_Phi;OfflineCB_Phi_AwareEFCB',
272 title=
'OfflineCB Phi AwareEFCB '+chain+
';OfflineCB #phi;Events',
273 cutmask=chain+
'_matchedEFCB',
274 type=
'TH1F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
276 histGroup.defineHistogram(chain+
'_OfflineCB_Eta;OfflineCB_Eta_AwareEFCB',
277 title=
'OfflineCB Eta AwareEFCB '+chain+
';OfflineCB #eta;Events',
278 cutmask=chain+
'_matchedEFCB',
279 type=
'TH1F', path=
'',xbins=108,xmin=-2.7,xmax=2.7)
283 histGroup.defineHistogram(chain+
'_OfflineCB_Pt,'+chain+
'_OfflineCBmatchedL2CB_Pt;OfflineCB_matchedEFCB_matchedL2CB_PtCor',
284 title=
'PtCor OfflineCB (matched to EFCB) vs. OfflineCB (matched to L2CB) '+chain+
';OfflineCB matched to EFCB p_{T} [GeV];OfflineCB matched to L2CB p_{T} [GeV]',
285 cutmask=chain+
'_matchedL2CB',
286 type=
'TH2F', path=
'',xbins=210,xmin=-105.,xmax=105., ybins=210,ymin=-105.,ymax=105.)
288 histGroup.defineHistogram(chain+
'_OfflineCB_Phi,'+chain+
'_OfflineCBmatchedL2CB_Phi;OfflineCB_matchedEFCB_matchedL2CB_PhiCor',
289 title=
'PhiCor OfflineCB (matched to EFCB) vs. OfflineCB (matched to L2CB) '+chain+
';OfflineCB matched to EFCB #phi;OfflineCB matched to L2CB #phi',
290 cutmask=chain+
'_matchedL2CB',
291 type=
'TH2F', path=
'',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi(), ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
293 histGroup.defineHistogram(chain+
'_OfflineCB_Eta,'+chain+
'_OfflineCBmatchedL2CB_Eta;OfflineCB_matchedEFCB_matchedL2CB_EtaCor',
294 title=
'EtaCor OfflineCB (matched to EFCB) vs. OfflineCB (matched to L2CB) '+chain+
';OfflineCB matched to EFCB #eta;OfflineCB matched to L2CB #eta',
295 cutmask=chain+
'_matchedL2CB',
296 type=
'TH2F', path=
'',xbins=108,xmin=-2.7,xmax=2.7, ybins=108,ymin=-2.7,ymax=2.7)
300 histGroup.defineHistogram(chain+
'_MatchedEFPIsotCone03,'+chain+
'_OfflineIsoPtCone03;EFIso_OfflineIso_CorPtCone03',
301 title=
'sum Pt in 0.3 cone correlation EFIso vs. OfflineIso '+chain+
';EFIso Sum p_{T} [GeV];OfflineIso Sum p_{T} [GeV];Events',
302 type=
'TH2F', path=
'',xbins=50, xmin=0., xmax=25., ybins=50, ymin=0., ymax=25.)
304 histGroup.defineHistogram(chain+
'_MatchedEFIsoPtCone03overMuonPt,'+chain+
'_OfflineIsoPtCone03overMuonPt;EFIso_OfflineIso_CorPtCone03overMuonPt',
305 title=
'sum Pt in 0.3 cone / muon Pt correlation EFIso vs. OfflineIso '+chain+
';EFIso Sum p_{T} in 0.3 cone / muon p_{T};OfflineIso Sum p_{T} in 0.3 cone / muon p_{T};Events',
306 type=
'TH2F', path=
'',xbins=100,xmin=0.,xmax=0.5, ybins=100,ymin=0.,ymax=0.5)