6def L2MuonSAIOMonConfig(helper, isPhaseII=False, **kwargs):
7
8 from AthenaConfiguration.ComponentFactory import CompFactory
9
10 GroupName = 'L2MuonSAIO'
11
12 from MuonSelectorTools.MuonSelectorToolsConfig import MuonLoosenedNonCalibratedSelectionToolCfg
13 from .MuonMatchingToolConfig import MuonMatchingToolConfig
14
15
16 kwargs.setdefault("MuonContainerName", "Muons")
17
18 monAlg = helper.addAlgorithm(CompFactory.L2MuonSAIOMon,'L2MuonSAIOMon',
19 MuonSelectionTool = helper.result().popToolsAndMerge(MuonLoosenedNonCalibratedSelectionToolCfg(helper.flags,
20 MuQuality=1)),
21 MuonMatchingTool = helper.result().popToolsAndMerge(MuonMatchingToolConfig(helper.flags,
22 isPhaseII=isPhaseII,
23 MuonContainerName=kwargs["MuonContainerName"])),
24 **kwargs)
25
26
27 from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
28 moniAccess = getHLTMonitoringAccess(helper.flags)
29 Chains = moniAccess.monitoredChains(signatures="muonMon",monLevels=["shifter","t0","val"])
30 monAlg.MonitoredChains = [c for c in Chains if ('l2io' in c)]
31
32
33 if len(monAlg.MonitoredChains) == 0:
34 monAlg.MonitoredChains = ['HLT_mu4_l2io_L1MU3V', 'HLT_mu24_ivarmedium_mu6_l2io_probe_L1MU14FCH', 'HLT_mu24_ivarmedium_mu6_l2io_probe_L1MU18VFCH']
35
36 monAlg.Group = GroupName
37
38 for chain in monAlg.MonitoredChains:
39
40 histGroup = helper.addGroup(monAlg, GroupName+'_'+chain, 'HLT/MuonMon/L2MuonSAIO/'+chain)
41 if 'HLT_mu24_ivarmedium_mu6_l2io_probe_L1' in chain:
42 threshold, level1 = regex(
'HLT_.*_mu([0-9]+)_l2io.*_(L1MU[0-9]+)').
match(chain).groups()
43 else:
44 threshold, level1 = regex(
'HLT_mu([0-9]+).*_(L1MU[0-9]+)').
match(chain).groups()
45 monAlg.Plateaus.append( float(threshold) )
46
47
48
49 if 'HLT_mu24_ivarmedium_mu6_l2io_probe_L1' in chain:
50 histGroup.defineHistogram(chain+'_passL2InsideOut,'+chain+'_offdR;EffL2InsideOut_offdR',
51 title='L2Inside-Out Efficiency dR of offline muon pair '+chain+';dR;Efficiency',
52 cutmask=chain+'_passL2SA',
53 type='TEfficiency', path='',xbins=100,xmin=0.,xmax=3.)
54
55 histGroup.defineHistogram(chain+'_passL2InsideOut,'+chain+'_offPt;EffL2InsideOut_offPt',
56 title='L2Inside-Out Efficiency pT of offline muon '+chain+';p_{T} [GeV/c];Efficiency',
57 cutmask=chain+'_passL2SA',
58 type='TEfficiency', path='',xbins=104,xmin=-52.,xmax=52.)
59
60 histGroup.defineHistogram(chain+'_passL2InsideOut,'+chain+'_offEta;EffL2InsideOut_offEta',
61 title='L2Inside-Out Efficiency Eta of offline muon '+chain+';#eta;Efficiency',
62 cutmask=chain+'_passL2SA',
63 type='TEfficiency', path='',xbins=27,xmin=-2.7,xmax=2.7)
64
65 histGroup.defineHistogram(chain+'_passL2InsideOut,'+chain+'_offPhi;EffL2InsideOut_offPhi',
66 title='L2Inside-Out Efficiency Phi of offline muon '+chain+';#phi;Efficiency',
67 cutmask=chain+'_passL2SA',
68 type='TEfficiency', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
69
70 else:
71
72 histGroup.defineHistogram(chain+'_Pt;L2CBIO_Pt_Barrel',
73 title='L2MuonCBIO Pt Barrel '+chain+';p_{T} [GeV];Events',
74 cutmask=chain+'_isBarrel',
75 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
76
77 histGroup.defineHistogram(chain+'_Pt;L2CBIO_Pt_Endcap',
78 title='L2MuonCBIO Pt Endcap '+chain+';p_{T} [GeV];Events',
79 cutmask=chain+'_isEndcap',
80 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
81
82 histGroup.defineHistogram(chain+'_Eta;L2CBIO_Eta',
83 title='L2MuonCBIO Eta '+chain+';#eta;Events',
84 type='TH1F', path='',xbins=108,xmin=-2.7,xmax=2.7)
85
86 histGroup.defineHistogram(chain+'_Phi;L2CBIO_Phi_Barrel',
87 title='L2MuonCBIO Phi Barrel '+chain+';#phi;Events',
88 cutmask=chain+'_isBarrel',
89 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
90
91 histGroup.defineHistogram(chain+'_Phi;L2CBIO_Phi_Endcap',
92 title='L2MuonCBIO Phi Endcap '+chain+';#phi;Events',
93 cutmask=chain+'_isEndcap',
94 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
95
96
97
98 histGroup.defineHistogram(chain+'_Pt_wrt_offline;L2CBIO_Pt_matched_to_offline_Barrel',
99 title='L2MuonCBIO Pt matched to Offline muons Barrel '+chain+';p_{T} [GeV];Events',
100 cutmask=chain+'_isBarrel',
101 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
102
103 histGroup.defineHistogram(chain+'_Pt_wrt_offline;L2CBIO_Pt_matched_to_offline_Endcap',
104 title='L2MuonCBIO Pt matched to Offline muons Endcap '+chain+';p_{T} [GeV];Events',
105 cutmask=chain+'_isEndcap',
106 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
107
108 histGroup.defineHistogram(chain+'_Eta_wrt_offline;L2CBIO_wrt_Eta_matched_to_offline',
109 title='L2MuonCBIO matched to Offline muons Eta '+chain+';#eta;Events',
110 type='TH1F', path='',xbins=108,xmin=-2.7,xmax=2.7)
111
112 histGroup.defineHistogram(chain+'_Phi_wrt_offline;L2CBIO_Phi_matched_to_offline_Barrel',
113 title='L2MuonCBIO Phi matched to Offline muons Barrel '+chain+';#phi;Events',
114 cutmask=chain+'_isBarrel',
115 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
116
117 histGroup.defineHistogram(chain+'_Phi_wrt_offline;L2CBIO_Phi_matched_to_offline_Endcap',
118 title='L2MuonCBIO Phi matched to Offline muons Endcap '+chain+';#phi;Events',
119 cutmask=chain+'_isEndcap',
120 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
121
122
123 histGroup.defineHistogram(chain+'_dRmin;L2CBIO_dR_toOffl_Barrel',
124 title='dR between L2CBIO and Offline Barrel '+chain+';#DeltaR;Events',
125 cutmask=chain+'_isBarrel',
126 type='TH1F', path='',xbins=100,xmin=0.,xmax=0.005)
127
128 histGroup.defineHistogram(chain+'_dRmin;L2CBIO_dR_toOffl_Endcap',
129 title='dR between L2CBIO and Offline Endcap '+chain+';#DeltaR;Events',
130 cutmask=chain+'_isEndcap',
131 type='TH1F', path='',xbins=100,xmin=0.,xmax=0.005)
132
133
134 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_barrel_pT4_6',
135 title='distance b/w FTFroad and Offline segment Inner Barrel (pT4GeV-6GeV) '+chain+';distance (mm);Events',
136 cutmask=chain+'_pt4to6',
137 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
138
139 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_barrel_pT4_6',
140 title='distance b/w FTFroad and Offline segment Middle Barrel (pT4GeV-6GeV) '+chain+';distance (mm);Events',
141 cutmask=chain+'_pt4to6',
142 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
143
144 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_barrel_pT4_6',
145 title='distance b/w FTFroad and Offline segment Outer Barrel (pT4GeV-6GeV) '+chain+';distance (mm);Events',
146 cutmask=chain+'_pt4to6',
147 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
148
149 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_barrel_pT6_8',
150 title='distance b/w FTFroad and Offline segment Inner Barrel (pT6GeV-8GeV) '+chain+';distance (mm);Events',
151 cutmask=chain+'_pt6to8',
152 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
153
154 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_barrel_pT6_8',
155 title='distance b/w FTFroad and Offline segment Middle Barrel (pT6GeV-8GeV) '+chain+';distance (mm);Events',
156 cutmask=chain+'_pt6to8',
157 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
158
159 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_barrel_pT6_8',
160 title='distance b/w FTFroad and Offline segment Outer Barrel (pT6GeV-8GeV) '+chain+';distance (mm);Events',
161 cutmask=chain+'_pt6to8',
162 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
163
164 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_barrel_pT8_x',
165 title='distance b/w FTFroad and Offline segment Inner Barrel (pT over 8GeV) '+chain+';distance (mm);Events',
166 cutmask=chain+'_ptover8',
167 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
168
169 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_barrel_pT8_x',
170 title='distance b/w FTFroad and Offline segment Middle Barrel (pT over 8GeV) '+chain+';distance (mm);Events',
171 cutmask=chain+'_ptover8',
172 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
173
174 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Barrel;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_barrel_pT8_x',
175 title='distance b/w FTFroad and Offline segment Outer Barrel (pT over 8GeV) '+chain+';distance (mm);Events',
176 cutmask=chain+'_ptover8',
177 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
178
179 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_endcap_pT4_6',
180 title='distance b/w FTFroad and Offline segment Inner Endcap (pT4GeV-6GeV) '+chain+';distance (mm);Events',
181 cutmask=chain+'_pt4to6',
182 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
183
184 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_endcap_pT4_6',
185 title='distance b/w FTFroad and Offline segment Middle Endcap (pT4GeV-6GeV) '+chain+';distance (mm);Events',
186 cutmask=chain+'_pt4to6',
187 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
188
189 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_endcap_pT4_6',
190 title='distance b/w FTFroad and Offline segment Outer Endcap (pT4GeV-6GeV) '+chain+';distance (mm);Events',
191 cutmask=chain+'_pt4to6',
192 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
193
194 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_endcap_pT6_8',
195 title='distance b/w FTFroad and Offline segment Inner Endcap (pT6GeV-8GeV) '+chain+';distance (mm);Events',
196 cutmask=chain+'_pt6to8',
197 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
198
199 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_endcap_pT6_8',
200 title='distance b/w FTFroad and Offline segment Middle Endcap (pT6GeV-8GeV) '+chain+';distance (mm);Events',
201 cutmask=chain+'_pt6to8',
202 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
203
204 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_endcap_pT6_8',
205 title='distance b/w FTFroad and Offline segment Outer Endcap (pT6GeV-8GeV) '+chain+';distance (mm);Events',
206 cutmask=chain+'_pt6to8',
207 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
208
209 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Inn_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Inn_endcap_pT8_x',
210 title='distance b/w FTFroad and Offline segment Inner Endcap (pT over 8GeV) '+chain+';distance (mm);Events',
211 cutmask=chain+'_ptover8',
212 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
213
214 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Mid_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Mid_endcap_pT8_x',
215 title='distance b/w FTFroad and Offline segment Middle Endcap (pT over 8GeV) '+chain+';distance (mm);Events',
216 cutmask=chain+'_ptover8',
217 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
218
219 histGroup.defineHistogram(chain+'_distance_bw_FTFroad_and_offlinesegment_Out_Endcap;L2MuonSAIO_distance_bw_FTFroad_and_offlinesegment_Out_endcap_pT8_x',
220 title='distance b/w FTFroad and Offline segment Outer Endcap (pT over 8GeV) '+chain+';distance (mm);Events',
221 cutmask=chain+'_ptover8',
222 type='TH1F', path='',xbins=100,xmin=-1000.,xmax=1000.)
223
224
225 histGroup.defineHistogram(chain+'_MDT_N_Inn_Barrel;L2MuonSAIO_MDT_N_Inn_Barrel',
226 title='L2MuonSAIO MDT number of hits Inner Barrel '+chain+';MDT nhits;Events',
227 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
228
229 histGroup.defineHistogram(chain+'_MDT_N_Mid_Barrel;L2MuonSAIO_MDT_N_Mid_Barrel',
230 title='L2MuonSAIO MDT number of hits Middle Barrel '+chain+';MDT nhits;Events',
231 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
232
233 histGroup.defineHistogram(chain+'_MDT_N_Out_Barrel;L2MuonSAIO_MDT_N_Out_Barrel',
234 title='L2MuonSAIO MDT number of hits Outer Barrel '+chain+';MDT nhits;Events',
235 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
236
237 histGroup.defineHistogram(chain+'_MDT_N_Inn_Endcap;L2MuonSAIO_MDT_N_Inn_Endcap',
238 title='L2MuonSAIO MDT number of hits Inner Endcap '+chain+';MDT nhits;Events',
239 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
240
241 histGroup.defineHistogram(chain+'_MDT_N_Mid_Endcap;L2MuonSAIO_MDT_N_Mid_Endcap',
242 title='L2MuonSAIO MDT number of hits Middle Endcap '+chain+';MDT nhits;Events',
243 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
244
245 histGroup.defineHistogram(chain+'_MDT_N_Out_Endcap;L2MuonSAIO_MDT_N_Out_Endcap',
246 title='L2MuonSAIO MDT number of hits Outer Endcap '+chain+';MDT nhits;Events',
247 type='TH1I', path='',xbins=9,xmin=0,xmax=9)
248
249
250 histGroup.defineHistogram(chain+'_MDT_residual_Inn_Barrel;L2MuonSAIO_MDT_residual_Inn_Barrel',
251 title='L2MuonSAIO MDT residual Inner Barrel '+chain+';MDT residual Inner Barrel [mm];Events',
252 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
253
254 histGroup.defineHistogram(chain+'_MDT_residual_Mid_Barrel;L2MuonSAIO_MDT_residual_Mid_Barrel',
255 title='L2MuonSAIO MDT residual Middle Barrel '+chain+';MDT residual Middle Barrel [mm];Events',
256 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
257
258 histGroup.defineHistogram(chain+'_MDT_residual_Out_Barrel;L2MuonSAIO_MDT_residual_Out_Barrel',
259 title='L2MuonSAIO MDT residual Outer Barrel '+chain+';MDT residual Outer Barrel [mm];Events',
260 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
261
262 histGroup.defineHistogram(chain+'_MDT_residual_Inn_Endcap;L2MuonSAIO_MDT_residual_Inn_Endcap',
263 title='L2MuonSAIO MDT residual Inner Endcap '+chain+';MDT residual Inner Endcap [mm];Events',
264 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
265
266 histGroup.defineHistogram(chain+'_MDT_residual_Mid_Endcap;L2MuonSAIO_MDT_residual_Mid_Endcap',
267 title='L2MuonSAIO MDT residual Middle Endcap '+chain+';MDT residual Middle Endcap [mm];Events',
268 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
269
270 histGroup.defineHistogram(chain+'_MDT_residual_Out_Endcap;L2MuonSAIO_MDT_residual_Out_Endcap',
271 title='L2MuonSAIO MDT residual Outer Endcap '+chain+';MDT residual Outer Endcap [mm];Events',
272 type='TH1F', path='',xbins=150,xmin=-750.,xmax=750.)
273
274
275 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Inn_Barrel;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Inn_Barrel',
276 title='L2MuonSAIO distance b/w MDT and Offline segment Inner Barrel '+chain+';distance [mm];Events',
277 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
278
279 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Mid_Barrel;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Mid_Barrel',
280 title='L2MuonSAIO distance b/w MDT and Offline segment Middle Barrel '+chain+';distance [mm];Events',
281 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
282
283 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Out_Barrel;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Out_Barrel',
284 title='L2MuonSAIO distance b/w MDT and Offline segment Outer Barrel '+chain+';distance [mm];Events',
285 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
286
287 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Inn_Endcap;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Inn_Endcap',
288 title='L2MuonSAIO distance b/w MDT and Offline segment Inner Endcap '+chain+';distance [mm];Events',
289 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
290
291 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Mid_Endcap;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Mid_Endcap',
292 title='L2MuonSAIO distance b/w MDT and Offline segment Middle Endcap '+chain+';distance [mm];Events',
293 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
294
295 histGroup.defineHistogram(chain+'_distance_bw_MDT_and_offlinesegment_Out_Endcap;L2MuonSAIO_distance_bw_MDT_and_offlinesegment_Out_Endcap',
296 title='L2MuonSAIO distance b/w MDT and Offline segment Outer Endcap '+chain+';distance [mm];Events',
297 type='TH1F', path='',xbins=100,xmin=-750.,xmax=750.)
298
299
300 histGroup.defineHistogram(chain+'_superpoint_pt4to6,'+chain+'_L2Muon_chamberID_index;L2MuonSAIO_superpoint_reconstruction_efficiency_wrt_offlinesegment_pT4_6',
301 title='superpoint reconstruction efficiency wrt Offline segment (pT4GeV-6GeV) '+chain+';sector;efficiency',
302 cutmask=chain+'_offlinesegment_pt4to6',
303 type='TEfficiency', path='',xbins=6,xmin=0.,xmax=6.)
304
305 histGroup.defineHistogram(chain+'_superpoint_pt6to8,'+chain+'_L2Muon_chamberID_index;L2MuonSAIO_superpoint_reconstruction_efficiency_wrt_offlinesegment_pT6_8',
306 title='superpoint reconstruction efficiency wrt Offline segment (pT6GeV-8GeV) '+chain+';sector;efficiency',
307 cutmask=chain+'_offlinesegment_pt6to8',
308 type='TEfficiency', path='',xbins=6,xmin=0.,xmax=6.)
309
310 histGroup.defineHistogram(chain+'_superpoint_ptover8,'+chain+'_L2Muon_chamberID_index;L2MuonSAIO_superpoint_reconstruction_efficiency_wrt_offlinesegment_pT8_x',
311 title='superpoint reconstruction efficiency wrt Offline segment (pT over 8GeV) '+chain+';sector;efficiency',
312 cutmask=chain+'_offlinesegment_ptover8',
313 type='TEfficiency', path='',xbins=6,xmin=0.,xmax=6.)
314
315
316 histGroup.defineHistogram(chain+'_regionBE,'+chain+'_superpoint_multiplicity;L2MuonSAIO_superpoint_multiplicity_pT4_6',
317 title='superpoint multiplicity (pT4GeV-6GeV) '+chain+';barrel=0/endcap=1;number of superpoints',
318 cutmask=chain+'_pt4to6',
319 type='TH2I', path='',xbins=2,xmin=0,xmax=2,ybins=6,ymin=0,ymax=6)
320
321 histGroup.defineHistogram(chain+'_regionBE,'+chain+'_superpoint_multiplicity;L2MuonSAIO_superpoint_multiplicity_pT6_8',
322 title='superpoint multiplicity (pT6GeV-8GeV) '+chain+';barrel=0/endcap=1;number of superpoints',
323 cutmask=chain+'_pt6to8',
324 type='TH2I', path='',xbins=2,xmin=0,xmax=2,ybins=6,ymin=0,ymax=6)
325
326 histGroup.defineHistogram(chain+'_regionBE,'+chain+'_superpoint_multiplicity;L2MuonSAIO_superpoint_multiplicity_pT8_x',
327 title='superpoint multiplicity (pT over 8GeV) '+chain+';barrel=0/endcap=1;number of superpoints',
328 cutmask=chain+'_ptover8',
329 type='TH2I', path='',xbins=2,xmin=0,xmax=2,ybins=6,ymin=0,ymax=6)
330
331
332 histGroup.defineHistogram(chain+'_offPt,'+chain+'_L2InsideOut_track_multiplicity;L2InsideOut_track_multiplicity_toOffl_pt_Barrel',
333 title='L2Inside-Out track multiplicity per L2SA track wrt Offline in pt Barrel '+chain+';p_{T} [GeV/c];multiplicity',
334 cutmask=chain+'_isBarrel',
335 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=10,ymin=0.,ymax=10.)
336
337 histGroup.defineHistogram(chain+'_offPt,'+chain+'_L2InsideOut_track_multiplicity;L2InsideOut_track_multiplicity_toOffl_pt_Endcap',
338 title='L2Inside-Out track multiplicity per L2SA track wrt Offline in pt Endcap '+chain+';p_{T} [GeV/c];multiplicity',
339 cutmask=chain+'_isEndcap',
340 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=10,ymin=0.,ymax=10.)
341
342
343 histGroup.defineHistogram(chain+'_ptresol_pos;L2CBIO_ptresol_toOffl_pos',
344 title='L2CBIO pT resolution wrt Offline positive muons '+chain+';p_{T} resol;Events',
345 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
346
347 histGroup.defineHistogram(chain+'_ptresol_neg;L2CBIO_ptresol_toOffl_neg',
348 title='L2CBIO pT resolution wrt Offline negative muons '+chain+';p_{T} resol;Events',
349 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
350
351 histGroup.defineHistogram(chain+'_ptresol_pos;L2CBIO_ptresol_toOffl_pos_BarrelA',
352 title='L2CBIO pT resolution wrt Offline positive muons Barrel A-side '+chain+';p_{T} resol;Events',
353 cutmask=chain+'_isBarrelA',
354 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
355
356 histGroup.defineHistogram(chain+'_ptresol_pos;L2CBIO_ptresol_toOffl_pos_BarrelC',
357 title='L2CBIO pT resolution wrt Offline positive muons Barrel C-side '+chain+';p_{T} resol;Events',
358 cutmask=chain+'_isBarrelC',
359 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
360
361 histGroup.defineHistogram(chain+'_ptresol_pos;L2CBIO_ptresol_toOffl_pos_EndcapA',
362 title='L2CBIO pT resolution wrt Offline positive muons Endcap A-side '+chain+';p_{T} resol;Events',
363 cutmask=chain+'_isEndcapA',
364 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
365
366 histGroup.defineHistogram(chain+'_ptresol_pos;L2CBIO_ptresol_toOffl_pos_EndcapC',
367 title='L2CBIO pT resolution wrt Offline positive muons Endcap C-side '+chain+';p_{T} resol;Events',
368 cutmask=chain+'_isEndcapC',
369 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
370
371 histGroup.defineHistogram(chain+'_ptresol_neg;L2CBIO_ptresol_toOffl_neg_BarrelA',
372 title='L2CBIO pT resolution wrt Offline negative muons Barrel A-side '+chain+';p_{T} resol;Events',
373 cutmask=chain+'_isBarrelA',
374 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
375
376 histGroup.defineHistogram(chain+'_ptresol_neg;L2CBIO_ptresol_toOffl_neg_BarrelC',
377 title='L2CBIO pT resolution wrt Offline negative muons Barrel C-side '+chain+';p_{T} resol;Events',
378 cutmask=chain+'_isBarrelC',
379 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
380
381 histGroup.defineHistogram(chain+'_ptresol_neg;L2CBIO_ptresol_toOffl_neg_EndcapA',
382 title='L2CBIO pT resolution wrt Offline negative muons Endcap A-side '+chain+';p_{T} resol;Events',
383 cutmask=chain+'_isEndcapA',
384 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
385
386 histGroup.defineHistogram(chain+'_ptresol_neg;L2CBIO_ptresol_toOffl_neg_EndcapC',
387 title='L2CBIO pT resolution wrt Offline negative muons Endcap C-side '+chain+';p_{T} resol;Events',
388 cutmask=chain+'_isEndcapC',
389 type='TH1F', path='',xbins=100,xmin=-0.2,xmax=0.2)
390
391 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_eta',
392 title='L2CBIO pT resolution wrt Offline in eta '+chain+';#eta;p_{T} resol',
393 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-0.2,ymax=0.2)
394
395 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_eta_pT4_6',
396 title='L2CBIO pT resolution wrt Offline in eta (pT4GeV-6GeV) '+chain+';#eta;p_{T} resol',
397 cutmask=chain+'_pt4to6',
398 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-0.2,ymax=0.2)
399
400 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_eta_pT6_8',
401 title='L2CBIO pT resolution wrt Offline in eta (pT6GeV-8GeV) '+chain+';#eta;p_{T} resol',
402 cutmask=chain+'_pt6to8',
403 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-0.2,ymax=0.2)
404
405 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_eta_pT8_x',
406 title='L2CBIO pT resolution wrt Offline in eta (pT over 8GeV) '+chain+';#eta;p_{T} resol',
407 cutmask=chain+'_ptover8',
408 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-0.2,ymax=0.2)
409
410 histGroup.defineHistogram(chain+'_offPt,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_pt_BarrelA',
411 title='L2CBIO pT resolution wrt Offline in pt Barrel A-side '+chain+';p_{T} [GeV/c];p_{T} resol',
412 cutmask=chain+'_isBarrelA',
413 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-0.2,ymax=0.2)
414
415 histGroup.defineHistogram(chain+'_offPt,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_pt_BarrelC',
416 title='L2CBIO pT resolution wrt Offline in pt Barrel C-side '+chain+';p_{T} [GeV/c];p_{T} resol',
417 cutmask=chain+'_isBarrelC',
418 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-0.2,ymax=0.2)
419
420 histGroup.defineHistogram(chain+'_offPt,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_pt_EndcapA',
421 title='L2CBIO pT resolution wrt Offline in pt Endcap A-side '+chain+';p_{T} [GeV/c];p_{T} resol',
422 cutmask=chain+'_isEndcapA',
423 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-0.2,ymax=0.2)
424
425 histGroup.defineHistogram(chain+'_offPt,'+chain+'_ptresol;L2CBIO_ptresol_toOffl_pt_EndcapC',
426 title='L2CBIO pT resolution wrt Offline in pt Endcap C-side '+chain+';p_{T} [GeV/c];p_{T} resol',
427 cutmask=chain+'_isEndcapC',
428 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-0.2,ymax=0.2)
429
430 return
bool match(std::string s1, std::string s2)
match the individual directories of two strings