57 cout <<
" Initialise Constructor " << endl;
69 theMuonCollectionLabel_ =
71 theVertexCollectionLabel_ =
83 h_1D.resize(NUM_VARS);
84 h_2D.resize(NUM_VARS_2D);
85 h_1D_NVTX.resize(NUM_VARS_NVTX);
93 cout <<
"Calling destructor" << endl;
103 cout <<
" InitStatistics() " << endl;
108 LOG_BINNING_ENABLED = 1;
110 LOG_BINNING_RATIO = 1.1;
122 main_titles.resize(NUM_VARS);
123 axis_titles.resize(NUM_VARS);
124 names.resize(NUM_VARS);
125 param.resize(NUM_VARS, vector<double>(3));
126 isContinuous.resize(NUM_VARS);
128 titles_2D.resize(NUM_VARS_2D);
129 names_2D.resize(NUM_VARS_2D);
131 main_titles_NVtxs.resize(NUM_VARS_NVTX);
132 axis_titles_NVtxs.resize(NUM_VARS_NVTX);
133 names_NVtxs.resize(NUM_VARS_NVTX);
136 cout <<
"InitStatistics(): vectors resized " << endl;
139 main_titles[0] =
"Total Tracker Momentum, #Delta R = 0.3";
140 main_titles[1] =
"Total EM Cal Energy, #Delta R = 0.3";
141 main_titles[2] =
"Total Had Cal Energy, #Delta R = 0.3";
142 main_titles[3] =
"Total HO Cal Energy, #Delta R = 0.3";
143 main_titles[4] =
"Number of Tracker Tracks, #Delta R = 0.3";
144 main_titles[5] =
"Number of Jets around Muon, #Delta R = 0.3";
145 main_titles[6] =
"Tracker p_{T} within veto cone, #Delta R = 0.3";
146 main_titles[7] =
"EM E_{T} within veto cone, #Delta R = 0.3";
147 main_titles[8] =
"Had E_{T} within veto cone, #Delta R = 0.3";
148 main_titles[9] =
"HO E_{T} within veto cone, #Delta R = 0.3";
149 main_titles[10] =
"Average Momentum per Track, #Delta R = 0.3";
150 main_titles[11] =
"Weighted Energy, #Delta R = 0.3";
152 main_titles[12] =
"Total Tracker Momentum, #Delta R = 0.5";
153 main_titles[13] =
"Total EM Cal Energy, #Delta R = 0.5";
154 main_titles[14] =
"Total Had Cal Energy, #Delta R = 0.5";
155 main_titles[15] =
"Total HO Cal Energy, #Delta R = 0.5";
156 main_titles[16] =
"Number of Tracker Tracks, #Delta R = 0.5";
157 main_titles[17] =
"Number of Jets around Muon, #Delta R = 0.5";
158 main_titles[18] =
"Tracker p_{T} within veto cone, #Delta R = 0.5";
159 main_titles[19] =
"EM E_{T} within veto cone, #Delta R = 0.5";
160 main_titles[20] =
"Had E_{T} within veto cone, #Delta R = 0.5";
161 main_titles[21] =
"HO E_{T} within veto cone, #Delta R = 0.5";
162 main_titles[22] =
"Average Momentum per Track, #Delta R = 0.5";
163 main_titles[23] =
"Weighted Energy, #Delta R = 0.5";
165 main_titles[24] =
"Relative Detector-Based Isolation, #Delta R = 0.3";
166 main_titles[25] =
"Relative Detector-Based Isolation, #Delta R = 0.5";
169 main_titles[26] =
"Sum PF Charged Hadron Pt, #Delta R = 0.3";
170 main_titles[27] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.3";
171 main_titles[28] =
"Sum PF Photon Et, #Delta R = 0.3";
172 main_titles[29] =
"Sum PF Neutral Hadron Pt (Higher Pt threshold), #Delta R = 0.3";
173 main_titles[30] =
"Sum PF Photon Et (Higher Pt threshold), #Delta R = 0.3";
174 main_titles[31] =
"Sum PF Charged Particles Pt not from PV (for Pu corrections), #Delta R = 0.3";
177 main_titles[32] =
"Sum PF Charged Hadron Pt, #Delta R = 0.4";
178 main_titles[33] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.4";
179 main_titles[34] =
"Sum PF Photon Et, #Delta R = 0.4";
180 main_titles[35] =
"Sum PF Neutral Hadron Pt (Higher Pt threshold), #Delta R = 0.4";
181 main_titles[36] =
"Sum PF Photon Et (Higher Pt threshold), #Delta R = 0.4";
182 main_titles[37] =
"Sum PF Charged Particles Pt not from PV (for Pu corrections), #Delta R = 0.4";
184 main_titles[38] =
"Relative PF Isolation, #Delta R = 0.3";
185 main_titles[39] =
"Relative PF Isolation, #Delta R = 0.4";
187 main_titles[40] =
"Relative PF Isolation (Higher Pt threshold), #Delta R = 0.3";
188 main_titles[41] =
"Relative PF Isolation (Higher Pt threshold), #Delta R = 0.4";
190 main_titles[42] =
"Sum DR Isolation Profile for Charged Hadron, #Delta R = 0.4";
192 main_titles[43] =
"Sum DR Isolation Profile for Neutral Hadron, #Delta R = 0.4";
194 main_titles[44] =
"Sum DR Isolation Profile for Photon, #Delta R = 0.4";
196 main_titles[45] =
"Mean DR Isolation Profile for Charged Hadron, #Delta R = 0.4";
198 main_titles[46] =
"Mean DR Isolation Profile for Neutral Hadron, #Delta R = 0.4";
200 main_titles[47] =
"Mean DR Isolation Profile for Photon, #Delta R = 0.4";
203 cout <<
"InitStatistics(): main titles 1D DONE " << endl;
205 titles_2D[0] =
"Total Tracker Momentum, #Delta R = 0.3";
206 titles_2D[1] =
"Total EM Cal Energy, #Delta R = 0.3";
207 titles_2D[2] =
"Total Had Cal Energy, #Delta R = 0.3";
208 titles_2D[3] =
"Total HO Cal Energy, #Delta R = 0.3";
209 titles_2D[4] =
"Sum PF Charged Hadron Pt, #Delta R = 0.4";
210 titles_2D[5] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.4";
211 titles_2D[6] =
"Sum PF Photon Et, #Delta R = 0.4";
212 titles_2D[7] =
"Sum PF Charged Pt Not from PV, #Delta R = 0.4";
213 titles_2D[8] =
"Relative Detector-Based Isolation, #Delta R = 0.4";
214 titles_2D[9] =
"Relative PF Isolation, #Delta R = 0.4";
216 main_titles_NVtxs[0] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 ( 20 < N_{Vtx} < 50)";
217 main_titles_NVtxs[1] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (50 < N_{Vtx} < 80)";
218 main_titles_NVtxs[2] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (80 < N_{Vtx})";
219 main_titles_NVtxs[3] =
"Sum PF Photon Et, #DeltaR = 0.4 ( 20 < N_{Vtx} < 50)";
220 main_titles_NVtxs[4] =
"Sum PF Photon Et, #DeltaR = 0.4 (50 < N_{Vtx} < 80)";
221 main_titles_NVtxs[5] =
"Sum PF Photon Et, #DeltaR = 0.4 (80 < N_{Vtx})";
224 cout <<
"InitStatistics(): main titles 2D DONE " << endl;
228 axis_titles[0] =
"#Sigma p_{T} (GeV)";
229 axis_titles[1] =
"#Sigma E_{T}^{EM} (GeV)";
230 axis_titles[2] =
"#Sigma E_{T}^{Had} (GeV)";
231 axis_titles[3] =
"#Sigma E_{T}^{HO} (GeV)";
232 axis_titles[4] =
"N_{Tracks}";
233 axis_titles[5] =
"N_{Jets}";
234 axis_titles[6] =
"#Sigma p_{T,veto} (GeV)";
235 axis_titles[7] =
"#Sigma E_{T,veto}^{EM} (GeV)";
236 axis_titles[8] =
"#Sigma E_{T,veto}^{Had} (GeV)";
237 axis_titles[9] =
"#Sigma E_{T,veto}^{HO} (GeV)";
238 axis_titles[10] =
"#Sigma p_{T} / N_{Tracks} (GeV)";
239 axis_titles[11] =
"(1.5) X #Sigma E_{T}^{EM} + #Sigma E_{T}^{Had}";
241 axis_titles[12] =
"#Sigma p_{T} (GeV)";
242 axis_titles[13] =
"#Sigma E_{T}^{EM} (GeV)";
243 axis_titles[14] =
"#Sigma E_{T}^{Had} (GeV)";
244 axis_titles[15] =
"#Sigma E_{T}^{HO} (GeV)";
245 axis_titles[16] =
"N_{Tracks}";
246 axis_titles[17] =
"N_{Jets}";
247 axis_titles[18] =
"#Sigma p_{T,veto} (GeV)";
248 axis_titles[19] =
"#Sigma E_{T,veto}^{EM} (GeV)";
249 axis_titles[20] =
"#Sigma E_{T,veto}^{Had} (GeV)";
250 axis_titles[21] =
"#Sigma E_{T,veto}^{HO} (GeV)";
251 axis_titles[22] =
"#Sigma p_{T} / N_{Tracks} (GeV)";
252 axis_titles[23] =
"(1.5) X #Sigma E_{T}^{EM} + #Sigma E_{T}^{Had}";
254 axis_titles[24] =
"(#Sigma Tk p_{T} + #Sigma ECAL p_{T} + #Sigma HCAL p_{T})/ Mu p_{T} (GeV)";
255 axis_titles[25] =
"(#Sigma Tk p_{T} + #Sigma ECAL p_{T} + #Sigma HCAL p_{T})/ Mu p_{T} (GeV)";
257 axis_titles[26] =
"#Sigma PFCharged p_{T}";
258 axis_titles[27] =
"#Sigma PFNeutral p_{T}";
259 axis_titles[28] =
"#Sigma PFPhoton p_{T}";
260 axis_titles[29] =
"#Sigma PFNeutral p_{T}";
261 axis_titles[30] =
"#Sigma PFPhoton p_{T}";
262 axis_titles[31] =
"#Sigma PFCharged p_{T}";
264 axis_titles[32] =
"#Sigma PFCharged p_{T}";
265 axis_titles[33] =
"#Sigma PFNeutral p_{T}";
266 axis_titles[34] =
"#Sigma PFPhoton p_{T}";
267 axis_titles[35] =
"#Sigma PFNeutral p_{T}";
268 axis_titles[36] =
"#Sigma PFPhoton p_{T}";
269 axis_titles[37] =
"#Sigma PFCharged p_{T}";
271 axis_titles[38] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
272 axis_titles[39] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
273 axis_titles[40] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
274 axis_titles[41] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
276 axis_titles[42] =
"#Sigma DR PFCharged";
277 axis_titles[43] =
"#Sigma DR PFNeutral";
278 axis_titles[44] =
"#Sigma DR PFPhoton";
280 axis_titles[45] =
"Mean DR PFCharged";
281 axis_titles[46] =
"Mean DR PFNeutral";
282 axis_titles[47] =
"Mean DR PFPhoton";
284 axis_titles_NVtxs[0] =
"#Sigma PFNeutral p_{T}";
285 axis_titles_NVtxs[1] =
"#Sigma PFNeutral p_{T}";
286 axis_titles_NVtxs[2] =
"#Sigma PFNeutral p_{T}";
287 axis_titles_NVtxs[3] =
"#Sigma PFPhoton p_{T}";
288 axis_titles_NVtxs[4] =
"#Sigma PFPhoton p_{T}";
289 axis_titles_NVtxs[5] =
"#Sigma PFPhoton p_{T}";
292 cout <<
"InitStatistics(): main titles 1D DONE " << endl;
296 names[0] =
"sumPt_R03";
297 names[1] =
"emEt_R03";
298 names[2] =
"hadEt_R03";
299 names[3] =
"hoEt_R03";
300 names[4] =
"nTracks_R03";
301 names[5] =
"nJets_R03";
302 names[6] =
"trackerVetoPt_R03";
303 names[7] =
"emVetoEt_R03";
304 names[8] =
"hadVetoEt_R03";
305 names[9] =
"hoVetoEt_R03";
306 names[10] =
"avgPt_R03";
307 names[11] =
"weightedEt_R03";
309 names[12] =
"sumPt_R05";
310 names[13] =
"emEt_R05";
311 names[14] =
"hadEt_R05";
312 names[15] =
"hoEt_R05";
313 names[16] =
"nTracks_R05";
314 names[17] =
"nJets_R05";
315 names[18] =
"trackerVetoPt_R05";
316 names[19] =
"emVetoEt_R05";
317 names[20] =
"hadVetoEt_R05";
318 names[21] =
"hoVetoEt_R05";
319 names[22] =
"avgPt_R05";
320 names[23] =
"weightedEt_R05";
322 names[24] =
"relDetIso_R03";
323 names[25] =
"relDetIso_R05";
325 names[26] =
"pfChargedPt_R03";
326 names[27] =
"pfNeutralPt_R03";
327 names[28] =
"pfPhotonPt_R03";
328 names[29] =
"pfNeutralPt_HT_R03";
329 names[30] =
"pfPhotonPt_HT_R03";
330 names[31] =
"pfChargedPt_PU_R03";
332 names[32] =
"pfChargedPt_R04";
333 names[33] =
"pfNeutralPt_R04";
334 names[34] =
"pfPhotonPt_R04";
335 names[35] =
"pfNeutralPt_HT_R04";
336 names[36] =
"pfPhotonPt_HT_R04";
337 names[37] =
"pfChargedPt_PU_R04";
339 names[38] =
"relPFIso_R03";
340 names[39] =
"relPFIso_R04";
342 names[40] =
"relPFIso_HT_R03";
343 names[41] =
"relPFIso_HT_R04";
345 names[42] =
"SumDR_PFCharged_R04";
346 names[43] =
"SumDR_PFNeutral_R04";
347 names[44] =
"SumDR_PFPhoton_R04";
349 names[45] =
"MeanDR_PFCharged_R04";
350 names[46] =
"MeanDR_PFNeutral_R04";
351 names[47] =
"MeanDR_PFPhoton_R04";
354 cout <<
"InitStatistics(): names 1D DONE " << endl;
357 names_2D[0] =
"SumPt_R03";
358 names_2D[1] =
"emEt_R03";
359 names_2D[2] =
"hadEt_R03";
360 names_2D[3] =
"hoEt_R03";
361 names_2D[4] =
"pfChargedPt_R04";
362 names_2D[5] =
"pfNeutralPt_R04";
363 names_2D[6] =
"pfPhotonPt_R04";
364 names_2D[7] =
"pfChargedPUPt_R04";
365 names_2D[8] =
"relDetIso_R03";
366 names_2D[9] =
"relPFIso_R04";
369 cout <<
"InitStatistics(): names 2D DONE " << endl;
372 names_NVtxs[0] =
"pfNeutralPt_R04_PV20to50";
373 names_NVtxs[1] =
"pfNeutralPt_R04_PV50to80";
374 names_NVtxs[2] =
"pfNeutralPt_R04_PV80toInf";
375 names_NVtxs[3] =
"pfPhotonPt_R04_PV20to50";
376 names_NVtxs[4] =
"pfPhotonPt_R04_PV50to80";
377 names_NVtxs[5] =
"pfPhotonPt_R04_PV80toInf";
387 param[0][0] = (
int)(20.0 / S_BIN_WIDTH);
389 param[0][2] = param[0][0] * S_BIN_WIDTH;
390 param[1][0] = (
int)(20.0 / S_BIN_WIDTH);
392 param[1][2] = param[1][0] * S_BIN_WIDTH;
393 param[2][0] = (
int)(20.0 / S_BIN_WIDTH);
395 param[2][2] = param[2][0] * S_BIN_WIDTH;
401 param[4][2] = param[4][0] - 0.5;
404 param[5][2] = param[5][0] - 0.5;
405 param[6][0] = (
int)(40.0 / S_BIN_WIDTH);
407 param[6][2] = param[6][0] * S_BIN_WIDTH;
411 param[8][0] = (
int)(20.0 / S_BIN_WIDTH);
413 param[8][2] = param[8][0] * S_BIN_WIDTH;
417 param[10][0] = (
int)(15.0 / S_BIN_WIDTH);
419 param[10][2] = param[10][0] * S_BIN_WIDTH;
420 param[11][0] = (
int)(20.0 / S_BIN_WIDTH);
422 param[11][2] = param[11][0] * S_BIN_WIDTH;
424 param[12][0] = (
int)(20.0 / S_BIN_WIDTH);
426 param[12][2] = param[12][0] * S_BIN_WIDTH;
427 param[13][0] = (
int)(20.0 / S_BIN_WIDTH);
429 param[13][2] = param[13][0] * S_BIN_WIDTH;
430 param[14][0] = (
int)(20.0 / S_BIN_WIDTH);
432 param[14][2] = param[14][0] * S_BIN_WIDTH;
438 param[16][2] = param[16][0] - 0.5;
441 param[17][2] = param[17][0] - 0.5;
442 param[18][0] = (
int)(40.0 / S_BIN_WIDTH);
444 param[18][2] = param[18][0] * S_BIN_WIDTH;
448 param[20][0] = (
int)(20.0 / S_BIN_WIDTH);
450 param[20][2] = param[20][0] * S_BIN_WIDTH;
454 param[22][0] = (
int)(15.0 / S_BIN_WIDTH);
456 param[22][2] = param[22][0] * S_BIN_WIDTH;
457 param[23][0] = (
int)(20.0 / S_BIN_WIDTH);
459 param[23][2] = param[23][0] * S_BIN_WIDTH;
468 param[26][0] = (
int)(20.0 / S_BIN_WIDTH);
470 param[26][2] = param[26][0] * S_BIN_WIDTH;
471 param[27][0] = (
int)(20.0 / S_BIN_WIDTH);
473 param[27][2] = param[27][0] * S_BIN_WIDTH;
474 param[28][0] = (
int)(20.0 / S_BIN_WIDTH);
476 param[28][2] = param[28][0] * S_BIN_WIDTH;
477 param[29][0] = (
int)(20.0 / S_BIN_WIDTH);
479 param[29][2] = param[29][0] * S_BIN_WIDTH;
480 param[30][0] = (
int)(20.0 / S_BIN_WIDTH);
482 param[30][2] = param[30][0] * S_BIN_WIDTH;
483 param[31][0] = (
int)(20.0 / S_BIN_WIDTH);
485 param[31][2] = param[31][0] * S_BIN_WIDTH;
487 param[32][0] = (
int)(20.0 / S_BIN_WIDTH);
489 param[32][2] = param[32][0] * S_BIN_WIDTH;
490 param[33][0] = (
int)(20.0 / S_BIN_WIDTH);
492 param[33][2] = param[33][0] * S_BIN_WIDTH;
493 param[34][0] = (
int)(20.0 / S_BIN_WIDTH);
495 param[34][2] = param[34][0] * S_BIN_WIDTH;
496 param[35][0] = (
int)(20.0 / S_BIN_WIDTH);
498 param[35][2] = param[35][0] * S_BIN_WIDTH;
499 param[36][0] = (
int)(20.0 / S_BIN_WIDTH);
501 param[36][2] = param[36][0] * S_BIN_WIDTH;
502 param[37][0] = (
int)(20.0 / S_BIN_WIDTH);
504 param[37][2] = param[37][0] * S_BIN_WIDTH;
552 isContinuous[10] = 1;
553 isContinuous[11] = 1;
555 isContinuous[12] = 1;
556 isContinuous[13] = 1;
557 isContinuous[14] = 1;
558 isContinuous[15] = 1;
559 isContinuous[16] = 0;
560 isContinuous[17] = 0;
561 isContinuous[18] = 1;
562 isContinuous[19] = 1;
563 isContinuous[20] = 1;
564 isContinuous[21] = 1;
565 isContinuous[22] = 1;
566 isContinuous[23] = 1;
568 isContinuous[24] = 1;
569 isContinuous[25] = 1;
570 isContinuous[26] = 1;
571 isContinuous[27] = 1;
572 isContinuous[28] = 1;
573 isContinuous[29] = 1;
574 isContinuous[30] = 1;
575 isContinuous[31] = 1;
576 isContinuous[32] = 1;
577 isContinuous[33] = 1;
578 isContinuous[34] = 1;
579 isContinuous[35] = 1;
580 isContinuous[36] = 1;
581 isContinuous[37] = 1;
582 isContinuous[38] = 1;
583 isContinuous[39] = 1;
584 isContinuous[40] = 1;
585 isContinuous[41] = 1;
586 isContinuous[42] = 1;
587 isContinuous[43] = 1;
588 isContinuous[44] = 1;
589 isContinuous[45] = 1;
590 isContinuous[46] = 1;
591 isContinuous[47] = 1;
594 cout <<
"InitStatistics(): DONE " << endl;
603 cout <<
"[MuonIsolationDQM]: analyze()" << endl;
611 cout <<
"[MuonIsolationDQM]: Number of muons -> " <<
muons->size() << endl;
614 int theMuonData =
muons->size();
615 h_nMuons->Fill(theMuonData);
617 cout <<
"[MuonIsolationDQM]: Vertex is Valid" << endl;
623 iEvent.getByToken(theVertexCollectionLabel_, vertexHandle);
627 for (reco::VertexCollection::const_iterator
v =
vertex.begin();
v !=
vertex.end(); ++
v) {
632 if (fabs(
v->z()) > 24.0)
639 cout <<
"[MuonIsolationDQM]: Vertex is Valid" << endl;
657 FillNVtxHistos(_numPV);
667 float MuPt =
muon.pt();
669 theData[0] =
muon.isolationR03().sumPt;
670 theData[1] =
muon.isolationR03().emEt;
671 theData[2] =
muon.isolationR03().hadEt;
672 theData[3] =
muon.isolationR03().hoEt;
674 theData[4] =
muon.isolationR03().nTracks;
675 theData[5] =
muon.isolationR03().nJets;
676 theData[6] =
muon.isolationR03().trackerVetoPt;
677 theData[7] =
muon.isolationR03().emVetoEt;
678 theData[8] =
muon.isolationR03().hadVetoEt;
679 theData[9] =
muon.isolationR03().hoVetoEt;
683 theData[10] = (double)theData[0] / (
double)theData[4];
687 theData[11] = 1.5 * theData[1] + theData[2];
689 theData[12] =
muon.isolationR05().sumPt;
690 theData[13] =
muon.isolationR05().emEt;
691 theData[14] =
muon.isolationR05().hadEt;
692 theData[15] =
muon.isolationR05().hoEt;
694 theData[16] =
muon.isolationR05().nTracks;
695 theData[17] =
muon.isolationR05().nJets;
696 theData[18] =
muon.isolationR05().trackerVetoPt;
697 theData[19] =
muon.isolationR05().emVetoEt;
698 theData[20] =
muon.isolationR05().hadVetoEt;
699 theData[21] =
muon.isolationR05().hoVetoEt;
702 if (theData[16] != 0)
703 theData[22] = (double)theData[12] / (
double)theData[16];
707 theData[23] = 1.5 * theData[13] + theData[14];
709 theData[24] = (theData[0] + theData[1] + theData[2]) / MuPt;
710 theData[25] = (theData[12] + theData[13] + theData[14]) / MuPt;
712 theData[26] =
muon.pfIsolationR03().sumChargedHadronPt;
713 theData[27] =
muon.pfIsolationR03().sumNeutralHadronEt;
714 theData[28] =
muon.pfIsolationR03().sumPhotonEt;
715 theData[29] =
muon.pfIsolationR03().sumNeutralHadronEtHighThreshold;
716 theData[30] =
muon.pfIsolationR03().sumPhotonEtHighThreshold;
717 theData[31] =
muon.pfIsolationR03().sumPUPt;
719 theData[32] =
muon.pfIsolationR04().sumChargedHadronPt;
720 theData[33] =
muon.pfIsolationR04().sumNeutralHadronEt;
721 theData[34] =
muon.pfIsolationR04().sumPhotonEt;
722 theData[35] =
muon.pfIsolationR04().sumNeutralHadronEtHighThreshold;
723 theData[36] =
muon.pfIsolationR04().sumPhotonEtHighThreshold;
724 theData[37] =
muon.pfIsolationR04().sumPUPt;
726 theData[38] = (theData[26] + theData[27] + theData[28]) / MuPt;
727 theData[39] = (theData[32] + theData[33] + theData[34]) / MuPt;
729 theData[40] = (theData[26] + theData[29] + theData[30]) / MuPt;
730 theData[41] = (theData[32] + theData[35] + theData[36]) / MuPt;
732 theData[42] =
muon.pfSumDRIsoProfileR04().sumChargedHadronPt;
733 theData[43] =
muon.pfSumDRIsoProfileR04().sumNeutralHadronEt;
734 theData[44] =
muon.pfSumDRIsoProfileR04().sumPhotonEt;
735 theData[45] =
muon.pfMeanDRIsoProfileR04().sumChargedHadronPt;
736 theData[46] =
muon.pfMeanDRIsoProfileR04().sumNeutralHadronEt;
737 theData[47] =
muon.pfMeanDRIsoProfileR04().sumPhotonEt;
740 theData2D[0] =
muon.isolationR03().sumPt;
741 theData2D[1] =
muon.isolationR03().emEt;
742 theData2D[2] =
muon.isolationR03().hadEt;
743 theData2D[3] =
muon.isolationR03().hoEt;
745 theData2D[4] =
muon.pfIsolationR04().sumChargedHadronPt;
746 theData2D[5] =
muon.pfIsolationR04().sumNeutralHadronEt;
747 theData2D[6] =
muon.pfIsolationR04().sumPhotonEt;
748 theData2D[7] =
muon.pfIsolationR04().sumPUPt;
750 theData2D[8] = theData2D[0] + theData2D[1] + theData2D[2] + theData2D[3] / MuPt;
751 theData2D[9] = theData2D[4] + theData2D[5] + theData2D[6] / MuPt;
754 theDataNVtx[0] =
muon.pfIsolationR04().sumNeutralHadronEt;
755 theDataNVtx[1] = theDataNVtx[0];
756 theDataNVtx[2] = theDataNVtx[0];
758 theDataNVtx[3] =
muon.pfIsolationR04().sumPhotonEt;
759 theDataNVtx[4] = theDataNVtx[3];
760 theDataNVtx[5] = theDataNVtx[3];
772 h_nMuons = ibooker.
book1D(
"nMuons", title_sam +
"Number of Muons", 20, 0., 20.);
774 h_nMuons->setAxisTitle(
"Fraction of Events", YAXIS);
777 for (
int var = 0;
var < NUM_VARS;
var++) {
779 names[
var], title_sam + main_titles[
var] + title_cone, (
int)param[
var][0], param[
var][1], param[
var][2]);
785 for (
int var = 0;
var < NUM_VARS_2D;
var++) {
787 names_2D[
var] +
"_VsPV", titles_2D[
var] +
" Vs PV", vtxBin_, vtxMin_, vtxMax_, 20, 0.0, 20.0);
789 h_2D[
var]->setAxisTitle(titles_2D[
var] +
" (GeV)", YAXIS);
794 for (
int var = 0;
var < NUM_VARS_NVTX;
var++) {
795 h_1D_NVTX[
var] = ibooker.
book1D(names_NVtxs[
var], main_titles_NVtxs[
var], 50, 0.0, 10.0);
802 for (
int var = 0;
var < NUM_VARS;
var++) {
803 double entries = GetTH1FromMonitorElement(h_1D[
var])->GetEntries();
804 GetTH1FromMonitorElement(h_1D[
var])->Scale(1. / entries);
810 cout <<
"FillHistos( " << numPV <<
" )" << endl;
814 for (
int var = 0;
var < NUM_VARS;
var++) {
815 h_1D[
var]->Fill(theData[
var]);
825 for (
int var = 0;
var < NUM_VARS_2D;
var++) {
826 h_2D[
var]->Fill(numPV, theData2D[
var]);
830 cout <<
"FillHistos( " << numPV <<
" ): DONE" << endl;
834 if (
PV >= 20 &&
PV < 50) {
835 h_1D_NVTX[0]->Fill(theDataNVtx[0]);
836 h_1D_NVTX[3]->Fill(theDataNVtx[3]);
838 if (
PV >= 50 &&
PV < 80) {
839 h_1D_NVTX[1]->Fill(theDataNVtx[1]);
840 h_1D_NVTX[4]->Fill(theDataNVtx[4]);
843 h_1D_NVTX[2]->Fill(theDataNVtx[2]);
844 h_1D_NVTX[5]->Fill(theDataNVtx[5]);
T getParameter(std::string const &) const
virtual void setCurrentFolder(std::string const &fullpath)
MuonIsolationDQM(const edm::ParameterSet &)
T const * product() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
const std::string names[nVars_]
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
void RecordData(const reco::Muon &muon)
#define DEFINE_FWK_MODULE(type)
~MuonIsolationDQM() override
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Log< level::Info, false > LogInfo
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
TH1 * GetTH1FromMonitorElement(MonitorElement *me)
void analyze(const edm::Event &, const edm::EventSetup &) override
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)