106 float nan = numeric_limits<float>::quiet_NaN();
109 std::vector<string> ladderLabel = {
"L3.X.1",
"L3.X.2",
"L4.X.1",
"L4.X.2",
"L4.X.3",
"L5.X.1",
"L5.X.2",
"L5.X.3",
"L5.X.4",
110 "L6.X.1",
"L6.X.2",
"L6.X.3",
"L6.X.4",
"L6.X.5"
116 std::vector<string> sensorLabel = {
"L3.1.1",
"L3.1.2",
"L3.2.1",
"L3.2.2",
"L4.6.1",
"L4.6.2",
"L5.8.1",
"L5.8.2",
"L6.10.1",
"L6.10.2",
117 "L4.1.1",
"L4.10.2",
"L4.3.3",
"L5.1.3",
"L5.1.4",
"L5.9.2",
"L5.9.4",
"L6.4.3",
"L6.6.4",
"L6.10.3",
"L6.11.5",
"L6.12.4"
121 TH1F* h_zs5countsU = (TH1F*)
findHist(
"SVDExpReco/SVDDQM_StripCountsU");
122 TH1F* h_zs5countsV = (TH1F*)
findHist(
"SVDExpReco/SVDDQM_StripCountsV");
123 TH1F* h_events = (TH1F*)
findHist(
"SVDExpReco/SVDDQM_nEvents");
129 if (h_zs5countsU) h_zs5countsU->Draw(
"colz");
131 if (h_zs5countsV) h_zs5countsV->Draw(
"colz");
133 if (h_events) h_events->Draw(
"colz");
136 if (h_events) nE = h_events->GetEntries();
139 if (h_zs5countsU == NULL || h_zs5countsV == NULL || h_events == NULL) {
140 if (h_zs5countsU == NULL) {
141 B2INFO(
"Histograms needed for Average Offline Occupancy on U side are not found");
143 if (h_zs5countsV == NULL) {
144 B2INFO(
"Histograms needed for Average Offline Occupancy on V side are not found");
148 std::pair<float, float> avgOffOccL3UV =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, 3);
151 std::pair<float, float> avgOffOccL4UV =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, 4);
154 std::pair<float, float> avgOffOccL5UV =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, 5);
157 std::pair<float, float> avgOffOccL6UV =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, 6);
174 for (
const auto& it : ladderLabel) {
175 string sensorDescr = it;
178 sscanf(it.c_str(),
"L%d.X.%d", &layer, &sensor);
179 std::pair<float, float> avgOffOccL =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, layer, -1, sensor);
180 addVariable(Form(
"avgOffOccL%dX%dUV", layer, sensor), avgOffOccL);
184 for (
const auto& it : sensorLabel) {
185 string sensorDescr = it;
189 sscanf(it.c_str(),
"L%d.%d.%d", &layer, &ladder, &sensor);
190 std::pair<float, float> avgOffOccL =
avgOccupancyUV(h_zs5countsU, h_zs5countsV, nE, layer, ladder, sensor);
191 addVariable(Form(
"avgOffOccL%d%d%dUV", layer, ladder, sensor), avgOffOccL);
197 TH2F* h_found_tracksU = (TH2F*)
findHist(
"SVDEfficiency/TrackHitsU");
198 TH2F* h_matched_clusU = (TH2F*)
findHist(
"SVDEfficiency/MatchedHitsU");
199 TH2F* h_found_tracksV = (TH2F*)
findHist(
"SVDEfficiency/TrackHitsV");
200 TH2F* h_matched_clusV = (TH2F*)
findHist(
"SVDEfficiency/MatchedHitsV");
205 if (h_found_tracksU) h_found_tracksU->Draw(
"colz");
207 if (h_found_tracksV) h_found_tracksV->Draw(
"colz");
209 if (h_matched_clusU) h_matched_clusU->Draw(
"colz");
211 if (h_matched_clusV) h_matched_clusV->Draw(
"colz");
214 if (h_matched_clusU == NULL || h_matched_clusV == NULL || h_found_tracksU == NULL) {
215 if (h_matched_clusU == NULL) {
216 B2INFO(
"Histograms needed for Average Efficiency on U side are not found");
218 if (h_matched_clusV == NULL) {
219 B2INFO(
"Histograms needed for Average Efficiency on V side are not found");
223 std::pair<float, float> avgEffL3 =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, 3);
226 std::pair<float, float> avgEffL4 =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, 4);
229 std::pair<float, float> avgEffL5 =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, 5);
232 std::pair<float, float> avgEffL6 =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, 6);
236 std::pair<float, float> avgEffL3456 =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV);
240 for (
const auto& it : ladderLabel) {
241 string sensorDescr = it;
244 sscanf(it.c_str(),
"L%d.X.%d", &layer, &sensor);
245 std::pair<float, float> avgEffL =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, layer, -1,
247 addVariable(Form(
"avgEffL%dX%dUV", layer, sensor), avgEffL);
252 for (
const auto& it : sensorLabel) {
253 string sensorDescr = it;
257 sscanf(it.c_str(),
"L%d.%d.%d", &layer, &ladder, &sensor);
258 std::pair<float, float> avgEffL =
avgEfficiencyUV(h_matched_clusU, h_matched_clusV, h_found_tracksU, h_found_tracksV, layer, ladder,
260 addVariable(Form(
"avgEffL%d%d%dUV", layer, ladder, sensor), avgEffL);
265 TH1F* h_clusterCharge_L3U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterChargeU3");
266 TH1F* h_clusterCharge_L3V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterChargeV3");
267 TH1F* h_clusterCharge_L456U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterChargeU456");
268 TH1F* h_clusterCharge_L456V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterChargeV456");
273 if (h_clusterCharge_L3U) h_clusterCharge_L3U->Draw();
275 if (h_clusterCharge_L3V) h_clusterCharge_L3V->Draw();
277 if (h_clusterCharge_L456U) h_clusterCharge_L456U->Draw();
279 if (h_clusterCharge_L456U) h_clusterCharge_L456U->Draw();
282 float MPVClusterChargeL3U = nan;
283 if (h_clusterCharge_L3U)
284 if (h_clusterCharge_L3U->GetEntries() != 0)
285 MPVClusterChargeL3U =
xForMaxY(h_clusterCharge_L3U);
286 float MPVClusterChargeL3V = nan;
287 if (h_clusterCharge_L3V)
288 if (h_clusterCharge_L3V->GetEntries() != 0)
289 MPVClusterChargeL3V =
xForMaxY(h_clusterCharge_L3V);
290 float MPVClusterChargeL456U = nan;
291 if (h_clusterCharge_L456U)
292 if (h_clusterCharge_L456U->GetEntries() != 0)
293 MPVClusterChargeL456U =
xForMaxY(h_clusterCharge_L456U);
294 float MPVClusterChargeL456V = nan;
295 if (h_clusterCharge_L456V)
296 if (h_clusterCharge_L456V->GetEntries() != 0)
297 MPVClusterChargeL456V =
xForMaxY(h_clusterCharge_L456V);
299 if (h_clusterCharge_L3U == NULL || h_clusterCharge_L456U == NULL) {
300 B2INFO(
"Histograms needed for MPV cluster charge on U side are not found");
302 m_monObj->setVariable(
"MPVClusterChargeL3U", MPVClusterChargeL3U);
303 m_monObj->setVariable(
"MPVClusterChargeL456U", MPVClusterChargeL456U);
306 if (h_clusterCharge_L3V == NULL || h_clusterCharge_L456V == NULL) {
307 B2INFO(
"Histograms needed for MPV cluster charge on V side are not found");
309 m_monObj->setVariable(
"MPVClusterChargeL3V", MPVClusterChargeL3V);
310 m_monObj->setVariable(
"MPVClusterChargeL456V", MPVClusterChargeL456V);
315 TH1F* h_clusterSNR_L3U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterSNRU3");
316 TH1F* h_clusterSNR_L3V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterSNRV3");
317 TH1F* h_clusterSNR_L456U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterSNRU456");
318 TH1F* h_clusterSNR_L456V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterSNRV456");
323 if (h_clusterSNR_L3U) h_clusterSNR_L3U->Draw();
325 if (h_clusterSNR_L3V) h_clusterSNR_L3V->Draw();
327 if (h_clusterSNR_L456U) h_clusterSNR_L456U->Draw();
329 if (h_clusterSNR_L456V) h_clusterSNR_L456V->Draw();
331 float MPVClusterSNRL3U = nan;
332 if (h_clusterSNR_L3U)
333 if (h_clusterSNR_L3U->GetEntries() != 0)
334 MPVClusterSNRL3U =
xForMaxY(h_clusterSNR_L3U);
335 float MPVClusterSNRL3V = nan;
336 if (h_clusterSNR_L3V)
337 if (h_clusterSNR_L3V->GetEntries() != 0)
338 MPVClusterSNRL3V =
xForMaxY(h_clusterSNR_L3V);
339 float MPVClusterSNRL456U = nan;
340 if (h_clusterSNR_L456U)
341 if (h_clusterSNR_L456U->GetEntries() != 0)
342 MPVClusterSNRL456U =
xForMaxY(h_clusterSNR_L456U);
343 float MPVClusterSNRL456V = nan;
344 if (h_clusterSNR_L456V)
345 if (h_clusterSNR_L456V->GetEntries() != 0)
346 MPVClusterSNRL456V =
xForMaxY(h_clusterSNR_L456V);
348 if (h_clusterSNR_L3U == NULL || h_clusterSNR_L456U == NULL) {
349 B2INFO(
"Histograms needed for MPV cluster SNR on U side are not found");
351 m_monObj->setVariable(
"MPVClusterSNRL3U", MPVClusterSNRL3U);
352 m_monObj->setVariable(
"MPVClusterSNRL456U", MPVClusterSNRL456U);
355 if (h_clusterSNR_L3V == NULL || h_clusterSNR_L456V == NULL) {
356 B2INFO(
"Histograms needed for MPV cluster SNR on V side are not found");
358 m_monObj->setVariable(
"MPVClusterSNRL3V", MPVClusterSNRL3V);
359 m_monObj->setVariable(
"MPVClusterSNRL456V", MPVClusterSNRL456V);
364 TH1F* h_clusterTime_L3U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeU3");
365 TH1F* h_clusterTime_L3V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeV3");
366 TH1F* h_clusterTime_L456U = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeU456");
367 TH1F* h_clusterTime_L456V = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeV456");
368 TH1F* h_MeanSVD3EventT0 = (TH1F*)
findHist(
"SVDHitTime/SVD3EventT0");
369 TH1F* h_MeanSVD6EventT0 = (TH1F*)
findHist(
"SVDHitTime/SVD6EventT0");
370 TH1F* h_MeanSVDEventT0 = 0x0;
372 if (h_MeanSVD3EventT0)
373 h_MeanSVDEventT0 = (TH1F*)h_MeanSVD3EventT0->Clone();
378 if (h_clusterTime_L3U) h_clusterTime_L3U->Draw();
380 if (h_clusterTime_L3V) h_clusterTime_L3V->Draw();
382 if (h_clusterTime_L456U) h_clusterTime_L456U->Draw();
384 if (h_clusterTime_L456V) h_clusterTime_L456V->Draw();
389 if (h_MeanSVD3EventT0) h_MeanSVD3EventT0->Draw();
391 if (h_MeanSVD6EventT0) h_MeanSVD6EventT0->Draw();
393 if (h_MeanSVDEventT0) {
394 if (h_MeanSVD6EventT0)
395 h_MeanSVDEventT0->Add(h_MeanSVD6EventT0);
396 h_MeanSVDEventT0->Draw();
399 float MPVClusterTimeL3U = nan;
400 if (h_clusterTime_L3U)
401 if (h_clusterTime_L3U->GetEntries() != 0)
402 MPVClusterTimeL3U =
xForMaxY(h_clusterTime_L3U);
403 float MPVClusterTimeL3V = nan;
404 if (h_clusterTime_L3V)
405 if (h_clusterTime_L3V->GetEntries() != 0)
406 MPVClusterTimeL3V =
xForMaxY(h_clusterTime_L3V);
407 float MPVClusterTimeL456U = nan;
408 if (h_clusterTime_L456U)
409 if (h_clusterTime_L456U->GetEntries() != 0)
410 MPVClusterTimeL456U =
xForMaxY(h_clusterTime_L456U);
411 float MPVClusterTimeL456V = nan;
412 if (h_clusterTime_L456V)
413 if (h_clusterTime_L456V->GetEntries() != 0)
414 MPVClusterTimeL456V =
xForMaxY(h_clusterTime_L456V);
415 float FWHMClusterTimeL3U = nan;
416 if (h_clusterTime_L3U)
417 if (h_clusterTime_L3U->GetEntries() != 0)
418 FWHMClusterTimeL3U =
histFWHM(h_clusterTime_L3U);
419 float FWHMClusterTimeL3V = nan;
420 if (h_clusterTime_L3V)
421 if (h_clusterTime_L3V->GetEntries() != 0)
422 FWHMClusterTimeL3V =
histFWHM(h_clusterTime_L3V);
423 float FWHMClusterTimeL456U = nan;
424 if (h_clusterTime_L456U)
425 if (h_clusterTime_L456U->GetEntries() != 0)
426 FWHMClusterTimeL456U =
histFWHM(h_clusterTime_L456U);
427 float FWHMClusterTimeL456V = nan;
428 if (h_clusterTime_L456V)
429 if (h_clusterTime_L456V->GetEntries() != 0)
430 FWHMClusterTimeL456V =
histFWHM(h_clusterTime_L456V);
432 float MeanSVD3EventT0 = nan;
433 if (h_MeanSVD3EventT0)
434 if (h_MeanSVD3EventT0->GetEntries() != 0)
435 MeanSVD3EventT0 =
xForMaxY(h_MeanSVD3EventT0);
437 float MeanSVD6EventT0 = nan;
438 if (h_MeanSVD6EventT0)
439 if (h_MeanSVD6EventT0->GetEntries() != 0)
440 MeanSVD6EventT0 =
xForMaxY(h_MeanSVD6EventT0);
442 float MeanSVDEventT0 = nan;
443 if (h_MeanSVDEventT0)
444 if (h_MeanSVDEventT0->GetEntries() != 0)
445 MeanSVDEventT0 =
xForMaxY(h_MeanSVDEventT0);
447 if (h_clusterTime_L3U == NULL || h_clusterTime_L456U == NULL) {
448 B2INFO(
"Histograms needed for MPV cluster time on U side are not found");
450 m_monObj->setVariable(
"MPVClusterTimeL3U", MPVClusterTimeL3U);
451 m_monObj->setVariable(
"MPVClusterTimeL456U", MPVClusterTimeL456U);
452 m_monObj->setVariable(
"FWHMClusterTimeL3U", FWHMClusterTimeL3U);
453 m_monObj->setVariable(
"FWHMClusterTimeL456U", FWHMClusterTimeL456U);
456 if (h_clusterTime_L3V == NULL || h_clusterTime_L456V == NULL) {
457 B2INFO(
"Histograms needed for MPV cluster time on V side are not found");
459 m_monObj->setVariable(
"MPVClusterTimeL3V", MPVClusterTimeL3V);
460 m_monObj->setVariable(
"MPVClusterTimeL456V", MPVClusterTimeL456V);
461 m_monObj->setVariable(
"FWHMClusterTimeL3V", FWHMClusterTimeL3V);
462 m_monObj->setVariable(
"FWHMClusterTimeL456V", FWHMClusterTimeL456V);
465 if (h_MeanSVD3EventT0 == NULL) {
466 B2INFO(
"Histograms needed for SVD Event T0 (3 samples) not found");
468 m_monObj->setVariable(
"MeanSVD3EventT0", MeanSVD3EventT0);
471 if (h_MeanSVD6EventT0 == NULL) {
472 B2INFO(
"Histograms needed for SVD Event T0 (6 samples) not found");
474 m_monObj->setVariable(
"MeanSVD6EventT0", MeanSVD6EventT0);
477 if (h_MeanSVDEventT0 == NULL) {
478 B2INFO(
"Histograms needed for SVD Event T0 (all samples) not found");
480 m_monObj->setVariable(
"MeanSVDEventT0", MeanSVDEventT0);
484 TH1F* h_maxBinU = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_StripMaxBinUAll");
485 TH1F* h_maxBinV = (TH1F*)
findHist(
"SVDClsTrk/SVDTRK_StripMaxBinVAll");
490 if (h_maxBinU) h_maxBinU->Draw();
492 if (h_maxBinV) h_maxBinV->Draw();
494 if (h_maxBinU == NULL) {
495 B2INFO(
"Histogram needed for Average MaxBin on U side is not found");
497 float avgMaxBinU = h_maxBinU->GetMean();
498 m_monObj->setVariable(
"avgMaxBinU", avgMaxBinU);
501 if (h_maxBinV == NULL) {
502 B2INFO(
"Histogram needed for Average MaxBin on V side is not found");
504 float avgMaxBinV = h_maxBinV->GetMean();
505 m_monObj->setVariable(
"avgMaxBinV", avgMaxBinV);
509 for (
const auto& it : ladderLabel) {
510 string sensorDescr = it;
513 sscanf(it.c_str(),
"L%d.X.%d", &layer, &sensor);
515 TString name = Form(
"SVDClsTrk/SVDTRK_ClusterCharge_L%d.x.%d", layer, sensor);
516 TString title = Form(
"MPVClusterCharge_L%d.x.%d", layer, sensor);
517 TH1F* h_clusterCharge = (TH1F*)
findHist(name.Data());
518 float MPVClusterCharge = nan;
520 if (h_clusterCharge->GetEntries() != 0)
521 MPVClusterCharge =
xForMaxY(h_clusterCharge);
523 if (h_clusterCharge == NULL) {
524 B2INFO(
"Histograms needed for cluster charge not found");
526 m_monObj->setVariable(title.Data(), MPVClusterCharge);
529 name = Form(
"SVDClsTrk/SVDTRK_ClusterSNR_L%d.x.%d", layer, sensor);
530 title = Form(
"MPVClusterSNR_L%d.x.%d", layer, sensor);
531 TH1F* h_clusterSNR = (TH1F*)
findHist(name.Data());
532 float MPVClusterSNR = nan;
534 if (h_clusterSNR->GetEntries() != 0)
535 MPVClusterSNR =
xForMaxY(h_clusterSNR);
537 if (h_clusterSNR == NULL) {
538 B2INFO(
"Histograms needed for cluster SNR not found");
540 m_monObj->setVariable(title.Data(), MPVClusterSNR);
546 string sensorDescr = it;
547 string valueLabel = it;
548 replace(sensorDescr.begin(), sensorDescr.end(),
'.',
'_');
549 valueLabel.erase(remove(valueLabel.begin(), valueLabel.end(),
'.'), valueLabel.end());
551 TString name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterChargeU", sensorDescr.c_str());
552 TString title = Form(
"MPVClusterChargeL%sU", valueLabel.c_str());
554 TH1F* h_clusterCharge = (TH1F*)
findHist(name.Data());
555 float MPVClusterCharge = nan;
557 if (h_clusterCharge->GetEntries() != 0)
558 MPVClusterCharge =
xForMaxY(h_clusterCharge);
560 if (h_clusterCharge == NULL) {
561 B2INFO(
"Histograms needed for clusterU charge not found");
563 m_monObj->setVariable(title.Data(), MPVClusterCharge);
566 name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterChargeV", sensorDescr.c_str());
567 title = Form(
"MPVClusterChargeL%sV", valueLabel.c_str());
568 h_clusterCharge = (TH1F*)
findHist(name.Data());
569 MPVClusterCharge = nan;
571 if (h_clusterCharge->GetEntries() != 0)
572 MPVClusterCharge =
xForMaxY(h_clusterCharge);
574 if (h_clusterCharge == NULL) {
575 B2INFO(
"Histograms needed for clusterV charge not found");
577 m_monObj->setVariable(title.Data(), MPVClusterCharge);
580 name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterSNRU", sensorDescr.c_str());
581 title = Form(
"MPVClusterSNRL%sU", valueLabel.c_str());
582 TH1F* h_clusterSNR = (TH1F*)
findHist(name.Data());
583 float MPVClusterSNR = nan;
585 if (h_clusterSNR->GetEntries() != 0)
586 MPVClusterSNR =
xForMaxY(h_clusterSNR);
588 if (h_clusterSNR == NULL) {
589 B2INFO(
"Histograms needed for clusterU SNR not found");
591 m_monObj->setVariable(title.Data(), MPVClusterSNR);
594 name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterSNRV", sensorDescr.c_str());
595 title = Form(
"MPVClusterSNRL%sV", valueLabel.c_str());
596 h_clusterSNR = (TH1F*)
findHist(name.Data());
599 if (h_clusterSNR->GetEntries() != 0)
600 MPVClusterSNR =
xForMaxY(h_clusterSNR);
602 if (h_clusterSNR == NULL) {
603 B2INFO(
"Histograms needed for clusterV SNR not found");
605 m_monObj->setVariable(title.Data(), MPVClusterSNR);
608 name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterTimeU", sensorDescr.c_str());
609 title = Form(
"MPVClusterTimeL%sU", valueLabel.c_str());
610 title1 = Form(
"FWHMClusterTimeL%sU", valueLabel.c_str());
611 TH1F* h_clusterTime = (TH1F*)
findHist(name.Data());
612 float MPVClusterTime = nan;
613 float FWHMClusterTime = nan;
615 if (h_clusterTime->GetEntries() != 0) {
616 MPVClusterTime =
xForMaxY(h_clusterTime);
617 FWHMClusterTime =
histFWHM(h_clusterTime);
620 if (h_clusterTime == NULL) {
621 B2INFO(
"Histograms needed for clusterU time not found");
623 m_monObj->setVariable(title.Data(), MPVClusterTime);
624 m_monObj->setVariable(title1.Data(), FWHMClusterTime);
627 name = Form(
"SVDClsTrk/SVDTRK_%s_ClusterTimeV", sensorDescr.c_str());
628 title = Form(
"MPVClusterTimeL%sV", valueLabel.c_str());
629 title1 = Form(
"FWHMClusterTimeL%sV", valueLabel.c_str());
630 h_clusterTime = (TH1F*)
findHist(name.Data());
631 MPVClusterTime = nan;
632 FWHMClusterTime = nan;
634 if (h_clusterTime->GetEntries() != 0) {
635 MPVClusterTime =
xForMaxY(h_clusterTime);
636 FWHMClusterTime =
histFWHM(h_clusterTime);
639 if (h_clusterTime == NULL) {
640 B2INFO(
"Histograms needed for clusterU time not found");
642 m_monObj->setVariable(title.Data(), MPVClusterTime);
643 m_monObj->setVariable(title1.Data(), FWHMClusterTime);
647 B2INFO(
"DQMHistAnalysisSVDGeneral: endRun called");