29 {
31 << " ******************");
33
34 showerShapesAll = std::make_unique<egammaMonitoring::ShowerShapesHistograms>(
35 "showerShapesAll", "Shower Shapes ", "/MONITORING/showerShapesAll/",
37
39 std::make_unique<egammaMonitoring::ShowerShapesHistograms>(
40 "showerShapes10GeV", "Shower Shapes - 10 GeV",
42
43 isolationAll = std::make_unique<egammaMonitoring::IsolationHistograms>(
44 "isolationAll",
"Isolation ",
"/MONITORING/isolationAll/",
rootHistSvc);
45
49
51 clusterAll = std::make_unique<egammaMonitoring::ClusterHistograms>(
52 "clustersAll",
"Clusters",
"/MONITORING/clusterAll/",
rootHistSvc);
53
54 cluster10GeV = std::make_unique<egammaMonitoring::ClusterHistograms>(
55 "clusters10GeV", "Clusters - 10 GeV", "/MONITORING/cluster10GeV/",
57
59 "clustersPromptAll", "Clusters from Prompt",
61
63 "clustersPrompt10GeV", "Clusters from Prompt - 10 GeV",
65
70 } else {
71 m_clusterReco = std::make_unique<egammaMonitoring::RecoClusterHistograms>(
72 "clustersReco", "Clusters from Z->ee candidates in data",
75 std::make_unique<egammaMonitoring::RecoElectronHistograms>(
76 "recoElectronAll", "Reco electrons from Z->ee candidates in data",
78 m_diElectron = std::make_unique<egammaMonitoring::DiObjectHistograms>(
79 "diElectrons", "Z->ee candidates in data", "/MONITORING/diElectrons/",
85 }
86
88
90 std::make_unique<egammaMonitoring::RecoElectronHistograms>(
91 "recoElectronAll", "Electrons Reco Electron",
93
95 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
96 "truthElectronAll", "All Truth Electrons",
98
100 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
101 "truthPromptElectronAll", "All Truth Prompt Electrons",
102 "/MONITORING/truthPromptElectronAll/",
rootHistSvc);
103
105 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
106 "truthElectronRecoElectronAll", "Truth Electrons Reco Electron",
107 "/MONITORING/truthElectronRecoElectronAll/",
rootHistSvc);
108
110 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
111 "truthPromptElectronWithTrack", "Truth Prompt Electrons With Track",
112 "/MONITORING/truthPromptElectronWithTrack/",
rootHistSvc);
113
115 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
116 "truthPromptElectronWithGSFTrack",
117 "Truth Prompt Electrons With GSFTrack",
118 "/MONITORING/truthPromptElectronWithGSFTrack/",
rootHistSvc);
119
121 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
122 "truthPromptElectronWithReco",
123 "Truth Prompt Electrons With GSFTrack or just with a fwd cluster",
124 "/MONITORING/truthPromptElectronWithReco/",
rootHistSvc);
125
127 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
128 "truthPromptElectronWithRecoTrack",
129 "Truth Prompt Electrons With GSFTrack",
130 "/MONITORING/truthPromptElectronWithRecoTrack/",
rootHistSvc);
131
133 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
134 "truthRecoElectronLooseLH", "LLH Electrons Reco Electron",
135 "/MONITORING/truthRecoElectronLooseLH/",
rootHistSvc);
136
138 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
139 "truthRecoElectronMediumLH", "MLH Electrons Reco Electron",
140 "/MONITORING/truthRecoElectronMediumLH/",
rootHistSvc);
141
143 std::make_unique<egammaMonitoring::TruthElectronHistograms>(
144 "truthRecoElectronTightLH", "TLH Electrons Reco Electron",
145 "/MONITORING/truthRecoElectronTightLH/",
rootHistSvc);
146
159 }
160
172 }
173
175
176
177 recoPhotonAll = std::make_unique<egammaMonitoring::RecoPhotonHistograms>(
178 "recoPhotonAll", "Reco Photon", "/MONITORING/recoPhotonAll/",
181
183 "clusterConvPhoton", "Clusters from Converted Photons",
185
187 "clusterConvPhotonSi", "Clusters from Converted Photons - Si",
189
191 std::make_unique<egammaMonitoring::ClusterHistograms>(
192 "clusterConvPhotonSiSi", "Clusters from Converted Photons - SiSi",
193 "/MONITORING/clusterConvPhotonSiSi/",
rootHistSvc);
194
196 "clusterUnconvPhoton", "Clusters from Converted Photons",
198
199
204
207 std::make_unique<egammaMonitoring::ClusterHistograms>(
208 "clusterConvPhotonTRT", "Clusters from Converted Photons - TRT",
210
212 std::make_unique<egammaMonitoring::ClusterHistograms>(
213 "clusterConvPhotonTRTTRT",
214 "Clusters from Converted Photons - TRTTRT",
215 "/MONITORING/clusterConvPhotonTRTTRT/",
rootHistSvc);
216
218 std::make_unique<egammaMonitoring::ClusterHistograms>(
219 "clusterConvPhotonSiTRT",
220 "Clusters from Converted Photons - SiTRT",
221 "/MONITORING/clusterConvPhotonSiTRT/",
rootHistSvc);
222
224 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
225 "truthConvRecoConv1TRT", "truthConvRecoConv1TRT",
226 "/MONITORING/truthConvRecoConv1TRT/",
rootHistSvc);
227
229 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
230 "truthConvRecoConv2TRT", "truthConvRecoConv2TRT",
231 "/MONITORING/truthConvRecoConv2TRT/",
rootHistSvc);
232
234 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
235 "truthConvRecoConv2SiTRT", "truthConvRecoConv2SiTRT",
236 "/MONITORING/truthConvRecoConv2SiTRT/",
rootHistSvc);
237
239 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
240 "truthUnconvRecoConv1TRT", "truthUnconvRecoConv1TRT",
241 "/MONITORING/truthUnconvRecoConv1TRT/",
rootHistSvc);
242
244 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
245 "truthUnconvRecoConv2TRT", "truthUnconvRecoConv2TRT",
246 "/MONITORING/truthUnconvRecoConv2TRT/",
rootHistSvc);
247
249 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
250 "truthUnconvRecoConv2SiTRT", "truthUnconvRecoConv2SiTRT",
251 "/MONITORING/truthUnconvRecoConv2SiTRT/",
rootHistSvc);
252
262 }
263
264
265 truthPhotonAll = std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
266 "truthPhotonAll", "truthPhotonAll", "/MONITORING/truthPhotonAll/",
268
270 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
271 "truthPhotonAllUnconv", "truthPhotonAllUnconv",
273
275 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
276 "truthPhotonAllConv", "truthPhotonAllConv",
278
280 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
281 "truthPhotonAllLateConv", "truthPhotonAllLateConv",
282 "/MONITORING/truthPhotonAllLateConv/",
rootHistSvc);
283
284
286 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
287 "truthPhotonRecoPhoton", "truthPhotonRecoPhoton",
288 "/MONITORING/truthPhotonRecoPhoton/",
rootHistSvc);
289
291 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
292 "truthPhotonRecoPhotonOrElectron",
293 "truthPhotonRecoPhotonOrElectron",
294 "/MONITORING/truthPhotonRecoPhotonOrElectron/",
rootHistSvc);
295
297 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
298 "truthConvPhoton", "truthConvPhoton",
300
302 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
303 "truthConvRecoConv", "truthConvRecoConv",
305
307 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
308 "truthConvRecoConv1Si", "truthConvRecoConv1Si",
310
312 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
313 "truthConvRecoConv2Si", "truthConvRecoConv2Si",
315
317 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
318 "truthConvRecoUnconv", "truthConvRecoUnconv",
320
322 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
323 "truthUnconvPhoton", "truthUnconvPhoton",
325
327 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
328 "truthUnconvRecoConv", "truthUnconvRecoConv",
330
332 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
333 "truthUnconvRecoConv1Si", "truthUnconvRecoConv1Si",
334 "/MONITORING/truthUnconvRecoConv1Si/",
rootHistSvc);
335
337 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
338 "truthUnconvRecoConv2Si", "truthUnconvRecoConv2Si",
339 "/MONITORING/truthUnconvRecoConv2Si/",
rootHistSvc);
340
342 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
343 "truthUnconvRecoUnconv", "truthUnconvRecoUnconv",
344 "/MONITORING/truthUnconvRecoUnconv/",
rootHistSvc);
345
347 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
348 "recoPhotonUnconvLoose", "Loose Photons Reco Photon",
349 "/MONITORING/recoPhotonUnconvLoose/",
rootHistSvc);
350
352 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
353 "recoPhotonUnconvTight", "Tight Photons Reco Photon",
354 "/MONITORING/recoPhotonUnconvTight/",
rootHistSvc);
355
357 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
358 "recoPhotonConvLoose", "Loose Photons Reco Photon",
360
362 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
363 "recoPhotonConvTight", "Tight Photons Reco Photon",
365
367 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
368 "recoPhotonUnconvIsoFixedCutTight",
369 "Isolation Fixed Cut Tight Photons Reco Photon",
370 "/MONITORING/recoPhotonUnconvIsoFixedCutTight/",
rootHistSvc);
371
373 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
374 "recoPhotonUnconvIsoFixedCutTightCaloOnly",
375 "Isolation Fixed Cut Tight Calo Only Photons Reco Photon",
376 "/MONITORING/recoPhotonUnconvIsoFixedCutTightCaloOnly/",
378
380 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
381 "recoPhotonUnconvIsoFixedCutLoose",
382 "Isolation Fixed Cut Loose Photons Reco Photon",
383 "/MONITORING/recoPhotonUnconvIsoFixedCutLoose/",
rootHistSvc);
384
386 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
387 "recoPhotonConvIsoFixedCutTight",
388 "Isolation Fixed Cut Tight Photons Reco Photon",
389 "/MONITORING/recoPhotonConvIsoFixedCutTight/",
rootHistSvc);
390
392 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
393 "recoPhotonConvIsoFixedCutTightCaloOnly",
394 "Isolation Fixed Cut Tight Calo Only Photons Reco Photon",
395 "/MONITORING/recoPhotonConvIsoFixedCutTightCaloOnly/",
rootHistSvc);
396
398 std::make_unique<egammaMonitoring::TruthPhotonHistograms>(
399 "recoPhotonConvIsoFixedCutLoose",
400 "Isolation Fixed Cut Loose Photons Reco Photon",
401 "/MONITORING/recoPhotonConvIsoFixedCutLoose/",
rootHistSvc);
402
403
404
405
406 static const std::string typeMatch[5] = {"", "MatchElectron", "NotElectron",
407 "MatchPion", "NotMatched"};
408 static const std::string typeTrk[2] = {"", "TRT"};
409 static const std::string ptTrk[2] = {"", "highpT"};
410 static const std::string ctypeMatch[5] = {
411 "", " match to electrons", " not matched to electrons",
412 " match to pions", " not matched"};
413 static const std::string ctypeTrk[2] = {"", " TRTSA"};
414 static const std::string cptTrk[2] = {"", " pT > 3 GeV"};
415
416 for (
int im = 0;
im < 5;
im++) {
417 std::string mN = typeMatch[
im];
419 std::string tN = typeTrk[
it];
420 for (
int ip = 0;
ip < 2;
ip++) {
421 std::string pN = ptTrk[
ip];
422
423 std::string nN =
424 "InDetTracks" + typeTrk[
it] + typeMatch[
im] + ptTrk[
ip];
425 std::string fN = "/MONITORING/" + nN + "/";
426 std::string cN =
427 "InDet Tracks" + ctypeTrk[
it] + ctypeMatch[
im] + cptTrk[
ip];
428
431 std::make_unique<egammaMonitoring::TrackHistograms>(
434 }
435 }
436 }
437
444
450
456
467
468 }
469
473 }
474
476
480
482
484 m_dR1 =
new TH1D(
"dR1",
";#Delta R;Events", 1000, 0, 0.1);
486 m_dR2 =
new TH1D(
"dR2",
";#Delta R;Events", 1000, 0, 0.1);
488
492 }
493 }
494
496
499
500
504
506 }
507
508
511
515
516
518 }
519
520 return StatusCode::SUCCESS;
521}
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
std::unique_ptr< egammaMonitoring::DiObjectHistograms > m_diElectron
std::unique_ptr< egammaMonitoring::RecoClusterHistograms > m_clusterReco