5 @brief Configuration for the heavy-ion part of MinBias monitoring
8 from .utils
import getMinBiasChains
9 from AthenaCommon.Logging
import logging
11 log = logging.getLogger(
'TrigTRTMonitoring')
15 from AthenaMonitoring
import AthMonitorCfgHelper
16 monConfig = AthMonitorCfgHelper(flags,
'TRTMonitoring')
18 from AthenaConfiguration.ComponentFactory
import CompFactory
19 alg = monConfig.addAlgorithm(CompFactory.TRTMonitoringAlg,
'TRTMonitoringAlg')
21 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_LoosePrimary_Cfg
23 alg.TrackSelectionTool = trkSel
25 from TrigConfigSvc.TriggerConfigAccess
import getHLTMonitoringAccess
27 chains =
getMinBiasChains(monAccess,
'HLT_noalg_L1TRT_FILLED|HLT_mb_excl_1trk5_pt1_hi_FgapAC5_L1TRT_VjTE20|HLT_noalg_L1TRT_VjTE50')
29 ref_chains = [
'HLT_mb_sptrk_L1ZDC_XOR_VjTE200',
'HLT_mb_sptrk_hi_FgapC5_L1VjTE200',
'HLT_mb_sptrk_hi_FgapA5_L1VjTE200',
30 'HLT_noalg_L1RD0_FILLED',
'HLT_mb_sptrk_L1VTE50',
31 'HLT_mb_sptrk_hi_FgapA5_L1VZDC_A_ZDC_C_VTE200',
'HLT_mb_sptrk_hi_FgapC5_L1ZDC_A_VZDC_C_VTE200']
33 log.info(f
'Monitoring {len(chains)} L1TRT chain(s)')
34 log.debug([name
for name, _
in chains])
36 alg.triggerList = [name
for name, _
in chains]
37 alg.refTriggerList = ref_chains
39 for chain, group
in chains:
40 hiTRTGroup = monConfig.addGroup(alg, f
'{chain}', topPath=f
'HLT/MinBiasMon/{group}/L1TRT/{chain}/')
43 hiTRTGroup.defineHistogram(
'n_trk', title=
'Track multiplicity;N_{trk};Events / 1', xbins=20, xmin=-0.5, xmax=19.5)
44 hiTRTGroup.defineHistogram(
'lead_trk_pT', title=
'Leading track p_{T};p_{T}^{lead} [GeV];Events / 100 MeV', xbins=40, xmin=0, xmax=4)
47 hiTRTGroup.defineHistogram(f
'effPassed,n_trk;{chain}_eff_ntrk', type=
'TEfficiency',
48 title=
'L1 TRT efficiency;N_{trk};Efficiency', xbins=20, xmin=-0.5, xmax=19.5)
49 hiTRTGroup.defineHistogram(f
'effPassed,lead_trk_pT;{chain}_eff_pT', type=
'TEfficiency',
50 title=
'L1 TRT efficiency;p_{T}^{lead} [GeV];Efficiency', xbins=40, xmin=0, xmax=4)
52 return monConfig.result()
55 if __name__ ==
"__main__":
57 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
59 flags.DQ.Environment =
"AOD"
60 flags.Concurrency.NumConcurrentEvents = 5
62 flags.Output.HISTFileName =
"TestTRTMonitorOutput.root"
64 from AthenaCommon.Logging
import logging
65 log = logging.getLogger(__name__)
66 log.info(
"Input %s",
str(flags.Input.Files))
70 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
71 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
79 cfg.getEventAlgo(
"TRTMonitoringAlg").OutputLevel = DEBUG
80 cfg.printConfig(withDetails=
True)
81 with open(
"cfg.pkl",
"wb")
as f: