17 from AthenaCommon.Logging
import logging
18 log = logging.getLogger(
"TIDAMonitoring")
20 log.info(
"Creating TIDA monitoring: " + name )
25 if monlevel
is not None:
26 log.info(
"TIDA monitoring not None: monlevel: " + monlevel )
30 elif "shifter" in monlevel:
34 print(
" R4Mon: toolkey: ", toolkey )
35 print(
" R4Mon: key: ", key )
42 TIDR4MonMuon( flags, key, toolkey+name, tools, monlevel )
75 tida =
TrigIDR4Mon_builder( flags, name =
"ID"+signature+toolkey+
"Tool", useHighestPT=
True )
76 tida.SliceTag =
"HLT/TRIDT/"+signature+
"/"+key
78 tida.AnalysisConfig =
"Tier0"
80 from TrigInDetMonitoring.TIDAChains
import getchains
82 chains =
getchains( flags, chain_regex, monlevel )
87 tida.ntupleChainNames = chains
103 tidaegamma =
TrigIDR4Mon_builder( flags, name =
"IDEgamma"+toolkey+
"Tool", useHighestPT=
True )
104 tidaegamma.SliceTag =
"HLT/TRIDT/Egamma/"+key
106 tidaegamma.AnalysisConfig =
"Tier0"
108 from TrigInDetMonitoring.TIDAChains
import getchains
111 [
"HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*).*:key=HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron",
112 "HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*).*:key=HLT_IDTrack_Electron_IDTrig",
113 "HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*)(?!.*nogsf.*).*:key=HLT_IDTrack_Electron_GSF",
114 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron:te=1",
115 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:extra=el_tag:roi=HLT_Roi_FastElectron:te=0",
116 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:extra=el_probe:roi=HLT_Roi_FastElectron:te=1",
117 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:te=1",
118 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:extra=el_tag:te=0",
119 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:extra=el_probe:te=1",
120 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:te=1",
121 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:extra=el_tag:te=0",
122 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:extra=el_probe:te=1" ], monlevel )
126 tidaegamma.ntupleChainNames = chains
128 tidaegamma.MonTools =
createMonTools( flags, tidaegamma.SliceTag, chains )
130 tools += [ tidaegamma ]
139 tidaegammalrt =
TrigIDR4Mon_builder( flags, name =
"IDEgammaLRT"+toolkey+
"Tool", useHighestPT=
True )
140 tidaegammalrt.SliceTag =
"HLT/TRIDT/EgammaLRT/"+key
142 tidaegammalrt.AnalysisConfig =
"Tier0"
143 tidaegammalrt.mind0CutOffline = 2.
145 from TrigInDetMonitoring.TIDAChains
import getchains
148 [
"HLT_e.*idperf_loose_lrtloose.*:key=HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT",
149 "HLT_e.*idperf_loose_lrtloose.*:key=HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT",
150 "HLT_e.*lrtloose_idperf.*:key=HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_FTF",
151 "HLT_e.*lrtloose_idperf.*:key=HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT",
156 tidaegammalrt.ntupleChainNames = chains
157 tidaegammalrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
159 tidaegammalrt.MonTools =
createMonTools( flags, tidaegammalrt.SliceTag, chains )
161 tools += [ tidaegammalrt ]
171 name =
"IDMuon"+toolkey+
"Tool"
173 print(
" name: ", name )
174 print(
" key: ", key )
178 tidamuon.SliceTag =
"HLT/TRIDT/Muon/"+key
180 tidamuon.AnalysisConfig =
"Tier0"
182 from TrigInDetMonitoring.TIDAChains
import getchains
185 [
"HLT_mu(?!.*LRT.*)(?!.*tau.*).*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
186 "HLT_mu(?!.*LRT.*)(?!.*tau.*).*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
187 "HLT_mu.*ivarperf.*:key=HLT_IDTrack_MuonIso_FTF:roi=HLT_Roi_MuonIso",
188 "HLT_mu.*ivarperf.*:key=HLT_IDTrack_MuonIso_IDTrig:roi=HLT_Roi_MuonIso",
189 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
190 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
191 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
192 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
193 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:te=1",
194 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:te=1",
195 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
196 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
197 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
198 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
199 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:te=1",
200 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:te=1",
201 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
202 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
203 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
204 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1" ], monlevel )
208 tidamuon.ntupleChainNames = chains
210 tidamuon.MonTools =
createMonTools( flags, tidamuon.SliceTag, chains )
212 tools += [ tidamuon ]
219 tidamuonlrt =
TrigIDR4Mon_builder( flags, name =
"IDMuonLRT"+toolkey+
"Tool", useHighestPT=
True )
220 tidamuonlrt.SliceTag =
"HLT/TRIDT/MuonLRT/"+key
222 tidamuonlrt.AnalysisConfig =
"Tier0"
223 tidamuonlrt.mind0CutOffline = 2.
225 from TrigInDetMonitoring.TIDAChains
import getchains
228 [
"HLT_mu.*_LRT_idperf.*:key=HLT_IDTrack_MuonLRT_FTF:roi=HLT_Roi_L2SAMuon_LRT",
229 "HLT_mu.*_LRT_idperf.*:key=HLT_IDTrack_MuonLRT_IDTrig:roi=HLT_Roi_L2SAMuon_LRT"], monlevel )
233 tidamuonlrt.ntupleChainNames = chains
234 tidamuonlrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
236 tidamuonlrt.MonTools =
createMonTools( flags, tidamuonlrt.SliceTag, chains )
238 tools += [ tidamuonlrt ]
249 tidatau.SliceTag =
"HLT/TRIDT/Tau/"+key
251 tidatau.AnalysisConfig =
"Tier0"
253 from TrigInDetMonitoring.TIDAChains
import getchains
256 [
"HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore",
257 "HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso",
258 "HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso",
259 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore",
260 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso",
261 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso",
262 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=tau1_tag:te=0",
263 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore:extra=tau1_probe:te=1",
264 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=tau0_tag:te=0",
265 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso:extra=tau0_probe:te=1",
266 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=tau_tag:te=0",
267 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso:extra=tau_probe:te=1" ], monlevel )
271 tidatau.ntupleChainNames = chains
273 tidatau.MonTools =
createMonTools( flags, tidatau.SliceTag, chains )
280 tidataulrt =
TrigIDR4Mon_builder( flags, name =
"IDTauLRT"+toolkey+
"Tool", useHighestPT=
True )
281 tidataulrt.SliceTag =
"HLT/TRIDT/TauLRT/"+key
283 tidataulrt.AnalysisConfig =
"Tier0"
284 tidataulrt.mind0CutOffline = 2.
286 from TrigInDetMonitoring.TIDAChains
import getchains
289 [
"HLT_tau.*_idperf.*_trackLRT.*:key=HLT_IDTrack_TauLRT_FTF:roi=HLT_Roi_LRT",
290 "HLT_tau.*_idperf.*_trackLRT.*:key=HLT_IDTrack_TauLRT_IDTrig:roi=HLT_Roi_TauLRT"], monlevel )
294 tidataulrt.ntupleChainNames = chains
295 tidataulrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
297 tidataulrt.MonTools =
createMonTools( flags, tidataulrt.SliceTag, chains )
299 tools += [ tidataulrt ]
310 tidabjet.SliceTag =
"HLT/TRIDT/Bjet/"+key
312 tidabjet.AnalysisConfig =
"Tier0"
314 from TrigInDetMonitoring.TIDAChains
import getchains
317 [
"HLT_j.*presel.*b.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper:vtx=HLT_IDVertex_JetSuper",
318 "HLT_j.*roiftf.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper:vtx=HLT_IDVertex_JetSuper",
319 "HLT_j.*presel.*b.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
320 "HLT_j.*boffperf.*:key=HLT_IDTrack_Bjet_FTF:roi=HLT_Roi_Bjet",
321 "HLT_j.*boffperf.*:key=HLT_IDTrack_Bjet_IDTrig:roi=HLT_Roi_Bjet",
322 "HLT_j45_pf_ftf_preselj20_L1J15:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
323 "HLT_j.*_ftf.*boffperf.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
324 "HLT_j.*boffperf.*_ftf.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS"
334 "HLT_j(?!0).*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
340 tidabjet.ntupleChainNames += chains
342 tidabjet.MonTools =
createMonTools( flags, tidabjet.SliceTag, chains )
344 tools += [ tidabjet ]
355 tidaminbias.SliceTag =
"HLT/TRIDT/Minbias/"+key
357 tidaminbias.AnalysisConfig =
"Tier0"
358 tidaminbias.z0CutOffline = 120
359 tidaminbias.pTCutOffline = 200
361 from TrigInDetMonitoring.TIDAChains
import getchains
364 [
"HLT_mb_sptrk.*:key=HLT_IDTrack_MinBias_IDTrig",
365 "HLT_mb_.*pix.*:key=HLT_IDTrack_MinBiasPixel_IDTrig" ], monlevel )
369 tidaminbias.ntupleChainNames += chains
371 tidaminbias.MonTools =
createMonTools( flags, tidaminbias.SliceTag, chains )
373 tools += [ tidaminbias ]
383 tidacosmic.SliceTag =
"HLT/TRIDT/Cosmic/"+key
385 tidacosmic.AnalysisConfig =
"Tier0"
387 from TrigInDetMonitoring.TIDAChains
import getchains
390 [
"HLT_.*cosmic.*:key=HLT_IDTrack_Cosmic_IDTrig" ], monlevel )
394 tidacosmic.ntupleChainNames += chains
396 tidacosmic.MonTools =
createMonTools( flags, tidacosmic.SliceTag, chains )
398 tools += [ tidacosmic ]
408 tidabphysics =
TrigIDR4Mon_builder( flags, name =
"IDBphysics"+toolkey+
"Tool", useHighestPT=
True )
409 tidabphysics.SliceTag =
"HLT/TRIDT/Bphysics/"+key
411 tidabphysics.AnalysisConfig =
"Tier0"
413 from TrigInDetMonitoring.TIDAChains
import getchains
416 [
"HLT_mu.*_bBmumux_BsmumuPhi.*:key=HLT_IDTrack_Bmumux_FTF",
417 "HLT_mu.*_bBmumux_BsmumuPhi.*:key=HLT_IDTrack_Bmumux_IDTrig",
418 "HLT_mu.*_bBmumux_Bidperf.*:key=HLT_IDTrack_Bmumux_FTF",
419 "HLT_mu.*_bBmumux_Bidperf.*:key=HLT_IDTrack_Bmumux_IDTrig"], monlevel )
423 tidabphysics.ntupleChainNames += chains
425 tidabphysics.MonTools =
createMonTools( flags, tidabphysics.SliceTag, chains )
427 tools += [ tidabphysics ]
437 tidautt.SliceTag =
"HLT/TRIDT/UTT/"+key
439 tidautt.AnalysisConfig =
"Tier0"
441 from TrigInDetMonitoring.TIDAChains
import getchains
444 [
"HLT_j180_.*dispjet.*_L1J100:key=HLT_IDTrack_DJLRT_FTF:roi=HLT_Roi_DJ",
"HLT_j180_.*dispjet.*_L1jJ160:key=HLT_IDTrack_DJLRT_FTF:roi=HLT_Roi_DJ" ], monlevel )
448 tidautt.ntupleChainNames += chains
450 tidautt.MonTools =
createMonTools( flags, tidautt.SliceTag, chains )
476 from TrigInDetMonitoring.TIDAMonitoring
import createMonTools
484 from TrigIDR4Monitoring.TrigIDR4MonitoringConf
import TrigIDR4Mon
487 from AthenaConfiguration.ComponentFactory
import CompFactory
488 alg = CompFactory.TrigIDR4Mon( name=name )
490 alg.UseHighestPT = useHighestPT
508 from AthenaMonitoring
import AthMonitorCfgHelper
509 monConfig = AthMonitorCfgHelper(flags,
"TrigIDR4Mon")
511 print(
"monlevel: ", monlevels )
522 monConfig.addAlgorithm(a)
524 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
526 ca.merge(monConfig.result())
536 from AthenaCommon.Logging
import log
538 if flags.Output.HISTFileName:
539 log.info(
"histsvc: Create THistSvc with file name: "+flags.Output.HISTFileName )
541 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
544 from AthenaConfiguration.ComponentFactory
import CompFactory
545 THistSvc = CompFactory.THistSvc
548 if flags.Output.HISTFileName:
549 histsvc.Output += [
"%s DATAFILE='%s' OPT='RECREATE'" % (flags.DQ.FileKey, flags.Output.HISTFileName)]
550 log.info(
"histsvc: "+histsvc.Output[-1] )
552 ca.addService(histsvc)
558 if __name__==
'__main__':
561 from AthenaCommon.Logging
import log
562 log.info(
"test running" )
565 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
571 file =
'AOD.pool.root'
573 flags.Input.Files = [file]
574 flags.Input.isMC =
False
576 flags.Output.HISTFileName =
'duff.root'
581 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
582 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
592 cfg.printConfig(withDetails=
False)