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