6 from AthenaMonitoring
import AthMonitorCfgHelper
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 DQTLumiMonAlg = CompFactory.DQTLumiMonAlg
10 helper = AthMonitorCfgHelper(flags,
'DQTLumiMonAlgCfg')
14 if flags.DQ.useTrigger:
16 'CATEGORY_monitoring_muonIso',
'EF_muX')
18 'CATEGORY_primary_single_ele',
'EF_eX')
19 return helper.result()
23 monAlg = helper.addAlgorithm(algConfObj,
'DQTLumiMonAlg'+triggerPath)
26 monAlg.TriggerChain = triggerChain
28 triggerPath = triggerChain
30 triggerPath =
'AnyTrigger'
32 groupPath =
'GLOBAL/Luminosity/'+triggerPath
33 group = helper.addGroup(monAlg,
'default', groupPath,
'run')
34 pixelgroup = helper.addGroup(monAlg,
'pixel', groupPath,
'run')
35 nLooseT =
'Number of Loose Vertices'
36 nTightT =
'Number of Tight Vertices'
37 nPixClusterT =
'Number of Pixel Clusters'
40 monAlg.TightTrackWeight = 0.01
41 monAlg.TightNTracks = 4
43 lbdict = {
'xmin':
min(flags.Input.LumiBlockNumbers)-0.5
if flags.Input.LumiBlockNumbers
else 0.5,
44 'xmax':
max(flags.Input.LumiBlockNumbers)+0.5
if flags.Input.LumiBlockNumbers
else 1.5 }
45 lbdict[
'xbins'] =
int(lbdict[
'xmax']-lbdict[
'xmin'])
48 group.defineHistogram(
'avgIntPerXing', type=
'TH1F', xbins=100, xmin=0, xmax=100,
49 title=
'Average number of interactions per bunch Xing')
50 group.defineHistogram(
'intPerXing', type=
'TH1F', xbins=100, xmin=0, xmax=100,
51 title=
'Actual number of interactions per bunch Xing')
54 group.defineHistogram(
'LB,avgLumi', type=
'TProfile',
55 title=
'Average Lumi vs LB', opt=
'kAddBinsDynamically',
56 merge=
'merge', **lbdict)
57 group.defineHistogram(
'LB,avgIntPerXing', type=
'TProfile',
58 title=
'Number of interactions per event;LB;<#mu>_{LB}',
59 opt=
'kAddBinsDynamically', merge=
'merge', **lbdict)
60 group.defineHistogram(
'LB,lumiPerBCID', type=
'TProfile',
61 title=
'Instantaneous Luminosity vs LB', opt=
'kAddBinsDynamically',
62 merge=
'merge', **lbdict)
63 group.defineHistogram(
'LB,intPerXing', type=
'TProfile',
64 title=
'Instaneous interactions vs LB', opt=
'kAddBinsDynamically',
65 merge=
'merge', **lbdict)
66 group.defineHistogram(
'LB,duration', type=
'TProfile',
67 title=
'Lumi Block time in sec vs LB', opt=
'kAddBinsDynamically',
68 merge=
'merge', **lbdict)
69 group.defineHistogram(
'LB,avgLiveFrac', type=
'TProfile',
70 title=
'Average live fraction lumi over all BCIDs vs LB',
71 opt=
'kAddBinsDynamically', merge=
'merge', **lbdict)
72 group.defineHistogram(
'LB,liveFracPerBCID', type=
'TProfile',
73 title=
'Current BCID lumi vs LB', opt=
'kAddBinsDynamically',
74 merge=
'merge', **lbdict)
75 group.defineHistogram(
'LB,lumiWeight', type=
'TProfile',
76 title=
'Current BCID lumi vs LB', opt=
'kAddBinsDynamically',
77 merge=
'merge', **lbdict)
80 group.defineHistogram(
'LB,nLooseVtx', type=
'TProfile',
81 title=nLooseT+
' per event;LB;<NlooseVtx/event>_{LB}',
82 opt=
'kAddBinsDynamically', merge=
'merge', **lbdict)
83 group.defineHistogram(
'LB,nTightVtx', type=
'TProfile',
84 title=nTightT+
' per event;LB;<NtightVtx/event>_{LB}',
85 opt=
'kAddBinsDynamically', merge=
'merge', **lbdict)
88 group.defineHistogram(
'LB,nLooseVtxPerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
89 title=nLooseT+
' per event per Mu;LB;<NlooseVtx/event/#mu>_{LB}',
90 merge=
'merge', **lbdict)
91 group.defineHistogram(
'LB,nTightVtxPerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
92 title=nTightT+
' per event per Mu;LB;<NtightVtx/event/#mu>_{LB}',
93 merge=
'merge', **lbdict)
96 group.defineHistogram(
'avgIntPerXing,nLooseVtx', type=
'TProfile', xbins=250, xmin=0, xmax=100,
97 title=nLooseT+
' per event;#mu;NlooseVtx/event')
98 group.defineHistogram(
'avgIntPerXing,nTightVtx', type=
'TProfile', xbins=250, xmin=0, xmax=100,
99 title=nTightT+
' per event;#mu;NtightVtx/event')
102 pixelgroup.defineHistogram(
'LB,nClustersAll', type=
'TProfile', opt=
'kAddBinsDynamically',
103 title=nPixClusterT+
', all;LB;<NclustersAll/event>_{LB}',
104 merge=
'merge', **lbdict)
105 pixelgroup.defineHistogram(
'LB,nClustersECA', type=
'TProfile', opt=
'kAddBinsDynamically',
106 title=nPixClusterT+
', endcap A;LB;<NlustersECA/event>_{LB}',
107 merge=
'merge', **lbdict)
108 pixelgroup.defineHistogram(
'LB,nClustersECC', type=
'TProfile', opt=
'kAddBinsDynamically',
109 title=nPixClusterT+
', endcap C;LB;<NclustersECC/event>_{LB}',
110 merge=
'merge', **lbdict)
111 pixelgroup.defineHistogram(
'LB,nClustersB0', type=
'TProfile', opt=
'kAddBinsDynamically',
112 title=nPixClusterT+
', barrel layer 0;LB;<NclustersB0/event>_{LB}',
113 merge=
'merge', **lbdict)
114 pixelgroup.defineHistogram(
'LB,nClustersB1', type=
'TProfile', opt=
'kAddBinsDynamically',
115 title=nPixClusterT+
', barrel layer 1;LB;<NclustersB1/event>_{LB}',
116 merge=
'merge', **lbdict)
117 pixelgroup.defineHistogram(
'LB,nClustersB2', type=
'TProfile', opt=
'kAddBinsDynamically',
118 title=nPixClusterT+
', barrel layer 2;LB;<NclustersB2/event>_{LB}',
119 merge=
'merge', **lbdict)
122 pixelgroup.defineHistogram(
'LB,nClustersAllPerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
123 title=nPixClusterT+
' per Mu, all;LB;<NclustersAll/event/#mu>_{LB}',
124 merge=
'merge', **lbdict)
125 pixelgroup.defineHistogram(
'LB,nClustersECAPerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
126 title=nPixClusterT+
' per Mu, endcap A;LB;<NlustersECA/event/#mu>_{LB}',
127 merge=
'merge', **lbdict)
128 pixelgroup.defineHistogram(
'LB,nClustersECCPerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
129 title=nPixClusterT+
' per Mu, endcap C;LB;<NclustersECC/event/#mu>_{LB}',
130 merge=
'merge', **lbdict)
131 pixelgroup.defineHistogram(
'LB,nClustersB0PerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
132 title=nPixClusterT+
' per Mu, barrel layer 0;LB;<NclustersB0/event/#mu>_{LB}',
133 merge=
'merge', **lbdict)
134 pixelgroup.defineHistogram(
'LB,nClustersB1PerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
135 title=nPixClusterT+
' per Mu, barrel layer 1;LB;<NclustersB1/event/#mu>_{LB}',
136 merge=
'merge', **lbdict)
137 pixelgroup.defineHistogram(
'LB,nClustersB2PerAvgMu', type=
'TProfile', opt=
'kAddBinsDynamically',
138 title=nPixClusterT+
' per Mu, barrel layer 2;LB;<NclustersB2/event/#mu>_{LB}',
139 merge=
'merge', **lbdict)
142 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersAll', type=
'TProfile',
143 xbins=250, xmin=0, xmax=100,
144 title=nPixClusterT+
', all;#mu;NclustersAll/event')
145 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersECA', type=
'TProfile',
146 xbins=250, xmin=0, xmax=100,
147 title=nPixClusterT+
', endcap A;#mu;NclustersECA/event')
148 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersECC', type=
'TProfile',
149 xbins=250, xmin=0, xmax=100,
150 title=nPixClusterT+
', endcap C;#mu;NclustersECC/event')
151 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersB0', type=
'TProfile',
152 xbins=250, xmin=0, xmax=100,
153 title=nPixClusterT+
', barrel layer 0;#mu;NclustersB0/event')
154 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersB1', type=
'TProfile',
155 xbins=250, xmin=0, xmax=100,
156 title=nPixClusterT+
', barrel layer 1;#mu;NclustersB1/event')
157 pixelgroup.defineHistogram(
'avgIntPerXing,nClustersB2', type=
'TProfile',
158 xbins=250, xmin=0, xmax=100,
159 title=nPixClusterT+
', barrel layer 2;#mu;NclustersB2/event')