78 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,
79 0.02, 0.04, 0.06, 0.08, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 2.0,
80 4.0, 6.0, 8.0, 10.0, 20.0, 40.0, 60.0, 80.0, 100.0};
81 auto const log_mergez_bins = makeLogBins<float, 16>(1
e-4, 1);
83 auto const log_pt_bins = makeLogBins<float, 100>(0.1, 1
e4);
84 float log_pt2_bins[16] = {
85 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};
86 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,
87 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 70.0, 80.0, 90.0, 100.0, 150.0, 200.0};
93 double log_pt2_bins_double[16] = {
94 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};
98 mes_[
"root_folder"][
"GenVtx_vs_BX"] =
i.book2D(
"GenVtx_vs_BX",
"GenVtx_vs_BX", 16, -12.5, 3.5, 200, 0., 200.);
100 mes_[
"root_folder"][
"GenPV_X"] =
i.book1D(
"GenPV_X",
"GeneratedPV_X", 120, -0.6, 0.6);
101 mes_[
"root_folder"][
"GenPV_Y"] =
i.book1D(
"GenPV_Y",
"GeneratedPV_Y", 120, -0.6, 0.6);
102 mes_[
"root_folder"][
"GenPV_Z"] =
i.book1D(
"GenPV_Z",
"GeneratedPV_Z", 120, -60., 60.);
103 mes_[
"root_folder"][
"GenPV_R"] =
i.book1D(
"GenPV_R",
"GeneratedPV_R", 120, 0, 0.6);
104 mes_[
"root_folder"][
"GenPV_Pt2"] =
i.book1D(
"GenPV_Pt2",
"GeneratedPV_Sum-pt2", 15, &log_pt2_bins[0]);
105 mes_[
"root_folder"][
"GenPV_NumTracks"] =
106 i.book1D(
"GenPV_NumTracks",
"GeneratedPV_NumTracks", 24, &log_ntrk_bins[0]);
107 mes_[
"root_folder"][
"GenPV_ClosestDistanceZ"] =
108 i.book1D(
"GenPV_ClosestDistanceZ",
"GeneratedPV_ClosestDistanceZ", 30, &log_bins[0]);
111 mes_[
"root_folder"][
"GenAllV_NumVertices"] =
112 i.book1D(
"GenAllV_NumVertices",
"GeneratedAllV_NumVertices", 100, 0., 200.);
113 mes_[
"root_folder"][
"GenAllV_X"] =
i.book1D(
"GenAllV_X",
"GeneratedAllV_X", 120, -0.6, 0.6);
114 mes_[
"root_folder"][
"GenAllV_Y"] =
i.book1D(
"GenAllV_Y",
"GeneratedAllV_Y", 120, -0.6, 0.6);
115 mes_[
"root_folder"][
"GenAllV_Z"] =
i.book1D(
"GenAllV_Z",
"GeneratedAllV_Z", 120, -60, 60);
116 mes_[
"root_folder"][
"GenAllV_R"] =
i.book1D(
"GenAllV_R",
"GeneratedAllV_R", 120, 0, 0.6);
117 mes_[
"root_folder"][
"GenAllV_Pt2"] =
i.book1D(
"GenAllV_Pt2",
"GeneratedAllV_Sum-pt2", 15, &log_pt2_bins[0]);
118 mes_[
"root_folder"][
"GenAllV_NumTracks"] =
119 i.book1D(
"GenAllV_NumTracks",
"GeneratedAllV_NumTracks", 24, &log_ntrk_bins[0]);
120 mes_[
"root_folder"][
"GenAllV_ClosestDistanceZ"] =
121 i.book1D(
"GenAllV_ClosestDistanceZ",
"GeneratedAllV_ClosestDistanceZ", 30, &log_bins[0]);
122 mes_[
"root_folder"][
"GenAllV_PairDistanceZ"] =
123 i.book1D(
"GenAllV_PairDistanceZ",
"GeneratedAllV_PairDistanceZ", 1000, 0, 20);
124 mes_[
"root_folder"][
"SignalIsHighestPt2"] =
i.book1D(
"SignalIsHighestPt2",
"SignalIsHighestPt2", 2, -0.5, 1.5);
130 i.setCurrentFolder(current_folder);
132 auto book1d = [&](
const char*
name,
int bins,
double min,
double max) {
135 auto book1dlogx = [&](
const char*
name,
int bins,
const float* xbinedges) {
141 auto book2dlogx = [&](
const char*
name,
int xbins,
const float* xbinedges,
int ybins,
double ymin,
double ymax) {
143 me->getTH2F()->GetXaxis()->Set(
xbins, xbinedges);
148 i.bookProfile(
"RecoVtx_vs_GenVtx",
"RecoVtx_vs_GenVtx", 125, 0., 250., 250, 0., 250.);
149 mes_[
label][
"MatchedRecoVtx_vs_GenVtx"] =
150 i.bookProfile(
"MatchedRecoVtx_vs_GenVtx",
"MatchedRecoVtx_vs_GenVtx", 125, 0., 250., 250, 0., 250.);
151 mes_[
label][
"KindOfSignalPV"] =
i.book1D(
"KindOfSignalPV",
"KindOfSignalPV", 9, -0.5, 8.5);
152 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(1,
"!Highest!Assoc2Any");
153 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(2,
"Highest!Assoc2Any");
154 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(3,
"!HighestAssoc2First");
155 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(4,
"HighestAssoc2First");
156 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(5,
"!HighestAssoc2!First");
157 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(6,
"HighestAssoc2!First");
158 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(7,
"!HighestAssoc2First");
159 mes_[
label][
"KindOfSignalPV"]->getTH1()->GetXaxis()->SetBinLabel(8,
"HighestAssoc2First");
160 mes_[
label][
"MisTagRate"] =
i.book1D(
"MisTagRate",
"MisTagRate", 2, -0.5, 1.5);
161 mes_[
label][
"MisTagRate_vs_PU"] =
i.bookProfile(
"MisTagRate_vs_PU",
"MisTagRate_vs_PU", 125, 0., 250., 2, 0., 1.);
163 i.bookProfile(
"MisTagRate_vs_sum-pt2",
"MisTagRate_vs_sum-pt2", 15, &log_pt2_bins_double[0], 2, 0., 1.);
164 mes_[
label][
"MisTagRate_vs_Z"] =
i.bookProfile(
"MisTagRate_vs_Z",
"MisTagRate_vs_Z", 120, -60., 60., 2, 0., 1.);
165 mes_[
label][
"MisTagRate_vs_R"] =
i.bookProfile(
"MisTagRate_vs_R",
"MisTagRate_vs_R", 120, 0., 0.6, 2, 0., 1.);
167 i.bookProfile(
"MisTagRate_vs_NumTracks",
"MisTagRate_vs_NumTracks", 100, 0., 200, 2, 0., 1.);
168 mes_[
label][
"MisTagRateSignalIsHighest"] =
169 i.book1D(
"MisTagRateSignalIsHighest",
"MisTagRateSignalIsHighest", 2, -0.5, 1.5);
170 mes_[
label][
"MisTagRateSignalIsHighest_vs_PU"] =
171 i.bookProfile(
"MisTagRateSignalIsHighest_vs_PU",
"MisTagRateSignalIsHighest_vs_PU", 125, 0., 250., 2, 0., 1.);
172 mes_[
label][
"MisTagRateSignalIsHighest_vs_sum-pt2"] =
i.bookProfile(
"MisTagRateSignalIsHighest_vs_sum-pt2",
173 "MisTagRateSignalIsHighest_vs_sum-pt2",
175 &log_pt2_bins_double[0],
179 mes_[
label][
"MisTagRateSignalIsHighest_vs_Z"] =
180 i.bookProfile(
"MisTagRateSignalIsHighest_vs_Z",
"MisTagRateSignalIsHighest_vs_Z", 120, -60., 60., 2, 0., 1.);
181 mes_[
label][
"MisTagRateSignalIsHighest_vs_R"] =
182 i.bookProfile(
"MisTagRateSignalIsHighest_vs_R",
"MisTagRateSignalIsHighest_vs_R", 120, 0., 0.6, 2, 0., 1.);
183 mes_[
label][
"MisTagRateSignalIsHighest_vs_NumTracks"] =
i.bookProfile(
184 "MisTagRateSignalIsHighest_vs_NumTracks",
"MisTagRateSignalIsHighest_vs_NumTracks", 100, 0., 200, 2, 0., 1.);
185 mes_[
label][
"MisTagRateSignalIsNotHighest"] =
186 i.book1D(
"MisTagRateSignalIsNotHighest",
"MisTagRateSignalIsNotHighest", 2, -0.5, 1.5);
187 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_PU"] =
i.bookProfile(
188 "MisTagRateSignalIsNotHighest_vs_PU",
"MisTagRateSignalIsNotHighest_vs_PU", 125, 0., 250., 2, 0., 1.);
189 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_sum-pt2"] =
i.bookProfile(
"MisTagRateSignalIsNotHighest_vs_sum-pt2",
190 "MisTagRateSignalIsNotHighest_vs_sum-pt2",
192 &log_pt2_bins_double[0],
196 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_Z"] =
i.bookProfile(
197 "MisTagRateSignalIsNotHighest_vs_Z",
"MisTagRateSignalIsNotHighest_vs_Z", 120, -60., 60., 2, 0., 1.);
198 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_R"] =
i.bookProfile(
199 "MisTagRateSignalIsNotHighest_vs_R",
"MisTagRateSignalIsNotHighest_vs_R", 120, 0., 0.6, 2, 0., 1.);
200 mes_[
label][
"MisTagRateSignalIsNotHighest_vs_NumTracks"] =
201 i.bookProfile(
"MisTagRateSignalIsNotHighest_vs_NumTracks",
202 "MisTagRateSignalIsNotHighest_vs_NumTracks",
210 i.book1D(
"TruePVLocationIndex",
"TruePVLocationIndexInRecoVertexCollection", 12, -1.5, 10.5);
211 mes_[
label][
"TruePVLocationIndexCumulative"] =
212 i.book1D(
"TruePVLocationIndexCumulative",
"TruePVLocationIndexInRecoVertexCollectionCumulative", 3, -1.5, 1.5);
213 mes_[
label][
"TruePVLocationIndexSignalIsHighest"] =
214 i.book1D(
"TruePVLocationIndexSignalIsHighest",
215 "TruePVLocationIndexSignalIsHighestInRecoVertexCollection",
219 mes_[
label][
"TruePVLocationIndexSignalIsNotHighest"] =
220 i.book1D(
"TruePVLocationIndexSignalIsNotHighest",
221 "TruePVLocationIndexSignalIsNotHighestInRecoVertexCollection",
228 mes_[
label][
"GenAllAssoc2Reco_NumVertices"] =
229 i.book1D(
"GenAllAssoc2Reco_NumVertices",
"GeneratedAllAssoc2Reco_NumVertices", 100, 0., 200.);
230 mes_[
label][
"GenAllAssoc2Reco_X"] =
i.book1D(
"GenAllAssoc2Reco_X",
"GeneratedAllAssoc2Reco_X", 120, -0.6, 0.6);
231 mes_[
label][
"GenAllAssoc2Reco_Y"] =
i.book1D(
"GenAllAssoc2Reco_Y",
"GeneratedAllAssoc2Reco_Y", 120, -0.6, 0.6);
232 mes_[
label][
"GenAllAssoc2Reco_Z"] =
i.book1D(
"GenAllAssoc2Reco_Z",
"GeneratedAllAssoc2Reco_Z", 120, -60, 60);
233 mes_[
label][
"GenAllAssoc2Reco_R"] =
i.book1D(
"GenAllAssoc2Reco_R",
"GeneratedAllAssoc2Reco_R", 120, 0, 0.6);
235 i.book1D(
"GenAllAssoc2Reco_Pt2",
"GeneratedAllAssoc2Reco_Sum-pt2", 15, &log_pt2_bins[0]);
236 mes_[
label][
"GenAllAssoc2Reco_NumTracks"] =
237 i.book1D(
"GenAllAssoc2Reco_NumTracks",
"GeneratedAllAssoc2Reco_NumTracks", 24, &log_ntrk_bins[0]);
238 mes_[
label][
"GenAllAssoc2Reco_ClosestDistanceZ"] =
239 i.book1D(
"GenAllAssoc2Reco_ClosestDistanceZ",
"GeneratedAllAssoc2Reco_ClosestDistanceZ", 30, &log_bins[0]);
240 book1d(
"GenPVAssoc2RecoPV_X", 120, -0.6, 0.6);
241 book1d(
"GenPVAssoc2RecoPV_Y", 120, -0.6, 0.6);
242 book1d(
"GenPVAssoc2RecoPV_Z", 120, -60, 60);
246 mes_[
label][
"GenAllAssoc2RecoMatched_NumVertices"] =
247 i.book1D(
"GenAllAssoc2RecoMatched_NumVertices",
"GeneratedAllAssoc2RecoMatched_NumVertices", 100, 0., 200.);
248 mes_[
label][
"GenAllAssoc2RecoMatched_X"] =
249 i.book1D(
"GenAllAssoc2RecoMatched_X",
"GeneratedAllAssoc2RecoMatched_X", 120, -0.6, 0.6);
250 mes_[
label][
"GenAllAssoc2RecoMatched_Y"] =
251 i.book1D(
"GenAllAssoc2RecoMatched_Y",
"GeneratedAllAssoc2RecoMatched_Y", 120, -0.6, 0.6);
252 mes_[
label][
"GenAllAssoc2RecoMatched_Z"] =
253 i.book1D(
"GenAllAssoc2RecoMatched_Z",
"GeneratedAllAssoc2RecoMatched_Z", 120, -60, 60);
254 mes_[
label][
"GenAllAssoc2RecoMatched_R"] =
255 i.book1D(
"GenAllAssoc2RecoMatched_R",
"GeneratedAllAssoc2RecoMatched_R", 120, 0, 0.6);
256 mes_[
label][
"GenAllAssoc2RecoMatched_Pt2"] =
257 i.book1D(
"GenAllAssoc2RecoMatched_Pt2",
"GeneratedAllAssoc2RecoMatched_Sum-pt2", 15, &log_pt2_bins[0]);
258 mes_[
label][
"GenAllAssoc2RecoMatched_NumTracks"] =
259 i.book1D(
"GenAllAssoc2RecoMatched_NumTracks",
"GeneratedAllAssoc2RecoMatched_NumTracks", 24, &log_ntrk_bins[0]);
260 mes_[
label][
"GenAllAssoc2RecoMatched_ClosestDistanceZ"] =
i.book1D(
261 "GenAllAssoc2RecoMatched_ClosestDistanceZ",
"GeneratedAllAssoc2RecoMatched_ClosestDistanceZ", 30, &log_bins[0]);
262 book1d(
"GenPVAssoc2RecoPVMatched_X", 120, -0.6, 0.6);
263 book1d(
"GenPVAssoc2RecoPVMatched_Y", 120, -0.6, 0.6);
264 book1d(
"GenPVAssoc2RecoPVMatched_Z", 120, -60, 60);
268 mes_[
label][
"GenAllAssoc2RecoMultiMatched_NumVertices"] =
i.book1D(
269 "GenAllAssoc2RecoMultiMatched_NumVertices",
"GeneratedAllAssoc2RecoMultiMatched_NumVertices", 100, 0., 200.);
270 mes_[
label][
"GenAllAssoc2RecoMultiMatched_X"] =
271 i.book1D(
"GenAllAssoc2RecoMultiMatched_X",
"GeneratedAllAssoc2RecoMultiMatched_X", 120, -0.6, 0.6);
272 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Y"] =
273 i.book1D(
"GenAllAssoc2RecoMultiMatched_Y",
"GeneratedAllAssoc2RecoMultiMatched_Y", 120, -0.6, 0.6);
274 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Z"] =
275 i.book1D(
"GenAllAssoc2RecoMultiMatched_Z",
"GeneratedAllAssoc2RecoMultiMatched_Z", 120, -60, 60);
276 mes_[
label][
"GenAllAssoc2RecoMultiMatched_R"] =
277 i.book1D(
"GenAllAssoc2RecoMultiMatched_R",
"GeneratedAllAssoc2RecoMultiMatched_R", 120, 0, 0.6);
278 mes_[
label][
"GenAllAssoc2RecoMultiMatched_Pt2"] =
i.book1D(
279 "GenAllAssoc2RecoMultiMatched_Pt2",
"GeneratedAllAssoc2RecoMultiMatched_Sum-pt2", 15, &log_pt2_bins[0]);
280 mes_[
label][
"GenAllAssoc2RecoMultiMatched_NumTracks"] =
i.book1D(
"GenAllAssoc2RecoMultiMatched_NumTracks",
281 "GeneratedAllAssoc2RecoMultiMatched_NumTracks",
284 mes_[
label][
"GenAllAssoc2RecoMultiMatched_ClosestDistanceZ"] =
285 i.book1D(
"GenAllAssoc2RecoMultiMatched_ClosestDistanceZ",
286 "GeneratedAllAssoc2RecoMultiMatched_ClosestDistanceZ",
291 mes_[
label][
"RecoAllAssoc2Gen_NumVertices"] =
292 i.book1D(
"RecoAllAssoc2Gen_NumVertices",
"ReconstructedAllAssoc2Gen_NumVertices", 100, 0., 200.);
293 mes_[
label][
"RecoAllAssoc2Gen_X"] =
i.book1D(
"RecoAllAssoc2Gen_X",
"ReconstructedAllAssoc2Gen_X", 120, -0.6, 0.6);
294 mes_[
label][
"RecoAllAssoc2Gen_Y"] =
i.book1D(
"RecoAllAssoc2Gen_Y",
"ReconstructedAllAssoc2Gen_Y", 120, -0.6, 0.6);
295 mes_[
label][
"RecoAllAssoc2Gen_Z"] =
i.book1D(
"RecoAllAssoc2Gen_Z",
"ReconstructedAllAssoc2Gen_Z", 120, -60, 60);
296 mes_[
label][
"RecoAllAssoc2Gen_R"] =
i.book1D(
"RecoAllAssoc2Gen_R",
"ReconstructedAllAssoc2Gen_R", 120, 0, 0.6);
298 i.book1D(
"RecoAllAssoc2Gen_Pt2",
"ReconstructedAllAssoc2Gen_Sum-pt2", 15, &log_pt2_bins[0]);
300 i.book1D(
"RecoAllAssoc2Gen_Ndof",
"ReconstructedAllAssoc2Gen_Ndof", 120, 0., 240.);
301 mes_[
label][
"RecoAllAssoc2Gen_NumTracks"] =
302 i.book1D(
"RecoAllAssoc2Gen_NumTracks",
"ReconstructedAllAssoc2Gen_NumTracks", 24, &log_ntrk_bins[0]);
303 mes_[
label][
"RecoAllAssoc2Gen_PU"] =
i.book1D(
"RecoAllAssoc2Gen_PU",
"ReconstructedAllAssoc2Gen_PU", 125, 0., 250.);
304 mes_[
label][
"RecoAllAssoc2Gen_ClosestDistanceZ"] =
305 i.book1D(
"RecoAllAssoc2Gen_ClosestDistanceZ",
"ReconstructedAllAssoc2Gen_ClosestDistanceZ", 30, &log_bins[0]);
306 mes_[
label][
"RecoAllAssoc2GenProperties"] =
307 i.book1D(
"RecoAllAssoc2GenProperties",
"ReconstructedAllAssoc2Gen_Properties", 8, -0.5, 7.5);
308 mes_[
label][
"RecoAllAssoc2Gen_PairDistanceZ"] =
309 i.book1D(
"RecoAllAssoc2Gen_PairDistanceZ",
"RecoAllAssoc2Gen_PairDistanceZ", 1000, 0, 20);
313 mes_[
label][
"RecoAllAssoc2GenMatched_NumVertices"] =
314 i.book1D(
"RecoAllAssoc2GenMatched_NumVertices",
"ReconstructedAllAssoc2GenMatched_NumVertices", 100, 0., 200.);
315 mes_[
label][
"RecoAllAssoc2GenMatched_X"] =
316 i.book1D(
"RecoAllAssoc2GenMatched_X",
"ReconstructedAllAssoc2GenMatched_X", 120, -0.6, 0.6);
317 mes_[
label][
"RecoAllAssoc2GenMatched_Y"] =
318 i.book1D(
"RecoAllAssoc2GenMatched_Y",
"ReconstructedAllAssoc2GenMatched_Y", 120, -0.6, 0.6);
319 mes_[
label][
"RecoAllAssoc2GenMatched_Z"] =
320 i.book1D(
"RecoAllAssoc2GenMatched_Z",
"ReconstructedAllAssoc2GenMatched_Z", 120, -60, 60);
321 mes_[
label][
"RecoAllAssoc2GenMatched_R"] =
322 i.book1D(
"RecoAllAssoc2GenMatched_R",
"ReconstructedAllAssoc2GenMatched_R", 120, 0, 0.6);
323 mes_[
label][
"RecoAllAssoc2GenMatched_Pt2"] =
324 i.book1D(
"RecoAllAssoc2GenMatched_Pt2",
"ReconstructedAllAssoc2GenMatched_Sum-pt2", 15, &log_pt2_bins[0]);
325 mes_[
label][
"RecoAllAssoc2GenMatched_Ndof"] =
326 i.book1D(
"RecoAllAssoc2GenMatched_Ndof",
"ReconstructedAllAssoc2GenMatched_Ndof", 120, 0., 240.);
327 mes_[
label][
"RecoAllAssoc2GenMatched_NumTracks"] =
i.book1D(
328 "RecoAllAssoc2GenMatched_NumTracks",
"ReconstructedAllAssoc2GenMatched_NumTracks", 24, &log_ntrk_bins[0]);
329 mes_[
label][
"RecoAllAssoc2GenMatched_PU"] =
330 i.book1D(
"RecoAllAssoc2GenMatched_PU",
"ReconstructedAllAssoc2GenMatched_PU", 125, 0., 250.);
331 mes_[
label][
"RecoAllAssoc2GenMatched_ClosestDistanceZ"] =
332 i.book1D(
"RecoAllAssoc2GenMatched_ClosestDistanceZ",
333 "ReconstructedAllAssoc2GenMatched_ClosestDistanceZ",
339 mes_[
label][
"RecoAllAssoc2GenMultiMatched_NumVertices"] =
i.book1D(
340 "RecoAllAssoc2GenMultiMatched_NumVertices",
"ReconstructedAllAssoc2GenMultiMatched_NumVertices", 100, 0., 200.);
341 mes_[
label][
"RecoAllAssoc2GenMultiMatched_X"] =
342 i.book1D(
"RecoAllAssoc2GenMultiMatched_X",
"ReconstructedAllAssoc2GenMultiMatched_X", 120, -0.6, 0.6);
343 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Y"] =
344 i.book1D(
"RecoAllAssoc2GenMultiMatched_Y",
"ReconstructedAllAssoc2GenMultiMatched_Y", 120, -0.6, 0.6);
345 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Z"] =
346 i.book1D(
"RecoAllAssoc2GenMultiMatched_Z",
"ReconstructedAllAssoc2GenMultiMatched_Z", 120, -60, 60);
347 mes_[
label][
"RecoAllAssoc2GenMultiMatched_R"] =
348 i.book1D(
"RecoAllAssoc2GenMultiMatched_R",
"ReconstructedAllAssoc2GenMultiMatched_R", 120, 0, 0.6);
349 mes_[
label][
"RecoAllAssoc2GenMultiMatched_Pt2"] =
i.book1D(
350 "RecoAllAssoc2GenMultiMatched_Pt2",
"ReconstructedAllAssoc2GenMultiMatched_Sum-pt2", 15, &log_pt2_bins[0]);
351 mes_[
label][
"RecoAllAssoc2GenMultiMatched_NumTracks"] =
i.book1D(
"RecoAllAssoc2GenMultiMatched_NumTracks",
352 "ReconstructedAllAssoc2GenMultiMatched_NumTracks",
355 mes_[
label][
"RecoAllAssoc2GenMultiMatched_PU"] =
356 i.book1D(
"RecoAllAssoc2GenMultiMatched_PU",
"ReconstructedAllAssoc2GenMultiMatched_PU", 125, 0., 250.);
357 mes_[
label][
"RecoAllAssoc2GenMultiMatched_ClosestDistanceZ"] =
358 i.book1D(
"RecoAllAssoc2GenMultiMatched_ClosestDistanceZ",
359 "ReconstructedAllAssoc2GenMultiMatched_ClosestDistanceZ",
360 log_mergez_bins.size() - 1,
361 &log_mergez_bins[0]);
369 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_NumVertices"] =
370 i.book1D(
"RecoAllAssoc2MultiMatchedGen_NumVertices",
"RecoAllAssoc2MultiMatchedGen_NumVertices", 100, 0., 200.);
371 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_X"] =
372 i.book1D(
"RecoAllAssoc2MultiMatchedGen_X",
"RecoAllAssoc2MultiMatchedGen_X", 120, -0.6, 0.6);
373 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Y"] =
374 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Y",
"RecoAllAssoc2MultiMatchedGen_Y", 120, -0.6, 0.6);
375 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Z"] =
376 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Z",
"RecoAllAssoc2MultiMatchedGen_Z", 120, -60, 60);
377 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_R"] =
378 i.book1D(
"RecoAllAssoc2MultiMatchedGen_R",
"RecoAllAssoc2MultiMatchedGen_R", 120, 0, 0.6);
379 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_Pt2"] =
380 i.book1D(
"RecoAllAssoc2MultiMatchedGen_Pt2",
"RecoAllAssoc2MultiMatchedGen_Sum-pt2", 15, &log_pt2_bins[0]);
381 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_NumTracks"] =
i.book1D(
382 "RecoAllAssoc2MultiMatchedGen_NumTracks",
"RecoAllAssoc2MultiMatchedGen_NumTracks", 24, &log_ntrk_bins[0]);
383 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_PU"] =
384 i.book1D(
"RecoAllAssoc2MultiMatchedGen_PU",
"RecoAllAssoc2MultiMatchedGen_PU", 125, 0., 250.);
385 mes_[
label][
"RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ"] =
386 i.book1D(
"RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ",
387 "RecoAllAssoc2MultiMatchedGen_ClosestDistanceZ",
390 mes_[
label][
"RecoAllAssoc2GenSimForMerge_ClosestDistanceZ"] =
391 i.book1D(
"RecoAllAssoc2GenSimForMerge_ClosestDistanceZ",
392 "RecoAllAssoc2GenSimForMerge_ClosestDistanceZ",
393 log_mergez_bins.size() - 1,
394 &log_mergez_bins[0]);
397 const double resolpt2 = 10;
399 const double minPull = -10;
400 const double maxPull = 10;
401 const double nPull = 100;
403 auto bookResolPull = [&](
const std::string&
prefix,
const double resolx,
const double resoly,
const double resolz) {
404 book1d((
prefix +
"_ResolX").c_str(), 100, -resolx, resolx);
405 book1d((
prefix +
"_ResolY").c_str(), 100, -resoly, resoly);
406 book1d((
prefix +
"_ResolZ").c_str(), 100, -resolz, resolz);
407 book1d((
prefix +
"_ResolPt2").c_str(), 100, -resolpt2, resolpt2);
408 book1d((
prefix +
"_PullX").c_str(), 250, -25, 25);
409 book1d((
prefix +
"_PullY").c_str(), 250, -25, 25);
410 book1d((
prefix +
"_PullZ").c_str(), 250, -25, 25);
412 book2d((
prefix +
"_ResolX_vs_PU").c_str(), 125, 0., 250., 100, -resolx, resolx);
413 book2d((
prefix +
"_ResolY_vs_PU").c_str(), 125, 0., 250., 100, -resoly, resoly);
414 book2d((
prefix +
"_ResolZ_vs_PU").c_str(), 125, 0., 250., 100, -resolz, resolz);
415 book2d((
prefix +
"_ResolPt2_vs_PU").c_str(), 125, 0., 250., 100, -resolpt2, resolpt2);
416 book2d((
prefix +
"_PullX_vs_PU").c_str(), 125, 0., 250., nPull, minPull, maxPull);
417 book2d((
prefix +
"_PullY_vs_PU").c_str(), 125, 0., 250., nPull, minPull, maxPull);
418 book2d((
prefix +
"_PullZ_vs_PU").c_str(), 125, 0., 250., nPull, minPull, maxPull);
420 book2dlogx((
prefix +
"_ResolX_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolx, resolx);
421 book2dlogx((
prefix +
"_ResolY_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resoly, resoly);
422 book2dlogx((
prefix +
"_ResolZ_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolz, resolz);
423 book2dlogx((
prefix +
"_ResolPt2_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], 100, -resolpt2, resolpt2);
424 book2dlogx((
prefix +
"_PullX_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
425 book2dlogx((
prefix +
"_PullY_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
426 book2dlogx((
prefix +
"_PullZ_vs_NumTracks").c_str(), 24, &log_ntrk_bins[0], nPull, minPull, maxPull);
428 book2d((
prefix +
"_ResolX_vs_Z").c_str(), 120, -60, 60, 100, -resolx, resolx);
429 book2d((
prefix +
"_ResolY_vs_Z").c_str(), 120, -60, 60, 100, -resoly, resoly);
430 book2d((
prefix +
"_ResolZ_vs_Z").c_str(), 120, -60, 60, 100, -resolz, resolz);
431 book2d((
prefix +
"_ResolPt2_vs_Z").c_str(), 120, -60, 60, 100, -resolpt2, resolpt2);
432 book2d((
prefix +
"_PullX_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
433 book2d((
prefix +
"_PullY_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
434 book2d((
prefix +
"_PullZ_vs_Z").c_str(), 120, -60, 60, nPull, minPull, maxPull);
436 book2dlogx((
prefix +
"_ResolX_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolx, resolx);
437 book2dlogx((
prefix +
"_ResolY_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resoly, resoly);
438 book2dlogx((
prefix +
"_ResolZ_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolz, resolz);
440 (
prefix +
"_ResolPt2_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], 100, -resolpt2, resolpt2);
441 book2dlogx((
prefix +
"_PullX_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
442 book2dlogx((
prefix +
"_PullY_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
443 book2dlogx((
prefix +
"_PullZ_vs_Pt").c_str(), log_pt_bins.size() - 1, &log_pt_bins[0], nPull, minPull, maxPull);
446 bookResolPull(
"RecoAllAssoc2GenMatched", 0.1, 0.1, 0.1);
447 bookResolPull(
"RecoAllAssoc2GenMatchedMerged", 0.1, 0.1, 0.1);
449 "RecoPVAssoc2GenPVMatched", 0.01, 0.01, 0.01);
453 book1d(
"RecoPVAssoc2GenPVMatched_Purity", 50, 0, 1);
454 book1d(
"RecoPVAssoc2GenPVMatched_Missing", 50, 0, 1);
455 book2d(
"RecoPVAssoc2GenPVMatched_Purity_vs_Index", 100, 0, 100, 50, 0, 1);
458 book1d(
"RecoPVAssoc2GenPVNotMatched_Purity", 50, 0, 1);
459 book1d(
"RecoPVAssoc2GenPVNotMatched_Missing", 50, 0, 1);
460 book2d(
"RecoPVAssoc2GenPVNotMatched_Purity_vs_Index", 100, 0, 100, 50, 0, 1);
463 book1d(
"RecoAllAssoc2Gen_Purity", 50, 0, 1);
464 book1d(
"RecoAllAssoc2GenMatched_Purity", 50, 0, 1);
468 book1dlogx(
"RecoAssoc2GenPVMatched_Pt2", 15, &log_pt2_bins[0]);
469 book1dlogx(
"RecoAssoc2GenPVNotMatched_Pt2", 15, &log_pt2_bins[0]);
471 book1dlogx(
"RecoAssoc2GenPVMatchedNotHighest_Pt2", 15, &log_pt2_bins[0]);
472 book1dlogx(
"RecoAssoc2GenPVNotMatched_GenPVTracksRemoved_Pt2", 15, &log_pt2_bins[0]);
475 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionReco", 50, 0, 1);
476 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionReco", 50, 0, 1);
477 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionRecoMatched", 50, 0, 1);
478 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionRecoMatched", 50, 0, 1);
480 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionSim", 50, 0, 1);
481 book1d(
"RecoAllAssoc2GenMultiMatched_SharedTrackFractionSim", 50, 0, 1);
482 book1d(
"RecoAllAssoc2GenSingleMatched_SharedTrackFractionSimMatched", 50, 0, 1);
483 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_