52 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
56 if inputFlags.DQ.Environment ==
'tier0Raw':
59 from AthenaMonitoring
import AthMonitorCfgHelper
60 helper = AthMonitorCfgHelper(inputFlags,
'METMonitor')
63 from AthenaMonitoring.AtlasReadyFilterConfig
import AtlasReadyFilterCfg
64 from AthenaMonitoring.BadLBFilterToolConfig
import LArBadLBFilterToolCfg
65 from AthenaMonitoring.FilledBunchFilterToolConfig
import FilledBunchFilterToolCfg
66 from AthenaMonitoring.DQConfigFlags
import DQDataType
68 from AthenaConfiguration.ComponentFactory
import CompFactory
69 METRefFinal_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METRefFinal_MonAlg',
74 met_types = [
"MET_RefFinal",
"MET_RefJet",
"MET_Muon",
"MET_RefEle",
"MET_RefGamma",
"MET_RefTau",
"MET_PVSoftTrk"]
78 METRefFinal_MonAlg.METContainer=
"MET_Reference_AntiKt4EMTopo"
79 METRefFinal_MonAlg.metKeys = met_types
80 METRefFinal_MonAlg.alltrigger =
True
81 group = helper.addGroup(METRefFinal_MonAlg,
"METMonitor",
"MissingEt/AllTriggers/MET_AntiKt4EMTopo/")
83 for mets
in met_types:
86 if inputFlags.DQ.DataType
is not DQDataType.Cosmics:
87 METPflow_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METPflow_MonAlg',
92 pfmet_types = [
"MET_PFlow",
"MET_PFlow_RefJet",
"MET_PFlow_Muon",
"MET_PFlow_RefEle",
"MET_PFlow_RefGamma",
"MET_PFlow_RefTau",
"MET_PFlow_PVSoftTrk"]
93 METPflow_MonAlg.METContainer=
"MET_Reference_AntiKt4EMPFlow"
94 METPflow_MonAlg.metKeys = pfmet_types
95 METPflow_MonAlg.alltrigger =
True
97 group = helper.addGroup(METPflow_MonAlg,
"METMonitor",
"MissingEt/AllTriggers/MET_AntiKt4EMPFlow/")
98 for mets
in pfmet_types:
102 METEMTopo_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METEMTopo_MonAlg',
107 emtopomet_types = [
"MET_Topo"]
108 METEMTopo_MonAlg.METContainer=
"MET_EMTopo"
109 METEMTopo_MonAlg.metKeys = emtopomet_types
110 METEMTopo_MonAlg.alltrigger =
True
112 group = helper.addGroup(METEMTopo_MonAlg,
"METMonitor",
"MissingEt/AllTriggers/MET_Calo/EMTopo")
113 for mets
in emtopomet_types:
117 METCalo_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METCalo_MonAlg',
122 metcalo_types = [
"PEMB",
"EMB",
"PEME",
"EME",
"TILE",
"HEC",
"FCAL" ]
123 METCalo_MonAlg.METContainer=
"MET_Calo"
124 METCalo_MonAlg.METCaloKeys = metcalo_types
125 METCalo_MonAlg.alltrigger =
True
127 group = helper.addGroup(METCalo_MonAlg,
"METMonitor",
"MissingEt/AllTriggers/MET_Calo/MET_Cell")
128 for mets
in metcalo_types:
131 METRefFinal_jXE100_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METRefFinal_jXE100_MonAlg',
136 METRefFinal_jXE100_MonAlg.METContainer=
"MET_Reference_AntiKt4EMTopo"
137 METRefFinal_jXE100_MonAlg.metTotalKey=
"FinalTrk"
138 METRefFinal_jXE100_MonAlg.metKeys = met_types
139 METRefFinal_jXE100_MonAlg.dotrigger =
True
140 group = helper.addGroup(METRefFinal_jXE100_MonAlg,
"METMonitor",
"MissingEt/TrigjXE100/MET_AntiKt4EMTopo/")
141 for mets
in met_types:
144 if inputFlags.DQ.DataType
is not DQDataType.Cosmics:
145 METPflow_jXE100_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METPflow_jXE100_MonAlg',
150 METPflow_jXE100_MonAlg.METContainer=
"MET_Reference_AntiKt4EMPFlow"
151 METPflow_jXE100_MonAlg.metTotalKey=
"FinalTrk"
152 METPflow_jXE100_MonAlg.metKeys = pfmet_types
153 METPflow_jXE100_MonAlg.dotrigger =
True
154 group = helper.addGroup(METPflow_jXE100_MonAlg,
"METMonitor",
"MissingEt/TrigjXE100/MET_AntiKt4EMPflow/")
155 for mets
in pfmet_types:
158 METCalo_jXE100_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METCalo_jXE100_MonAlg',
163 METCalo_jXE100_MonAlg.METCaloContainer=
"MET_Calo"
164 METCalo_jXE100_MonAlg.METCaloKeys = metcalo_types
165 METCalo_jXE100_MonAlg.dotrigger =
True
166 group = helper.addGroup(METCalo_jXE100_MonAlg,
"METMonitor",
"MissingEt/TrigjXE100/MET_Calo/MET_Cell")
167 for mets
in metcalo_types:
170 METEMTopo_jXE100_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METEMTopo_jXE100_MonAlg',
175 METEMTopo_jXE100_MonAlg.METContainer=
"MET_EMTopo"
176 METEMTopo_jXE100_MonAlg.METAntiKt4EMTopoContainer=
"MET_Reference_AntiKt4EMTopo"
177 emtopomet_types= [
"MET_Topo"]
178 METEMTopo_jXE100_MonAlg.metKeys = emtopomet_types
179 METEMTopo_jXE100_MonAlg.dotrigger =
True
180 METEMTopo_jXE100_group = helper.addGroup(METEMTopo_jXE100_MonAlg,
"METMonitor",
"MissingEt/TrigjXE100/MET_Calo/EMTopo")
181 for mets
in emtopomet_types:
182 defineHistograms(METEMTopo_jXE100_MonAlg, METEMTopo_jXE100_group,helper,mets)
185 METRefFinal_METCut_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METRefFinal_METCut_MonAlg',
190 METRefFinal_METCut_MonAlg.METContainer=
"MET_Reference_AntiKt4EMTopo"
191 METRefFinal_METCut_MonAlg.metTotalKey=
"FinalTrk"
192 METRefFinal_METCut_MonAlg.metKeys = met_types
193 METRefFinal_METCut_MonAlg.dometcut =
True
194 METRefFinal_METCut_MonAlg.metcut = 80
195 group = helper.addGroup(METRefFinal_METCut_MonAlg,
"METMonitor",
"MissingEt/CutMet80/MET_AntiKt4EMTopo/")
196 for mets
in met_types:
199 if inputFlags.DQ.DataType
is not DQDataType.Cosmics:
200 METPflow_METCut_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METPflow_METCut_MonAlg',
205 METPflow_METCut_MonAlg.METContainer=
"MET_Reference_AntiKt4EMPFlow"
206 METPflow_METCut_MonAlg.metKeys = pfmet_types
207 METPflow_METCut_MonAlg.dometcut =
True
208 METPflow_METCut_MonAlg.metcut = 80
209 group = helper.addGroup(METPflow_METCut_MonAlg,
"METMonitor",
"MissingEt/CutMet80/MET_AntiKt4EMPflow/")
210 for mets
in pfmet_types:
213 METCalo_METCut_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METCalo_METCut_MonAlg',
218 metcalo_types = [
"PEMB",
"EMB",
"PEME",
"EME",
"TILE",
"HEC",
"FCAL" ]
219 METCalo_METCut_MonAlg.METCaloContainer=
"MET_Calo"
220 METCalo_METCut_MonAlg.METCaloKeys = metcalo_types
221 METCalo_METCut_MonAlg.dometcut =
True
222 METCalo_METCut_MonAlg.metcut = 80
223 METCalo_METCut_group = helper.addGroup(METCalo_METCut_MonAlg,
"METMonitor",
"MissingEt/CutMet80/MET_Calo/MET_Cell")
224 for mets
in metcalo_types:
227 METEMTopo_METCut_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METEMTopo_METCut_MonAlg',
232 METEMTopo_METCut_MonAlg.METContainer=
"MET_EMTopo"
233 METEMTopo_METCut_MonAlg.METAntiKt4EMTopoContainer=
"MET_Reference_AntiKt4EMTopo"
234 emtopomet_types = [
"MET_Topo"]
235 METEMTopo_METCut_MonAlg.metKeys = emtopomet_types
236 METEMTopo_METCut_MonAlg.dometcut =
True
237 METEMTopo_METCut_MonAlg.metcut = 80
238 METEMTopo_METCut_group = helper.addGroup(METEMTopo_METCut_MonAlg,
"METMonitor",
"MissingEt/CutMet80/MET_Calo/EMTopo")
239 for mets
in emtopomet_types:
240 defineHistograms(METEMTopo_METCut_MonAlg, METEMTopo_METCut_group,helper,mets)
243 jetCleaningTool = CompFactory.JetCleaningTool()
244 jetCleaningTool.CutLevel =
"LooseBad"
245 jetCleaningTool.DoUgly =
False
246 jetCleaningTool.JetContainer =
"AntiKt4EMTopoJets"
248 jetCleaningToolPFlow = CompFactory.JetCleaningTool(
"JetCleaningTool_PFlow")
249 jetCleaningToolPFlow.CutLevel =
"LooseBad"
250 jetCleaningToolPFlow.DoUgly =
False
251 jetCleaningToolPFlow.JetContainer =
"AntiKt4EMPFlowJets"
253 JetCleaning_METMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'JetCleaning_METMonAlg',
258 JetCleaning_METMonAlg.metKeys = met_types
259 JetCleaning_METMonAlg.DoJetCleaning =
True
260 JetCleaning_METMonAlg.JetCleaningTool = jetCleaningTool
261 JetCleaningGroup = helper.addGroup(JetCleaning_METMonAlg,
"METMonitor",
"MissingEt/Jetcleaning/MET_AntiKt4EMTopo/")
262 JetCleaning_METMonAlg.JetContainerName =
"AntiKt4EMTopoJets"
263 for mets
in met_types:
264 if mets ==
'MET_PFlow_PVSoftTrk':
265 JetCleaning_METMonAlg.JetContainerName =
"AntiKt4EMPFlowJets"
269 if inputFlags.DQ.DataType
is not DQDataType.Cosmics:
270 PflowJetCleaning_METMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'PflowJetCleaning_METMonAlg',
275 PflowJetCleaning_METMonAlg.METContainer=
"MET_Reference_AntiKt4EMPFlow"
276 PflowJetCleaning_METMonAlg.metKeys = pfmet_types
277 PflowJetCleaning_METMonAlg.DoJetCleaning =
True
278 PflowJetCleaning_METMonAlg.JetCleaningTool = jetCleaningToolPFlow
279 PflowJetCleaningGroup = helper.addGroup(PflowJetCleaning_METMonAlg,
"METMonitor",
"MissingEt/Jetcleaning/MET_AntiKt4EMPflow/")
280 PflowJetCleaning_METMonAlg.JetContainerName =
"AntiKt4EMPFlowJets"
281 for mets
in pfmet_types:
282 defineHistograms(PflowJetCleaning_METMonAlg, PflowJetCleaningGroup,helper,mets)
284 METCaloJetCleaning_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METCaloJetCleaning_MonAlg',
289 metcalo_types = [
"PEMB",
"EMB",
"PEME",
"EME",
"TILE",
"HEC",
"FCAL" ]
290 METCaloJetCleaning_MonAlg.METCaloContainer=
"MET_Calo"
291 METCaloJetCleaning_MonAlg.METCaloKeys = metcalo_types
292 METCaloJetCleaning_MonAlg.DoJetCleaning =
True
293 METCaloJetCleaning_MonAlg.JetCleaningTool = jetCleaningTool
294 group = helper.addGroup(METCaloJetCleaning_MonAlg,
"METMonitor",
"MissingEt/Jetcleaning/MET_Calo/MET_Cell")
295 for mets
in metcalo_types:
298 METEMTopoJetCleaning_MonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'METEMTopoJetCleaning_MonAlg',
303 emtopomet_types = [
"MET_Topo"]
304 METEMTopoJetCleaning_MonAlg.METContainer=
"MET_EMTopo"
305 METEMTopoJetCleaning_MonAlg.metKeys = emtopomet_types
306 METEMTopoJetCleaning_MonAlg.DoJetCleaning =
True
307 METEMTopoJetCleaning_MonAlg.JetCleaningTool = jetCleaningTool
308 group = helper.addGroup(METEMTopoJetCleaning_MonAlg,
"METMonitor",
"MissingEt/Jetcleaning/MET_Calo/EMTopo/")
309 for mets
in emtopomet_types:
315 jetCleaningTool.CutLevel =
"LooseBad"
317 jetCleaningTool.DoUgly =
False
319 BadJets_METMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'BadJets_METMonAlg',
324 BadJets_METMonAlg.metKeys = met_types
325 BadJets_METMonAlg.DoJetCleaning =
True
326 BadJets_METMonAlg.alltrigger =
True
327 BadJets_METMonAlg.DoBadJets =
True
328 BadJets_METMonAlg.JetCleaningTool = jetCleaningTool
329 BadJets_METMonAlg.JetContainerName =
"AntiKt4EMTopoJets"
330 BadJetsGroup = helper.addGroup(BadJets_METMonAlg,
"METMonitor",
"MissingEt/AllTriggers/BadJets/MET_AntiKt4EMTopo")
331 for mets
in met_types:
334 if inputFlags.DQ.DataType
is not DQDataType.Cosmics:
335 BadPFJets_METMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'BadPFJets_METMonAlg',
340 BadPFJets_METMonAlg.METContainer=
"MET_Reference_AntiKt4EMPFlow"
341 BadPFJets_METMonAlg.metKeys = pfmet_types
342 BadPFJets_METMonAlg.DoJetCleaning =
True
343 BadPFJets_METMonAlg.alltrigger =
True
344 BadPFJets_METMonAlg.DoBadJets =
True
345 BadPFJets_METMonAlg.JetCleaningTool = jetCleaningToolPFlow
346 BadPFJets_METMonAlg.JetContainerName =
"AntiKt4EMPFlowJets"
347 BadPFJetsGroup = helper.addGroup(BadPFJets_METMonAlg,
"METMonitor",
"MissingEt/AllTriggers/BadJets/MET_AntiKt4EMPflow/")
348 for mets
in pfmet_types:
352 BadJets_CaloMETMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'BadJets_CaloMETMonAlg',
357 metcalo_types = [
"PEMB",
"EMB",
"PEME",
"EME",
"TILE",
"HEC",
"FCAL" ]
358 BadJets_CaloMETMonAlg.METCaloContainer=
"MET_Calo"
359 BadJets_CaloMETMonAlg.METCaloKeys = metcalo_types
360 BadJets_CaloMETMonAlg.DoJetCleaning =
True
361 BadJets_CaloMETMonAlg.alltrigger =
True
362 BadJets_CaloMETMonAlg.DoBadJets =
True
363 BadJets_CaloMETMonAlg.JetContainerName =
"AntiKt4EMTopoJets"
364 BadJets_CaloMETMonAlg.JetCleaningTool = jetCleaningTool
365 BadJetsGroup_CaloMETMonAlg = helper.addGroup(BadJets_CaloMETMonAlg,
"METMonitor",
"MissingEt/AllTriggers/BadJets/MET_Calo/MET_Cell")
366 for mets
in metcalo_types:
370 BadJets_EMTopoMETMonAlg = helper.addAlgorithm(CompFactory.METMonitoringAlg,
'BadJets_EMTopoMETMonAlg',
375 BadJets_EMTopoMETMonAlg.metKeys = emtopomet_types
376 BadJets_EMTopoMETMonAlg.METContainer=
"MET_EMTopo"
377 BadJets_EMTopoMETMonAlg.DoJetCleaning =
True
378 BadJets_EMTopoMETMonAlg.alltrigger =
True
379 BadJets_EMTopoMETMonAlg.DoBadJets =
True
380 BadJets_EMTopoMETMonAlg.JetCleaningTool = jetCleaningTool
381 BadJetsGroup = helper.addGroup(BadJets_EMTopoMETMonAlg,
"METMonitor",
"MissingEt/AllTriggers/BadJets/MET_Calo/EMTopo")
382 for mets
in emtopomet_types:
385 result.merge(helper.result())