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