17 from AthenaCommon.Logging
import logging
18 log = logging.getLogger(
"TIDAMonitoring")
20 log.info(
"Creating TIDA monitoring: " + name )
21 log.info(
" mcTruth: " +
str(mcTruth) )
26 if monlevel
is not None:
27 log.info(
"TIDA monitoring not None: monlevel: " + monlevel )
31 elif "shifter" in monlevel:
38 TIDAelectron( flags, key, toolkey, tools, monlevel, mcTruth )
39 TIDAmuon( flags, key, toolkey, tools, monlevel, mcTruth )
40 TIDAtau( flags, key, toolkey, tools, monlevel, mcTruth )
41 TIDAbjet( flags, key, toolkey, tools, monlevel, mcTruth )
42 TIDAminbias( flags, key, toolkey, tools, monlevel, mcTruth )
43 TIDAcosmic( flags, key, toolkey, tools, monlevel, mcTruth )
44 TIDAbphys( flags, key, toolkey, tools, monlevel, mcTruth )
45 TIDAutt( flags, key, toolkey, tools, monlevel, mcTruth )
69 def TIDAsignature( flags, signature, key, toolkey, tools, monlevel, mcTruth, chain_regex ) :
72 tida =
TrigR3Mon_builder( flags, name =
"ID"+signature+
"Truth"+toolkey+
"Tool", mcTruth=
True, pdgID=11 )
73 tida.SliceTag =
"HLT/TRIDT/"+signature+
"Truth/"+key
75 tida =
TrigR3Mon_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
99 def TIDAelectron( flags, key, toolkey, tools, monlevel, mcTruth ) :
104 tidaegamma =
TrigR3Mon_builder( flags, name =
"IDEgammaTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=11 )
105 tidaegamma.SliceTag =
"HLT/TRIDT/EgammaTruth/"+key
107 tidaegamma =
TrigR3Mon_builder( flags, name =
"IDEgamma"+toolkey+
"Tool", useHighestPT=
True )
108 tidaegamma.SliceTag =
"HLT/TRIDT/Egamma/"+key
110 tidaegamma.AnalysisConfig =
"Tier0"
112 from TrigInDetMonitoring.TIDAChains
import getchains
115 [
"HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*).*:key=HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron",
116 "HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*).*:key=HLT_IDTrack_Electron_IDTrig",
117 "HLT_e.(?!.*lrtloose.*).*idperf(?!.*lrtloose.*)(?!.*nogsf.*).*:key=HLT_IDTrack_Electron_GSF",
118 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron:te=1",
119 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:extra=el_tag:roi=HLT_Roi_FastElectron:te=0",
120 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_FTF:extra=el_probe:roi=HLT_Roi_FastElectron:te=1",
121 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:te=1",
122 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:extra=el_tag:te=0",
123 "HLT_e.*_lhtight.*_e.*_idperf_tight_nogsf_probe_.*inv.*:key=HLT_IDTrack_Electron_IDTrig:extra=el_probe:te=1",
124 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:te=1",
125 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:extra=el_tag:te=0",
126 "HLT_e.*_lhtight.*_e.*_idperf_tight_probe_.*inv.*:key=HLT_IDTrack_Electron_GSF:extra=el_probe:te=1" ], monlevel )
130 tidaegamma.ntupleChainNames = chains
132 tidaegamma.MonTools =
createMonTools( flags, tidaegamma.SliceTag, chains )
134 tools += [ tidaegamma ]
141 tidaegammalrt =
TrigR3Mon_builder( flags, name =
"IDEgammaLRTTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=11 )
142 tidaegammalrt.SliceTag =
"HLT/TRIDT/EgammaLRTTruth/"+key
144 tidaegammalrt =
TrigR3Mon_builder( flags, name =
"IDEgammaLRT"+toolkey+
"Tool", useHighestPT=
True )
145 tidaegammalrt.SliceTag =
"HLT/TRIDT/EgammaLRT/"+key
147 tidaegammalrt.AnalysisConfig =
"Tier0"
148 tidaegammalrt.mind0CutOffline = 2.
150 from TrigInDetMonitoring.TIDAChains
import getchains
153 [
"HLT_e.*idperf_loose_lrtloose.*:key=HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT",
154 "HLT_e.*idperf_loose_lrtloose.*:key=HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT",
155 "HLT_e.*lrtloose_idperf.*:key=HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_FTF",
156 "HLT_e.*lrtloose_idperf.*:key=HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT",
161 tidaegammalrt.ntupleChainNames = chains
162 tidaegammalrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
164 tidaegammalrt.MonTools =
createMonTools( flags, tidaegammalrt.SliceTag, chains )
166 tools += [ tidaegammalrt ]
171 def TIDAmuon( flags, key, toolkey, tools, monlevel, mcTruth ) :
176 tidamuon =
TrigR3Mon_builder( flags, name =
"IDMuonTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=13 )
177 tidamuon.SliceTag =
"HLT/TRIDT/MuonTruth/"+key
179 tidamuon =
TrigR3Mon_builder( flags, name =
"IDMuon"+toolkey+
"Tool", useHighestPT=
True )
180 tidamuon.SliceTag =
"HLT/TRIDT/Muon/"+key
182 tidamuon.AnalysisConfig =
"Tier0"
184 from TrigInDetMonitoring.TIDAChains
import getchains
187 [
"HLT_mu(?!.*LRT.*)(?!.*tau.*).*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
188 "HLT_mu(?!.*LRT.*)(?!.*tau.*).*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
189 "HLT_mu.*ivarperf.*:key=HLT_IDTrack_MuonIso_FTF:roi=HLT_Roi_MuonIso",
190 "HLT_mu.*ivarperf.*:key=HLT_IDTrack_MuonIso_IDTrig:roi=HLT_Roi_MuonIso",
191 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
192 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
193 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
194 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
195 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:te=1",
196 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:te=1",
197 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
198 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
199 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
200 "HLT_mu.*_mu.*idtp.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
201 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:te=1",
202 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:te=1",
203 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
204 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
205 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
206 "HLT_mu.*_mu.*_idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1" ], monlevel )
210 tidamuon.ntupleChainNames = chains
212 tidamuon.MonTools =
createMonTools( flags, tidamuon.SliceTag, chains )
214 tools += [ tidamuon ]
221 tidamuonlrt =
TrigR3Mon_builder(flags, name =
"IDMuonLRTTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=13 )
222 tidamuonlrt.SliceTag =
"HLT/TRIDT/MuonLRTTruth/"+key
224 tidamuonlrt =
TrigR3Mon_builder( flags, name =
"IDMuonLRT"+toolkey+
"Tool", useHighestPT=
True )
225 tidamuonlrt.SliceTag =
"HLT/TRIDT/MuonLRT/"+key
227 tidamuonlrt.AnalysisConfig =
"Tier0"
228 tidamuonlrt.mind0CutOffline = 2.
230 from TrigInDetMonitoring.TIDAChains
import getchains
233 [
"HLT_mu.*_LRT_idperf.*:key=HLT_IDTrack_MuonLRT_FTF:roi=HLT_Roi_L2SAMuon_LRT",
234 "HLT_mu.*_LRT_idperf.*:key=HLT_IDTrack_MuonLRT_IDTrig:roi=HLT_Roi_L2SAMuon_LRT"], monlevel )
238 tidamuonlrt.ntupleChainNames = chains
239 tidamuonlrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
241 tidamuonlrt.MonTools =
createMonTools( flags, tidamuonlrt.SliceTag, chains )
243 tools += [ tidamuonlrt ]
249 def TIDAtau( flags, key, toolkey, tools, monlevel, mcTruth ) :
254 tidatau =
TrigR3Mon_builder( flags, name =
"IDTauTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=15 )
255 tidatau.SliceTag =
"HLT/TRIDT/TauTruth/"+key
257 tidatau =
TrigR3Mon_builder( flags, name =
"IDTau"+toolkey+
"Tool", useHighestPT=
True )
258 tidatau.SliceTag =
"HLT/TRIDT/Tau/"+key
260 tidatau.AnalysisConfig =
"Tier0"
262 from TrigInDetMonitoring.TIDAChains
import getchains
265 [
"HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore",
266 "HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso",
267 "HLT_tau.*idperf.*tracktwoMVA_.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso",
268 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore",
269 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso",
270 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso",
271 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=tau1_tag:te=0",
272 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore:extra=tau1_probe:te=1",
273 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=tau0_tag:te=0",
274 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso:extra=tau0_probe:te=1",
275 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=tau_tag:te=0",
276 "HLT_mu.*tau.*idperf.*:key=HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso:extra=tau_probe:te=1" ], monlevel )
280 tidatau.ntupleChainNames = chains
282 tidatau.MonTools =
createMonTools( flags, tidatau.SliceTag, chains )
290 tidataulrt =
TrigR3Mon_builder(flags, name =
"IDTauLRTTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=15 )
291 tidataulrt.SliceTag =
"HLT/TRIDT/TauLRTTruth/"+key
293 tidataulrt =
TrigR3Mon_builder( flags, name =
"IDTauLRT"+toolkey+
"Tool", useHighestPT=
True )
294 tidataulrt.SliceTag =
"HLT/TRIDT/TauLRT/"+key
296 tidataulrt.AnalysisConfig =
"Tier0"
297 tidataulrt.mind0CutOffline = 2.
299 from TrigInDetMonitoring.TIDAChains
import getchains
302 [
"HLT_tau.*_idperf.*_trackLRT.*:key=HLT_IDTrack_TauLRT_FTF:roi=HLT_Roi_LRT",
303 "HLT_tau.*_idperf.*_trackLRT.*:key=HLT_IDTrack_TauLRT_IDTrig:roi=HLT_Roi_TauLRT"], monlevel )
307 tidataulrt.ntupleChainNames = chains
308 tidataulrt.ntupleChainNames += [
"Offline",
"Offline:+InDetLargeD0TrackParticles" ]
310 tidataulrt.MonTools =
createMonTools( flags, tidataulrt.SliceTag, chains )
312 tools += [ tidataulrt ]
318 def TIDAbjet( flags, key, toolkey, tools, monlevel, mcTruth ) :
323 tidabjet =
TrigR3Mon_builder( flags, name =
"IDBjetTruth"+toolkey+
"Tool", mcTruth=
True )
324 tidabjet.SliceTag =
"HLT/TRIDT/BjetTruth/"+key
327 tidabjet.SliceTag =
"HLT/TRIDT/Bjet/"+key
329 tidabjet.AnalysisConfig =
"Tier0"
331 from TrigInDetMonitoring.TIDAChains
import getchains
334 [
"HLT_j.*presel.*b.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper:vtx=HLT_IDVertex_JetSuper",
335 "HLT_j.*roiftf.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper:vtx=HLT_IDVertex_JetSuper",
336 "HLT_j.*presel.*b.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
337 "HLT_j.*boffperf.*:key=HLT_IDTrack_Bjet_FTF:roi=HLT_Roi_Bjet",
338 "HLT_j.*boffperf.*:key=HLT_IDTrack_Bjet_IDTrig:roi=HLT_Roi_Bjet",
339 "HLT_j45_pf_ftf_preselj20_L1J15:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
340 "HLT_j.*_ftf.*boffperf.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
341 "HLT_j.*boffperf.*_ftf.*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS"
351 "HLT_j(?!0).*:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
357 tidabjet.ntupleChainNames += chains
359 tidabjet.MonTools =
createMonTools( flags, tidabjet.SliceTag, chains )
361 tools += [ tidabjet ]
367 def TIDAminbias( flags, key, toolkey, tools, monlevel, mcTruth ) :
372 tidaminbias =
TrigR3Mon_builder( flags, name =
"IDMinbiasTruth"+toolkey+
"Tool", mcTruth=
True )
373 tidaminbias.SliceTag =
"HLT/TRIDT/MinbiasTruth/"+key
376 tidaminbias.SliceTag =
"HLT/TRIDT/Minbias/"+key
378 tidaminbias.AnalysisConfig =
"Tier0"
379 tidaminbias.z0CutOffline = 120
380 tidaminbias.pTCutOffline = 200
382 from TrigInDetMonitoring.TIDAChains
import getchains
385 [
"HLT_mb_sptrk.*:key=HLT_IDTrack_MinBias_IDTrig",
386 "HLT_mb_.*pix.*:key=HLT_IDTrack_MinBiasPixel_IDTrig" ], monlevel )
390 tidaminbias.ntupleChainNames += chains
392 tidaminbias.MonTools =
createMonTools( flags, tidaminbias.SliceTag, chains )
394 tools += [ tidaminbias ]
399 def TIDAcosmic( flags, key, toolkey, tools, monlevel, mcTruth ) :
404 tidacosmic =
TrigR3Mon_builder( flags, name =
"CosmicTruth"+toolkey+
"Tool", mcTruth=
True )
405 tidacosmic.SliceTag =
"HLT/TRIDT/CosmicTruth/"+key
408 tidacosmic.SliceTag =
"HLT/TRIDT/Cosmic/"+key
410 tidacosmic.AnalysisConfig =
"Tier0"
412 from TrigInDetMonitoring.TIDAChains
import getchains
415 [
"HLT_.*cosmic.*:key=HLT_IDTrack_Cosmic_IDTrig" ], monlevel )
419 tidacosmic.ntupleChainNames += chains
421 tidacosmic.MonTools =
createMonTools( flags, tidacosmic.SliceTag, chains )
423 tools += [ tidacosmic ]
429 def TIDAbphys( flags, key, toolkey, tools, monlevel, mcTruth ) :
434 tidabphysics =
TrigR3Mon_builder( flags, name =
"IDBphysicsTruth"+toolkey+
"Tool", mcTruth=
True, pdgID=531 )
435 tidabphysics.SliceTag =
"HLT/TRIDT/BphysicsTruth/"+key
437 tidabphysics =
TrigR3Mon_builder( flags, name =
"IDBphysics"+toolkey+
"Tool", useHighestPT=
True )
438 tidabphysics.SliceTag =
"HLT/TRIDT/Bphysics/"+key
440 tidabphysics.AnalysisConfig =
"Tier0"
442 from TrigInDetMonitoring.TIDAChains
import getchains
445 [
"HLT_mu.*_bBmumux_BsmumuPhi.*:key=HLT_IDTrack_Bmumux_FTF",
446 "HLT_mu.*_bBmumux_BsmumuPhi.*:key=HLT_IDTrack_Bmumux_IDTrig",
447 "HLT_mu.*_bBmumux_Bidperf.*:key=HLT_IDTrack_Bmumux_FTF",
448 "HLT_mu.*_bBmumux_Bidperf.*:key=HLT_IDTrack_Bmumux_IDTrig"], monlevel )
452 tidabphysics.ntupleChainNames += chains
454 tidabphysics.MonTools =
createMonTools( flags, tidabphysics.SliceTag, chains )
456 tools += [ tidabphysics ]
461 def TIDAutt( flags, key, toolkey, tools, monlevel, mcTruth ) :
466 tidautt =
TrigR3Mon_builder( flags, name =
"IDUttTruth"+toolkey+
"Tool", mcTruth=
True )
467 tidautt.SliceTag =
"HLT/TRIDT/UTT/"+key
470 tidautt.SliceTag =
"HLT/TRIDT/UTT/"+key
472 tidautt.AnalysisConfig =
"Tier0"
474 from TrigInDetMonitoring.TIDAChains
import getchains
477 [
"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 )
481 tidautt.ntupleChainNames += chains
483 tidautt.MonTools =
createMonTools( flags, tidautt.SliceTag, chains )
499 from TrigInDetAnalysisExample.chainString
import chainString
500 from TrigInDetAnalysisExample.TIDAMonTool
import createMonTool
502 if excludeTagChains
and "tag" in chainString(mt).extra:
514 from TrigInDetAnalysisExample.TrigInDetAnalysisExampleConf
import TrigR3Mon
517 from AthenaConfiguration.ComponentFactory
import CompFactory
518 alg = CompFactory.TrigR3Mon( name=name )
520 alg.UseHighestPT = useHighestPT
525 alg.pixHitsOffline = -1
526 alg.sctHitsOffline = -1
527 alg.siHitsOffline = -1
531 alg.SelectParentTruthPdgId = 15
533 alg.SelectTruthPdgId = pdgID
551 from AthenaMonitoring
import AthMonitorCfgHelper
552 monConfig = AthMonitorCfgHelper(flags,
"TrigIDMon")
555 algs =
TIDAMonitoring(flags,
"Tier0", monlevel=
"idMon:t0:shifter" )
556 algs +=
TIDAMonitoring(flags,
"Shifter", monlevel=
"idMon:shifter", mcTruth=
False )
559 algs +=
TIDAMonitoring(flags, name=
"PhysVal", monlevel=
"idMon:t0", mcTruth=
True )
560 algs +=
TIDAMonitoring(flags, name=
"PhysValShifter", monlevel=
"idMon:shifter", mcTruth=
True )
563 monConfig.addAlgorithm(a)
565 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
567 ca.merge(monConfig.result())
577 from AthenaCommon.Logging
import log
579 if flags.Output.HISTFileName:
580 log.info(
"histsvc: Create THistSvc with file name: "+flags.Output.HISTFileName )
582 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
585 from AthenaConfiguration.ComponentFactory
import CompFactory
586 THistSvc = CompFactory.THistSvc
589 if flags.Output.HISTFileName:
590 histsvc.Output += [
"%s DATAFILE='%s' OPT='RECREATE'" % (flags.DQ.FileKey, flags.Output.HISTFileName)]
591 log.info(
"histsvc: "+histsvc.Output[-1] )
593 ca.addService(histsvc)
599 if __name__==
'__main__':
602 from AthenaCommon.Logging
import log
603 log.info(
"test running" )
606 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
612 file =
'AOD.pool.root'
614 flags.Input.Files = [file]
615 flags.Input.isMC =
True
617 flags.Output.HISTFileName =
'duff.root'
622 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
623 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
633 cfg.printConfig(withDetails=
False)