ATLAS Offline Software
Loading...
Searching...
No Matches
python.L2MuonSAMonConfig Namespace Reference

Functions

 L2MuonSAMonConfig (helper)

Function Documentation

◆ L2MuonSAMonConfig()

python.L2MuonSAMonConfig.L2MuonSAMonConfig ( helper)

Definition at line 5 of file L2MuonSAMonConfig.py.

5def L2MuonSAMonConfig(helper):
6
7 from AthenaConfiguration.ComponentFactory import CompFactory
8
9 GroupName = 'L2MuonSA'
10
11 from MuonSelectorTools.MuonSelectorToolsConfig import MuonSelectionToolCfg
12 from .MuonMatchingToolConfig import MuonMatchingToolConfig
13 monAlg = helper.addAlgorithm(CompFactory.L2MuonSAMon,'L2MuonSAMon',
14 MuonSelectionTool = helper.result().popToolsAndMerge(MuonSelectionToolCfg(helper.flags, MuQuality=1)),
15 MuonMatchingTool = helper.result().popToolsAndMerge(MuonMatchingToolConfig(helper.flags)))
16
17
18 from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
19 moniAccess = getHLTMonitoringAccess(helper.flags)
20 Chains = moniAccess.monitoredChains(signatures="muonMon",monLevels=["shifter","t0","val"])
21 monAlg.MonitoredChains = [c for c in Chains if ('mu24_ivarmedium' in c) or ('2mu14' in c)]
22 # adding lower pt chains, if menu is not pp collisions
23 if len(monAlg.MonitoredChains) == 0:
24 monAlg.MonitoredChains = [c for c in Chains if ('mu6' in c) or ('mu8' in c) or ('2mu4' in c)]
25
26 # if mon groups not found fall back to hard-coded trigger monitoring list for pp and HI
27 if len(monAlg.MonitoredChains) == 0:
28 monAlg.MonitoredChains = ['HLT_mu6_L1MU3V', 'HLT_mu8_L1MU8F', 'HLT_2m4_L12MU3V','HLT_mu6_L1MU5VF','HLT_mu24_ivarmedium_L1MU14FCH', 'HLT_2mu14_L12MU8F']
29
30 monAlg.Group = GroupName
31
32 # configuration of etaphi2D and Ratio plots for non-specific chain
33 histGroupNonSpecificChain = helper.addGroup(monAlg, GroupName, 'HLT/MuonMon/')
34
35 histGroupNonSpecificChain.defineHistogram('L2SAEta,L2SAPhi;L2MuonSA_Eta_vs_Phi',
36 title='L2MuonSA Eta vs Phi ;#eta;#phi',
37 type='TH2F', path='etaphi2D',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
38
39 histGroupNonSpecificChain.defineHistogram('L2SAAboveCut,LB;L2MuonSA_Over_OfflineSA_4GeV_Cut',
40 title='L2MuonSA Over OfflineSA 4GeV Cut;LB;Ratio',
41 type='TEfficiency', path='Ratio',xbins=400,xmin=1.,xmax=801.)
42
43
44 # configration for specific chain
45 for chain in monAlg.MonitoredChains:
46
47 histGroup = helper.addGroup(monAlg, GroupName+'_'+chain, 'HLT/MuonMon/L2MuonSA/'+chain)
48
49
50 # basic EDM variables
51 histGroup.defineHistogram(chain+'_Pt;L2MuonSA_Pt',
52 title='L2MuonSA Pt '+chain+';p_{T} [GeV];Events',
53 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
54
55 histGroup.defineHistogram(chain+'_Pt;L2MuonSA_Pt_Barrel',
56 title='L2MuonSA Pt Barrel '+chain+';p_{T} [GeV];Events',
57 cutmask=chain+'_isBarrel',
58 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
59
60 histGroup.defineHistogram(chain+'_Pt;L2MuonSA_Pt_Endcap',
61 title='L2MuonSA Pt Endcap '+chain+';p_{T} [GeV];Events',
62 cutmask=chain+'_isEndcap',
63 type='TH1F', path='',xbins=210,xmin=-105.,xmax=105.)
64
65 histGroup.defineHistogram(chain+'_Eta;L2MuonSA_Eta',
66 title='L2MuonSA Eta '+chain+';#eta;Events',
67 type='TH1F', path='',xbins=108,xmin=-2.7,xmax=2.7)
68
69 histGroup.defineHistogram(chain+'_Phi;L2MuonSA_Phi',
70 title='L2MuonSA Phi '+chain+';#phi;Events',
71 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
72
73 histGroup.defineHistogram(chain+'_Phi;L2MuonSA_Phi_Barrel',
74 title='L2MuonSA Phi Barrel '+chain+';#phi;Events',
75 cutmask=chain+'_isBarrel',
76 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
77
78 histGroup.defineHistogram(chain+'_Phi;L2MuonSA_Phi_Endcap',
79 title='L2MuonSA Phi Endcap '+chain+';#phi;Events',
80 cutmask=chain+'_isEndcap',
81 type='TH1F', path='',xbins=96,xmin=-ROOT.TMath.Pi(),xmax=ROOT.TMath.Pi())
82
83 histGroup.defineHistogram(chain+'_Eta,'+chain+'_Phi;L2MuonSA_Eta_vs_Phi',
84 title='L2MuonSA Eta vs Phi '+chain+';#eta;#phi',
85 type='TH2F', path='',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
86
87
88
89 # position and superpoint
90 histGroup.defineHistogram(chain+'_saddr;L2MuonSA_saddr',
91 title='L2MuonSA station address '+chain+';address;Events',
92 type='TH1I', path='',xbins=6,xmin=-1,xmax=5)
93
94 histGroup.defineHistogram(chain+'_MDTpoints_z,'+chain+'_MDTpoints_r;L2MuonSA_MDTpoints_z_vs_r',
95 title='L2MuonSA MDT superpoint Z vs R (mm) '+chain+';Z[mm];R[mm]',
96 type='TH2F', path='',xbins=200,xmin=-24000,xmax=24000, ybins=200,ymin=-14000,ymax=14000)
97
98
99
100 # L1 RoI eta vs. phi in case mF failed
101 histGroup.defineHistogram(chain+'_roiEta,'+chain+'_roiPhi;L2MuonSA_failed_L1_eta_vs_phi',
102 title='L1 RoI Eta vs. Phi in case of L2MuonSA failure '+chain+';#eta;#phi',
103 cutmask=chain+'_mf_failure',
104 type='TH2F', path='',xbins=108,xmin=-2.7,xmax=2.7, ybins=96,ymin=-ROOT.TMath.Pi(),ymax=ROOT.TMath.Pi())
105
106
107
108 # MuonFeatureDetails
109 # process floe
110 histGroup.defineHistogram(chain+'_proc_flow;L2MuonSA_proc_flow',
111 title='L2MuonSA process flow '+chain+';;Events',
112 type='TH1I', path='',xbins=6,xmin=1,xmax=7,
113 xlabels=["input","n L1 hits > 0","L1 emu ok at trigger layer","n MDT hits > 0 at middle layer","MDT fit ok at middle layer","MDT fit ok at >= 2 layers"])
114
115
116 # RPC
117 histGroup.defineHistogram(chain+'_RPC_Pad_N;L2MuonSA_RPC_Pad_N',
118 title='L2MuonSA RPC number of hits '+chain+';RPC number of hits;Events',
119 cutmask=chain+'_isBarrel',
120 type='TH1I', path='',xbins=20,xmin=0,xmax=20)
121
122
123 # TGC
124 histGroup.defineHistogram(chain+'_TGC_Mid_rho_chi2;L2MuonSA_TGC_Mid_rho_chi2',
125 title='L2MuonSA TGC big wheel rho fit chi2 '+chain+';chi2;Events',
126 cutmask=chain+'_isEndcap',
127 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
128
129 histGroup.defineHistogram(chain+'_TGC_Mid_phi_chi2;L2MuonSA_TGC_Mid_phi_chi2',
130 title='L2MuonSA TGC big wheel phi fit chi2 '+chain+';chi2;Events',
131 cutmask=chain+'_isEndcap',
132 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
133
134 histGroup.defineHistogram(chain+'_TGC_Mid_rho_N;L2MuonSA_TGC_Mid_rho_N',
135 title='L2MuonSA TGC big wheel number of hits in rho '+chain+';TGC BW rho nhits;Events',
136 cutmask=chain+'_isEndcap',
137 type='TH1I', path='',xbins=20,xmin=0,xmax=20)
138
139 histGroup.defineHistogram(chain+'_TGC_Mid_phi_N;L2MuonSA_TGC_Mid_phi_N',
140 title='L2MuonSA TGC big wheel number of hits in phi '+chain+';TGC BW phi nhits;Events',
141 cutmask=chain+'_isEndcap',
142 type='TH1I', path='',xbins=20,xmin=0,xmax=20)
143
144
145 # MDT
146 histGroup.defineHistogram(chain+'_MDT_Inn_fit_chi2;L2MuonSA_MDT_Inn_fit_chi2_barrel',
147 title='L2MuonSA barrel MDT Inner station fit chi2 '+chain+';chi2;Events',
148 cutmask=chain+'_isBarrel',
149 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
150
151 histGroup.defineHistogram(chain+'_MDT_Mid_fit_chi2;L2MuonSA_MDT_Mid_fit_chi2_barrel',
152 title='L2MuonSA barrel MDT Middle station fit chi2 '+chain+';chi2;Events',
153 cutmask=chain+'_isBarrel',
154 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
155
156 histGroup.defineHistogram(chain+'_MDT_Out_fit_chi2;L2MuonSA_MDT_Out_fit_chi2_barrel',
157 title='L2MuonSA barrel MDT Outer station fit chi2 '+chain+';chi2;Events',
158 cutmask=chain+'_isBarrel',
159 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
160
161 histGroup.defineHistogram(chain+'_MDT_Inn_fit_chi2;L2MuonSA_MDT_Inn_fit_chi2_endcap',
162 title='L2MuonSA endcap MDT Inner station fit chi2 '+chain+';chi2;Events',
163 cutmask=chain+'_isEndcap',
164 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
165
166 histGroup.defineHistogram(chain+'_MDT_Mid_fit_chi2;L2MuonSA_MDT_Mid_fit_chi2_endcap',
167 title='L2MuonSA endcap MDT Middle station fit chi2 '+chain+';chi2;Events',
168 cutmask=chain+'_isEndcap',
169 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
170
171 histGroup.defineHistogram(chain+'_MDT_Out_fit_chi2;L2MuonSA_MDT_Out_fit_chi2_endcap',
172 title='L2MuonSA endcap MDT Outer station fit chi2 '+chain+';chi2;Events',
173 cutmask=chain+'_isEndcap',
174 type='TH1F', path='',xbins=100,xmin=0,xmax=10)
175
176 histGroup.defineHistogram(chain+'_MDT_N;L2MuonSA_MDT_N_barrel',
177 title='L2MuonSA barrel MDT number of hits '+chain+';MDT nhits;Events',
178 cutmask=chain+'_isBarrel',
179 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
180
181 histGroup.defineHistogram(chain+'_MDT_Inn_N;L2MuonSA_MDT_Inn_N_barrel',
182 title='L2MuonSA barrel MDT Inner number of hits '+chain+';MDT nhits Inner;Events',
183 cutmask=chain+'_isBarrel',
184 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
185
186 histGroup.defineHistogram(chain+'_MDT_Mid_N;L2MuonSA_MDT_Mid_N_barrel',
187 title='L2MuonSA barrel MDT Middle number of hits '+chain+';MDT nhits Middle;Events',
188 cutmask=chain+'_isBarrel',
189 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
190
191 histGroup.defineHistogram(chain+'_MDT_Out_N;L2MuonSA_MDT_Out_N_barrel',
192 title='L2MuonSA barrel MDT Outer number of hits '+chain+';MDT nhits Outer;Events',
193 cutmask=chain+'_isBarrel',
194 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
195
196 histGroup.defineHistogram(chain+'_MDT_N;L2MuonSA_MDT_N_endcap',
197 title='L2MuonSA endcap MDT number of hits '+chain+';MDT nhits;Events',
198 cutmask=chain+'_isEndcap',
199 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
200
201 histGroup.defineHistogram(chain+'_MDT_Inn_N;L2MuonSA_MDT_Inn_N_endcap',
202 title='L2MuonSA endcap MDT Inner number of hits '+chain+';MDT nhits Inner;Events',
203 cutmask=chain+'_isEndcap',
204 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
205
206 histGroup.defineHistogram(chain+'_MDT_Mid_N;L2MuonSA_MDT_Mid_N_endcap',
207 title='L2MuonSA endcap MDT Middle number of hits '+chain+';MDT nhits Middle;Events',
208 cutmask=chain+'_isEndcap',
209 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
210
211 histGroup.defineHistogram(chain+'_MDT_Out_N;L2MuonSA_MDT_Out_N_endcap',
212 title='L2MuonSA endcap MDT Outer number of hits '+chain+';MDT nhits Outer;Events',
213 cutmask=chain+'_isEndcap',
214 type='TH1I', path='',xbins=40,xmin=0,xmax=40)
215
216 histGroup.defineHistogram(chain+'_MDT_Inn_residual;L2MuonSA_MDT_Inn_residual_barrel',
217 title='L2MuonSA barrel MDT Inner station residual '+chain+';MDT Inner barrel residual [cm];Events',
218 cutmask=chain+'_isBarrel',
219 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
220
221 histGroup.defineHistogram(chain+'_MDT_Mid_residual;L2MuonSA_MDT_Mid_residual_barrel',
222 title='L2MuonSA barrel MDT Middle station residual '+chain+';MDT Middle barrel residual [cm];Events',
223 cutmask=chain+'_isBarrel',
224 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
225
226 histGroup.defineHistogram(chain+'_MDT_Out_residual;L2MuonSA_MDT_Out_residual_barrel',
227 title='L2MuonSA barrel MDT Outer station residual '+chain+';MDT Outer barrel residual [cm];Events',
228 cutmask=chain+'_isBarrel',
229 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
230
231 histGroup.defineHistogram(chain+'_MDT_Inn_residual_OffMatch;L2MuonSA_MDT_Inn_residual_barrel_OffMatch',
232 title='L2MuonSA barrel MDT Inner station residual matched with Offline '+chain+';MDT Inner barrel residual [cm];Events',
233 cutmask=chain+'_isBarrel',
234 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
235
236 histGroup.defineHistogram(chain+'_MDT_Mid_residual_OffMatch;L2MuonSA_MDT_Mid_residual_barrel_OffMatch',
237 title='L2MuonSA barrel MDT Middle station residual matched with Offline '+chain+';MDT Middle barrel residual [cm];Events',
238 cutmask=chain+'_isBarrel',
239 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
240
241 histGroup.defineHistogram(chain+'_MDT_Out_residual_OffMatch;L2MuonSA_MDT_Out_residual_barrel_OffMatch',
242 title='L2MuonSA barrel MDT Outer station residual matched with Offline '+chain+';MDT Outer barrel residual [cm];Events',
243 cutmask=chain+'_isBarrel',
244 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
245
246 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Inn_residual;L2MuonSA_MDT_Inn_residual_barrel_vs_LB',
247 title='L2MuonSA barrel MDT Inner station residual vs LB '+chain+';LB;MDT Inner barrel residual [cm]',
248 cutmask=chain+'_isBarrel',
249 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
250
251 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Mid_residual;L2MuonSA_MDT_Mid_residual_barrel_vs_LB',
252 title='L2MuonSA barrel MDT Middle station residual vs LB '+chain+';LB;MDT Middle barrel residual [cm]',
253 cutmask=chain+'_isBarrel',
254 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
255
256 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Out_residual;L2MuonSA_MDT_Out_residual_barrel_vs_LB',
257 title='L2MuonSA barrel MDT Outer station residual vs LB '+chain+';LB;MDT Outer barrel residual [cm]',
258 cutmask=chain+'_isBarrel',
259 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
260
261 histGroup.defineHistogram(chain+'_MDT_Inn_residual;L2MuonSA_MDT_Inn_residual_endcap',
262 title='L2MuonSA endcap MDT Inner station residual '+chain+';MDT Inner endcap residual [cm];Events',
263 cutmask=chain+'_isEndcap',
264 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
265
266 histGroup.defineHistogram(chain+'_MDT_Mid_residual;L2MuonSA_MDT_Mid_residual_endcap',
267 title='L2MuonSA endcap MDT Middle station residual '+chain+';MDT Middle endcap residual [cm];Events',
268 cutmask=chain+'_isEndcap',
269 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
270
271 histGroup.defineHistogram(chain+'_MDT_Out_residual;L2MuonSA_MDT_Out_residual_endcap',
272 title='L2MuonSA endcap MDT Outer station residual '+chain+';MDT Outer endcap residual [cm];Events',
273 cutmask=chain+'_isEndcap',
274 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
275
276 histGroup.defineHistogram(chain+'_MDT_Inn_residual_OffMatch;L2MuonSA_MDT_Inn_residual_endcap_OffMatch',
277 title='L2MuonSA endcap MDT Inner station residual matched with Offline '+chain+';MDT Inner endcap residual [cm];Events',
278 cutmask=chain+'_isEndcap',
279 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
280
281 histGroup.defineHistogram(chain+'_MDT_Mid_residual_OffMatch;L2MuonSA_MDT_Mid_residual_endcap_OffMatch',
282 title='L2MuonSA endcap MDT Middle station residual matched with Offline '+chain+';MDT Middle endcap residual [cm];Events',
283 cutmask=chain+'_isEndcap',
284 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
285
286 histGroup.defineHistogram(chain+'_MDT_Out_residual_OffMatch;L2MuonSA_MDT_Out_residual_endcap_OffMatch',
287 title='L2MuonSA endcap MDT Outer station residual matched with Offline '+chain+';MDT Outer endcap residual [cm];Events',
288 cutmask=chain+'_isEndcap',
289 type='TH1F', path='',xbins=100,xmin=-20,xmax=20)
290
291 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Inn_residual;L2MuonSA_MDT_Inn_residual_endcap_vs_LB',
292 title='L2MuonSA endcap MDT Inner station residual vs LB '+chain+';LB;MDT Inner endcap residual [cm]',
293 cutmask=chain+'_isEndcap',
294 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
295
296 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Mid_residual;L2MuonSA_MDT_Mid_residual_endcap_vs_LB',
297 title='L2MuonSA endcap MDT Middle station residual vs LB '+chain+';LB;MDT Middle endcap residual [cm]',
298 cutmask=chain+'_isEndcap',
299 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
300
301 histGroup.defineHistogram(chain+'_LB,'+chain+'_MDT_Out_residual;L2MuonSA_MDT_Out_residual_endcap_vs_LB',
302 title='L2MuonSA endcap MDT Outer station residual vs LB '+chain+';LB;MDT Outer endcap residual [cm]',
303 cutmask=chain+'_isEndcap',
304 type='TH2F', path='',xbins=750,xmin=1.,xmax=1501.,ybins=80,ymin=-20,ymax=20)
305
306
307
308 # Comparison to Offline
309 # dR wrt Offline
310 histGroup.defineHistogram(chain+'_dRmin;L2MuonSA_dR_toRecMuonCB',
311 title='dR between L2MuonSA and Offline '+chain+';#DeltaR;Events',
312 type='TH1F', path='',xbins=100,xmin=0,xmax=2)
313
314
315 # L1 RoI wrt offline
316 histGroup.defineHistogram(chain+'_initialRoI_dR;L2MuonSA_initialRoI_dR_toRecMuonCB',
317 title='L2MuonSA initialRoI dR wrt offline CB '+chain+';dR(initialRoI vs offl CB);Events',
318 type='TH1F', path='',xbins=100,xmin=0.,xmax=0.5)
319
320 histGroup.defineHistogram(chain+'_offEta,'+chain+'_initialRoI_dEta;L2MuonSA_initialRoI_dEta_vs_Eta_toRecMuonCB',
321 title='L2MuonSA initialRoI wrt Offline CB muon, d#eta '+chain+';offl CB #eta;d#eta(initialRoI vs offl CB)',
322 type='TH2F', path='',xbins=54,xmin=-2.7,xmax=2.7, ybins=60,ymin=-0.3,ymax=0.3)
323
324 histGroup.defineHistogram(chain+'_offEta,'+chain+'_initialRoI_dPhi;L2MuonSA_initialRoI_dPhi_vs_Eta_toRecMuonCB',
325 title='L2MuonSA initialRoI wrt Offline CB muon, d#phi '+chain+';offl CB #eta;d#phi(initialRoI vs offl CB)',
326 type='TH2F', path='',xbins=54,xmin=-2.7,xmax=2.7, ybins=44,ymin=-0.2,ymax=0.2)
327
328
329 # pt resolution (barrel, endcap1, endcap2, or endcap3) (A-side or C-side)
330 histGroup.defineHistogram(chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB',
331 title='L2MuonSA pT resolution wrt Offline '+chain+';p_{T} resol;Events',
332 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
333
334 histGroup.defineHistogram(chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_BR',
335 title='L2MuonSA pT resolution wrt Offline Barrel '+chain+';p_{T} resol;Events',
336 cutmask=chain+'_isBarrel',
337 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
338
339 histGroup.defineHistogram(chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_EC1',
340 title='L2MuonSA pT resolution wrt Offline Endcap1 '+chain+';p_{T} resol;Events',
341 cutmask=chain+'_isEndcap1',
342 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
343
344 histGroup.defineHistogram(chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_EC2',
345 title='L2MuonSA pT resolution wrt Offline Endcap2 '+chain+';p_{T} resol;Events',
346 cutmask=chain+'_isEndcap2',
347 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
348
349 histGroup.defineHistogram(chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_EC3',
350 title='L2MuonSA pT resolution wrt Offline Endcap3 '+chain+';p_{T} resol;Events',
351 cutmask=chain+'_isEndcap3',
352 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
353
354
355 histGroup.defineHistogram(chain+'_offPt_signed,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_pt_barrel_A',
356 title='L2MuonSA barrel A pT resolution wrt Offline in pt '+chain+';p_{T} [GeV/c];p_{T} resol',
357 cutmask=chain+'_isBarrelA',
358 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-2.,ymax=2.)
359
360 histGroup.defineHistogram(chain+'_offPt_signed,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_pt_barrel_C',
361 title='L2MuonSA barrel C pT resolution wrt Offline in pt '+chain+';p_{T} [GeV/c];p_{T} resol',
362 cutmask=chain+'_isBarrelC',
363 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-2.,ymax=2.)
364
365 histGroup.defineHistogram(chain+'_offPt_signed,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_pt_endcap_A',
366 title='L2MuonSA endcap A pT resolution wrt Offline in pt '+chain+';p_{T} [GeV/c];p_{T} resol',
367 cutmask=chain+'_isEndcapA',
368 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-2.,ymax=2.)
369
370 histGroup.defineHistogram(chain+'_offPt_signed,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_pt_endcap_C',
371 title='L2MuonSA endcap C pT resolution wrt Offline in pt '+chain+';p_{T} [GeV/c];p_{T} resol',
372 cutmask=chain+'_isEndcapC',
373 type='TH2F', path='',xbins=104,xmin=-52.,xmax=52.,ybins=100,ymin=-2.,ymax=2.)
374
375
376 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_eta',
377 title='L2MuonSA pT resolution wrt Offline in eta '+chain+';#eta;p_{T} resol',
378 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-2.,ymax=2.)
379
380 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_eta_pT4_6',
381 title='L2MuonSA pT resolution wrt Offline in eta (pT4GeV-6GeV) '+chain+';#eta;p_{T} resol',
382 cutmask=chain+'_pt4to6',
383 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-2.,ymax=2.)
384
385 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_eta_pT6_8',
386 title='L2MuonSA pT resolution wrt Offline in eta (pT6GeV-8GeV) '+chain+';#eta;p_{T} resol',
387 cutmask=chain+'_pt6to8',
388 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-2.,ymax=2.)
389
390 histGroup.defineHistogram(chain+'_offEta,'+chain+'_ptresol;L2MuonSA_ptresol_toRecMuonCB_eta_pT8_x',
391 title='L2MuonSA pT resolution wrt Offline in eta (pT over 8GeV) '+chain+';#eta;p_{T} resol',
392 cutmask=chain+'_ptover8',
393 type='TH2F', path='',xbins=27,xmin=-2.7,xmax=2.7,ybins=100,ymin=-2.,ymax=2.)
394
395
396 # inverse pt resolution (positive or negative muon) (A-side or C-side) (barrel, endcap1, endcap2, or endcap3)
397 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos',
398 title='L2MuonSA pT resolution wrt Offline positive muons '+chain+';1/p_{T} resol;Events',
399 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
400
401 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg',
402 title='L2MuonSA pT resolution wrt Offline negative muons '+chain+';1/p_{T} resol;Events',
403 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
404
405
406 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_BR_A',
407 title='L2MuonSA pT resolution wrt Offline pos muons Barrel A-side '+chain+';1/p_{T} resol;Events',
408 cutmask=chain+'_isBarrelA',
409 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
410
411 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_BR_A',
412 title='L2MuonSA pT resolution wrt Offline neg muons Barrel A-side '+chain+';1/p_{T} resol;Events',
413 cutmask=chain+'_isBarrelA',
414 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
415
416 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC1_A',
417 title='L2MuonSA pT resolution wrt Offline pos muons EndCap1 A-side '+chain+';1/p_{T} resol;Events',
418 cutmask=chain+'_isEndcap1A',
419 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
420
421 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC1_A',
422 title='L2MuonSA pT resolution wrt Offline neg muons EndCap1 A-side '+chain+';1/p_{T} resol;Events',
423 cutmask=chain+'_isEndcap1A',
424 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
425
426 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC2_A',
427 title='L2MuonSA pT resolution wrt Offline pos muons EndCap2 A-side '+chain+';1/p_{T} resol;Events',
428 cutmask=chain+'_isEndcap2A',
429 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
430
431 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC2_A',
432 title='L2MuonSA pT resolution wrt Offline neg muons EndCap2 A-side '+chain+';1/p_{T} resol;Events',
433 cutmask=chain+'_isEndcap2A',
434 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
435
436 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC3_A',
437 title='L2MuonSA pT resolution wrt Offline pos muons EndCap3 A-side '+chain+';1/p_{T} resol;Events',
438 cutmask=chain+'_isEndcap3A',
439 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
440
441 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC3_A',
442 title='L2MuonSA pT resolution wrt Offline neg muons EndCap3 A-side '+chain+';1/p_{T} resol;Events',
443 cutmask=chain+'_isEndcap3A',
444 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
445
446
447 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_BR_C',
448 title='L2MuonSA pT resolution wrt Offline pos muons Barrel C-side '+chain+';1/p_{T} resol;Events',
449 cutmask=chain+'_isBarrelC',
450 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
451
452 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_BR_C',
453 title='L2MuonSA pT resolution wrt Offline neg muons Barrel C-side '+chain+';1/p_{T} resol;Events',
454 cutmask=chain+'_isBarrelC',
455 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
456
457 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC1_C',
458 title='L2MuonSA pT resolution wrt Offline pos muons EndCap1 C-side '+chain+';1/p_{T} resol;Events',
459 cutmask=chain+'_isEndcap1C',
460 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
461
462 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC1_C',
463 title='L2MuonSA pT resolution wrt Offline neg muons EndCap1 C-side '+chain+';1/p_{T} resol;Events',
464 cutmask=chain+'_isEndcap1C',
465 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
466
467 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC2_C',
468 title='L2MuonSA pT resolution wrt Offline pos muons EndCap2 C-side '+chain+';1/p_{T} resol;Events',
469 cutmask=chain+'_isEndcap2C',
470 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
471
472 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC2_C',
473 title='L2MuonSA pT resolution wrt Offline neg muons EndCap2 C-side '+chain+';1/p_{T} resol;Events',
474 cutmask=chain+'_isEndcap2C',
475 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
476
477 histGroup.defineHistogram(chain+'_invptresol_pos;L2MuonSA_invptresol_toRecMuonCB_pos_EC3_C',
478 title='L2MuonSA pT resolution wrt Offline pos muons EndCap3 C-side '+chain+';1/p_{T} resol;Events',
479 cutmask=chain+'_isEndcap3C',
480 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
481
482 histGroup.defineHistogram(chain+'_invptresol_neg;L2MuonSA_invptresol_toRecMuonCB_neg_EC3_C',
483 title='L2MuonSA pT resolution wrt Offline neg muons EndCap3 C-side '+chain+';1/p_{T} resol;Events',
484 cutmask=chain+'_isEndcap3C',
485 type='TH1F', path='',xbins=100,xmin=-2.,xmax=2.)
486
487
488 return