57 cout <<
" Initialise Constructor " << endl;
79 h_1D.resize(NUM_VARS);
80 h_2D.resize(NUM_VARS_2D);
81 h_1D_NVTX.resize(NUM_VARS_NVTX);
90 cout <<
"Calling destructor" << endl;
101 cout<<
" InitStatistics() " << endl;
106 LOG_BINNING_ENABLED = 1;
108 LOG_BINNING_RATIO = 1.1;
120 main_titles.resize(NUM_VARS);
121 axis_titles.resize(NUM_VARS);
122 names.resize(NUM_VARS);
123 param.resize(NUM_VARS, vector<double>(3) );
124 isContinuous.resize(NUM_VARS);
126 titles_2D.resize(NUM_VARS_2D);
127 names_2D.resize(NUM_VARS_2D);
129 main_titles_NVtxs.resize(NUM_VARS_NVTX);
130 axis_titles_NVtxs.resize(NUM_VARS_NVTX);
131 names_NVtxs.resize(NUM_VARS_NVTX);
134 cout <<
"InitStatistics(): vectors resized " << endl;
137 main_titles[0 ] =
"Total Tracker Momentum, #Delta R = 0.3";
138 main_titles[1 ] =
"Total EM Cal Energy, #Delta R = 0.3";
139 main_titles[2 ] =
"Total Had Cal Energy, #Delta R = 0.3";
140 main_titles[3 ] =
"Total HO Cal Energy, #Delta R = 0.3";
141 main_titles[4 ] =
"Number of Tracker Tracks, #Delta R = 0.3";
142 main_titles[5 ] =
"Number of Jets around Muon, #Delta R = 0.3";
143 main_titles[6 ] =
"Tracker p_{T} within veto cone, #Delta R = 0.3";
144 main_titles[7 ] =
"EM E_{T} within veto cone, #Delta R = 0.3";
145 main_titles[8 ] =
"Had E_{T} within veto cone, #Delta R = 0.3";
146 main_titles[9 ] =
"HO E_{T} within veto cone, #Delta R = 0.3";
147 main_titles[10] =
"Average Momentum per Track, #Delta R = 0.3";
148 main_titles[11] =
"Weighted Energy, #Delta R = 0.3";
150 main_titles[12] =
"Total Tracker Momentum, #Delta R = 0.5";
151 main_titles[13] =
"Total EM Cal Energy, #Delta R = 0.5";
152 main_titles[14] =
"Total Had Cal Energy, #Delta R = 0.5";
153 main_titles[15] =
"Total HO Cal Energy, #Delta R = 0.5";
154 main_titles[16] =
"Number of Tracker Tracks, #Delta R = 0.5";
155 main_titles[17] =
"Number of Jets around Muon, #Delta R = 0.5";
156 main_titles[18] =
"Tracker p_{T} within veto cone, #Delta R = 0.5";
157 main_titles[19] =
"EM E_{T} within veto cone, #Delta R = 0.5";
158 main_titles[20] =
"Had E_{T} within veto cone, #Delta R = 0.5";
159 main_titles[21] =
"HO E_{T} within veto cone, #Delta R = 0.5";
160 main_titles[22] =
"Average Momentum per Track, #Delta R = 0.5";
161 main_titles[23] =
"Weighted Energy, #Delta R = 0.5";
164 main_titles[24 ] =
"Relative Detector-Based Isolation, #Delta R = 0.3";
165 main_titles[25 ] =
"Relative Detector-Based Isolation, #Delta R = 0.5";
168 main_titles[26 ] =
"Sum PF Charged Hadron Pt, #Delta R = 0.3";
169 main_titles[27 ] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.3";
170 main_titles[28 ] =
"Sum PF Photon Et, #Delta R = 0.3";
171 main_titles[29 ] =
"Sum PF Neutral Hadron Pt (Higher Pt threshold), #Delta R = 0.3";
172 main_titles[30 ] =
"Sum PF Photon Et (Higher Pt threshold), #Delta R = 0.3";
173 main_titles[31 ] =
"Sum PF Charged Particles Pt not from PV (for Pu corrections), #Delta R = 0.3";
176 main_titles[32 ] =
"Sum PF Charged Hadron Pt, #Delta R = 0.4";
177 main_titles[33 ] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.4";
178 main_titles[34 ] =
"Sum PF Photon Et, #Delta R = 0.4";
179 main_titles[35 ] =
"Sum PF Neutral Hadron Pt (Higher Pt threshold), #Delta R = 0.4";
180 main_titles[36 ] =
"Sum PF Photon Et (Higher Pt threshold), #Delta R = 0.4";
181 main_titles[37 ] =
"Sum PF Charged Particles Pt not from PV (for Pu corrections), #Delta R = 0.4";
183 main_titles[38 ] =
"Relative PF Isolation, #Delta R = 0.3";
184 main_titles[39 ] =
"Relative PF Isolation, #Delta R = 0.4";
186 main_titles[40 ] =
"Relative PF Isolation (Higher Pt threshold), #Delta R = 0.3";
187 main_titles[41 ] =
"Relative PF Isolation (Higher Pt threshold), #Delta R = 0.4";
189 main_titles[42 ] =
"Sum DR Isolation Profile for Charged Hadron, #Delta R = 0.4";
191 main_titles[43 ] =
"Sum DR Isolation Profile for Neutral Hadron, #Delta R = 0.4";
193 main_titles[44 ] =
"Sum DR Isolation Profile for Photon, #Delta R = 0.4";
195 main_titles[45 ] =
"Mean DR Isolation Profile for Charged Hadron, #Delta R = 0.4";
197 main_titles[46 ] =
"Mean DR Isolation Profile for Neutral Hadron, #Delta R = 0.4";
199 main_titles[47 ] =
"Mean DR Isolation Profile for Photon, #Delta R = 0.4";
205 cout <<
"InitStatistics(): main titles 1D DONE " << endl;
207 titles_2D[0] =
"Total Tracker Momentum, #Delta R = 0.3";
208 titles_2D[1] =
"Total EM Cal Energy, #Delta R = 0.3";
209 titles_2D[2] =
"Total Had Cal Energy, #Delta R = 0.3";
210 titles_2D[3] =
"Total HO Cal Energy, #Delta R = 0.3";
211 titles_2D[4] =
"Sum PF Charged Hadron Pt, #Delta R = 0.4";
212 titles_2D[5] =
"Sum PF Neutral Hadron Pt, #Delta R = 0.4";
213 titles_2D[6] =
"Sum PF Photon Et, #Delta R = 0.4";
214 titles_2D[7] =
"Sum PF Charged Pt Not from PV, #Delta R = 0.4";
215 titles_2D[8] =
"Relative Detector-Based Isolation, #Delta R = 0.4";
216 titles_2D[9] =
"Relative PF Isolation, #Delta R = 0.4";
219 main_titles_NVtxs[0] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 ( 0 < N_{Vtx} < 15)";
220 main_titles_NVtxs[1] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (15 < N_{Vtx} < 30)";
221 main_titles_NVtxs[2] =
"Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (30 < N_{Vtx})";
222 main_titles_NVtxs[3] =
"Sum PF Photon Et, #DeltaR = 0.4 ( 0 < N_{Vtx} < 15)";
223 main_titles_NVtxs[4] =
"Sum PF Photon Et, #DeltaR = 0.4 (15 < N_{Vtx} < 30)";
224 main_titles_NVtxs[5] =
"Sum PF Photon Et, #DeltaR = 0.4 (30 < N_{Vtx})";
228 cout <<
"InitStatistics(): main titles 2D DONE " << endl;
232 axis_titles[0 ] =
"#Sigma p_{T} (GeV)";
233 axis_titles[1 ] =
"#Sigma E_{T}^{EM} (GeV)";
234 axis_titles[2 ] =
"#Sigma E_{T}^{Had} (GeV)";
235 axis_titles[3 ] =
"#Sigma E_{T}^{HO} (GeV)";
236 axis_titles[4 ] =
"N_{Tracks}";
237 axis_titles[5 ] =
"N_{Jets}";
238 axis_titles[6 ] =
"#Sigma p_{T,veto} (GeV)";
239 axis_titles[7 ] =
"#Sigma E_{T,veto}^{EM} (GeV)";
240 axis_titles[8 ] =
"#Sigma E_{T,veto}^{Had} (GeV)";
241 axis_titles[9 ] =
"#Sigma E_{T,veto}^{HO} (GeV)";
242 axis_titles[10] =
"#Sigma p_{T} / N_{Tracks} (GeV)";
243 axis_titles[11] =
"(1.5) X #Sigma E_{T}^{EM} + #Sigma E_{T}^{Had}";
245 axis_titles[12] =
"#Sigma p_{T} (GeV)";
246 axis_titles[13] =
"#Sigma E_{T}^{EM} (GeV)";
247 axis_titles[14] =
"#Sigma E_{T}^{Had} (GeV)";
248 axis_titles[15] =
"#Sigma E_{T}^{HO} (GeV)";
249 axis_titles[16] =
"N_{Tracks}";
250 axis_titles[17] =
"N_{Jets}";
251 axis_titles[18] =
"#Sigma p_{T,veto} (GeV)";
252 axis_titles[19] =
"#Sigma E_{T,veto}^{EM} (GeV)";
253 axis_titles[20] =
"#Sigma E_{T,veto}^{Had} (GeV)";
254 axis_titles[21] =
"#Sigma E_{T,veto}^{HO} (GeV)";
255 axis_titles[22] =
"#Sigma p_{T} / N_{Tracks} (GeV)";
256 axis_titles[23] =
"(1.5) X #Sigma E_{T}^{EM} + #Sigma E_{T}^{Had}";
258 axis_titles[24] =
"(#Sigma Tk p_{T} + #Sigma ECAL p_{T} + #Sigma HCAL p_{T})/ Mu p_{T} (GeV)";
259 axis_titles[25] =
"(#Sigma Tk p_{T} + #Sigma ECAL p_{T} + #Sigma HCAL p_{T})/ Mu p_{T} (GeV)";
261 axis_titles[26] =
"#Sigma PFCharged p_{T}";
262 axis_titles[27] =
"#Sigma PFNeutral p_{T}";
263 axis_titles[28] =
"#Sigma PFPhoton p_{T}";
264 axis_titles[29] =
"#Sigma PFNeutral p_{T}";
265 axis_titles[30] =
"#Sigma PFPhoton p_{T}";
266 axis_titles[31] =
"#Sigma PFCharged p_{T}";
268 axis_titles[32] =
"#Sigma PFCharged p_{T}";
269 axis_titles[33] =
"#Sigma PFNeutral p_{T}";
270 axis_titles[34] =
"#Sigma PFPhoton p_{T}";
271 axis_titles[35] =
"#Sigma PFNeutral p_{T}";
272 axis_titles[36] =
"#Sigma PFPhoton p_{T}";
273 axis_titles[37] =
"#Sigma PFCharged p_{T}";
275 axis_titles[38] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
276 axis_titles[39] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
277 axis_titles[40] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
278 axis_titles[41] =
"(#Sigma PFCharged p_{T} + #Sigma PFNeutral p_{T} + #Sigma PFPhoton p_{T}) Mu p_{T} (GeV)";
280 axis_titles[42] =
"#Sigma DR PFCharged";
281 axis_titles[43] =
"#Sigma DR PFNeutral";
282 axis_titles[44] =
"#Sigma DR PFPhoton";
284 axis_titles[45] =
"Mean DR PFCharged";
285 axis_titles[46] =
"Mean DR PFNeutral";
286 axis_titles[47] =
"Mean DR PFPhoton";
291 axis_titles_NVtxs[0] =
"#Sigma PFNeutral p_{T}";
292 axis_titles_NVtxs[1] =
"#Sigma PFNeutral p_{T}";
293 axis_titles_NVtxs[2] =
"#Sigma PFNeutral p_{T}";
294 axis_titles_NVtxs[3] =
"#Sigma PFPhoton p_{T}";
295 axis_titles_NVtxs[4] =
"#Sigma PFPhoton p_{T}";
296 axis_titles_NVtxs[5] =
"#Sigma PFPhoton p_{T}";
299 cout <<
"InitStatistics(): main titles 1D DONE " << endl;
303 names[0 ] =
"sumPt_R03";
304 names[1 ] =
"emEt_R03";
305 names[2 ] =
"hadEt_R03";
306 names[3 ] =
"hoEt_R03";
307 names[4 ] =
"nTracks_R03";
308 names[5 ] =
"nJets_R03";
309 names[6 ] =
"trackerVetoPt_R03";
310 names[7 ] =
"emVetoEt_R03";
311 names[8 ] =
"hadVetoEt_R03";
312 names[9 ] =
"hoVetoEt_R03";
313 names[10] =
"avgPt_R03";
314 names[11] =
"weightedEt_R03";
316 names[12] =
"sumPt_R05";
317 names[13] =
"emEt_R05";
318 names[14] =
"hadEt_R05";
319 names[15] =
"hoEt_R05";
320 names[16] =
"nTracks_R05";
321 names[17] =
"nJets_R05";
322 names[18] =
"trackerVetoPt_R05";
323 names[19] =
"emVetoEt_R05";
324 names[20] =
"hadVetoEt_R05";
325 names[21] =
"hoVetoEt_R05";
326 names[22] =
"avgPt_R05";
327 names[23] =
"weightedEt_R05";
329 names[24] =
"relDetIso_R03";
330 names[25] =
"relDetIso_R05";
332 names[26] =
"pfChargedPt_R03";
333 names[27] =
"pfNeutralPt_R03";
334 names[28] =
"pfPhotonPt_R03";
335 names[29] =
"pfNeutralPt_HT_R03";
336 names[30] =
"pfPhotonPt_HT_R03";
337 names[31] =
"pfChargedPt_PU_R03";
339 names[32] =
"pfChargedPt_R04";
340 names[33] =
"pfNeutralPt_R04";
341 names[34] =
"pfPhotonPt_R04";
342 names[35] =
"pfNeutralPt_HT_R04";
343 names[36] =
"pfPhotonPt_HT_R04";
344 names[37] =
"pfChargedPt_PU_R04";
346 names[38] =
"relPFIso_R03";
347 names[39] =
"relPFIso_R04";
349 names[40] =
"relPFIso_HT_R03";
350 names[41] =
"relPFIso_HT_R04";
352 names[42] =
"SumDR_PFCharged_R04";
353 names[43] =
"SumDR_PFNeutral_R04";
354 names[44] =
"SumDR_PFPhoton_R04";
356 names[45] =
"MeanDR_PFCharged_R04";
357 names[46] =
"MeanDR_PFNeutral_R04";
358 names[47] =
"MeanDR_PFPhoton_R04";
363 cout <<
"InitStatistics(): names 1D DONE " << endl;
366 names_2D[0] =
"SumPt_R03" ;
367 names_2D[1] =
"emEt_R03" ;
368 names_2D[2] =
"hadEt_R03" ;
369 names_2D[3] =
"hoEt_R03" ;
370 names_2D[4] =
"pfChargedPt_R04" ;
371 names_2D[5] =
"pfNeutralPt_R04" ;
372 names_2D[6] =
"pfPhotonPt_R04" ;
373 names_2D[7] =
"pfChargedPUPt_R04" ;
374 names_2D[8] =
"relDetIso_R03" ;
375 names_2D[9] =
"relPFIso_R04" ;
378 cout <<
"InitStatistics(): names 2D DONE " << endl;
381 names_NVtxs[0] =
"pfNeutralPt_R04_PV0to15";
382 names_NVtxs[1] =
"pfNeutralPt_R04_PV15to30";
383 names_NVtxs[2] =
"pfNeutralPt_R04_PV30toInf";
384 names_NVtxs[3] =
"pfPhotonPt_R04_PV0to15";
385 names_NVtxs[4] =
"pfPhotonPt_R04_PV15to30";
386 names_NVtxs[5] =
"pfPhotonPt_R04_PV30toInf";
396 param[0 ][0]= (int)( 20.0/S_BIN_WIDTH); param[0 ][1]= 0.0; param[0 ][2]= param[0 ][0]*S_BIN_WIDTH;
397 param[1 ][0]= (int)( 20.0/S_BIN_WIDTH); param[1 ][1]= 0.0; param[1 ][2]= param[1 ][0]*S_BIN_WIDTH;
398 param[2 ][0]= (int)( 20.0/S_BIN_WIDTH); param[2 ][1]= 0.0; param[2 ][2]= param[2 ][0]*S_BIN_WIDTH;
399 param[3 ][0]= 20; param[3 ][1]= 0.0; param[3 ][2]= 2.0;
400 param[4 ][0]= 16; param[4 ][1]= -0.5; param[4 ][2]= param[4 ][0]-0.5;
401 param[5 ][0]= 4; param[5 ][1]= -0.5; param[5 ][2]= param[5 ][0]-0.5;
402 param[6 ][0]= (int)( 40.0/S_BIN_WIDTH); param[6 ][1]= 0.0; param[6 ][2]= param[6 ][0]*S_BIN_WIDTH;
403 param[7 ][0]= 20; param[7 ][1]= 0.0; param[7 ][2]= 10.0;
404 param[8 ][0]= (int)( 20.0/S_BIN_WIDTH); param[8 ][1]= 0.0; param[8 ][2]= param[8 ][0]*S_BIN_WIDTH;
405 param[9 ][0]= 20; param[9 ][1]= 0.0; param[9 ][2]= 5.0;
406 param[10][0]= (int)( 15.0/S_BIN_WIDTH); param[10][1]= 0.0; param[10][2]= param[10][0]*S_BIN_WIDTH;
407 param[11][0]= (int)( 20.0/S_BIN_WIDTH); param[11][1]= 0.0; param[11][2]= param[11][0]*S_BIN_WIDTH;
409 param[12][0]= (int)( 20.0/S_BIN_WIDTH); param[12][1]= 0.0; param[12][2]= param[12][0]*S_BIN_WIDTH;
410 param[13][0]= (int)( 20.0/S_BIN_WIDTH); param[13][1]= 0.0; param[13][2]= param[13][0]*S_BIN_WIDTH;
411 param[14][0]= (int)( 20.0/S_BIN_WIDTH); param[14][1]= 0.0; param[14][2]= param[14][0]*S_BIN_WIDTH;
412 param[15][0]= 20; param[15][1]= 0.0; param[15][2]= 2.0;
413 param[16][0]= 16; param[16][1]= -0.5; param[16][2]= param[16][0]-0.5;
414 param[17][0]= 4; param[17][1]= -0.5; param[17][2]= param[17][0]-0.5;
415 param[18][0]= (int)( 40.0/S_BIN_WIDTH); param[18][1]= 0.0; param[18][2]= param[18][0]*S_BIN_WIDTH;
416 param[19][0]= 20; param[19][1]= 0.0; param[19][2]= 10.0;
417 param[20][0]= (int)( 20.0/S_BIN_WIDTH); param[20][1]= 0.0; param[20][2]= param[20][0]*S_BIN_WIDTH;
418 param[21][0]= 20; param[21][1]= 0.0; param[21][2]= 5.0;
419 param[22][0]= (int)( 15.0/S_BIN_WIDTH); param[22][1]= 0.0; param[22][2]= param[22][0]*S_BIN_WIDTH;
420 param[23][0]= (int)( 20.0/S_BIN_WIDTH); param[23][1]= 0.0; param[23][2]= param[23][0]*S_BIN_WIDTH;
422 param[24][0]= 50; param[24][1]= 0.0; param[24][2]= 1.0;
423 param[25][0]= 50; param[25][1]= 0.0; param[25][2]= 1.0;
426 param[26 ][0]= (int)( 20.0/S_BIN_WIDTH); param[26 ][1]= 0.0; param[26 ][2]= param[26 ][0]*S_BIN_WIDTH;
427 param[27 ][0]= (int)( 20.0/S_BIN_WIDTH); param[27 ][1]= 0.0; param[27 ][2]= param[27 ][0]*S_BIN_WIDTH;
428 param[28 ][0]= (int)( 20.0/S_BIN_WIDTH); param[28 ][1]= 0.0; param[28 ][2]= param[28 ][0]*S_BIN_WIDTH;
429 param[29 ][0]= (int)( 20.0/S_BIN_WIDTH); param[29 ][1]= 0.0; param[29 ][2]= param[29 ][0]*S_BIN_WIDTH;
430 param[30 ][0]= (int)( 20.0/S_BIN_WIDTH); param[30 ][1]= 0.0; param[30 ][2]= param[30 ][0]*S_BIN_WIDTH;
431 param[31 ][0]= (int)( 20.0/S_BIN_WIDTH); param[31 ][1]= 0.0; param[31 ][2]= param[31 ][0]*S_BIN_WIDTH;
433 param[32 ][0]= (int)( 20.0/S_BIN_WIDTH); param[32 ][1]= 0.0; param[32 ][2]= param[32 ][0]*S_BIN_WIDTH;
434 param[33 ][0]= (int)( 20.0/S_BIN_WIDTH); param[33 ][1]= 0.0; param[33 ][2]= param[33 ][0]*S_BIN_WIDTH;
435 param[34 ][0]= (int)( 20.0/S_BIN_WIDTH); param[34 ][1]= 0.0; param[34 ][2]= param[34 ][0]*S_BIN_WIDTH;
436 param[35 ][0]= (int)( 20.0/S_BIN_WIDTH); param[35 ][1]= 0.0; param[35 ][2]= param[35 ][0]*S_BIN_WIDTH;
437 param[36 ][0]= (int)( 20.0/S_BIN_WIDTH); param[36 ][1]= 0.0; param[36 ][2]= param[36 ][0]*S_BIN_WIDTH;
438 param[37 ][0]= (int)( 20.0/S_BIN_WIDTH); param[37 ][1]= 0.0; param[37 ][2]= param[37 ][0]*S_BIN_WIDTH;
440 param[38][0]= 50; param[38][1]= 0.0; param[38][2]= 1.0;
441 param[39][0]= 50; param[39][1]= 0.0; param[39][2]= 1.0;
443 param[40][0]= 50; param[40][1]= 0.0; param[40][2]= 1.0;
444 param[41][0]= 50; param[41][1]= 0.0; param[41][2]= 1.0;
446 param[42][0]= 50; param[42][1]= 0.0; param[42][2]= 5;
447 param[43][0]= 50; param[43][1]= 0.0; param[43][2]= 5;
448 param[44][0]= 50; param[44][1]= 0.0; param[44][2]= 5;
450 param[45][0]= 50; param[45][1]= 0.0; param[45][2]= 0.4;
451 param[46][0]= 50; param[46][1]= 0.0; param[46][2]= 0.4;
452 param[47][0]= 50; param[47][1]= 0.0; param[47][2]= 0.4;
457 isContinuous[0 ] = 1;
458 isContinuous[1 ] = 1;
459 isContinuous[2 ] = 1;
460 isContinuous[3 ] = 1;
461 isContinuous[4 ] = 0;
462 isContinuous[5 ] = 0;
463 isContinuous[6 ] = 1;
464 isContinuous[7 ] = 1;
465 isContinuous[8 ] = 1;
466 isContinuous[9 ] = 1;
467 isContinuous[10] = 1;
468 isContinuous[11] = 1;
470 isContinuous[12] = 1;
471 isContinuous[13] = 1;
472 isContinuous[14] = 1;
473 isContinuous[15] = 1;
474 isContinuous[16] = 0;
475 isContinuous[17] = 0;
476 isContinuous[18] = 1;
477 isContinuous[19] = 1;
478 isContinuous[20] = 1;
479 isContinuous[21] = 1;
480 isContinuous[22] = 1;
481 isContinuous[23] = 1;
483 isContinuous[24] = 1;
484 isContinuous[25] = 1;
485 isContinuous[26] = 1;
486 isContinuous[27] = 1;
487 isContinuous[28] = 1;
488 isContinuous[29] = 1;
489 isContinuous[30] = 1;
490 isContinuous[31] = 1;
491 isContinuous[32] = 1;
492 isContinuous[33] = 1;
493 isContinuous[34] = 1;
494 isContinuous[35] = 1;
495 isContinuous[36] = 1;
496 isContinuous[37] = 1;
497 isContinuous[38] = 1;
498 isContinuous[39] = 1;
499 isContinuous[40] = 1;
500 isContinuous[41] = 1;
501 isContinuous[42] = 1;
502 isContinuous[43] = 1;
503 isContinuous[44] = 1;
504 isContinuous[45] = 1;
505 isContinuous[46] = 1;
506 isContinuous[47] = 1;
510 cout <<
"InitStatistics(): DONE " << endl;
521 cout <<
"[MuonIsolationDQM]: analyze()"<<endl;
526 iEvent.
getByToken(theMuonCollectionLabel_,muons);
529 cout <<
"[MuonIsolationDQM]: Number of muons -> " << muons->size() << endl;
532 int theMuonData = muons->size();
533 h_nMuons->Fill(theMuonData);
535 cout <<
"[MuonIsolationDQM]: Vertex is Valid" << endl;
541 iEvent.
getByToken(theVertexCollectionLabel_, vertexHandle);
545 for (reco::VertexCollection::const_iterator
v = vertex.begin();
v!=vertex.end(); ++
v){
546 if (
v->isFake())
continue;
547 if (
v->ndof() < 4)
continue;
548 if (fabs(
v->z()) > 24.0)
continue;
554 cout <<
"[MuonIsolationDQM]: Vertex is Valid" << endl;
559 for (reco::MuonCollection::const_iterator
muon = muons->begin();
muon!=muons->end(); ++
muon){
560 if (requireSTAMuon &&
muon->isStandAloneMuon()) {
565 else if (requireTRKMuon &&
muon->isTrackerMuon()) {
570 else if (requireGLBMuon &&
muon->isGlobalMuon()) {
574 FillNVtxHistos(_numPV);
585 float MuPt = muon.
pt();
600 if (theData[4] != 0) theData[10] = (double)theData[0] / (
double)theData[4];
601 else theData[10] = -99;
603 theData[11] = 1.5 * theData[1] + theData[2];
618 if (theData[16] != 0) theData[22] = (double)theData[12] / (
double)theData[16];
619 else theData[22] = -99;
621 theData[23] = 1.5 * theData[13] + theData[14];
623 theData[24] = (theData[0]+theData[1]+theData[2]) / MuPt;
624 theData[25] = (theData[12]+theData[13]+theData[14]) / MuPt;
640 theData[38] = (theData[26] + theData[27] + theData[28]) / MuPt;
641 theData[39] = (theData[32] + theData[33] + theData[34]) / MuPt;
643 theData[40] = (theData[26] + theData[29] + theData[30]) / MuPt;
644 theData[41] = (theData[32] + theData[35] + theData[36]) / MuPt;
664 theData2D[8] = theData2D[0] + theData2D[1] + theData2D[2] + theData2D[3] / MuPt;
665 theData2D[9] = theData2D[4] + theData2D[5] + theData2D[6] / MuPt;
669 theDataNVtx[1] = theDataNVtx[0];
670 theDataNVtx[2] = theDataNVtx[0];
673 theDataNVtx[4] = theDataNVtx[3];
674 theDataNVtx[5] = theDataNVtx[3];
681 h_nMuons = ibooker.
book1D(
"nMuons", title_sam +
"Number of Muons", 20, 0., 20.);
683 h_nMuons->setAxisTitle(
"Fraction of Events",YAXIS);
686 for(
int var = 0; var < NUM_VARS; var++){
688 title_sam + main_titles[var] + title_cone,
698 for (
int var = 0; var<NUM_VARS_2D; var++){
699 h_2D[var] = ibooker.
bookProfile(names_2D[var] +
"_VsPV", titles_2D[var] +
" Vs PV", 50, 0.5, 50.5, 20, 0.0, 20.0);
702 h_2D[var]->setAxisTitle(titles_2D[var] +
" (GeV)" ,YAXIS);
707 for (
int var=0; var<NUM_VARS_NVTX; var++){
708 h_1D_NVTX[var] = ibooker.
book1D(names_NVtxs[var], main_titles_NVtxs[var], 50, 0.0, 10.0);
709 h_1D_NVTX[var]->
setAxisTitle(axis_titles_NVtxs[var],XAXIS);
715 for(
int var=0; var<NUM_VARS; var++){
716 double entries = GetTH1FromMonitorElement(h_1D[var])->GetEntries();
717 GetTH1FromMonitorElement(h_1D[var])->Scale(1./entries);
723 cout <<
"FillHistos( "<< numPV <<
" )"<< endl;
727 for(
int var=0; var<NUM_VARS; var++){
728 h_1D[var]->Fill(theData[var]);
738 for (
int var=0; var<NUM_VARS_2D; var++){
739 h_2D[var]->Fill(numPV,theData2D[var]);
743 cout <<
"FillHistos( "<< numPV <<
" ): DONE"<< endl;
748 if (PV < 15) { h_1D_NVTX[0]->Fill(theDataNVtx[0]); h_1D_NVTX[3]->Fill(theDataNVtx[3]); }
749 if (PV >= 15 && PV < 30) { h_1D_NVTX[1]->Fill(theDataNVtx[1]); h_1D_NVTX[4]->Fill(theDataNVtx[4]); }
750 if (PV >= 30) { h_1D_NVTX[2]->Fill(theDataNVtx[2]); h_1D_NVTX[5]->Fill(theDataNVtx[5]); }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
float sumPt
sum-pt of tracks
virtual float pt() const
transverse momentum
static const HistoName names[]
float sumNeutralHadronEtHighThreshold
sum pt of neutral hadrons with a higher threshold
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const MuonPFIsolation & pfSumDRIsoProfileR04() const
#define DEFINE_FWK_MODULE(type)
MuonIsolationDQM(const edm::ParameterSet &)
const MuonPFIsolation & pfMeanDRIsoProfileR04() const
float hadVetoEt
hcal sum-et in the veto region in r-phi
std::vector< Vertex > VertexCollection
collection of Vertex objects
float sumPhotonEt
sum pt of PF photons
const MuonIsolation & isolationR05() const
float sumNeutralHadronEt
sum pt of neutral hadrons
float sumPUPt
sum pt of charged Particles not from PV (for Pu corrections)
void RecordData(const reco::Muon &muon)
const MuonPFIsolation & pfIsolationR03() const
int nJets
number of jets in the cone
MonitorElement * book1D(Args &&...args)
void analyze(const edm::Event &, const edm::EventSetup &)
float hoVetoEt
ho sum-et in the veto region in r-phi
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
int nTracks
number of tracks in the cone (excluding veto region)
float emVetoEt
ecal sum-et in the veto region in r-phi
const MuonPFIsolation & pfIsolationR04() const
T const * product() const
float sumPhotonEtHighThreshold
sum pt of PF photons with a higher threshold
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
float trackerVetoPt
(sum-)pt inside the veto region in r-phi
const MuonIsolation & isolationR03() const
TH1 * GetTH1FromMonitorElement(MonitorElement *me)
float sumChargedHadronPt
sum-pt of charged Hadron