35 LogTrace(
"DQMOffline|MuonDPG|GEMTnPEfficiencyTask") <<
"[GEMTnPEfficiencyTask]: Constructor" << std::endl;
39 LogTrace(
"DQMOffline|MuonDPG|GEMTnPEfficiencyTask")
40 <<
"[GEMTnPEfficiencyTask]: analyzed " <<
m_nEvents <<
" events" << std::endl;
48 LogTrace(
"DQMOffline|MuonDPG|GEMTnPEfficiencyTask") <<
"[GEMTnPEfficiencyTask]: bookHistograms" << std::endl;
54 iBooker.
book2D(
"GEM_nPassingProbe_Ch_region",
"GEM_nPassingProbe_Ch_region", 2, -1.5, 1.5, 36, 1, 37);
56 iBooker.
book2D(
"GEM_nFailingProbe_Ch_region",
"GEM_nFailingProbe_Ch_region", 2, -1.5, 1.5, 36, 1, 37);
58 iBooker.
book2D(
"GEM_nPassingProbe_Ch_region_GE1",
"GEM_nPassingProbe_Ch_region_GE1", 4, 0, 4, 36, 1, 37);
60 iBooker.
book2D(
"GEM_nFailingProbe_Ch_region_GE1",
"GEM_nFailingProbe_Ch_region_GE1", 4, 0, 4, 36, 1, 37);
62 iBooker.
book2D(
"GEM_nPassingProbe_Ch_region_GE1_NoL",
"GEM_nPassingProbe_Ch_region_GE1_NoL", 2, 0, 2, 36, 1, 37);
64 iBooker.
book2D(
"GEM_nFailingProbe_Ch_region_GE1_NoL",
"GEM_nFailingProbe_Ch_region_GE1_NoL", 2, 0, 2, 36, 1, 37);
66 iBooker.
book2D(
"GEM_nPassingProbe_Ch_eta",
"GEM_nPassingProbe_Ch_eta", 24, 0, 2.4, 36, 1, 37);
68 iBooker.
book2D(
"GEM_nFailingProbe_Ch_eta",
"GEM_nFailingProbe_Ch_eta", 24, 0, 2.4, 36, 1, 37);
74 iBooker.
book1D(
"GEM_nPassingProbe_allCh_1D",
"GEM_nPassingProbe_allCh_1D", 2, -1.5, 1.5);
76 iBooker.
book1D(
"GEM_nFailingProbe_allCh_1D",
"GEM_nFailingProbe_allCh_1D", 2, -1.5, 1.5);
78 iBooker.
book1D(
"GEM_nPassingProbe_chamber_1D",
"GEM_nPassingProbe_chamber_1D", 36, 1, 37);
80 iBooker.
book1D(
"GEM_nFailingProbe_chamber_1D",
"GEM_nFailingProbe_chamber_1D", 36, 1, 37);
82 iBooker.
book1D(
"GEM_nPassingProbe_chamber_p1_1D",
"GEM_nPassingProbe_chamber_p1_1D", 36, 1, 37);
84 iBooker.
book1D(
"GEM_nFailingProbe_chamber_p1_1D",
"GEM_nFailingProbe_chamber_p1_1D", 36, 1, 37);
86 iBooker.
book1D(
"GEM_nPassingProbe_chamber_p2_1D",
"GEM_nPassingProbe_chamber_p2_1D", 36, 1, 37);
88 iBooker.
book1D(
"GEM_nFailingProbe_chamber_p2_1D",
"GEM_nFailingProbe_chamber_p2_1D", 36, 1, 37);
90 iBooker.
book1D(
"GEM_nPassingProbe_chamber_n1_1D",
"GEM_nPassingProbe_chamber_n1_1D", 36, 1, 37);
92 iBooker.
book1D(
"GEM_nFailingProbe_chamber_n1_1D",
"GEM_nFailingProbe_chamber_n1_1D", 36, 1, 37);
94 iBooker.
book1D(
"GEM_nPassingProbe_chamber_n2_1D",
"GEM_nPassingProbe_chamber_n2_1D", 36, 1, 37);
96 iBooker.
book1D(
"GEM_nFailingProbe_chamber_n2_1D",
"GEM_nFailingProbe_chamber_n2_1D", 36, 1, 37);
98 MonitorElement* me_GEM_pass_pt_1D = iBooker.
book1D(
"GEM_nPassingProbe_pt_1D",
"GEM_nPassingProbe_pt_1D", 20, 0, 100);
99 MonitorElement* me_GEM_fail_pt_1D = iBooker.
book1D(
"GEM_nFailingProbe_pt_1D",
"GEM_nFailingProbe_pt_1D", 20, 0, 100);
101 iBooker.
book1D(
"GEM_nPassingProbe_eta_1D",
"GEM_nPassingProbe_eta_1D", 24, 0, 2.4);
103 iBooker.
book1D(
"GEM_nFailingProbe_eta_1D",
"GEM_nFailingProbe_eta_1D", 24, 0, 2.4);
110 iBooker.
book1D(
"GEM_nPassingProbe_pt_p1_1D",
"GEM_nPassingProbe_pt_p1_1D", 20, 0, 100);
112 iBooker.
book1D(
"GEM_nFailingProbe_pt_p1_1D",
"GEM_nFailingProbe_pt_p1_1D", 20, 0, 100);
114 iBooker.
book1D(
"GEM_nPassingProbe_eta_p1_1D",
"GEM_nPassingProbe_eta_p1_1D", 24, 0, 2.4);
116 iBooker.
book1D(
"GEM_nFailingProbe_eta_p1_1D",
"GEM_nFailingProbe_eta_p1_1D", 24, 0, 2.4);
122 iBooker.
book1D(
"GEM_nPassingProbe_pt_p2_1D",
"GEM_nPassingProbe_pt_p2_1D", 20, 0, 100);
124 iBooker.
book1D(
"GEM_nFailingProbe_pt_p2_1D",
"GEM_nFailingProbe_pt_p2_1D", 20, 0, 100);
126 iBooker.
book1D(
"GEM_nPassingProbe_eta_p2_1D",
"GEM_nPassingProbe_eta_p2_1D", 24, 0, 2.4);
128 iBooker.
book1D(
"GEM_nFailingProbe_eta_p2_1D",
"GEM_nFailingProbe_eta_p2_1D", 24, 0, 2.4);
134 iBooker.
book1D(
"GEM_nPassingProbe_pt_n1_1D",
"GEM_nPassingProbe_pt_n1_1D", 20, 0, 100);
136 iBooker.
book1D(
"GEM_nFailingProbe_pt_n1_1D",
"GEM_nFailingProbe_pt_n1_1D", 20, 0, 100);
138 iBooker.
book1D(
"GEM_nPassingProbe_eta_n1_1D",
"GEM_nPassingProbe_eta_n1_1D", 24, 0, 2.4);
140 iBooker.
book1D(
"GEM_nFailingProbe_eta_n1_1D",
"GEM_nFailingProbe_eta_n1_1D", 24, 0, 2.4);
146 iBooker.
book1D(
"GEM_nPassingProbe_pt_n2_1D",
"GEM_nPassingProbe_pt_n2_1D", 20, 0, 100);
148 iBooker.
book1D(
"GEM_nFailingProbe_pt_n2_1D",
"GEM_nFailingProbe_pt_n2_1D", 20, 0, 100);
150 iBooker.
book1D(
"GEM_nPassingProbe_eta_n2_1D",
"GEM_nPassingProbe_eta_n2_1D", 24, 0, 2.4);
152 iBooker.
book1D(
"GEM_nFailingProbe_eta_n2_1D",
"GEM_nFailingProbe_eta_n2_1D", 24, 0, 2.4);
159 iBooker.
book1D(
"ME0_nPassingProbe_chamber_1D",
"ME0_nPassingProbe_chamber_1D", 18, 1, 19);
161 iBooker.
book1D(
"ME0_nFailingProbe_chamber_1D",
"ME0_nFailingProbe_chamber_1D", 18, 1, 19);
163 "GEM_nPassingProbe_Ch_region_layer_phase2",
"GEM_nPassingProbe_Ch_region_layer_phase2", 10, 0, 10, 36, 1, 37);
165 "GEM_nFailingProbe_Ch_region_layer_phase2",
"GEM_nFailingProbe_Ch_region_layer_phase2", 10, 0, 10, 36, 1, 37);
169 me_GEM_pass_allCh_1D->
setAxisTitle(
"Number of passing probes", 2);
173 me_GEM_fail_allCh_1D->
setAxisTitle(
"Number of failing probes", 2);
176 me_GEM_pass_chamber_1D->
setAxisTitle(
"Number of passing probes", 2);
178 me_GEM_fail_chamber_1D->
setAxisTitle(
"Number of failing probes", 2);
181 me_GEM_pass_chamber_p1_1D->
setAxisTitle(
"Number of passing probes", 2);
183 me_GEM_fail_chamber_p1_1D->
setAxisTitle(
"Number of failing probes", 2);
186 me_GEM_pass_chamber_p2_1D->
setAxisTitle(
"Number of passing probes", 2);
188 me_GEM_fail_chamber_p2_1D->
setAxisTitle(
"Number of failing probes", 2);
191 me_GEM_pass_chamber_n1_1D->
setAxisTitle(
"Number of passing probes", 2);
193 me_GEM_fail_chamber_n1_1D->
setAxisTitle(
"Number of failing probes", 2);
196 me_GEM_pass_chamber_n2_1D->
setAxisTitle(
"Number of passing probes", 2);
198 me_GEM_fail_chamber_n2_1D->
setAxisTitle(
"Number of failing probes", 2);
201 me_GEM_pass_pt_1D->
setAxisTitle(
"Number of passing probes", 2);
203 me_GEM_fail_pt_1D->
setAxisTitle(
"Number of failing probes", 2);
206 me_GEM_pass_eta_1D->
setAxisTitle(
"Number of passing probes", 2);
208 me_GEM_fail_eta_1D->
setAxisTitle(
"Number of failing probes", 2);
211 me_GEM_pass_phi_1D->
setAxisTitle(
"Number of passing probes", 2);
213 me_GEM_fail_phi_1D->
setAxisTitle(
"Number of failing probes", 2);
216 me_GEM_pass_pt_p1_1D->
setAxisTitle(
"Number of passing probes", 2);
218 me_GEM_fail_pt_p1_1D->
setAxisTitle(
"Number of failing probes", 2);
221 me_GEM_pass_eta_p1_1D->
setAxisTitle(
"Number of passing probes", 2);
223 me_GEM_fail_eta_p1_1D->
setAxisTitle(
"Number of failing probes", 2);
226 me_GEM_pass_phi_p1_1D->
setAxisTitle(
"Number of passing probes", 2);
228 me_GEM_fail_phi_p1_1D->
setAxisTitle(
"Number of failing probes", 2);
231 me_GEM_pass_pt_p2_1D->
setAxisTitle(
"Number of passing probes", 2);
233 me_GEM_fail_pt_p2_1D->
setAxisTitle(
"Number of failing probes", 2);
236 me_GEM_pass_eta_p2_1D->
setAxisTitle(
"Number of passing probes", 2);
238 me_GEM_fail_eta_p2_1D->
setAxisTitle(
"Number of failing probes", 2);
241 me_GEM_pass_phi_p2_1D->
setAxisTitle(
"Number of passing probes", 2);
243 me_GEM_fail_phi_p2_1D->
setAxisTitle(
"Number of failing probes", 2);
246 me_GEM_pass_pt_n1_1D->
setAxisTitle(
"Number of passing probes", 2);
248 me_GEM_fail_pt_n1_1D->
setAxisTitle(
"Number of failing probes", 2);
251 me_GEM_pass_eta_n1_1D->
setAxisTitle(
"Number of passing probes", 2);
253 me_GEM_fail_eta_n1_1D->
setAxisTitle(
"Number of failing probes", 2);
256 me_GEM_pass_phi_n1_1D->
setAxisTitle(
"Number of passing probes", 2);
258 me_GEM_fail_phi_n1_1D->
setAxisTitle(
"Number of failing probes", 2);
261 me_GEM_pass_pt_n2_1D->
setAxisTitle(
"Number of passing probes", 2);
263 me_GEM_fail_pt_n2_1D->
setAxisTitle(
"Number of failing probes", 2);
266 me_GEM_pass_eta_n2_1D->
setAxisTitle(
"Number of passing probes", 2);
268 me_GEM_fail_eta_n2_1D->
setAxisTitle(
"Number of failing probes", 2);
271 me_GEM_pass_phi_n2_1D->
setAxisTitle(
"Number of passing probes", 2);
273 me_GEM_fail_phi_n2_1D->
setAxisTitle(
"Number of failing probes", 2);
277 for (
int i = 1;
i < 37; ++
i) {
281 me_GEM_fail_Ch_region->
setAxisTitle(
"Number of failing probes", 3);
285 for (
int i = 1;
i < 37; ++
i) {
289 me_GEM_pass_Ch_region->
setAxisTitle(
"Number of passing probes", 3);
291 me_GEM_fail_Ch_region_GE1->
setBinLabel(1,
"GE-1/1_L2", 1);
292 me_GEM_fail_Ch_region_GE1->
setBinLabel(2,
"GE-1/1_L1", 1);
293 me_GEM_fail_Ch_region_GE1->
setBinLabel(3,
"GE1/1_L1", 1);
294 me_GEM_fail_Ch_region_GE1->
setBinLabel(4,
"GE1/1_L2", 1);
295 for (
int i = 1;
i < 37; ++
i) {
299 me_GEM_fail_Ch_region_GE1->
setAxisTitle(
"Number of passing probes", 3);
301 me_GEM_pass_Ch_region_GE1->
setBinLabel(1,
"GE-1/1_L2", 1);
302 me_GEM_pass_Ch_region_GE1->
setBinLabel(2,
"GE-1/1_L1", 1);
303 me_GEM_pass_Ch_region_GE1->
setBinLabel(3,
"GE1/1_L1", 1);
304 me_GEM_pass_Ch_region_GE1->
setBinLabel(4,
"GE1/1_L2", 1);
305 for (
int i = 1;
i < 37; ++
i) {
309 me_GEM_pass_Ch_region_GE1->
setAxisTitle(
"Number of passing probes", 3);
311 me_GEM_fail_Ch_region_GE1_NoL->
setBinLabel(1,
"GE-1", 1);
312 me_GEM_fail_Ch_region_GE1_NoL->
setBinLabel(2,
"GE+1", 1);
313 for (
int i = 1;
i < 37; ++
i) {
316 me_GEM_fail_Ch_region_GE1_NoL->
setAxisTitle(
"Chamber", 2);
317 me_GEM_fail_Ch_region_GE1_NoL->
setAxisTitle(
"Number of passing probes", 3);
319 me_GEM_pass_Ch_region_GE1_NoL->
setBinLabel(1,
"GE-1", 1);
320 me_GEM_pass_Ch_region_GE1_NoL->
setBinLabel(2,
"GE+1", 1);
321 for (
int i = 1;
i < 37; ++
i) {
324 me_GEM_pass_Ch_region_GE1_NoL->
setAxisTitle(
"Chamber", 2);
325 me_GEM_pass_Ch_region_GE1_NoL->
setAxisTitle(
"Number of passing probes", 3);
327 for (
int i = 1;
i < 37; ++
i) {
332 me_GEM_fail_Ch_eta->
setAxisTitle(
"Number of failing probes", 3);
334 for (
int i = 1;
i < 37; ++
i) {
339 me_GEM_pass_Ch_eta->
setAxisTitle(
"Number of passing probes", 3);
341 for (
int i = 1;
i < 37; ++
i) {
346 me_GEM_fail_Ch_phi->
setAxisTitle(
"Number of failing probes", 3);
348 for (
int i = 1;
i < 37; ++
i) {
353 me_GEM_pass_Ch_phi->
setAxisTitle(
"Number of passing probes", 3);
355 for (
int i = 1;
i < 19; ++
i) {
359 me_ME0_pass_chamber_1D->
setAxisTitle(
"Number of passing probes", 2);
360 for (
int i = 1;
i < 19; ++
i) {
364 me_ME0_fail_chamber_1D->
setAxisTitle(
"Number of failing probes", 2);
366 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(1,
"GE-2/1_L2", 1);
367 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(2,
"GE-2/1_L1", 1);
368 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(3,
"GE-1/1_L2", 1);
369 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(4,
"GE-1/1_L1", 1);
370 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(5,
"GE0-1", 1);
371 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(6,
"GE0+1", 1);
372 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(7,
"GE1/1_L1", 1);
373 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(8,
"GE1/1_L2", 1);
374 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(9,
"GE2/1_L1", 1);
375 me_GEM_fail_Ch_region_layer_phase2->
setBinLabel(10,
"GE2/1_L2", 1);
376 for (
int i = 1;
i < 37; ++
i) {
379 me_GEM_fail_Ch_region_layer_phase2->
setAxisTitle(
"Chamber", 2);
380 me_GEM_fail_Ch_region_layer_phase2->
setAxisTitle(
"Number of passing probes", 3);
382 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(1,
"GE-2/1_L2", 1);
383 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(2,
"GE-2/1_L1", 1);
384 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(3,
"GE-1/1_L2", 1);
385 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(4,
"GE-1/1_L1", 1);
386 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(5,
"GE0-1", 1);
387 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(6,
"GE0+1", 1);
388 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(7,
"GE1/1_L1", 1);
389 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(8,
"GE1/1_L2", 1);
390 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(9,
"GE2/1_L1", 1);
391 me_GEM_pass_Ch_region_layer_phase2->
setBinLabel(10,
"GE2/1_L2", 1);
393 for (
int i = 1;
i < 37; ++
i) {
396 me_GEM_pass_Ch_region_layer_phase2->
setAxisTitle(
"Chamber", 2);
397 me_GEM_pass_Ch_region_layer_phase2->
setAxisTitle(
"Number of passing probes", 3);
399 m_histos[
"GEM_nPassingProbe_Ch_region"] = me_GEM_pass_Ch_region;
400 m_histos[
"GEM_nFailingProbe_Ch_region"] = me_GEM_fail_Ch_region;
401 m_histos[
"GEM_nPassingProbe_Ch_region_GE1"] = me_GEM_pass_Ch_region_GE1;
402 m_histos[
"GEM_nFailingProbe_Ch_region_GE1"] = me_GEM_fail_Ch_region_GE1;
403 m_histos[
"GEM_nPassingProbe_Ch_region_GE1_NoL"] = me_GEM_pass_Ch_region_GE1_NoL;
404 m_histos[
"GEM_nFailingProbe_Ch_region_GE1_NoL"] = me_GEM_fail_Ch_region_GE1_NoL;
405 m_histos[
"GEM_nPassingProbe_Ch_eta"] = me_GEM_pass_Ch_eta;
406 m_histos[
"GEM_nFailingProbe_Ch_eta"] = me_GEM_fail_Ch_eta;
407 m_histos[
"GEM_nPassingProbe_Ch_phi"] = me_GEM_pass_Ch_phi;
408 m_histos[
"GEM_nFailingProbe_Ch_phi"] = me_GEM_fail_Ch_phi;
409 m_histos[
"GEM_nPassingProbe_allCh_1D"] = me_GEM_pass_allCh_1D;
410 m_histos[
"GEM_nFailingProbe_allCh_1D"] = me_GEM_fail_allCh_1D;
411 m_histos[
"GEM_nPassingProbe_chamber_1D"] = me_GEM_pass_chamber_1D;
412 m_histos[
"GEM_nFailingProbe_chamber_1D"] = me_GEM_fail_chamber_1D;
413 m_histos[
"GEM_nPassingProbe_chamber_p1_1D"] = me_GEM_pass_chamber_p1_1D;
414 m_histos[
"GEM_nFailingProbe_chamber_p1_1D"] = me_GEM_fail_chamber_p1_1D;
415 m_histos[
"GEM_nPassingProbe_chamber_p2_1D"] = me_GEM_pass_chamber_p2_1D;
416 m_histos[
"GEM_nFailingProbe_chamber_p2_1D"] = me_GEM_fail_chamber_p2_1D;
417 m_histos[
"GEM_nPassingProbe_chamber_n1_1D"] = me_GEM_pass_chamber_n1_1D;
418 m_histos[
"GEM_nFailingProbe_chamber_n1_1D"] = me_GEM_fail_chamber_n1_1D;
419 m_histos[
"GEM_nPassingProbe_chamber_n2_1D"] = me_GEM_pass_chamber_n2_1D;
420 m_histos[
"GEM_nFailingProbe_chamber_n2_1D"] = me_GEM_fail_chamber_n2_1D;
421 m_histos[
"GEM_nPassingProbe_pt_1D"] = me_GEM_pass_pt_1D;
422 m_histos[
"GEM_nFailingProbe_pt_1D"] = me_GEM_fail_pt_1D;
423 m_histos[
"GEM_nPassingProbe_eta_1D"] = me_GEM_pass_eta_1D;
424 m_histos[
"GEM_nFailingProbe_eta_1D"] = me_GEM_fail_eta_1D;
425 m_histos[
"GEM_nPassingProbe_phi_1D"] = me_GEM_pass_phi_1D;
426 m_histos[
"GEM_nFailingProbe_phi_1D"] = me_GEM_fail_phi_1D;
427 m_histos[
"GEM_nPassingProbe_pt_p1_1D"] = me_GEM_pass_pt_p1_1D;
428 m_histos[
"GEM_nFailingProbe_pt_p1_1D"] = me_GEM_fail_pt_p1_1D;
429 m_histos[
"GEM_nPassingProbe_eta_p1_1D"] = me_GEM_pass_eta_p1_1D;
430 m_histos[
"GEM_nFailingProbe_eta_p1_1D"] = me_GEM_fail_eta_p1_1D;
431 m_histos[
"GEM_nPassingProbe_phi_p1_1D"] = me_GEM_pass_phi_p1_1D;
432 m_histos[
"GEM_nFailingProbe_phi_p1_1D"] = me_GEM_fail_phi_p1_1D;
433 m_histos[
"GEM_nPassingProbe_pt_p2_1D"] = me_GEM_pass_pt_p2_1D;
434 m_histos[
"GEM_nFailingProbe_pt_p2_1D"] = me_GEM_fail_pt_p2_1D;
435 m_histos[
"GEM_nPassingProbe_eta_p2_1D"] = me_GEM_pass_eta_p2_1D;
436 m_histos[
"GEM_nFailingProbe_eta_p2_1D"] = me_GEM_fail_eta_p2_1D;
437 m_histos[
"GEM_nPassingProbe_phi_p2_1D"] = me_GEM_pass_phi_p2_1D;
438 m_histos[
"GEM_nFailingProbe_phi_p2_1D"] = me_GEM_fail_phi_p2_1D;
439 m_histos[
"GEM_nPassingProbe_pt_n1_1D"] = me_GEM_pass_pt_n1_1D;
440 m_histos[
"GEM_nFailingProbe_pt_n1_1D"] = me_GEM_fail_pt_n1_1D;
441 m_histos[
"GEM_nPassingProbe_eta_n1_1D"] = me_GEM_pass_eta_n1_1D;
442 m_histos[
"GEM_nFailingProbe_eta_n1_1D"] = me_GEM_fail_eta_n1_1D;
443 m_histos[
"GEM_nPassingProbe_phi_n1_1D"] = me_GEM_pass_phi_n1_1D;
444 m_histos[
"GEM_nFailingProbe_phi_n1_1D"] = me_GEM_fail_phi_n1_1D;
445 m_histos[
"GEM_nPassingProbe_pt_n2_1D"] = me_GEM_pass_pt_n2_1D;
446 m_histos[
"GEM_nFailingProbe_pt_n2_1D"] = me_GEM_fail_pt_n2_1D;
447 m_histos[
"GEM_nPassingProbe_eta_n2_1D"] = me_GEM_pass_eta_n2_1D;
448 m_histos[
"GEM_nFailingProbe_eta_n2_1D"] = me_GEM_fail_eta_n2_1D;
449 m_histos[
"GEM_nPassingProbe_phi_n2_1D"] = me_GEM_pass_phi_n2_1D;
450 m_histos[
"GEM_nFailingProbe_phi_n2_1D"] = me_GEM_fail_phi_n2_1D;
451 m_histos[
"ME0_nPassingProbe_chamber_1D"] = me_ME0_pass_chamber_1D;
452 m_histos[
"ME0_nFailingProbe_chamber_1D"] = me_ME0_fail_chamber_1D;
453 m_histos[
"GEM_nPassingProbe_Ch_region_layer_phase2"] = me_GEM_pass_Ch_region_layer_phase2;
454 m_histos[
"GEM_nFailingProbe_Ch_region_layer_phase2"] = me_GEM_fail_Ch_region_layer_phase2;
458 m_histos[
"GEMhit_dx"] = iBooker.
book1D(
"GEMhit_dx",
"GEMhit_dx;probe dx [cm];Events", 100, 0., 10.);
459 m_histos[
"GEMseg_dx"] = iBooker.
book1D(
"GEMseg_dx",
"GEMseg_dx;probe dx [cm];Events", 100, 0., 20.);
461 m_histos[
"GEMhit_x"] = iBooker.
book1D(
"GEMhit_x",
"GEMhit_x;probe x [cm];Events", 100, -10., 10.);
462 m_histos[
"GEMhit_x_GE2"] = iBooker.
book1D(
"GEMhit_x_GE2",
"GEMhit_x;probe x [cm];Events", 100, -10., 10.);
463 m_histos[
"Cham_x"] = iBooker.
book1D(
"Cham_x",
"Cham_x;probe x [cm];Events", 100, -10., 10.);
464 m_histos[
"Cham_x_GE2"] = iBooker.
book1D(
"Cham_x_GE2",
"Cham_x;probe x [cm];Events", 100, -10., 10.);
466 m_histos[
"GEMhit_dx_GE2"] = iBooker.
book1D(
"GEMhit_dx_GE2",
"GEMhit_dx;probe dx [cm];Events", 100, 0., 10.);
476 std::vector<std::vector<int>> probe_coll_GEM_region;
477 std::vector<std::vector<int>> probe_coll_GEM_lay;
478 std::vector<std::vector<int>> probe_coll_GEM_chamber;
479 std::vector<std::vector<float>> probe_coll_GEM_pt;
480 std::vector<std::vector<float>> probe_coll_GEM_eta;
481 std::vector<std::vector<float>> probe_coll_GEM_phi;
482 std::vector<std::vector<int>> probe_coll_GEM_sta;
483 std::vector<std::vector<float>> probe_coll_GEM_dx;
484 std::vector<uint8_t> probe_coll_GEM_staMatch;
487 std::vector<std::vector<int>> probe_coll_ME0_region;
488 std::vector<std::vector<int>> probe_coll_ME0_roll;
489 std::vector<std::vector<int>> probe_coll_ME0_lay;
490 std::vector<std::vector<int>> probe_coll_ME0_chamber;
491 std::vector<std::vector<float>> probe_coll_ME0_pt;
492 std::vector<std::vector<float>> probe_coll_ME0_eta;
493 std::vector<std::vector<float>> probe_coll_ME0_phi;
494 std::vector<std::vector<int>> probe_coll_ME0_sta;
495 std::vector<std::vector<float>> probe_coll_ME0_dx;
496 std::vector<uint8_t> probe_coll_ME0_staMatch;
498 std::vector<unsigned> probe_indices;
503 for (
const auto i : probe_indices) {
505 std::vector<int> probe_GEM_region;
506 std::vector<int> probe_GEM_sta;
507 std::vector<int> probe_GEM_lay;
508 std::vector<int> probe_GEM_chamber;
509 std::vector<float> probe_GEM_pt;
510 std::vector<float> probe_GEM_eta;
511 std::vector<float> probe_GEM_phi;
512 std::vector<float> probe_GEM_dx;
514 uint8_t GEM_stationMatching = 0;
516 std::vector<int> probe_ME0_region;
517 std::vector<int> probe_ME0_roll;
518 std::vector<int> probe_ME0_sta;
519 std::vector<int> probe_ME0_lay;
520 std::vector<int> probe_ME0_chamber;
521 std::vector<float> probe_ME0_pt;
522 std::vector<float> probe_ME0_eta;
523 std::vector<float> probe_ME0_phi;
524 std::vector<float> probe_ME0_dx;
525 uint8_t ME0_stationMatching = 0;
527 bool gem_matched =
false;
529 for (
const auto& chambMatch : (*muons).at(
i).matches()) {
535 GEMDetId chId(chambMatch.id.rawId());
537 const int roll = chId.roll();
538 const int region = chId.region();
539 const int station = chId.station();
540 const int layer = chId.layer();
541 const int chamber = chId.chamber();
542 const float pt = (*muons).at(
i).pt();
543 const float eta = (*muons).at(
i).eta();
544 const float phi = (*muons).at(
i).phi();
547 double smallestDx = 99999.;
548 double matched_GEMHit_x = 99999.;
550 for (
auto& gemHit : chambMatch.gemHitMatches) {
552 if (
dx < smallestDx) {
554 closest_matchedHit = gemHit;
555 matched_GEMHit_x = gemHit.
x;
560 double smallestDx_seg = 99999.;
562 for (
auto& seg : chambMatch.gemMatches) {
563 float dx_seg =
std::abs(chambMatch.x - seg.x);
564 if (dx_seg < smallestDx_seg) {
565 smallestDx_seg = dx_seg;
566 closest_matchedSegment = seg;
570 m_histos.find(
"GEMhit_dx")->second->Fill(smallestDx);
571 m_histos.find(
"GEMhit_x")->second->Fill(matched_GEMHit_x);
572 m_histos.find(
"Cham_x")->second->Fill(chambMatch.x);
573 m_histos.find(
"GEMseg_dx")->second->Fill(smallestDx_seg);
575 m_histos.find(
"GEMhit_dx_GE2")->second->Fill(smallestDx);
576 m_histos.find(
"GEMhit_x_GE2")->second->Fill(matched_GEMHit_x);
577 m_histos.find(
"Cham_x_GE2")->second->Fill(chambMatch.x);
581 GEM_stationMatching = GEM_stationMatching | (1 << (
station - 1));
583 probe_GEM_region.push_back(
region);
584 probe_GEM_sta.push_back(
station);
585 probe_GEM_lay.push_back(
layer);
586 probe_GEM_chamber.push_back(
chamber);
587 probe_GEM_pt.push_back(
pt);
588 probe_GEM_eta.push_back(
eta);
589 probe_GEM_phi.push_back(
phi);
590 probe_GEM_dx.push_back(smallestDx);
596 double smallestDx_ME0 = 99999.;
597 for (
auto& seg : chambMatch.gemMatches) {
599 if (
dx < smallestDx_ME0) {
601 closest_matchedSegment_ME0 = seg;
604 ME0_stationMatching = ME0_stationMatching | (1 << (
station - 1));
605 probe_ME0_region.push_back(
region);
606 probe_ME0_roll.push_back(
roll);
607 probe_ME0_sta.push_back(
station);
608 probe_ME0_lay.push_back(
layer);
609 probe_ME0_chamber.push_back(
chamber);
610 probe_ME0_pt.push_back(
pt);
611 probe_ME0_eta.push_back(
eta);
612 probe_ME0_phi.push_back(
phi);
613 probe_ME0_dx.push_back(smallestDx_ME0);
622 m_histos.find(
"probeEta")->second->Fill(
abs((*muons).at(
i).eta()));
623 m_histos.find(
"probePhi")->second->Fill((*muons).at(
i).phi());
624 m_histos.find(
"probeNumberOfMatchedStations")->second->Fill((*muons).at(
i).numberOfMatchedStations());
625 m_histos.find(
"probePt")->second->Fill((*muons).at(
i).pt());
634 probe_coll_GEM_region.push_back(probe_GEM_region);
635 probe_coll_GEM_sta.push_back(probe_GEM_sta);
636 probe_coll_GEM_lay.push_back(probe_GEM_lay);
637 probe_coll_GEM_chamber.push_back(probe_GEM_chamber);
638 probe_coll_GEM_pt.push_back(probe_GEM_pt);
639 probe_coll_GEM_eta.push_back(probe_GEM_eta);
640 probe_coll_GEM_phi.push_back(probe_GEM_phi);
641 probe_coll_GEM_dx.push_back(probe_GEM_dx);
642 probe_coll_GEM_staMatch.push_back(GEM_stationMatching);
645 probe_coll_ME0_region.push_back(probe_ME0_region);
646 probe_coll_ME0_roll.push_back(probe_ME0_roll);
647 probe_coll_ME0_sta.push_back(probe_ME0_sta);
648 probe_coll_ME0_lay.push_back(probe_ME0_lay);
649 probe_coll_ME0_chamber.push_back(probe_ME0_chamber);
650 probe_coll_ME0_pt.push_back(probe_ME0_pt);
651 probe_coll_ME0_eta.push_back(probe_ME0_eta);
652 probe_coll_ME0_phi.push_back(probe_ME0_phi);
653 probe_coll_ME0_dx.push_back(probe_ME0_dx);
654 probe_coll_ME0_staMatch.push_back(ME0_stationMatching);
659 for (
unsigned i = 0;
i < probe_indices.size(); ++
i) {
660 uint8_t GEM_matchPatt = probe_coll_GEM_staMatch.at(
i);
664 unsigned nME0_matches = probe_coll_ME0_region.at(
i).size();
665 for (
unsigned j = 0;
j < nME0_matches; ++
j) {
667 int ME0_region = probe_coll_ME0_region.at(
i).at(
j);
669 int ME0_sta = probe_coll_ME0_sta.at(
i).at(
j);
671 int ME0_chamber = probe_coll_ME0_chamber.at(
i).at(
j);
673 float ME0_dx = probe_coll_ME0_dx.at(
i).at(
j);
679 m_histos.find(
"ME0_nPassingProbe_chamber_1D")->second->Fill(ME0_chamber);
681 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(4, ME0_chamber);
682 else if (ME0_region > 0)
683 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(5, ME0_chamber);
685 m_histos.find(
"ME0_nFailingProbe_chamber_1D")->second->Fill(ME0_chamber);
687 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(4, ME0_chamber);
688 else if (ME0_region > 0)
689 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(5, ME0_chamber);
696 unsigned nGEM_matches = probe_coll_GEM_region.at(
i).size();
697 for (
unsigned j = 0;
j < nGEM_matches; ++
j) {
699 int GEM_region = probe_coll_GEM_region.at(
i).at(
j);
700 int GEM_sta = probe_coll_GEM_sta.at(
i).at(
j);
701 int GEM_lay = probe_coll_GEM_lay.at(
i).at(
j);
702 int GEM_chamber = probe_coll_GEM_chamber.at(
i).at(
j);
703 float GEM_pt = probe_coll_GEM_pt.at(
i).at(
j);
704 float GEM_dx = probe_coll_GEM_dx.at(
i).at(
j);
705 float GEM_eta = probe_coll_GEM_eta.at(
i).at(
j);
706 float GEM_phi = probe_coll_GEM_phi.at(
i).at(
j);
709 if (((GEM_matchPatt & (1 << (GEM_sta - 1))) != 0) && GEM_sta != 0)
712 if (GEM_region == 1 && GEM_lay == 0 && GEM_sta == 2 && GEM_chamber == 16)
714 m_histos.find(
"GEM_nPassingProbe_Ch_region")->second->Fill(GEM_region, GEM_chamber);
715 m_histos.find(
"GEM_nPassingProbe_Ch_eta")->second->Fill(
abs(GEM_eta), GEM_chamber);
716 m_histos.find(
"GEM_nPassingProbe_Ch_phi")->second->Fill(GEM_phi, GEM_chamber);
717 m_histos.find(
"GEM_nPassingProbe_allCh_1D")->second->Fill(GEM_region);
718 m_histos.find(
"GEM_nPassingProbe_chamber_1D")->second->Fill(GEM_chamber);
719 if (GEM_region < 0) {
720 if (GEM_sta == 2 and GEM_lay == 2)
721 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(0, GEM_chamber);
722 else if (GEM_sta == 2 and GEM_lay == 1)
723 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(1, GEM_chamber);
724 else if (GEM_sta == 1 and GEM_lay == 2)
725 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(2, GEM_chamber);
726 else if (GEM_sta == 1 and GEM_lay == 1)
727 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(3, GEM_chamber);
729 if (GEM_region > 0) {
730 if (GEM_sta == 1 and GEM_lay == 1)
731 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(6, GEM_chamber);
732 else if (GEM_sta == 1 and GEM_lay == 2)
733 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(7, GEM_chamber);
734 else if (GEM_sta == 2 and GEM_lay == 1)
735 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(8, GEM_chamber);
736 else if (GEM_sta == 2 and GEM_lay == 2)
737 m_histos.find(
"GEM_nPassingProbe_Ch_region_layer_phase2")->second->Fill(9, GEM_chamber);
739 if (GEM_region == -1 && GEM_sta == 1) {
740 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1_NoL")->second->Fill(0, GEM_chamber);
741 }
else if (GEM_region == 1 && GEM_sta == 1) {
742 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1_NoL")->second->Fill(1, GEM_chamber);
745 if (GEM_region == 1 && GEM_lay == 1 && GEM_sta == 1) {
746 m_histos.find(
"GEM_nPassingProbe_chamber_p1_1D")->second->Fill(GEM_chamber);
747 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1")->second->Fill(2, GEM_chamber);
748 m_histos.find(
"GEM_nPassingProbe_pt_p1_1D")->second->Fill(GEM_pt);
749 m_histos.find(
"GEM_nPassingProbe_eta_p1_1D")->second->Fill(
abs(GEM_eta));
750 m_histos.find(
"GEM_nPassingProbe_phi_p1_1D")->second->Fill(GEM_phi);
751 }
else if (GEM_region == 1 && GEM_lay == 2 && GEM_sta == 1) {
752 m_histos.find(
"GEM_nPassingProbe_chamber_p2_1D")->second->Fill(GEM_chamber);
753 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1")->second->Fill(3, GEM_chamber);
754 m_histos.find(
"GEM_nPassingProbe_pt_p2_1D")->second->Fill(GEM_pt);
755 m_histos.find(
"GEM_nPassingProbe_eta_p2_1D")->second->Fill(
abs(GEM_eta));
756 m_histos.find(
"GEM_nPassingProbe_phi_p2_1D")->second->Fill(GEM_phi);
757 }
else if (GEM_region == -1 && GEM_lay == 1 && GEM_sta == 1) {
758 m_histos.find(
"GEM_nPassingProbe_chamber_n1_1D")->second->Fill(GEM_chamber);
759 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1")->second->Fill(1, GEM_chamber);
760 m_histos.find(
"GEM_nPassingProbe_pt_n1_1D")->second->Fill(GEM_pt);
761 m_histos.find(
"GEM_nPassingProbe_eta_n1_1D")->second->Fill(
abs(GEM_eta));
762 m_histos.find(
"GEM_nPassingProbe_phi_n1_1D")->second->Fill(GEM_phi);
763 }
else if (GEM_region == -1 && GEM_lay == 2 && GEM_sta == 1) {
764 m_histos.find(
"GEM_nPassingProbe_chamber_n2_1D")->second->Fill(GEM_chamber);
765 m_histos.find(
"GEM_nPassingProbe_Ch_region_GE1")->second->Fill(0, GEM_chamber);
766 m_histos.find(
"GEM_nPassingProbe_pt_n2_1D")->second->Fill(GEM_pt);
767 m_histos.find(
"GEM_nPassingProbe_eta_n2_1D")->second->Fill(
abs(GEM_eta));
768 m_histos.find(
"GEM_nPassingProbe_phi_n2_1D")->second->Fill(GEM_phi);
770 m_histos.find(
"GEM_nPassingProbe_pt_1D")->second->Fill(GEM_pt);
771 m_histos.find(
"GEM_nPassingProbe_eta_1D")->second->Fill(
abs(GEM_eta));
772 m_histos.find(
"GEM_nPassingProbe_phi_1D")->second->Fill(GEM_phi);
774 if (GEM_region == 1 && GEM_lay == 0 && GEM_sta == 2 && GEM_chamber == 16)
776 m_histos.find(
"GEM_nFailingProbe_Ch_region")->second->Fill(GEM_region, GEM_chamber);
777 m_histos.find(
"GEM_nFailingProbe_Ch_eta")->second->Fill(
abs(GEM_eta), GEM_chamber);
778 m_histos.find(
"GEM_nFailingProbe_Ch_phi")->second->Fill(GEM_phi, GEM_chamber);
779 m_histos.find(
"GEM_nFailingProbe_allCh_1D")->second->Fill(GEM_region);
780 m_histos.find(
"GEM_nFailingProbe_chamber_1D")->second->Fill(GEM_chamber);
781 if (GEM_region < 0) {
782 if (GEM_sta == 2 and GEM_lay == 2)
783 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(0, GEM_chamber);
784 else if (GEM_sta == 2 and GEM_lay == 1)
785 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(1, GEM_chamber);
786 else if (GEM_sta == 1 and GEM_lay == 2)
787 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(2, GEM_chamber);
788 else if (GEM_sta == 1 and GEM_lay == 1)
789 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(3, GEM_chamber);
791 if (GEM_region > 0) {
792 if (GEM_sta == 1 and GEM_lay == 1)
793 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(6, GEM_chamber);
794 else if (GEM_sta == 1 and GEM_lay == 2)
795 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(7, GEM_chamber);
796 else if (GEM_sta == 2 and GEM_lay == 1)
797 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(8, GEM_chamber);
798 else if (GEM_sta == 2 and GEM_lay == 2)
799 m_histos.find(
"GEM_nFailingProbe_Ch_region_layer_phase2")->second->Fill(9, GEM_chamber);
801 if (GEM_region == -1 && GEM_sta == 1) {
802 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1_NoL")->second->Fill(0, GEM_chamber);
803 }
else if (GEM_region == 1 && GEM_sta == 1) {
804 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1_NoL")->second->Fill(1, GEM_chamber);
807 if (GEM_region == 1 && GEM_lay == 1 && GEM_sta == 1) {
808 m_histos.find(
"GEM_nFailingProbe_chamber_p1_1D")->second->Fill(GEM_chamber);
809 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1")->second->Fill(2, GEM_chamber);
810 m_histos.find(
"GEM_nFailingProbe_pt_p1_1D")->second->Fill(GEM_pt);
811 m_histos.find(
"GEM_nFailingProbe_eta_p1_1D")->second->Fill(
abs(GEM_eta));
812 m_histos.find(
"GEM_nFailingProbe_phi_p1_1D")->second->Fill(GEM_phi);
813 }
else if (GEM_region == 1 && GEM_lay == 2 && GEM_sta == 1) {
814 m_histos.find(
"GEM_nFailingProbe_chamber_p2_1D")->second->Fill(GEM_chamber);
815 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1")->second->Fill(3, GEM_chamber);
816 m_histos.find(
"GEM_nFailingProbe_pt_p2_1D")->second->Fill(GEM_pt);
817 m_histos.find(
"GEM_nFailingProbe_eta_p2_1D")->second->Fill(
abs(GEM_eta));
818 m_histos.find(
"GEM_nFailingProbe_phi_p2_1D")->second->Fill(GEM_phi);
819 }
else if (GEM_region == -1 && GEM_lay == 1 && GEM_sta == 1) {
820 m_histos.find(
"GEM_nFailingProbe_chamber_n1_1D")->second->Fill(GEM_chamber);
821 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1")->second->Fill(1, GEM_chamber);
822 m_histos.find(
"GEM_nFailingProbe_pt_n1_1D")->second->Fill(GEM_pt);
823 m_histos.find(
"GEM_nFailingProbe_eta_n1_1D")->second->Fill(
abs(GEM_eta));
824 m_histos.find(
"GEM_nFailingProbe_phi_n1_1D")->second->Fill(GEM_phi);
825 }
else if (GEM_region == -1 && GEM_lay == 2 && GEM_sta == 1) {
826 m_histos.find(
"GEM_nFailingProbe_chamber_n2_1D")->second->Fill(GEM_chamber);
827 m_histos.find(
"GEM_nFailingProbe_Ch_region_GE1")->second->Fill(0, GEM_chamber);
828 m_histos.find(
"GEM_nFailingProbe_pt_n2_1D")->second->Fill(GEM_pt);
829 m_histos.find(
"GEM_nFailingProbe_eta_n2_1D")->second->Fill(
abs(GEM_eta));
830 m_histos.find(
"GEM_nFailingProbe_phi_n2_1D")->second->Fill(GEM_phi);
832 m_histos.find(
"GEM_nFailingProbe_pt_1D")->second->Fill(GEM_pt);
833 m_histos.find(
"GEM_nFailingProbe_eta_1D")->second->Fill(
abs(GEM_eta));
834 m_histos.find(
"GEM_nFailingProbe_phi_1D")->second->Fill(GEM_phi);
virtual void setCurrentFolder(std::string const &fullpath)
~GEMTnPEfficiencyTask() override
Destructor.
const edm::EDGetTokenT< reco::MuonCollection > m_muToken
static std::string to_string(const XMLCh *ch)
std::vector< std::vector< unsigned > > m_probeIndices
const bool m_detailedAnalysis
Abs< T >::type abs(const T &t)
std::map< std::string, MonitorElement * > m_histos
#define DEFINE_FWK_MODULE(type)
void bookHistograms(DQMStore::IBooker &iBooker, edm::Run const &run, edm::EventSetup const &context) override
void analyze(const edm::Event &event, const edm::EventSetup &context) override
Analyze.
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void bookHistograms(DQMStore::IBooker &iBooker, edm::Run const &run, edm::EventSetup const &context) override
void analyze(const edm::Event &event, const edm::EventSetup &context) override
Analyze.
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
GEMTnPEfficiencyTask(const edm::ParameterSet &config)
Constructor.
std::string topFolder() const override
Return the top folder.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)