End-of-run action.
Save run-related stuff, such as statistics.
86{
87
88
89 auto* hist_npxd =
findHist(
"PhysicsObjectsMiraBelle/hist_npxd");
90 auto* hist_nsvd =
findHist(
"PhysicsObjectsMiraBelle/hist_nsvd");
91 auto* hist_ncdc =
findHist(
"PhysicsObjectsMiraBelle/hist_ncdc");
92 auto* hist_topdig =
findHist(
"PhysicsObjectsMiraBelle/hist_topdig");
93 auto* hist_DetPhotonARICH =
findHist(
"PhysicsObjectsMiraBelle/hist_DetPhotonARICH");
94 auto* hist_klmTotalHits =
findHist(
"PhysicsObjectsMiraBelle/hist_klmTotalHits");
95 auto* hist_klmClusterLayers =
findHist(
"PhysicsObjectsMiraBelle/hist_klmClusterLayers");
96 auto* hist_dD0 =
findHist(
"PhysicsObjectsMiraBelle/hist_dD0");
97 auto* hist_dZ0 =
findHist(
"PhysicsObjectsMiraBelle/hist_dZ0");
98 auto* hist_dPtcms =
findHist(
"PhysicsObjectsMiraBelle/hist_dPtcms");
99 auto* hist_Pval =
findHist(
"PhysicsObjectsMiraBelle/hist_Pval");
100 auto* hist_nExtraCDCHits =
findHist(
"PhysicsObjectsMiraBelle/hist_nExtraCDCHits");
101 auto* hist_nECLClusters =
findHist(
"PhysicsObjectsMiraBelle/hist_nECLClusters");
102 auto* hist_muid =
findHist(
"PhysicsObjectsMiraBelle/hist_muid");
103 auto* hist_inv_p =
findHist(
"PhysicsObjectsMiraBelle/hist_inv_p");
104 auto* hist_ndf =
findHist(
"PhysicsObjectsMiraBelle/hist_ndf");
105 auto* hist_D0 =
findHist(
"PhysicsObjectsMiraBelle/hist_D0");
106 auto* hist_Z0 =
findHist(
"PhysicsObjectsMiraBelle/hist_Z0");
107 auto* hist_theta =
findHist(
"PhysicsObjectsMiraBelle/hist_theta");
108 auto* hist_Phi0 =
findHist(
"PhysicsObjectsMiraBelle/hist_Phi0");
109 auto* hist_Pt =
findHist(
"PhysicsObjectsMiraBelle/hist_Pt");
110 auto* hist_Mom =
findHist(
"PhysicsObjectsMiraBelle/hist_Mom");
111 auto* hist_klmTotalBarrelHits =
findHist(
"PhysicsObjectsMiraBelle/hist_klmTotalBarrelHits");
112 auto* hist_klmTotalEndcapHits =
findHist(
"PhysicsObjectsMiraBelle/hist_klmTotalEndcapHits");
113 auto* hist_dPhicms =
findHist(
"PhysicsObjectsMiraBelle/hist_dPhicms");
114 auto* hist_hltEff =
findHist(
"PhysicsObjectsMiraBelle/hist_hltEff");
115
116 if (hist_npxd == nullptr) {
117 B2ERROR("Can not find the hist_npxd histogram!");
118 return;
119 }
120 if (hist_nsvd == nullptr) {
121 B2ERROR("Can not find the hist_nsvd histogram!");
122 return;
123 }
124 if (hist_ncdc == nullptr) {
125 B2ERROR("Can not find the hist_ncdc histogram!");
126 return;
127 }
128 if (hist_topdig == nullptr) {
129 B2ERROR("Can not find the hist_topdig histogram!");
130 return;
131 }
132 if (hist_DetPhotonARICH == nullptr) {
133 B2ERROR("Can not find the hist_DetPhotonARICH histogram!");
134 return;
135 }
136 if (hist_klmTotalHits == nullptr) {
137 B2ERROR("Can not find the hist_klmTotalHits histogram!");
138 return;
139 }
140 if (hist_klmClusterLayers == nullptr) {
141 B2ERROR("Can not find the hist_klmClusterLayers histogram!");
142 return;
143 }
144 if (hist_dD0 == nullptr) {
145 B2ERROR("Can not find the hist_dD0 histogram!");
146 return;
147 }
148 if (hist_dZ0 == nullptr) {
149 B2ERROR("Can not find the hist_dZ0 histogram!");
150 return;
151 }
152 if (hist_dPtcms == nullptr) {
153 B2ERROR("Can not find the hist_dPtcms histogram!");
154 return;
155 }
156 if (hist_Pval == nullptr) {
157 B2ERROR("Can not find the hist_Pval histogram!");
158 return;
159 }
160 if (hist_nExtraCDCHits == nullptr) {
161 B2ERROR("Can not find the hist_nExtraCDCHits histogram!");
162 return;
163 }
164 if (hist_nECLClusters == nullptr) {
165 B2ERROR("Can not find the hist_nECLClusters histogram!");
166 return;
167 }
168 if (hist_muid == nullptr) {
169 B2ERROR("Can not find the hist_muid histogram!");
170 return;
171 }
172 if (hist_inv_p == nullptr) {
173 B2ERROR("Can not find the hist_inv_p histogram!");
174 return;
175 }
176 if (hist_ndf == nullptr) {
177 B2ERROR("Can not find the hist_ndf histogram!");
178 return;
179 }
180 if (hist_D0 == nullptr) {
181 B2ERROR("Can not find the hist_D0 histogram!");
182 return;
183 }
184 if (hist_Z0 == nullptr) {
185 B2ERROR("Can not find the hist_Z0 histogram!");
186 return;
187 }
188 if (hist_theta == nullptr) {
189 B2ERROR("Can not find the hist_theta histogram!");
190 return;
191 }
192 if (hist_Phi0 == nullptr) {
193 B2ERROR("Can not find the hist_Phi0 histogram!");
194 return;
195 }
196 if (hist_Pt == nullptr) {
197 B2ERROR("Can not find the hist_Pt histogram!");
198 return;
199 }
200 if (hist_Mom == nullptr) {
201 B2ERROR("Can not find the hist_Mom histogram!");
202 return;
203 }
204 if (hist_klmTotalBarrelHits == nullptr) {
205 B2ERROR("Can not find the hist_klmTotalBarrelHits histogram!");
206 return;
207 }
208 if (hist_klmTotalEndcapHits == nullptr) {
209 B2ERROR("Can not find the hist_klmTotalEndcapHits histogram!");
210 return;
211 }
212 if (hist_dPhicms == nullptr) {
213 B2ERROR("Can not find the hist_dPhicms histogram!");
214 return;
215 }
216 if (hist_hltEff == nullptr) {
217 B2ERROR("Can not find the hist_hltEff histogram!");
218 return;
219 }
220
221
222
223
233 mumu_main->cd(9); hist_DetPhotonARICH->Draw();
234 mumu_main->cd(10); hist_klmClusterLayers->Draw();
235 mumu_main->cd(11); hist_nExtraCDCHits->Draw();
236 mumu_main->cd(12); hist_nECLClusters->Draw();
237
248
253
254
255 double mean_npxd = hist_npxd->GetMean();
256 double mean_nsvd = hist_nsvd->GetMean();
257 double mean_ncdc = hist_ncdc->GetMean();
258 double mean_nklmlayer = hist_klmClusterLayers->GetMean();
259 double mean_nklm = hist_klmTotalHits->GetMean();
260 double mean_nbklm = hist_klmTotalBarrelHits->GetMean();
261 double mean_neklm = hist_klmTotalEndcapHits->GetMean();
262 double mean_topdig = hist_topdig->GetMean();
263 double mean_parich = hist_DetPhotonARICH->GetMean();
264 double mean_ncdc_ex = hist_nExtraCDCHits->GetMean();
265 double mean_necl = hist_nECLClusters->GetMean();
266 double mean_muid = hist_muid->GetMean();
267 double mean_d0 = hist_D0->GetMean();
268 double mean_z0 = hist_Z0->GetMean();
269 double mean_pval = hist_Pval->GetMean();
270 double mean_ndf = hist_ndf->GetMean();
271 double dif_ndf_ncdc = mean_ndf - mean_ncdc;
272 double mean_dd0 = hist_dD0->GetMean();
273 double mean_dz0 = hist_dZ0->GetMean();
274 double mean_dpt = hist_dPtcms->GetMean();
275 double rms_dd0 = hist_dD0->GetRMS();
276 double rms_dz0 = hist_dZ0->GetRMS();
277 double rms_dpt = hist_dPtcms->GetRMS();
281 int ntot = hist_nsvd->GetEntries();
282 double neve_mumu = ntot;
283 double goodmu_frac = -1.;
284 double pval_frac_0 = -1.;
285 double pval_frac_1 = -1.;
286 double nocdc_frac = -1.;
287 double notop_frac = -1.;
288 double noarich_frac = -1.;
289 double muidcontent = hist_muid->GetBinContent(1);
290 double goodmu_o_badmu = -1.;
291 if (muidcontent != 0) {
292 goodmu_o_badmu = hist_muid->GetBinContent(20) / muidcontent;
293 } else {
294 goodmu_o_badmu = 0.0;
295 }
296 double pval_more95 = 0.0;
297 double pval_less05 = 0.0;
298 for (int i = 95; i < 100; i++) pval_more95 += hist_Pval->GetBinContent(i + 1);
299 for (int i = 0; i < 5; i++) pval_less05 += hist_Pval->GetBinContent(i + 1);
300 if (ntot != 0) {
301 goodmu_frac = hist_muid->GetBinContent(20) / neve_mumu;
302 pval_frac_0 = pval_less05 / neve_mumu;
303 pval_frac_1 = pval_more95 / neve_mumu;
304 nocdc_frac = hist_ncdc->GetBinContent(1) / neve_mumu;
305 notop_frac = hist_topdig->GetBinContent(1) / neve_mumu;
306 noarich_frac = hist_DetPhotonARICH->GetBinContent(1) / neve_mumu;
307 } else {
308 goodmu_frac = 0.0;
309 pval_frac_0 = 0.0;
310 pval_frac_1 = 0.0;
311 nocdc_frac = 0.0;
312 notop_frac = 0.0;
313 noarich_frac = 0.0;
314 }
315
316 double peak_mumu = hist_inv_p->GetXaxis()->GetBinCenter(hist_inv_p->GetMaximumBin());
317 TF1* f_mumuInvM = new TF1("f_mumuInvM", "gaus", peak_mumu - 0.05, peak_mumu + 0.05);
318 f_mumuInvM->SetParameters(hist_inv_p->GetMaximum(), peak_mumu, 0.045);
319 f_mumuInvM->SetParLimits(1, peak_mumu - 0.05, peak_mumu + 0.05);
320 f_mumuInvM->SetParLimits(2, 0.01, 0.08);
321 hist_inv_p->Fit(f_mumuInvM, "R");
322 double fit_mumumass = f_mumuInvM->GetParameter(1);
323 if (fit_mumumass < 9.) fit_mumumass = 9.;
324 if (fit_mumumass > 12.) fit_mumumass = 12.;
325 double fit_mumumass_error = f_mumuInvM->GetParError(1);
326 double pull_mumumass = (fit_mumumass -
m_reference_mumu) / fit_mumumass_error;
327 double fit_sigma_mumu = f_mumuInvM->GetParameter(2);
328
329
330 double Nmumu_ECLMuonPair = hist_hltEff->GetBinContent(2);
331 double Nmumu_ECLMuonPairSelectmumu = hist_hltEff->GetBinContent(3);
332
333
334 mon_mumu->setVariable(
"mean_npxd", mean_npxd);
335 mon_mumu->setVariable(
"mean_nsvd", mean_nsvd);
336 mon_mumu->setVariable(
"mean_ncdc", mean_ncdc);
337 mon_mumu->setVariable(
"mean_nklmlayer", mean_nklmlayer);
338 mon_mumu->setVariable(
"mean_nklm", mean_nklm);
339 mon_mumu->setVariable(
"mean_nbklm", mean_nbklm);
340 mon_mumu->setVariable(
"mean_neklm", mean_neklm);
341 mon_mumu->setVariable(
"mean_topdig", mean_topdig);
342 mon_mumu->setVariable(
"mean_parich", mean_parich);
343 mon_mumu->setVariable(
"mean_ncdc_ex", mean_ncdc_ex);
344 mon_mumu->setVariable(
"mean_necl", mean_necl);
345 mon_mumu->setVariable(
"mean_muid", mean_muid);
346 mon_mumu->setVariable(
"mean_d0", mean_d0);
347 mon_mumu->setVariable(
"mean_z0", mean_z0);
348 mon_mumu->setVariable(
"mean_pval", mean_pval);
349 mon_mumu->setVariable(
"mean_ndf", mean_ndf);
350 mon_mumu->setVariable(
"dif_ndf_ncdc", dif_ndf_ncdc);
351 mon_mumu->setVariable(
"mean_dd0", mean_dd0);
352 mon_mumu->setVariable(
"mean_dz0", mean_dz0);
353 mon_mumu->setVariable(
"mean_dpt", mean_dpt);
354 mon_mumu->setVariable(
"rms_dd0", rms_dd0);
355 mon_mumu->setVariable(
"rms_dz0", rms_dz0);
356 mon_mumu->setVariable(
"rms_dpt", rms_dpt);
357 mon_mumu->setVariable(
"sigma68_dd0", sigma68_dd0);
358 mon_mumu->setVariable(
"sigma68_dz0", sigma68_dz0);
359 mon_mumu->setVariable(
"sigma68_dpt", sigma68_dpt);
360 mon_mumu->setVariable(
"neve_mumu", neve_mumu);
361 mon_mumu->setVariable(
"goodmu_frac", goodmu_frac);
362 mon_mumu->setVariable(
"goodmu_o_badmu", goodmu_o_badmu);
363 mon_mumu->setVariable(
"pval_frac_0", pval_frac_0);
364 mon_mumu->setVariable(
"pval_frac_1", pval_frac_1);
365 mon_mumu->setVariable(
"nocdc_frac", nocdc_frac);
366 mon_mumu->setVariable(
"notop_frac", notop_frac);
367 mon_mumu->setVariable(
"noarich_frac", noarich_frac);
368 mon_mumu->setVariable(
"fit_mumumass", fit_mumumass);
369 mon_mumu->setVariable(
"fit_mumumass_error", fit_mumumass_error);
370 mon_mumu->setVariable(
"pull_mumumass", pull_mumumass);
371 mon_mumu->setVariable(
"sigma_mumumass", fit_sigma_mumu);
372 mon_mumu->setVariable(
"Nmumu_ECLMuonPair", Nmumu_ECLMuonPair);
373 mon_mumu->setVariable(
"Nmumu_ECLMuonPairSelectmumu", Nmumu_ECLMuonPairSelectmumu);
374
375
376
377 auto* hist_D0_InvM =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_InvM");
378 auto* hist_delta_m =
findHist(
"PhysicsObjectsMiraBelleDst/hist_delta_m");
379 auto* hist_D0_softpi_PID_ALL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_ALL_pion");
380 auto* hist_D0_softpi_PID_SVD_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_SVD_pion");
381 auto* hist_D0_softpi_PID_CDC_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_CDC_pion");
382 auto* hist_D0_softpi_PID_TOP_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_TOP_pion");
383 auto* hist_D0_softpi_PID_ARICH_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_ARICH_pion");
384 auto* hist_D0_softpi_PID_ECL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_ECL_pion");
385 auto* hist_D0_softpi_PID_KLM_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_softpi_PID_KLM_pion");
386 auto* hist_D0_pi_PID_ALL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_ALL_pion");
387 auto* hist_D0_pi_PID_SVD_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_SVD_pion");
388 auto* hist_D0_pi_PID_CDC_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_CDC_pion");
389 auto* hist_D0_pi_PID_TOP_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_TOP_pion");
390 auto* hist_D0_pi_PID_ARICH_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_ARICH_pion");
391 auto* hist_D0_pi_PID_ECL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_ECL_pion");
392 auto* hist_D0_pi_PID_KLM_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_pi_PID_KLM_pion");
393 auto* hist_D0_K_PID_ALL_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_ALL_kaon");
394 auto* hist_D0_K_PID_SVD_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_SVD_kaon");
395 auto* hist_D0_K_PID_CDC_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_CDC_kaon");
396 auto* hist_D0_K_PID_TOP_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_TOP_kaon");
397 auto* hist_D0_K_PID_ARICH_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_ARICH_kaon");
398 auto* hist_D0_K_PID_ECL_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_ECL_kaon");
399 auto* hist_D0_K_PID_KLM_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_D0_K_PID_KLM_kaon");
400 auto* hist_sideband_D0_softpi_PID_ALL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_ALL_pion");
401 auto* hist_sideband_D0_softpi_PID_SVD_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_SVD_pion");
402 auto* hist_sideband_D0_softpi_PID_CDC_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_CDC_pion");
403 auto* hist_sideband_D0_softpi_PID_TOP_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_TOP_pion");
404 auto* hist_sideband_D0_softpi_PID_ARICH_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_ARICH_pion");
405 auto* hist_sideband_D0_softpi_PID_ECL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_ECL_pion");
406 auto* hist_sideband_D0_softpi_PID_KLM_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_softpi_PID_KLM_pion");
407 auto* hist_sideband_D0_pi_PID_ALL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_ALL_pion");
408 auto* hist_sideband_D0_pi_PID_SVD_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_SVD_pion");
409 auto* hist_sideband_D0_pi_PID_CDC_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_CDC_pion");
410 auto* hist_sideband_D0_pi_PID_TOP_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_TOP_pion");
411 auto* hist_sideband_D0_pi_PID_ARICH_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_ARICH_pion");
412 auto* hist_sideband_D0_pi_PID_ECL_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_ECL_pion");
413 auto* hist_sideband_D0_pi_PID_KLM_pion =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_pi_PID_KLM_pion");
414 auto* hist_sideband_D0_K_PID_ALL_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_ALL_kaon");
415 auto* hist_sideband_D0_K_PID_SVD_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_SVD_kaon");
416 auto* hist_sideband_D0_K_PID_CDC_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_CDC_kaon");
417 auto* hist_sideband_D0_K_PID_TOP_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_TOP_kaon");
418 auto* hist_sideband_D0_K_PID_ARICH_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_ARICH_kaon");
419 auto* hist_sideband_D0_K_PID_ECL_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_ECL_kaon");
420 auto* hist_sideband_D0_K_PID_KLM_kaon =
findHist(
"PhysicsObjectsMiraBelleDst/hist_sideband_D0_K_PID_KLM_kaon");
421 auto* hist_D0_pi0_InvM =
findHist(
"PhysicsObjectsMiraBelleDst2/hist_D0_pi0_InvM");
422 if (hist_D0_InvM == nullptr) {
423 B2ERROR("Can not find the hist_D0_InvM histogram!");
424 return;
425 }
426 if (hist_delta_m == nullptr) {
427 B2ERROR("Can not find the hist_delta_m histogram!");
428 return;
429 }
430 if (hist_D0_softpi_PID_ALL_pion == nullptr) {
431 B2ERROR("Can not find the hist_D0_softpi_PID_ALL_pion histogram!");
432 return;
433 }
434 if (hist_D0_softpi_PID_SVD_pion == nullptr) {
435 B2ERROR("Can not find the hist_D0_softpi_PID_SVD_pion histogram!");
436 return;
437 }
438 if (hist_D0_softpi_PID_CDC_pion == nullptr) {
439 B2ERROR("Can not find the hist_D0_softpi_PID_CDC_pion histogram!");
440 return;
441 }
442 if (hist_D0_softpi_PID_TOP_pion == nullptr) {
443 B2ERROR("Can not find the hist_D0_softpi_PID_TOP_pion histogram!");
444 return;
445 }
446 if (hist_D0_softpi_PID_ARICH_pion == nullptr) {
447 B2ERROR("Can not find the hist_D0_softpi_PID_ARICH_pion histogram!");
448 return;
449 }
450 if (hist_D0_softpi_PID_ECL_pion == nullptr) {
451 B2ERROR("Can not find the hist_D0_softpi_PID_ECL_pion histogram!");
452 return;
453 }
454 if (hist_D0_softpi_PID_KLM_pion == nullptr) {
455 B2ERROR("Can not find the hist_D0_softpi_PID_KLM_pion histogram!");
456 return;
457 }
458 if (hist_D0_pi_PID_ALL_pion == nullptr) {
459 B2ERROR("Can not find the hist_D0_pi_PID_ALL_pion histogram!");
460 return;
461 }
462 if (hist_D0_pi_PID_SVD_pion == nullptr) {
463 B2ERROR("Can not find the hist_D0_pi_PID_SVD_pion histogram!");
464 return;
465 }
466 if (hist_D0_pi_PID_CDC_pion == nullptr) {
467 B2ERROR("Can not find the hist_D0_pi_PID_CDC_pion histogram!");
468 return;
469 }
470 if (hist_D0_pi_PID_TOP_pion == nullptr) {
471 B2ERROR("Can not find the hist_D0_pi_PID_TOP_pion histogram!");
472 return;
473 }
474 if (hist_D0_pi_PID_ARICH_pion == nullptr) {
475 B2ERROR("Can not find the hist_D0_pi_PID_ARICH_pion histogram!");
476 return;
477 }
478 if (hist_D0_pi_PID_ECL_pion == nullptr) {
479 B2ERROR("Can not find the hist_D0_pi_PID_ECL_pion histogram!");
480 return;
481 }
482 if (hist_D0_pi_PID_KLM_pion == nullptr) {
483 B2ERROR("Can not find the hist_D0_pi_PID_KLM_pion histogram!");
484 return;
485 }
486 if (hist_D0_K_PID_ALL_kaon == nullptr) {
487 B2ERROR("Can not find the hist_D0_K_PID_ALL_kaon histogram!");
488 return;
489 }
490 if (hist_D0_K_PID_SVD_kaon == nullptr) {
491 B2ERROR("Can not find the hist_D0_K_PID_SVD_kaon histogram!");
492 return;
493 }
494 if (hist_D0_K_PID_CDC_kaon == nullptr) {
495 B2ERROR("Can not find the hist_D0_K_PID_CDC_kaon histogram!");
496 return;
497 }
498 if (hist_D0_K_PID_TOP_kaon == nullptr) {
499 B2ERROR("Can not find the hist_D0_K_PID_TOP_kaon histogram!");
500 return;
501 }
502 if (hist_D0_K_PID_ARICH_kaon == nullptr) {
503 B2ERROR("Can not find the hist_D0_K_PID_ARICH_kaon histogram!");
504 return;
505 }
506 if (hist_D0_K_PID_ECL_kaon == nullptr) {
507 B2ERROR("Can not find the hist_D0_K_PID_ECL_kaon histogram!");
508 return;
509 }
510 if (hist_D0_K_PID_KLM_kaon == nullptr) {
511 B2ERROR("Can not find the hist_D0_K_PID_KLM_kaon histogram!");
512 return;
513 }
514 if (hist_sideband_D0_softpi_PID_ALL_pion == nullptr) {
515 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_ALL_pion histogram!");
516 return;
517 }
518 if (hist_sideband_D0_softpi_PID_SVD_pion == nullptr) {
519 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_SVD_pion histogram!");
520 return;
521 }
522 if (hist_sideband_D0_softpi_PID_CDC_pion == nullptr) {
523 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_CDC_pion histogram!");
524 return;
525 }
526 if (hist_sideband_D0_softpi_PID_TOP_pion == nullptr) {
527 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_TOP_pion histogram!");
528 return;
529 }
530 if (hist_sideband_D0_softpi_PID_ARICH_pion == nullptr) {
531 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_ARICH_pion histogram!");
532 return;
533 }
534 if (hist_sideband_D0_softpi_PID_ECL_pion == nullptr) {
535 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_ECL_pion histogram!");
536 return;
537 }
538 if (hist_sideband_D0_softpi_PID_KLM_pion == nullptr) {
539 B2ERROR("Can not find the hist_sideband_D0_softpi_PID_KLM_pion histogram!");
540 return;
541 }
542 if (hist_sideband_D0_pi_PID_ALL_pion == nullptr) {
543 B2ERROR("Can not find the hist_sideband_D0_pi_PID_ALL_pion histogram!");
544 return;
545 }
546 if (hist_sideband_D0_pi_PID_SVD_pion == nullptr) {
547 B2ERROR("Can not find the hist_sideband_D0_pi_PID_SVD_pion histogram!");
548 return;
549 }
550 if (hist_sideband_D0_pi_PID_CDC_pion == nullptr) {
551 B2ERROR("Can not find the hist_sideband_D0_pi_PID_CDC_pion histogram!");
552 return;
553 }
554 if (hist_sideband_D0_pi_PID_TOP_pion == nullptr) {
555 B2ERROR("Can not find the hist_sideband_D0_pi_PID_TOP_pion histogram!");
556 return;
557 }
558 if (hist_sideband_D0_pi_PID_ARICH_pion == nullptr) {
559 B2ERROR("Can not find the hist_sideband_D0_pi_PID_ARICH_pion histogram!");
560 return;
561 }
562 if (hist_sideband_D0_pi_PID_ECL_pion == nullptr) {
563 B2ERROR("Can not find the hist_sideband_D0_pi_PID_ECL_pion histogram!");
564 return;
565 }
566 if (hist_sideband_D0_pi_PID_KLM_pion == nullptr) {
567 B2ERROR("Can not find the hist_sideband_D0_pi_PID_KLM_pion histogram!");
568 return;
569 }
570 if (hist_sideband_D0_K_PID_ALL_kaon == nullptr) {
571 B2ERROR("Can not find the hist_sideband_D0_K_PID_ALL_kaon histogram!");
572 return;
573 }
574 if (hist_sideband_D0_K_PID_SVD_kaon == nullptr) {
575 B2ERROR("Can not find the hist_sideband_D0_K_PID_SVD_kaon histogram!");
576 return;
577 }
578 if (hist_sideband_D0_K_PID_CDC_kaon == nullptr) {
579 B2ERROR("Can not find the hist_sideband_D0_K_PID_CDC_kaon histogram!");
580 return;
581 }
582 if (hist_sideband_D0_K_PID_TOP_kaon == nullptr) {
583 B2ERROR("Can not find the hist_sideband_D0_K_PID_TOP_kaon histogram!");
584 return;
585 }
586 if (hist_sideband_D0_K_PID_ARICH_kaon == nullptr) {
587 B2ERROR("Can not find the hist_sideband_D0_K_PID_ARICH_kaon histogram!");
588 return;
589 }
590 if (hist_sideband_D0_K_PID_ECL_kaon == nullptr) {
591 B2ERROR("Can not find the hist_sideband_D0_K_PID_ECL_kaon histogram!");
592 return;
593 }
594 if (hist_sideband_D0_K_PID_KLM_kaon == nullptr) {
595 B2ERROR("Can not find the hist_sideband_D0_K_PID_KLM_kaon histogram!");
596 return;
597 }
598 if (hist_D0_pi0_InvM == nullptr) {
599 B2ERROR("Can not find the hist_D0_pi0_InvM histogram!");
600 return;
601 }
602
603 TF1* f_InvM = new TF1("f_InvM", "[0]*TMath::Gaus(x,[1],[2])+[3]*pow(x-[4],2)+[5]", 1.81, 1.95);
604 f_InvM->SetParNames("Height", "#mu", "#sigma", "a", "b", "c");
605 f_InvM->SetParameters(hist_D0_InvM->GetMaximum(), 1.86, 5e-3, 0., 1.86, 0.);
606 hist_D0_InvM->Fit(f_InvM, "", "", 1.81, 1.95);
607 f_InvM->SetLineColor(kRed);
608
609 TF1* f_delta_m = new TF1("f_delta_m", "[0]*TMath::Gaus(x,[1],[2])+[3]*pow(x-[4],2)+[5]", 0.14, 0.16);
610 f_delta_m->SetParNames("Height", "#mu", "#sigma", "a", "b", "c");
611 f_delta_m->SetParameters(hist_delta_m->GetMaximum(), 0.145, 5e-4, 0., 0.145, 0.);
612 hist_delta_m->Fit(f_delta_m, "", "", 0.14, 0.16);
613 f_delta_m->SetLineColor(kRed);
614
615 TF1* f_pi0_InvM = new TF1("f_pi0_InvM", "[0]*TMath::Gaus(x,[1],[2])+[3]*pow(x-[4],2)+[5]", 0.09, 0.17);
616 f_pi0_InvM->SetParNames("Height", "#mu", "#sigma", "a", "b", "c");
617 f_pi0_InvM->SetParameters(hist_D0_pi0_InvM->GetMaximum(), 0.13, 5e-3, 0., 0.13, 0.);
618 hist_D0_pi0_InvM->Fit(f_pi0_InvM, "", "", 0.09, 0.17);
619 f_pi0_InvM->SetLineColor(kRed);
620
621
622 TF1* f_gaus_InvM = new TF1("f_gaus_InvM", "gaus", 1.81, 1.95);
623 f_gaus_InvM->SetParameters(f_InvM->GetParameter(0), f_InvM->GetParameter(1), f_InvM->GetParameter(2));
624 double InvM_bin_width = hist_D0_InvM->GetXaxis()->GetBinWidth(1);
625 double neve_dst = f_gaus_InvM->Integral(1.81, 1.95) / InvM_bin_width;
626
627 TF1* f_gaus_pi0_InvM = new TF1("f_gaus_pi0_InvM", "gaus", 0.09, 0.17);
628 f_gaus_pi0_InvM->SetParameters(f_pi0_InvM->GetParameter(0), f_pi0_InvM->GetParameter(1), f_pi0_InvM->GetParameter(2));
629 double pi0_InvM_bin_width = hist_D0_pi0_InvM->GetXaxis()->GetBinWidth(1);
630 double neve_pi0 = f_gaus_pi0_InvM->Integral(0.09, 0.17) / pi0_InvM_bin_width;
631
632
633 hist_D0_softpi_PID_ALL_pion->Sumw2();
634 hist_D0_softpi_PID_SVD_pion->Sumw2();
635 hist_D0_softpi_PID_CDC_pion->Sumw2();
636 hist_D0_softpi_PID_TOP_pion->Sumw2();
637 hist_D0_softpi_PID_ARICH_pion->Sumw2();
638 hist_D0_softpi_PID_ECL_pion->Sumw2();
639 hist_D0_softpi_PID_KLM_pion->Sumw2();
640 hist_D0_pi_PID_ALL_pion->Sumw2();
641 hist_D0_pi_PID_SVD_pion->Sumw2();
642 hist_D0_pi_PID_CDC_pion->Sumw2();
643 hist_D0_pi_PID_TOP_pion->Sumw2();
644 hist_D0_pi_PID_ARICH_pion->Sumw2();
645 hist_D0_pi_PID_ECL_pion->Sumw2();
646 hist_D0_pi_PID_KLM_pion->Sumw2();
647 hist_D0_K_PID_ALL_kaon->Sumw2();
648 hist_D0_K_PID_SVD_kaon->Sumw2();
649 hist_D0_K_PID_CDC_kaon->Sumw2();
650 hist_D0_K_PID_TOP_kaon->Sumw2();
651 hist_D0_K_PID_ARICH_kaon->Sumw2();
652 hist_D0_K_PID_ECL_kaon->Sumw2();
653 hist_D0_K_PID_KLM_kaon->Sumw2();
654 hist_sideband_D0_softpi_PID_ALL_pion->Sumw2();
655 hist_sideband_D0_softpi_PID_SVD_pion->Sumw2();
656 hist_sideband_D0_softpi_PID_CDC_pion->Sumw2();
657 hist_sideband_D0_softpi_PID_TOP_pion->Sumw2();
658 hist_sideband_D0_softpi_PID_ARICH_pion->Sumw2();
659 hist_sideband_D0_softpi_PID_ECL_pion->Sumw2();
660 hist_sideband_D0_softpi_PID_KLM_pion->Sumw2();
661 hist_sideband_D0_pi_PID_ALL_pion->Sumw2();
662 hist_sideband_D0_pi_PID_SVD_pion->Sumw2();
663 hist_sideband_D0_pi_PID_CDC_pion->Sumw2();
664 hist_sideband_D0_pi_PID_TOP_pion->Sumw2();
665 hist_sideband_D0_pi_PID_ARICH_pion->Sumw2();
666 hist_sideband_D0_pi_PID_ECL_pion->Sumw2();
667 hist_sideband_D0_pi_PID_KLM_pion->Sumw2();
668 hist_sideband_D0_K_PID_ALL_kaon->Sumw2();
669 hist_sideband_D0_K_PID_SVD_kaon->Sumw2();
670 hist_sideband_D0_K_PID_CDC_kaon->Sumw2();
671 hist_sideband_D0_K_PID_TOP_kaon->Sumw2();
672 hist_sideband_D0_K_PID_ARICH_kaon->Sumw2();
673 hist_sideband_D0_K_PID_ECL_kaon->Sumw2();
674 hist_sideband_D0_K_PID_KLM_kaon->Sumw2();
675
676
677 hist_sideband_D0_softpi_PID_ALL_pion->Scale(
m_scale_dst);
678 hist_sideband_D0_softpi_PID_SVD_pion->Scale(
m_scale_dst);
679 hist_sideband_D0_softpi_PID_CDC_pion->Scale(
m_scale_dst);
680 hist_sideband_D0_softpi_PID_TOP_pion->Scale(
m_scale_dst);
681 hist_sideband_D0_softpi_PID_ARICH_pion->Scale(
m_scale_dst);
682 hist_sideband_D0_softpi_PID_ECL_pion->Scale(
m_scale_dst);
683 hist_sideband_D0_softpi_PID_KLM_pion->Scale(
m_scale_dst);
684 hist_sideband_D0_pi_PID_ALL_pion->Scale(
m_scale_dst);
685 hist_sideband_D0_pi_PID_SVD_pion->Scale(
m_scale_dst);
686 hist_sideband_D0_pi_PID_CDC_pion->Scale(
m_scale_dst);
687 hist_sideband_D0_pi_PID_TOP_pion->Scale(
m_scale_dst);
688 hist_sideband_D0_pi_PID_ARICH_pion->Scale(
m_scale_dst);
689 hist_sideband_D0_pi_PID_ECL_pion->Scale(
m_scale_dst);
690 hist_sideband_D0_pi_PID_KLM_pion->Scale(
m_scale_dst);
691 hist_sideband_D0_K_PID_ALL_kaon->Scale(
m_scale_dst);
692 hist_sideband_D0_K_PID_SVD_kaon->Scale(
m_scale_dst);
693 hist_sideband_D0_K_PID_CDC_kaon->Scale(
m_scale_dst);
694 hist_sideband_D0_K_PID_TOP_kaon->Scale(
m_scale_dst);
695 hist_sideband_D0_K_PID_ARICH_kaon->Scale(
m_scale_dst);
696 hist_sideband_D0_K_PID_ECL_kaon->Scale(
m_scale_dst);
697 hist_sideband_D0_K_PID_KLM_kaon->Scale(
m_scale_dst);
698
699
700 hist_D0_softpi_PID_ALL_pion->Add(hist_sideband_D0_softpi_PID_ALL_pion, -1);
701 hist_D0_softpi_PID_SVD_pion->Add(hist_sideband_D0_softpi_PID_SVD_pion, -1);
702 hist_D0_softpi_PID_CDC_pion->Add(hist_sideband_D0_softpi_PID_CDC_pion, -1);
703 hist_D0_softpi_PID_TOP_pion->Add(hist_sideband_D0_softpi_PID_TOP_pion, -1);
704 hist_D0_softpi_PID_ARICH_pion->Add(hist_sideband_D0_softpi_PID_ARICH_pion, -1);
705 hist_D0_softpi_PID_ECL_pion->Add(hist_sideband_D0_softpi_PID_ECL_pion, -1);
706 hist_D0_softpi_PID_KLM_pion->Add(hist_sideband_D0_softpi_PID_KLM_pion, -1);
707 hist_D0_pi_PID_ALL_pion->Add(hist_sideband_D0_pi_PID_ALL_pion, -1);
708 hist_D0_pi_PID_SVD_pion->Add(hist_sideband_D0_pi_PID_SVD_pion, -1);
709 hist_D0_pi_PID_CDC_pion->Add(hist_sideband_D0_pi_PID_CDC_pion, -1);
710 hist_D0_pi_PID_TOP_pion->Add(hist_sideband_D0_pi_PID_TOP_pion, -1);
711 hist_D0_pi_PID_ARICH_pion->Add(hist_sideband_D0_pi_PID_ARICH_pion, -1);
712 hist_D0_pi_PID_ECL_pion->Add(hist_sideband_D0_pi_PID_ECL_pion, -1);
713 hist_D0_pi_PID_KLM_pion->Add(hist_sideband_D0_pi_PID_KLM_pion, -1);
714 hist_D0_K_PID_ALL_kaon->Add(hist_sideband_D0_K_PID_ALL_kaon, -1);
715 hist_D0_K_PID_SVD_kaon->Add(hist_sideband_D0_K_PID_SVD_kaon, -1);
716 hist_D0_K_PID_CDC_kaon->Add(hist_sideband_D0_K_PID_CDC_kaon, -1);
717 hist_D0_K_PID_TOP_kaon->Add(hist_sideband_D0_K_PID_TOP_kaon, -1);
718 hist_D0_K_PID_ARICH_kaon->Add(hist_sideband_D0_K_PID_ARICH_kaon, -1);
719 hist_D0_K_PID_ECL_kaon->Add(hist_sideband_D0_K_PID_ECL_kaon, -1);
720 hist_D0_K_PID_KLM_kaon->Add(hist_sideband_D0_K_PID_KLM_kaon, -1);
721
722
723
726 hist_D0_InvM->Draw();
727 f_InvM->Draw("SAME");
729 hist_delta_m->Draw();
730 f_delta_m->Draw("SAME");
732 hist_D0_pi0_InvM->Draw();
733 f_pi0_InvM->Draw("SAME");
734
736 dst_pi_val->cd(1); hist_D0_pi_PID_ALL_pion->Draw();
737 dst_pi_val->cd(2); hist_D0_pi_PID_SVD_pion->Draw();
738 dst_pi_val->cd(3); hist_D0_pi_PID_CDC_pion->Draw();
739 dst_pi_val->cd(4); hist_D0_pi_PID_TOP_pion->Draw();
740 dst_pi_val->cd(5); hist_D0_pi_PID_ARICH_pion->Draw();
741 dst_pi_val->cd(6); hist_D0_pi_PID_ECL_pion->Draw();
742 dst_pi_val->cd(7); hist_D0_pi_PID_KLM_pion->Draw();
743
745 dst_k_val->cd(1); hist_D0_K_PID_ALL_kaon->Draw();
746 dst_k_val->cd(2); hist_D0_K_PID_SVD_kaon->Draw();
747 dst_k_val->cd(3); hist_D0_K_PID_CDC_kaon->Draw();
748 dst_k_val->cd(4); hist_D0_K_PID_TOP_kaon->Draw();
749 dst_k_val->cd(5); hist_D0_K_PID_ARICH_kaon->Draw();
750 dst_k_val->cd(6); hist_D0_K_PID_ECL_kaon->Draw();
751 dst_k_val->cd(7); hist_D0_K_PID_KLM_kaon->Draw();
752
753
754 double mean_D0_InvM = f_InvM->GetParameter(1);
755 double width_D0_InvM = f_InvM->GetParameter(2);
756 double mean_delta_m = f_delta_m->GetParameter(1);
757 double width_delta_m = f_delta_m->GetParameter(2);
758 double mean_pi0_InvM = f_pi0_InvM->GetParameter(1);
759 double width_pi0_InvM = f_pi0_InvM->GetParameter(2);
760 double mean_D0_softpi_PID_ALL_pion = hist_D0_softpi_PID_ALL_pion->GetMean();
761 double mean_D0_softpi_PID_SVD_pion = hist_D0_softpi_PID_SVD_pion->GetMean();
762 double mean_D0_softpi_PID_CDC_pion = hist_D0_softpi_PID_CDC_pion->GetMean();
763 double mean_D0_softpi_PID_TOP_pion = hist_D0_softpi_PID_TOP_pion->GetMean();
764 double mean_D0_softpi_PID_ARICH_pion = hist_D0_softpi_PID_ARICH_pion->GetMean();
765 double mean_D0_softpi_PID_ECL_pion = hist_D0_softpi_PID_ECL_pion->GetMean();
766 double mean_D0_softpi_PID_KLM_pion = hist_D0_softpi_PID_KLM_pion->GetMean();
767 double mean_D0_pi_PID_ALL_pion = hist_D0_pi_PID_ALL_pion->GetMean();
768 double mean_D0_pi_PID_SVD_pion = hist_D0_pi_PID_SVD_pion->GetMean();
769 double mean_D0_pi_PID_CDC_pion = hist_D0_pi_PID_CDC_pion->GetMean();
770 double mean_D0_pi_PID_TOP_pion = hist_D0_pi_PID_TOP_pion->GetMean();
771 double mean_D0_pi_PID_ARICH_pion = hist_D0_pi_PID_ARICH_pion->GetMean();
772 double mean_D0_pi_PID_ECL_pion = hist_D0_pi_PID_ECL_pion->GetMean();
773 double mean_D0_pi_PID_KLM_pion = hist_D0_pi_PID_KLM_pion->GetMean();
774 double mean_D0_K_PID_ALL_kaon = hist_D0_K_PID_ALL_kaon->GetMean();
775 double mean_D0_K_PID_SVD_kaon = hist_D0_K_PID_SVD_kaon->GetMean();
776 double mean_D0_K_PID_CDC_kaon = hist_D0_K_PID_CDC_kaon->GetMean();
777 double mean_D0_K_PID_TOP_kaon = hist_D0_K_PID_TOP_kaon->GetMean();
778 double mean_D0_K_PID_ARICH_kaon = hist_D0_K_PID_ARICH_kaon->GetMean();
779 double mean_D0_K_PID_ECL_kaon = hist_D0_K_PID_ECL_kaon->GetMean();
780 double mean_D0_K_PID_KLM_kaon = hist_D0_K_PID_KLM_kaon->GetMean();
781
782
783 mon_dst->setVariable(
"neve_dst", neve_dst);
784 mon_dst->setVariable(
"neve_pi0", neve_pi0);
785 mon_dst->setVariable(
"mean_D0_InvM", mean_D0_InvM);
786 mon_dst->setVariable(
"width_D0_InvM", width_D0_InvM);
787 mon_dst->setVariable(
"mean_delta_m", mean_delta_m);
788 mon_dst->setVariable(
"width_delta_m", width_delta_m);
789 mon_dst->setVariable(
"mean_pi0_InvM", mean_pi0_InvM);
790 mon_dst->setVariable(
"width_pi0_InvM", width_pi0_InvM);
791 mon_dst->setVariable(
"mean_D0_softpi_PID_ALL_pion", mean_D0_softpi_PID_ALL_pion);
792 mon_dst->setVariable(
"mean_D0_softpi_PID_SVD_pion", mean_D0_softpi_PID_SVD_pion);
793 mon_dst->setVariable(
"mean_D0_softpi_PID_CDC_pion", mean_D0_softpi_PID_CDC_pion);
794 mon_dst->setVariable(
"mean_D0_softpi_PID_TOP_pion", mean_D0_softpi_PID_TOP_pion);
795 mon_dst->setVariable(
"mean_D0_softpi_PID_ARICH_pion", mean_D0_softpi_PID_ARICH_pion);
796 mon_dst->setVariable(
"mean_D0_softpi_PID_ECL_pion", mean_D0_softpi_PID_ECL_pion);
797 mon_dst->setVariable(
"mean_D0_softpi_PID_KLM_pion", mean_D0_softpi_PID_KLM_pion);
798 mon_dst->setVariable(
"mean_D0_pi_PID_ALL_pion", mean_D0_pi_PID_ALL_pion);
799 mon_dst->setVariable(
"mean_D0_pi_PID_SVD_pion", mean_D0_pi_PID_SVD_pion);
800 mon_dst->setVariable(
"mean_D0_pi_PID_CDC_pion", mean_D0_pi_PID_CDC_pion);
801 mon_dst->setVariable(
"mean_D0_pi_PID_TOP_pion", mean_D0_pi_PID_TOP_pion);
802 mon_dst->setVariable(
"mean_D0_pi_PID_ARICH_pion", mean_D0_pi_PID_ARICH_pion);
803 mon_dst->setVariable(
"mean_D0_pi_PID_ECL_pion", mean_D0_pi_PID_ECL_pion);
804 mon_dst->setVariable(
"mean_D0_pi_PID_KLM_pion", mean_D0_pi_PID_KLM_pion);
805 mon_dst->setVariable(
"mean_D0_K_PID_ALL_kaon", mean_D0_K_PID_ALL_kaon);
806 mon_dst->setVariable(
"mean_D0_K_PID_SVD_kaon", mean_D0_K_PID_SVD_kaon);
807 mon_dst->setVariable(
"mean_D0_K_PID_CDC_kaon", mean_D0_K_PID_CDC_kaon);
808 mon_dst->setVariable(
"mean_D0_K_PID_TOP_kaon", mean_D0_K_PID_TOP_kaon);
809 mon_dst->setVariable(
"mean_D0_K_PID_ARICH_kaon", mean_D0_K_PID_ARICH_kaon);
810 mon_dst->setVariable(
"mean_D0_K_PID_ECL_kaon", mean_D0_K_PID_ECL_kaon);
811 mon_dst->setVariable(
"mean_D0_K_PID_KLM_kaon", mean_D0_K_PID_KLM_kaon);
812
813
814 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1ECL1x1"); ptr !=
nullptr) {
815 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
816 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
817 std::string label = std::string("ECL_1_1_") + ptr->GetXaxis()->GetBinLabel(bin);
818 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
819 }
820 }
821 }
822 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1ECL1x3"); ptr !=
nullptr) {
823 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
824 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
825 std::string label = std::string("ECL_1_3_") + ptr->GetXaxis()->GetBinLabel(bin);
826 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
827 }
828 }
829 }
830 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1CDC1x1"); ptr !=
nullptr) {
831 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
832 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
833 std::string label = std::string("CDC_1_1_") + ptr->GetXaxis()->GetBinLabel(bin);
834 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
835 }
836 }
837 }
838 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1CDC1x3"); ptr !=
nullptr) {
839 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
840 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
841 std::string label = std::string("CDC_1_3_") + ptr->GetXaxis()->GetBinLabel(bin);
842 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
843 }
844 }
845 }
846 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1CDCKLM1x1"); ptr !=
nullptr) {
847 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
848 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
849 std::string label = std::string("CDCKLM_1_1_") + ptr->GetXaxis()->GetBinLabel(bin);
850 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
851 }
852 }
853 }
854 if (
auto* ptr =
findHist(
"PhysicsObjectsMiraBelleTau/hist_L1CDCKLM1x3"); ptr !=
nullptr) {
855 for (int bin = 1; bin <= ptr->GetXaxis()->GetNbins(); bin++) {
856 if (!std::string(ptr->GetXaxis()->GetBinLabel(bin)).empty()) {
857 std::string label = std::string("CDCKLM_1_3_") + ptr->GetXaxis()->GetBinLabel(bin);
858 mon_tautau->setVariable(label, ptr->GetBinContent(bin));
859 }
860 }
861 }
862
863
864
865
866 auto* histbh_npxd =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_npxd");
867 auto* histbh_nsvd =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_nsvd");
868 auto* histbh_ncdc =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_ncdc");
869 auto* histbh_topdig =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_topdig");
870 auto* histbh_DetPhotonARICH =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_DetPhotonARICH");
871 auto* histbh_dD0 =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_dD0");
872 auto* histbh_dZ0 =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_dZ0");
873 auto* histbh_dPtcms =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_dPtcms");
874 auto* histbh_Pval =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_Pval");
875 auto* histbh_nExtraCDCHits =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_nExtraCDCHits");
876 auto* histbh_nECLClusters =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_nECLClusters");
877 auto* histbh_electronid =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_electronid");
878 auto* histbh_inv_p =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_inv_p");
879 auto* histbh_ndf =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_ndf");
880 auto* histbh_D0 =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_D0");
881 auto* histbh_Z0 =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_Z0");
882 auto* histbh_theta =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_theta");
883 auto* histbh_Phi0 =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_Phi0");
884 auto* histbh_Pt =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_Pt");
885 auto* histbh_Mom =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_Mom");
886 auto* histbh_dPhicms =
findHist(
"PhysicsObjectsMiraBelleBhabha/hist_dPhicms");
887
888 if (histbh_npxd == nullptr) {
889 B2ERROR("Can not find the histbh_npxd histogram!");
890 return;
891 }
892 if (histbh_nsvd == nullptr) {
893 B2ERROR("Can not find the histbh_nsvd histogram!");
894 return;
895 }
896 if (histbh_ncdc == nullptr) {
897 B2ERROR("Can not find the histbh_ncdc histogram!");
898 return;
899 }
900 if (histbh_topdig == nullptr) {
901 B2ERROR("Can not find the histbh_topdig histogram!");
902 return;
903 }
904 if (histbh_DetPhotonARICH == nullptr) {
905 B2ERROR("Can not find the histbh_DetPhotonARICH histogram!");
906 return;
907 }
908 if (histbh_dD0 == nullptr) {
909 B2ERROR("Can not find the histbh_dD0 histogram!");
910 return;
911 }
912 if (histbh_dZ0 == nullptr) {
913 B2ERROR("Can not find the histbh_dZ0 histogram!");
914 return;
915 }
916 if (histbh_dPtcms == nullptr) {
917 B2ERROR("Can not find the histbh_dPtcms histogram!");
918 return;
919 }
920 if (histbh_Pval == nullptr) {
921 B2ERROR("Can not find the histbh_Pval histogram!");
922 return;
923 }
924 if (histbh_nExtraCDCHits == nullptr) {
925 B2ERROR("Can not find the histbh_nExtraCDCHits histogram!");
926 return;
927 }
928 if (histbh_nECLClusters == nullptr) {
929 B2ERROR("Can not find the histbh_nECLClusters histogram!");
930 return;
931 }
932 if (histbh_electronid == nullptr) {
933 B2ERROR("Can not find the histbh_electronid histogram!");
934 return;
935 }
936 if (histbh_inv_p == nullptr) {
937 B2ERROR("Can not find the histbh_inv_p histogram!");
938 return;
939 }
940 if (histbh_ndf == nullptr) {
941 B2ERROR("Can not find the histbh_ndf histogram!");
942 return;
943 }
944 if (histbh_D0 == nullptr) {
945 B2ERROR("Can not find the histbh_D0 histogram!");
946 return;
947 }
948 if (histbh_Z0 == nullptr) {
949 B2ERROR("Can not find the histbh_Z0 histogram!");
950 return;
951 }
952 if (histbh_theta == nullptr) {
953 B2ERROR("Can not find the histbh_theta histogram!");
954 return;
955 }
956 if (histbh_Phi0 == nullptr) {
957 B2ERROR("Can not find the histbh_Phi0 histogram!");
958 return;
959 }
960 if (histbh_Pt == nullptr) {
961 B2ERROR("Can not find the histbh_Pt histogram!");
962 return;
963 }
964 if (histbh_Mom == nullptr) {
965 B2ERROR("Can not find the histbh_Mom histogram!");
966 return;
967 }
968 if (histbh_dPhicms == nullptr) {
969 B2ERROR("Can not find the histbh_dPhicms histogram!");
970 return;
971 }
972
973
974
987
997
998
999 double bh_mean_npxd = histbh_npxd->GetMean();
1000 double bh_mean_nsvd = histbh_nsvd->GetMean();
1001 double bh_mean_ncdc = histbh_ncdc->GetMean();
1002 double bh_mean_topdig = histbh_topdig->GetMean();
1003 double bh_mean_parich = histbh_DetPhotonARICH->GetMean();
1004 double bh_mean_ncdc_ex = histbh_nExtraCDCHits->GetMean();
1005 double bh_mean_necl = histbh_nECLClusters->GetMean();
1006 double bh_mean_electronid = histbh_electronid->GetMean();
1007 double bh_mean_d0 = histbh_D0->GetMean();
1008 double bh_mean_z0 = histbh_Z0->GetMean();
1009 double bh_mean_pval = histbh_Pval->GetMean();
1010 double bh_mean_ndf = histbh_ndf->GetMean();
1011 double bh_dif_ndf_ncdc = mean_ndf - mean_ncdc;
1012 double bh_mean_dd0 = histbh_dD0->GetMean();
1013 double bh_mean_dz0 = histbh_dZ0->GetMean();
1014 double bh_mean_dpt = histbh_dPtcms->GetMean();
1015 double bh_rms_dd0 = histbh_dD0->GetRMS();
1016 double bh_rms_dz0 = histbh_dZ0->GetRMS();
1017 double bh_rms_dpt = histbh_dPtcms->GetRMS();
1018 double bh_sigma68_dd0 =
getSigma68(histbh_dD0);
1019 double bh_sigma68_dz0 =
getSigma68(histbh_dZ0);
1020 double bh_sigma68_dpt =
getSigma68(histbh_dPtcms);
1021 int bh_ntot = histbh_nECLClusters->GetEntries();
1022 double bh_neve_bhabha = bh_ntot;
1023 int bh_ntot_sign = histbh_nsvd->GetEntries();
1024 double bh_neve_bhabha_sign = bh_ntot_sign;
1025 double bh_goode_frac = -1.;
1026 double bh_pval_frac_0 = -1.;
1027 double bh_pval_frac_1 = -1.;
1028 double bh_nocdc_frac = -1.;
1029 double bh_notop_frac = -1.;
1030 double bh_noarich_frac = -1.;
1031 double eidcontent = histbh_electronid->GetBinContent(1);
1032 double bh_goode_o_bade;
1033 if (eidcontent != 0) {
1034 bh_goode_o_bade = histbh_electronid->GetBinContent(20) / eidcontent;
1035 } else {
1036 bh_goode_o_bade = 0.0;
1037 }
1038 double bh_pval_more95 = 0.0;
1039 double bh_pval_less05 = 0.0;
1040 for (int i = 95; i < 100; i++) bh_pval_more95 += histbh_Pval->GetBinContent(i + 1);
1041 for (int i = 0; i < 5; i++) bh_pval_less05 += histbh_Pval->GetBinContent(i + 1);
1042 if (bh_neve_bhabha_sign != 0) {
1043 bh_goode_frac = histbh_electronid->GetBinContent(20) / bh_neve_bhabha_sign;
1044 bh_pval_frac_0 = bh_pval_less05 / bh_neve_bhabha_sign;
1045 bh_pval_frac_1 = bh_pval_more95 / bh_neve_bhabha_sign;
1046 bh_nocdc_frac = histbh_ncdc->GetBinContent(1) / bh_neve_bhabha_sign;
1047 bh_notop_frac = histbh_topdig->GetBinContent(1) / bh_neve_bhabha_sign;
1048 bh_noarich_frac = histbh_DetPhotonARICH->GetBinContent(1) / bh_neve_bhabha_sign;
1049 } else {
1050 bh_goode_frac = 0.0;
1051 bh_pval_frac_0 = 0.0;
1052 bh_pval_frac_1 = 0.0;
1053 bh_nocdc_frac = 0.0;
1054 bh_notop_frac = 0.0;
1055 bh_noarich_frac = 0.0;
1056 }
1057
1058 mon_bhabha->setVariable(
"bh_mean_npxd", bh_mean_npxd);
1059 mon_bhabha->setVariable(
"bh_mean_nsvd", bh_mean_nsvd);
1060 mon_bhabha->setVariable(
"bh_mean_ncdc", bh_mean_ncdc);
1061 mon_bhabha->setVariable(
"bh_mean_topdig", bh_mean_topdig);
1062 mon_bhabha->setVariable(
"bh_mean_parich", bh_mean_parich);
1063 mon_bhabha->setVariable(
"bh_mean_ncdc_ex", bh_mean_ncdc_ex);
1064 mon_bhabha->setVariable(
"bh_mean_necl", bh_mean_necl);
1065 mon_bhabha->setVariable(
"bh_mean_electronid", bh_mean_electronid);
1066 mon_bhabha->setVariable(
"bh_mean_d0", bh_mean_d0);
1067 mon_bhabha->setVariable(
"bh_mean_z0", bh_mean_z0);
1068 mon_bhabha->setVariable(
"bh_mean_pval", bh_mean_pval);
1069 mon_bhabha->setVariable(
"bh_mean_ndf", bh_mean_ndf);
1070 mon_bhabha->setVariable(
"bh_dif_ndf_ncdc", bh_dif_ndf_ncdc);
1071 mon_bhabha->setVariable(
"bh_mean_dd0", bh_mean_dd0);
1072 mon_bhabha->setVariable(
"bh_mean_dz0", bh_mean_dz0);
1073 mon_bhabha->setVariable(
"bh_mean_dpt", bh_mean_dpt);
1074 mon_bhabha->setVariable(
"bh_rms_dd0", bh_rms_dd0);
1075 mon_bhabha->setVariable(
"bh_rms_dz0", bh_rms_dz0);
1076 mon_bhabha->setVariable(
"bh_rms_dpt", bh_rms_dpt);
1077 mon_bhabha->setVariable(
"bh_sigma68_dd0", bh_sigma68_dd0);
1078 mon_bhabha->setVariable(
"bh_sigma68_dz0", bh_sigma68_dz0);
1079 mon_bhabha->setVariable(
"bh_sigma68_dpt", bh_sigma68_dpt);
1080 mon_bhabha->setVariable(
"bh_neve_bhabha", bh_neve_bhabha);
1081 mon_bhabha->setVariable(
"bh_neve_bhabha_sign", bh_neve_bhabha_sign);
1082 mon_bhabha->setVariable(
"bh_goode_frac", bh_goode_frac);
1083 mon_bhabha->setVariable(
"bh_goode_o_bade", bh_goode_o_bade);
1084 mon_bhabha->setVariable(
"bh_pval_frac_0", bh_pval_frac_0);
1085 mon_bhabha->setVariable(
"bh_pval_frac_1", bh_pval_frac_1);
1086 mon_bhabha->setVariable(
"bh_nocdc_frac", bh_nocdc_frac);
1087 mon_bhabha->setVariable(
"bh_notop_frac", bh_notop_frac);
1088 mon_bhabha->setVariable(
"bh_noarich_frac", bh_noarich_frac);
1089
1090
1091 auto* histhad_nECLClusters =
findHist(
"PhysicsObjectsMiraBelleHadron/hist_nECLClusters");
1092 auto* histhad_visibleEnergyCMSnorm =
findHist(
"PhysicsObjectsMiraBelleHadron/hist_visibleEnergyCMSnorm");
1093 auto* histhad_EsumCMSnorm =
findHist(
"PhysicsObjectsMiraBelleHadron/hist_EsumCMSnorm");
1094 auto* histhad_R2 =
findHist(
"PhysicsObjectsMiraBelleHadron/hist_R2");
1095 auto* histhad_physicsresultsH =
findHist(
"PhysicsObjectsMiraBelleHadron/hist_physicsresultsH");
1096
1097 if (histhad_nECLClusters == nullptr) {
1098 B2ERROR("Can not find the histhad_nECLClusters histogram!");
1099 return;
1100 }
1101 if (histhad_visibleEnergyCMSnorm == nullptr) {
1102 B2ERROR("Can not find the histhad_visibleEnergyCMSnorm histogram!");
1103 return;
1104 }
1105 if (histhad_EsumCMSnorm == nullptr) {
1106 B2ERROR("Can not find the histhad_EsumCMSnorm histogram!");
1107 return;
1108 }
1109 if (histhad_R2 == nullptr) {
1110 B2ERROR("Can not find the histhad_R2 histogram!");
1111 return;
1112 }
1113 if (histhad_physicsresultsH == nullptr) {
1114 B2ERROR("Can not find the histhad_physicsresultsH histogram!");
1115 return;
1116 }
1117
1118
1119
1122 hadron_main->cd(2); histhad_visibleEnergyCMSnorm->Draw();
1125
1126 double had_ntot = histhad_physicsresultsH->GetBinContent(3);
1127 double ratio_hadron_bhabha = 0.;
1128
1129 double ratio_pull_hadBhabha = -10.;
1130 double error_ratio = -10.;
1131 if (bh_ntot != 0) {
1132 ratio_hadron_bhabha = had_ntot / bh_neve_bhabha;
1133
1134 error_ratio = ratio_hadron_bhabha *
sqrt((1 / had_ntot) + (1 / bh_neve_bhabha));
1135 ratio_pull_hadBhabha = (ratio_hadron_bhabha -
m_reference_hadb) / error_ratio;
1136 }
1137
1138 mon_bhabha->setVariable(
"had_ntot", had_ntot);
1139 mon_hadron->setVariable(
"ratio_hadron_bhabha", ratio_hadron_bhabha);
1140 mon_hadron->setVariable(
"error_ratio", error_ratio);
1141 mon_hadron->setVariable(
"ratio_pull_hadBhabha", ratio_pull_hadBhabha);
1142
1143 B2DEBUG(20, "DQMHistAnalysisMiraBelle : endRun called");
1144}
TCanvas * dst_k_val
TCanvas object for PID distributions of K.
TCanvas * bhabha_main
TCanvas object for main display.
TCanvas * hadron_main
TCanvas object for main display.
TCanvas * bhabha_resolution
TCanvas object for resolution display.
TCanvas * mumu_resolution
TCanvas object for resolution display.
Belle2::MonitoringObject * mon_bhabha
MonitoringObject for bhabha events.
TCanvas * dst_pi_val
TCanvas object for PID distributions of pi.
Belle2::MonitoringObject * mon_dst
MonitoringObject for D* events.
TCanvas * mumu_main
TCanvas object for main display.
TCanvas * mumu_muon_val
TCanvas object for mumu values display.
Belle2::MonitoringObject * mon_mumu
MonitoringObject for mumu events.
Belle2::MonitoringObject * mon_tautau
MonitoringObject for tau pair events.
TCanvas * dst_mass
TCanvas object for D0 mass, delta mass, and pi0 mass.
Belle2::MonitoringObject * mon_hadron
MonitoringObject for hadronb2 tight events.
static double getSigma68(TH1 *h)
Helper function to compute half of the central interval covering 68% of a distribution.
static TH1 * findHist(const std::string &histname, bool onlyIfUpdated=false)
Get histogram from list (no other search).
double sqrt(double a)
sqrt for double