79 float log_bins[31] = {0.0, 0.0002, 0.0004, 0.0006, 0.0008, 0.001, 0.002, 0.004, 0.006, 0.008, 0.01,
80 0.02, 0.04, 0.06, 0.08, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 2.0,
81 4.0, 6.0, 8.0, 10.0, 20.0, 40.0, 60.0, 80.0, 100.0};
82 auto const log_mergez_bins = makeLogBins<float, 16>(1
e-4, 1);
84 auto const log_pt_bins = makeLogBins<float, 100>(0.1, 1
e4);
85 float log_pt2_bins[16] = {
86 0.0, 0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 200.0, 500.0, 1000.0, 2000.0, 5000.0, 10000.0};
87 float log_ntrk_bins[25] = {0., 2.0, 4.0, 6.0, 8.0, 10., 12.0, 14.0, 16.0, 18.0, 22.0, 26.0, 30.0,
88 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 70.0, 80.0, 90.0, 100.0, 150.0, 200.0};
94 double log_pt2_bins_double[16] = {
95 0.0, 0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 200.0, 500.0, 1000.0, 2000.0, 5000.0, 10000.0};
99 mes_[
"root_folder"][
"GenVtx_vs_BX"] =
100 i.book2D(
"GenVtx_vs_BX",
"GenVtx_vs_BX", 16, -12.5, 3.5,
nPUbins_, 0.,
double(
nPUbins_));
102 mes_[
"root_folder"][
"GenPV_X"] =
i.book1D(
"GenPV_X",
"GeneratedPV_X", 120, -0.6, 0.6);
103 mes_[
"root_folder"][
"GenPV_Y"] =
i.book1D(
"GenPV_Y",
"GeneratedPV_Y", 120, -0.6, 0.6);
104 mes_[
"root_folder"][
"GenPV_Z"] =
i.book1D(
"GenPV_Z",
"GeneratedPV_Z", 120, -60., 60.);
105 mes_[
"root_folder"][
"GenPV_R"] =
i.book1D(
"GenPV_R",
"GeneratedPV_R", 120, 0, 0.6);
106 mes_[
"root_folder"][
"GenPV_Pt2"] =
i.book1D(
"GenPV_Pt2",
"GeneratedPV_Sum-pt2", 15, &log_pt2_bins[0]);
107 mes_[
"root_folder"][
"GenPV_NumTracks"] =
108 i.book1D(
"GenPV_NumTracks",
"GeneratedPV_NumTracks", 24, &log_ntrk_bins[0]);
109 mes_[
"root_folder"][
"GenPV_ClosestDistanceZ"] =
110 i.book1D(
"GenPV_ClosestDistanceZ",
"GeneratedPV_ClosestDistanceZ", 30, &log_bins[0]);
113 mes_[
"root_folder"][
"GenAllV_NumVertices"] =
114 i.book1D(
"GenAllV_NumVertices",
"GeneratedAllV_NumVertices",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_));
115 mes_[
"root_folder"][
"GenAllV_X"] =
i.book1D(
"GenAllV_X",
"GeneratedAllV_X", 120, -0.6, 0.6);
116 mes_[
"root_folder"][
"GenAllV_Y"] =
i.book1D(
"GenAllV_Y",
"GeneratedAllV_Y", 120, -0.6, 0.6);
117 mes_[
"root_folder"][
"GenAllV_Z"] =
i.book1D(
"GenAllV_Z",
"GeneratedAllV_Z", 120, -60, 60);
118 mes_[
"root_folder"][
"GenAllV_R"] =
i.book1D(
"GenAllV_R",
"GeneratedAllV_R", 120, 0, 0.6);
119 mes_[
"root_folder"][
"GenAllV_Pt2"] =
i.book1D(
"GenAllV_Pt2",
"GeneratedAllV_Sum-pt2", 15, &log_pt2_bins[0]);
120 mes_[
"root_folder"][
"GenAllV_NumTracks"] =
121 i.book1D(
"GenAllV_NumTracks",
"GeneratedAllV_NumTracks", 24, &log_ntrk_bins[0]);
122 mes_[
"root_folder"][
"GenAllV_ClosestDistanceZ"] =
123 i.book1D(
"GenAllV_ClosestDistanceZ",
"GeneratedAllV_ClosestDistanceZ", 30, &log_bins[0]);
124 mes_[
"root_folder"][
"GenAllV_PairDistanceZ"] =
125 i.book1D(
"GenAllV_PairDistanceZ",
"GeneratedAllV_PairDistanceZ", 1000, 0, 20);
126 mes_[
"root_folder"][
"SignalIsHighestPt2"] =
i.book1D(
"SignalIsHighestPt2",
"SignalIsHighestPt2", 2, -0.5, 1.5);
132 i.setCurrentFolder(current_folder);
134 auto book1d = [&](
const char*
name,
int bins,
double min,
double max) {
137 auto book1dlogx = [&](
const char*
name,
int bins,
const float* xbinedges) {
143 auto book2dlogx = [&](
const char*
name,
int xbins,
const float* xbinedges,
int ybins,
double ymin,
double ymax) {
145 me->getTH2F()->GetXaxis()->Set(
xbins, xbinedges);
149 mes_[
label][
"RecoVtx_vs_GenVtx"] =
i.bookProfile(
151 mes_[
label][
"MatchedRecoVtx_vs_GenVtx"] =
i.bookProfile(
"MatchedRecoVtx_vs_GenVtx",
152 "MatchedRecoVtx_vs_GenVtx",
159 mes_[
label][
"KindOfSignalPV"] =
i.book1D(
"KindOfSignalPV",
"KindOfSignalPV", 9, -0.5, 8.5);
160 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(1,
"!Highest!Assoc2Any");
161 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(2,
"Highest!Assoc2Any");
162 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(3,
"!HighestAssoc2First");
163 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(4,
"HighestAssoc2First");
164 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(5,
"!HighestAssoc2!First");
165 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(6,
"HighestAssoc2!First");
166 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(7,
"!HighestAssoc2First");
167 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(8,
"HighestAssoc2First");
168 mes_[
label][
"MisTagRate"] =
i.book1D(
"MisTagRate",
"MisTagRate", 2, -0.5, 1.5);
170 i.bookProfile(
"MisTagRate_vs_PU",
"MisTagRate_vs_PU",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), 2, 0., 1.);
172 i.bookProfile(
"MisTagRate_vs_sum-pt2",
"MisTagRate_vs_sum-pt2", 15, &log_pt2_bins_double[0], 2, 0., 1.);
173 mes_[
label][
"MisTagRate_vs_Z"] =
i.bookProfile(
"MisTagRate_vs_Z",
"MisTagRate_vs_Z", 120, -60., 60., 2, 0., 1.);
174 mes_[
label][
"MisTagRate_vs_R"] =
i.bookProfile(
"MisTagRate_vs_R",
"MisTagRate_vs_R", 120, 0., 0.6, 2, 0., 1.);
175 mes_[
label][
"MisTagRate_vs_NumTracks"] =
i.bookProfile(
176 "MisTagRate_vs_NumTracks",
"MisTagRate_vs_NumTracks",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), 2, 0., 1.);
177 mes_[
label][
"MisTagRateSignalIsHighest"] =
178 i.book1D(
"MisTagRateSignalIsHighest",
"MisTagRateSignalIsHighest", 2, -0.5, 1.5);
179 mes_[
label][
"MisTagRateSignalIsHighest_vs_PU"] =
i.bookProfile(
180 "MisTagRateSignalIsHighest_vs_PU",
"MisTagRateSignalIsHighest_vs_PU",
nPUbins_, 0.,
double(
nPUbins_), 2, 0., 1.);
181 mes_[
label][
"MisTagRateSignalIsHighest_vs_sum-pt2"] =
i.bookProfile(
"MisTagRateSignalIsHighest_vs_sum-pt2",
182 "MisTagRateSignalIsHighest_vs_sum-pt2",
184 &log_pt2_bins_double[0],
188 mes_[
label][
"MisTagRateSignalIsHighest_vs_Z"] =
189 i.bookProfile(
"MisTagRateSignalIsHighest_vs_Z",
"MisTagRateSignalIsHighest_vs_Z", 120, -60., 60., 2, 0., 1.);
190 mes_[
label][
"MisTagRateSignalIsHighest_vs_R"] =
191 i.bookProfile(
"MisTagRateSignalIsHighest_vs_R",
"MisTagRateSignalIsHighest_vs_R", 120, 0., 0.6, 2, 0., 1.);
192 mes_[
label][
"MisTagRateSignalIsHighest_vs_NumTracks"] =
i.bookProfile(
"MisTagRateSignalIsHighest_vs_NumTracks",
193 "MisTagRateSignalIsHighest_vs_NumTracks",
200 mes_[
label][
"MisTagRateSignalIsNotHighest"] =
201 i.book1D(
"MisTagRateSignalIsNotHighest",
"MisTagRateSignalIsNotHighest", 2, -0.5, 1.5);
202 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_PU"] =
i.bookProfile(
"MisTagRateSignalIsNotHighest_vs_PU",
203 "MisTagRateSignalIsNotHighest_vs_PU",
210 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_sum-pt2"] =
i.bookProfile(
"MisTagRateSignalIsNotHighest_vs_sum-pt2",
211 "MisTagRateSignalIsNotHighest_vs_sum-pt2",
213 &log_pt2_bins_double[0],
217 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_Z"] =
i.bookProfile(
218 "MisTagRateSignalIsNotHighest_vs_Z",
"MisTagRateSignalIsNotHighest_vs_Z", 120, -60., 60., 2, 0., 1.);
219 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_R"] =
i.bookProfile(
220 "MisTagRateSignalIsNotHighest_vs_R",
"MisTagRateSignalIsNotHighest_vs_R", 120, 0., 0.6, 2, 0., 1.);
221 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_NumTracks"] =
222 i.bookProfile(
"MisTagRateSignalIsNotHighest_vs_NumTracks",
223 "MisTagRateSignalIsNotHighest_vs_NumTracks",
231 i.book1D(
"TruePVLocationIndex",
"TruePVLocationIndexInRecoVertexCollection", 12, -1.5, 10.5);
232 mes_[
label][
"TruePVLocationIndexCumulative"] =
233 i.book1D(
"TruePVLocationIndexCumulative",
"TruePVLocationIndexInRecoVertexCollectionCumulative", 3, -1.5, 1.5);
234 mes_[
label][
"TruePVLocationIndexSignalIsHighest"] =
235 i.book1D(
"TruePVLocationIndexSignalIsHighest",
236 "TruePVLocationIndexSignalIsHighestInRecoVertexCollection",
240 mes_[
label][
"TruePVLocationIndexSignalIsNotHighest"] =
241 i.book1D(
"TruePVLocationIndexSignalIsNotHighest",
242 "TruePVLocationIndexSignalIsNotHighestInRecoVertexCollection",
249 mes_[
label][
"GenAllAssoc2Reco_NumVertices"] =
i.book1D(
250 "GenAllAssoc2Reco_NumVertices",
"GeneratedAllAssoc2Reco_NumVertices",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_));
251 mes_[
label][
"GenAllAssoc2Reco_X"] =
i.book1D(
"GenAllAssoc2Reco_X",
"GeneratedAllAssoc2Reco_X", 120, -0.6, 0.6);
252 mes_[
label][
"GenAllAssoc2Reco_Y"] =
i.book1D(
"GenAllAssoc2Reco_Y",
"GeneratedAllAssoc2Reco_Y", 120, -0.6, 0.6);
253 mes_[
label][
"GenAllAssoc2Reco_Z"] =
i.book1D(
"GenAllAssoc2Reco_Z",
"GeneratedAllAssoc2Reco_Z", 120, -60, 60);
254 mes_[
label][
"GenAllAssoc2Reco_R"] =
i.book1D(
"GenAllAssoc2Reco_R",
"GeneratedAllAssoc2Reco_R", 120, 0, 0.6);
256 i.book1D(
"GenAllAssoc2Reco_Pt2",
"GeneratedAllAssoc2Reco_Sum-pt2", 15, &log_pt2_bins[0]);
257 mes_[
label][
"GenAllAssoc2Reco_NumTracks"] =
258 i.book1D(
"GenAllAssoc2Reco_NumTracks",
"GeneratedAllAssoc2Reco_NumTracks", 24, &log_ntrk_bins[0]);
259 mes_[
label][
"GenAllAssoc2Reco_ClosestDistanceZ"] =
260 i.book1D(
"GenAllAssoc2Reco_ClosestDistanceZ",
"GeneratedAllAssoc2Reco_ClosestDistanceZ", 30, &log_bins[0]);
261 book1d(
"GenPVAssoc2RecoPV_X", 120, -0.6, 0.6);
262 book1d(
"GenPVAssoc2RecoPV_Y", 120, -0.6, 0.6);
263 book1d(
"GenPVAssoc2RecoPV_Z", 120, -60, 60);
267 mes_[
label][
"GenAllAssoc2RecoMatched_NumVertices"] =
i.book1D(
"GenAllAssoc2RecoMatched_NumVertices",
268 "GeneratedAllAssoc2RecoMatched_NumVertices",
272 mes_[
label][
"GenAllAssoc2RecoMatched_X"] =
273 i.book1D(
"GenAllAssoc2RecoMatched_X",
"GeneratedAllAssoc2RecoMatched_X", 120, -0.6, 0.6);
274 mes_[
label][
"GenAllAssoc2RecoMatched_Y"] =
275 i.book1D(
"GenAllAssoc2RecoMatched_Y",
"GeneratedAllAssoc2RecoMatched_Y", 120, -0.6, 0.6);
276 mes_[
label][
"GenAllAssoc2RecoMatched_Z"] =
277 i.book1D(
"GenAllAssoc2RecoMatched_Z",
"GeneratedAllAssoc2RecoMatched_Z", 120, -60, 60);
278 mes_[
label][
"GenAllAssoc2RecoMatched_R"] =
279 i.book1D(
"GenAllAssoc2RecoMatched_R",
"GeneratedAllAssoc2RecoMatched_R", 120, 0, 0.6);
280 mes_[
label][
"GenAllAssoc2RecoMatched_Pt2"] =
281 i.book1D(
"GenAllAssoc2RecoMatched_Pt2",
"GeneratedAllAssoc2RecoMatched_Sum-pt2", 15, &log_pt2_bins[0]);
282 mes_[
label][
"GenAllAssoc2RecoMatched_NumTracks"] =
283 i.book1D(
"GenAllAssoc2RecoMatched_NumTracks",
"GeneratedAllAssoc2RecoMatched_NumTracks", 24, &log_ntrk_bins[0]);
284 mes_[
label][
"GenAllAssoc2RecoMatched_ClosestDistanceZ"] =
i.book1D(
285 "GenAllAssoc2RecoMatched_ClosestDistanceZ",
"GeneratedAllAssoc2RecoMatched_ClosestDistanceZ", 30, &log_bins[0]);
286 book1d(
"GenPVAssoc2RecoPVMatched_X", 120, -0.6, 0.6);
287 book1d(
"GenPVAssoc2RecoPVMatched_Y", 120, -0.6, 0.6);
288 book1d(
"GenPVAssoc2RecoPVMatched_Z", 120, -60, 60);
292 mes_[
label][
"GenAllAssoc2RecoMultiMatched_NumVertices"] =
i.book1D(
"GenAllAssoc2RecoMultiMatched_NumVertices",
293 "GeneratedAllAssoc2RecoMultiMatched_NumVertices",
297 mes_[
label][
"GenAllAssoc2RecoMultiMatched_X"] =
298 i.book1D(
"GenAllAssoc2RecoMultiMatched_X",
"GeneratedAllAssoc2RecoMultiMatched_X", 120, -0.6, 0.6);
299 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Y"] =
300 i.book1D(
"GenAllAssoc2RecoMultiMatched_Y",
"GeneratedAllAssoc2RecoMultiMatched_Y", 120, -0.6, 0.6);
301 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Z"] =
302 i.book1D(
"GenAllAssoc2RecoMultiMatched_Z",
"GeneratedAllAssoc2RecoMultiMatched_Z", 120, -60, 60);
303 mes_[
label][
"GenAllAssoc2RecoMultiMatched_R"] =
304 i.book1D(
"GenAllAssoc2RecoMultiMatched_R",
"GeneratedAllAssoc2RecoMultiMatched_R", 120, 0, 0.6);
305 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Pt2"] =
i.book1D(
306 "GenAllAssoc2RecoMultiMatched_Pt2",
"GeneratedAllAssoc2RecoMultiMatched_Sum-pt2", 15, &log_pt2_bins[0]);
307 mes_[
label][
"GenAllAssoc2RecoMultiMatched_NumTracks"] =
i.book1D(
"GenAllAssoc2RecoMultiMatched_NumTracks",
308 "GeneratedAllAssoc2RecoMultiMatched_NumTracks",
311 mes_[
label][
"GenAllAssoc2RecoMultiMatched_ClosestDistanceZ"] =
312 i.book1D(
"GenAllAssoc2RecoMultiMatched_ClosestDistanceZ",
313 "GeneratedAllAssoc2RecoMultiMatched_ClosestDistanceZ",
318 mes_[
label][
"RecoAllAssoc2Gen_NumVertices"] =
i.book1D(
"RecoAllAssoc2Gen_NumVertices",
319 "ReconstructedAllAssoc2Gen_NumVertices",
323 mes_[
label][
"RecoAllAssoc2Gen_X"] =
i.book1D(
"RecoAllAssoc2Gen_X",
"ReconstructedAllAssoc2Gen_X", 120, -0.6, 0.6);
324 mes_[
label][
"RecoAllAssoc2Gen_Y"] =
i.book1D(
"RecoAllAssoc2Gen_Y",
"ReconstructedAllAssoc2Gen_Y", 120, -0.6, 0.6);
325 mes_[
label][
"RecoAllAssoc2Gen_Z"] =
i.book1D(
"RecoAllAssoc2Gen_Z",
"ReconstructedAllAssoc2Gen_Z", 120, -60, 60);
326 mes_[
label][
"RecoAllAssoc2Gen_R"] =
i.book1D(
"RecoAllAssoc2Gen_R",
"ReconstructedAllAssoc2Gen_R", 120, 0, 0.6);
328 i.book1D(
"RecoAllAssoc2Gen_Pt2",
"ReconstructedAllAssoc2Gen_Sum-pt2", 15, &log_pt2_bins[0]);
330 i.book1D(
"RecoAllAssoc2Gen_Ndof",
"ReconstructedAllAssoc2Gen_Ndof", 120, 0., 240.);
331 mes_[
label][
"RecoAllAssoc2Gen_NumTracks"] =
332 i.book1D(
"RecoAllAssoc2Gen_NumTracks",
"ReconstructedAllAssoc2Gen_NumTracks", 24, &log_ntrk_bins[0]);
334 i.book1D(
"RecoAllAssoc2Gen_PU",
"ReconstructedAllAssoc2Gen_PU",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_));
335 mes_[
label][
"RecoAllAssoc2Gen_ClosestDistanceZ"] =
336 i.book1D(
"RecoAllAssoc2Gen_ClosestDistanceZ",
"ReconstructedAllAssoc2Gen_ClosestDistanceZ", 30, &log_bins[0]);
337 mes_[
label][
"RecoAllAssoc2GenProperties"] =
338 i.book1D(
"RecoAllAssoc2GenProperties",
"ReconstructedAllAssoc2Gen_Properties", 8, -0.5, 7.5);
339 mes_[
label][
"RecoAllAssoc2Gen_PairDistanceZ"] =
340 i.book1D(
"RecoAllAssoc2Gen_PairDistanceZ",
"RecoAllAssoc2Gen_PairDistanceZ", 1000, 0, 20);
344 mes_[
label][
"RecoAllAssoc2GenMatched_NumVertices"] =
i.book1D(
"RecoAllAssoc2GenMatched_NumVertices",
345 "ReconstructedAllAssoc2GenMatched_NumVertices",
349 mes_[
label][
"RecoAllAssoc2GenMatched_X"] =
350 i.book1D(
"RecoAllAssoc2GenMatched_X",
"ReconstructedAllAssoc2GenMatched_X", 120, -0.6, 0.6);
351 mes_[
label][
"RecoAllAssoc2GenMatched_Y"] =
352 i.book1D(
"RecoAllAssoc2GenMatched_Y",
"ReconstructedAllAssoc2GenMatched_Y", 120, -0.6, 0.6);
353 mes_[
label][
"RecoAllAssoc2GenMatched_Z"] =
354 i.book1D(
"RecoAllAssoc2GenMatched_Z",
"ReconstructedAllAssoc2GenMatched_Z", 120, -60, 60);
355 mes_[
label][
"RecoAllAssoc2GenMatched_R"] =
356 i.book1D(
"RecoAllAssoc2GenMatched_R",
"ReconstructedAllAssoc2GenMatched_R", 120, 0, 0.6);
357 mes_[
label][
"RecoAllAssoc2GenMatched_Pt2"] =
358 i.book1D(
"RecoAllAssoc2GenMatched_Pt2",
"ReconstructedAllAssoc2GenMatched_Sum-pt2", 15, &log_pt2_bins[0]);
359 mes_[
label][
"RecoAllAssoc2GenMatched_Ndof"] =
360 i.book1D(
"RecoAllAssoc2GenMatched_Ndof",
"ReconstructedAllAssoc2GenMatched_Ndof", 120, 0., 240.);
361 mes_[
label][
"RecoAllAssoc2GenMatched_NumTracks"] =
i.book1D(
362 "RecoAllAssoc2GenMatched_NumTracks",
"ReconstructedAllAssoc2GenMatched_NumTracks", 24, &log_ntrk_bins[0]);
363 mes_[
label][
"RecoAllAssoc2GenMatched_PU"] =
i.book1D(
364 "RecoAllAssoc2GenMatched_PU",
"ReconstructedAllAssoc2GenMatched_PU",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_));
365 mes_[
label][
"RecoAllAssoc2GenMatched_ClosestDistanceZ"] =
366 i.book1D(
"RecoAllAssoc2GenMatched_ClosestDistanceZ",
367 "ReconstructedAllAssoc2GenMatched_ClosestDistanceZ",
373 mes_[
label][
"RecoAllAssoc2GenMultiMatched_NumVertices"] =
374 i.book1D(
"RecoAllAssoc2GenMultiMatched_NumVertices",
375 "ReconstructedAllAssoc2GenMultiMatched_NumVertices",
379 mes_[
label][
"RecoAllAssoc2GenMultiMatched_X"] =
380 i.book1D(
"RecoAllAssoc2GenMultiMatched_X",
"ReconstructedAllAssoc2GenMultiMatched_X", 120, -0.6, 0.6);
381 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Y"] =
382 i.book1D(
"RecoAllAssoc2GenMultiMatched_Y",
"ReconstructedAllAssoc2GenMultiMatched_Y", 120, -0.6, 0.6);
383 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Z"] =
384 i.book1D(
"RecoAllAssoc2GenMultiMatched_Z",
"ReconstructedAllAssoc2GenMultiMatched_Z", 120, -60, 60);
385 mes_[
label][
"RecoAllAssoc2GenMultiMatched_R"] =
386 i.book1D(
"RecoAllAssoc2GenMultiMatched_R",
"ReconstructedAllAssoc2GenMultiMatched_R", 120, 0, 0.6);
387 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Pt2"] =
i.book1D(
388 "RecoAllAssoc2GenMultiMatched_Pt2",
"ReconstructedAllAssoc2GenMultiMatched_Sum-pt2", 15, &log_pt2_bins[0]);
389 mes_[
label][
"RecoAllAssoc2GenMultiMatched_NumTracks"] =
i.book1D(
"RecoAllAssoc2GenMultiMatched_NumTracks",
390 "ReconstructedAllAssoc2GenMultiMatched_NumTracks",
393 mes_[
label][
"RecoAllAssoc2GenMultiMatched_PU"] =
i.book1D(
"RecoAllAssoc2GenMultiMatched_PU",
394 "ReconstructedAllAssoc2GenMultiMatched_PU",
398 mes_[
label][
"RecoAllAssoc2GenMultiMatched_ClosestDistanceZ"] =
399 i.book1D(
"RecoAllAssoc2GenMultiMatched_ClosestDistanceZ",
400 "ReconstructedAllAssoc2GenMultiMatched_ClosestDistanceZ",
401 log_mergez_bins.size() - 1,
402 &log_mergez_bins[0]);
410 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_NumVertices"] =
i.book1D(
"RecoAllAssoc2MultiMatchedGen_NumVertices",
411 "RecoAllAssoc2MultiMatchedGen_NumVertices",
415 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_X"] =
416 i.book1D(
"RecoAllAssoc2MultiMatchedGen_X",
"RecoAllAssoc2MultiMatchedGen_X", 120, -0.6, 0.6);
417 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Y"] =
418 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Y",
"RecoAllAssoc2MultiMatchedGen_Y", 120, -0.6, 0.6);
419 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Z"] =
420 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Z",
"RecoAllAssoc2MultiMatchedGen_Z", 120, -60, 60);
421 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_R"] =
422 i.book1D(
"RecoAllAssoc2MultiMatchedGen_R",
"RecoAllAssoc2MultiMatchedGen_R", 120, 0, 0.6);
423 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Pt2"] =
424 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Pt2",
"RecoAllAssoc2MultiMatchedGen_Sum-pt2", 15, &log_pt2_bins[0]);
425 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_NumTracks"] =
i.book1D(
426 "RecoAllAssoc2MultiMatchedGen_NumTracks",
"RecoAllAssoc2MultiMatchedGen_NumTracks", 24, &log_ntrk_bins[0]);
427 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_PU"] =
i.book1D(
428 "RecoAllAssoc2MultiMatchedGen_PU",
"RecoAllAssoc2MultiMatchedGen_PU",
int(
nPUbins_ / 2), 0.,
double(
nPUbins_));
429 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ"] =
430 i.book1D(
"RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ",
431 "RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ",
434 mes_[
label][
"RecoAllAssoc2GenSimForMerge_ClosestDistanceZ"] =
435 i.book1D(
"RecoAllAssoc2GenSimForMerge_ClosestDistanceZ",
436 "RecoAllAssoc2GenSimForMerge_ClosestDistanceZ",
437 log_mergez_bins.size() - 1,
438 &log_mergez_bins[0]);
441 const double resolpt2 = 10;
443 const double minPull = -10;
444 const double maxPull = 10;
445 const double nPull = 100;
447 auto bookResolPull = [&](
const std::string&
prefix,
const double resolx,
const double resoly,
const double resolz) {
448 book1d((
prefix +
"_ResolX").c_str(), 100, -resolx, resolx);
449 book1d((
prefix +
"_ResolY").c_str(), 100, -resoly, resoly);
450 book1d((
prefix +
"_ResolZ").c_str(), 100, -resolz, resolz);
451 book1d((
prefix +
"_ResolPt2").c_str(), 100, -resolpt2, resolpt2);
452 book1d((
prefix +
"_PullX").c_str(), 250, -25, 25);
453 book1d((
prefix +
"_PullY").c_str(), 250, -25, 25);
454 book1d((
prefix +
"_PullZ").c_str(), 250, -25, 25);
457 book2d((
prefix +
"_ResolY_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), 100, -resoly, resoly);
458 book2d((
prefix +
"_ResolZ_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), 100, -resolz, resolz);
459 book2d((
prefix +
"_ResolPt2_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), 100, -resolpt2, resolpt2);
460 book2d((
prefix +
"_PullX_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), nPull, minPull, maxPull);
461 book2d((
prefix +
"_PullY_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), nPull, minPull, maxPull);
462 book2d((
prefix +
"_PullZ_vs_PU").c_str(),
int(
nPUbins_ / 2), 0.,
double(
nPUbins_), nPull, minPull, maxPull);
464 book2dlogx((
prefix +
"_ResolX_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolx, resolx);
465 book2dlogx((
prefix +
"_ResolY_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resoly, resoly);
466 book2dlogx((
prefix +
"_ResolZ_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolz, resolz);
467 book2dlogx((
prefix +
"_ResolPt2_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolpt2, resolpt2);
468 book2dlogx((
prefix +
"_PullX_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
469 book2dlogx((
prefix +
"_PullY_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
470 book2dlogx((
prefix +
"_PullZ_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
472 book2d((
prefix +
"_ResolX_vs_Z").c_str(), 120, -60, 60, 100, -resolx, resolx);
473 book2d((
prefix +
"_ResolY_vs_Z").c_str(), 120, -60, 60, 100, -resoly, resoly);
474 book2d((
prefix +
"_ResolZ_vs_Z").c_str(), 120, -60, 60, 100, -resolz, resolz);
475 book2d((
prefix +
"_ResolPt2_vs_Z").c_str(), 120, -60, 60, 100, -resolpt2, resolpt2);
476 book2d((
prefix +
"_PullX_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
477 book2d((
prefix +
"_PullY_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
478 book2d((
prefix +
"_PullZ_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
480 book2dlogx((
prefix +
"_ResolX_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolx, resolx);
481 book2dlogx((
prefix +
"_ResolY_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resoly, resoly);
482 book2dlogx((
prefix +
"_ResolZ_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolz, resolz);
484 (
prefix +
"_ResolPt2_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolpt2, resolpt2);
485 book2dlogx((
prefix +
"_PullX_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
486 book2dlogx((
prefix +
"_PullY_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
487 book2dlogx((
prefix +
"_PullZ_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
490 bookResolPull(
"RecoAllAssoc2GenMatched", 0.1, 0.1, 0.1);
491 bookResolPull(
"RecoAllAssoc2GenMatchedMerged", 0.1, 0.1, 0.1);
493 "RecoPVAssoc2GenPVMatched", 0.01, 0.01, 0.01);
497 book1d(
"RecoPVAssoc2GenPVMatched_Purity", 50, 0, 1);
498 book1d(
"RecoPVAssoc2GenPVMatched_Missing", 50, 0, 1);
499 book2d(
"RecoPVAssoc2GenPVMatched_Purity_vs_Index", 100, 0, 100, 50, 0, 1);
502 book1d(
"RecoPVAssoc2GenPVNotMatched_Purity", 50, 0, 1);
503 book1d(
"RecoPVAssoc2GenPVNotMatched_Missing", 50, 0, 1);
504 book2d(
"RecoPVAssoc2GenPVNotMatched_Purity_vs_Index", 100, 0, 100, 50, 0, 1);
507 book1d(
"RecoAllAssoc2Gen_Purity", 50, 0, 1);
508 book1d(
"RecoAllAssoc2GenMatched_Purity", 50, 0, 1);
512 book1dlogx(
"RecoAssoc2GenPVMatched_Pt2", 15, &log_pt2_bins[0]);
513 book1dlogx(
"RecoAssoc2GenPVNotMatched_Pt2", 15, &log_pt2_bins[0]);
515 book1dlogx(
"RecoAssoc2GenPVMatchedNotHighest_Pt2", 15, &log_pt2_bins[0]);
516 book1dlogx(
"RecoAssoc2GenPVNotMatched_GenPVTracksRemoved_Pt2", 15, &log_pt2_bins[0]);
519 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionReco", 50, 0, 1);
520 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionReco", 50, 0, 1);
521 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionRecoMatched", 50, 0, 1);
522 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionRecoMatched", 50, 0, 1);
524 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionSim", 50, 0, 1);
525 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionSim", 50, 0, 1);
526 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionSimMatched", 50, 0, 1);
527 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionSimMatched", 50, 0, 1);
const bool do_generic_sim_plots_
std::vector< edm::InputTag > reco_vertex_collections_
std::map< std::string, std::map< std::string, MonitorElement * > > mes_