Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
are supposed to be placed in this function.
82{
85 B2FATAL("no valid configuration found for SVD reconstruction");
86 else {
87 B2DEBUG(20,
"SVDRecoConfiguration: from now on we are using " <<
m_svdPlotsConfig->get_uniqueID());
90 }
91 }
92
94 if (gTools->getNumberOfLayers() == 0) {
95 B2FATAL("Missing geometry for VXD, check steering file.");
96 }
97 if (gTools->getNumberOfSVDLayers() == 0) {
98 B2WARNING("Missing geometry for SVD, SVD-DQM is skipped.");
99 return;
100 }
101
102
103 TDirectory* oldDir = gDirectory;
107 }
108
109
111 int nSVDChips = gTools->getTotalSVDChips();
112
113
114 m_nEvents =
new TH1F(
"SVDDQM_nEvents",
"SVD Number of Events", 1, -0.5, 0.5);
115 m_nEvents->GetYaxis()->SetTitle(
"N events");
117
118
119
120 m_hitMapCountsU =
new TH1F(
"SVDDQM_StripCountsU",
"SVD Integrated Number of ZS5 Fired U-Strips per sensor",
121 nSVDSensors, 0, nSVDSensors);
125 m_hitMapCountsV =
new TH1F(
"SVDDQM_StripCountsV",
"SVD Integrated Number of ZS5 Fired V-Strips per sensor",
126 nSVDSensors, 0, nSVDSensors);
130 m_hitMapClCountsU =
new TH1F(
"SVDDQM_ClusterCountsU",
"SVD Integrated Number of U-Clusters per sensor",
131 nSVDSensors, 0, nSVDSensors);
135 m_hitMapClCountsV =
new TH1F(
"SVDDQM_ClusterCountsV",
"SVD Integrated Number of V-Clusters per sensor",
136 nSVDSensors, 0, nSVDSensors);
140 for (int i = 0; i < nSVDSensors; i++) {
141 VxdID id = gTools->getSensorIDFromSVDIndex(i);
142 int iLayer = id.getLayerNumber();
143 int iLadder = id.getLadderNumber();
144 int iSensor = id.getSensorNumber();
145 TString AxisTicks = Form("%i_%i_%i", iLayer, iLadder, iSensor);
150 }
151
152
153 m_hitMapCountsChip =
new TH1F(
"SVDDQM_StripCountsChip",
"SVD Integrated Number of ZS5 Fired Strips per chip",
154 nSVDChips, 0, nSVDChips);
158 m_hitMapClCountsChip =
new TH1F(
"SVDDQM_ClusterCountsChip",
"SVD Integrated Number of Clusters per chip",
159 nSVDChips, 0, nSVDChips);
163
171 }
172
177
184
187
190
196 }
197
202
203 int ChargeBins = 80;
204 float ChargeMax = 80;
205 int SNRBins = 50;
206 float SNRMax = 100;
207 int TimeBins = 300;
208 float TimeMin = -150;
209 float TimeMax = 150;
210
211 int GroupIdBins = 21;
212 float GroupIdMin = -1.5;
213 float GroupIdMax = 19.5;
214
215 int MaxBinBins = 6;
216 int MaxBinMax = 6;
217
218 TString refFrame = "in FTSW reference";
220 refFrame = "in SVD reference";
221
222
223
224
225
226 string name = str(format("SVDDQM_ClusterChargeUAll"));
227 string title = str(format("SVD U-Cluster Charge for all sensors"));
232 name = str(format("SVDDQM_ClusterChargeVAll"));
233 title = str(format("SVD V-Cluster Charge for all sensors"));
238
239
240
241 name = str(format("SVDDQM_ClusterChargeU3"));
242 title = str(format("SVD U-Cluster Charge for layer 3 sensors"));
243 m_clusterChargeU3 =
new TH1F(name.c_str(), title.c_str(), ChargeBins, 0, ChargeMax);
247 name = str(format("SVDDQM_ClusterChargeV3"));
248 title = str(format("SVD V-Cluster Charge for layer 3 sensors"));
249 m_clusterChargeV3 =
new TH1F(name.c_str(), title.c_str(), ChargeBins, 0, ChargeMax);
253
254 name = str(format("SVDDQM_ClusterChargeU456"));
255 title = str(format("SVD U-Cluster Charge for layers 4,5,6 sensors"));
260
261 name = str(format("SVDDQM_ClusterChargeV456"));
262 title = str(format("SVD V-Cluster Charge for layers 4,5,6 sensors"));
267
268
269
270
271 name = str(format("SVDDQM_ClusterSNRUAll"));
272 title = str(format("SVD U-Cluster SNR for all sensors"));
273 m_clusterSNRUAll =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
277 name = str(format("SVDDQM_ClusterSNRVAll"));
278 title = str(format("SVD V-Cluster SNR for all sensors"));
279 m_clusterSNRVAll =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
283
284
285
286 name = str(format("SVDDQM_ClusterSNRU3"));
287 title = str(format("SVD U-Cluster SNR for layer 3 sensors"));
288 m_clusterSNRU3 =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
292 name = str(format("SVDDQM_ClusterSNRV3"));
293 title = str(format("SVD V-Cluster SNR for layer 3 sensors"));
294 m_clusterSNRV3 =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
298
299 name = str(format("SVDDQM_ClusterSNRU456"));
300 title = str(format("SVD U-Cluster SNR for layers 4,5,6 sensors"));
301 m_clusterSNRU456 =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
305 name = str(format("SVDDQM_ClusterSNRV456"));
306 title = str(format("SVD V-Cluster SNR for layers 4,5,6 sensors"));
307 m_clusterSNRV456 =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
311
312
313
314 TString Name = "SVDDQM_ClusterTimeUAll";
315 TString Title = Form("SVD U-Cluster Time %s for all sensors", refFrame.Data());
316 m_clusterTimeUAll =
new TH1F(Name.Data(), Title.Data(), TimeBins, TimeMin, TimeMax);
320 Name = "SVDDQM_ClusterTimeVAll";
321 Title = Form("SVD V-Cluster Time %s for all sensors", refFrame.Data());
322 m_clusterTimeVAll =
new TH1F(Name.Data(), Title.Data(), TimeBins, TimeMin, TimeMax);
326
327
328
329 Name = "SVDDQM_ClusterTimeU3";
330 Title = Form("SVD U-Cluster Time %s for layer 3 sensors", refFrame.Data());
331 m_clusterTimeU3 =
new TH1F(Name.Data(), Title.Data(), TimeBins, TimeMin, TimeMax);
335 name = str(format("SVDDQM_ClusterTimeV3"));
336 Title = Form("SVD V-Cluster Time %s for layer 3 sensors", refFrame.Data());
337 m_clusterTimeV3 =
new TH1F(name.c_str(), Title.Data(), TimeBins, TimeMin, TimeMax);
341
342 name = str(format("SVDDQM_ClusterTimeU456"));
343 Title = Form("SVD U-Cluster Time %s for layers 4,5,6 sensors", refFrame.Data());
344 m_clusterTimeU456 =
new TH1F(name.c_str(), Title.Data(), TimeBins, TimeMin, TimeMax);
348 name = str(format("SVDDQM_ClusterTimeV456"));
349 Title = Form("SVD V-Cluster Time %s for layers 4,5,6 sensors", refFrame.Data());
350 m_clusterTimeV456 =
new TH1F(name.c_str(), Title.Data(), TimeBins, TimeMin, TimeMax);
354
355
356
357
359 Name = "SVDDQM_Cluster3TimeU3";
360 Title = Form("SVD U-Cluster Time %s for layer 3 sensors for 3 samples", refFrame.Data());
365 name = str(format("SVDDQM_Cluster3TimeV3"));
366 Title = Form("SVD V-Cluster Time %s for layer 3 sensors for 3 samples", refFrame.Data());
371 name = str(format("SVDDQM_Cluster3TimeU456"));
372 Title = Form("SVD U-Cluster Time %s for layers 4,5,6 sensors for 3 samples", refFrame.Data());
377 name = str(format("SVDDQM_Cluster3TimeV456"));
378 Title = Form("SVD V-Cluster Time %s for layers 4,5,6 sensors for 3 samples", refFrame.Data());
383
384
385
386
387 Name = "SVDDQM_Cluster6TimeU3";
388 Title = Form("SVD U-Cluster Time %s for layer 3 sensors for 6 samples", refFrame.Data());
393 name = str(format("SVDDQM_Cluster6TimeV3"));
394 Title = Form("SVD V-Cluster Time %s for layer 3 sensors for 6 samples", refFrame.Data());
399
400 name = str(format("SVDDQM_Cluster6TimeU456"));
401 Title = Form("SVD U-Cluster Time %s for layers 4,5,6 sensors for 6 samples", refFrame.Data());
406 name = str(format("SVDDQM_Cluster6TimeV456"));
407 Title = Form("SVD V-Cluster Time %s for layers 4,5,6 sensors for 6 samples", refFrame.Data());
412 }
413
414
415
416
417
418 name = str(format("SVDDQM_ClusterChargeGroupIDsL3U"));
419 title = str(format("SVD U-Cluster Charge for layer 3 sensors for group Id = 0, 1, 2 & 3"));
424 name = str(format("SVDDQM_ClusterChargeGroupIDsL3V"));
425 title = str(format("SVD V-Cluster Charge for layer 3 sensors for group Id = 0, 1, 2 & 3"));
430
431 name = str(format("SVDDQM_ClusterChargeGroupIDsL456U"));
432 title = str(format("SVD U-Cluster Charge for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3"));
437
438 name = str(format("SVDDQM_ClusterChargeGroupIDsL456V"));
439 title = str(format("SVD V-Cluster Charge for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3"));
444
445
446
447
448 name = str(format("SVDDQM_ClusterSNRGroupIDsL3U"));
449 title = str(format("SVD U-Cluster SNR for layer 3 sensors for group Id = 0, 1, 2 & 3"));
454 name = str(format("SVDDQM_ClusterSNRGroupIDsL3V"));
455 title = str(format("SVD V-Cluster SNR for layer 3 sensors for group Id = 0, 1, 2 & 3"));
460
461 name = str(format("SVDDQM_ClusterSNRGroupIDsL456U"));
462 title = str(format("SVD U-Cluster SNR for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3"));
467 name = str(format("SVDDQM_ClusterSNRGroupIDsL456V"));
468 title = str(format("SVD V-Cluster SNR for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3"));
473
474
475
476
477
478 Name = "SVDDQM_ClusterTimeGroupIDsL3U";
479 Title = Form("SVD U-Cluster Time %s for layer 3 sensors for group Id = 0, 1, 2 & 3", refFrame.Data());
484 name = str(format("SVDDQM_ClusterTimeGroupIDsL3V"));
485 Title = Form("SVD V-Cluster Time %s for layer 3 sensors for group Id = 0, 1, 2 & 3", refFrame.Data());
490
491 name = str(format("SVDDQM_ClusterTimeGroupIDsL456U"));
492 Title = Form("SVD U-Cluster Time %s for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3", refFrame.Data());
497 name = str(format("SVDDQM_ClusterTimeGroupIDsL456V"));
498 Title = Form("SVD V-Cluster Time %s for layers 4,5,6 sensors for group Id = 0, 1, 2 & 3", refFrame.Data());
503
504
505
506
507 Name = "SVDDQM_ClusterTimeGroupIdU";
508 Title = Form("SVD cluster Time Group Id %s vs cluster time for U/P Side", refFrame.Data());
509 m_clusterTimeGroupIdU =
new TH2F(Name.Data(), Title.Data(), TimeBins / 2, TimeMin, TimeMax, GroupIdBins, GroupIdMin, GroupIdMax);
513 Name = "SVDDQM_ClusterTimeGroupIdV";
514 Title = Form("SVD cluster Time Group Id %s vs cluster time for V/N Side", refFrame.Data());
515 m_clusterTimeGroupIdV =
new TH2F(Name.Data(), Title.Data(), TimeBins / 2, TimeMin, TimeMax, GroupIdBins, GroupIdMin, GroupIdMax);
519
520
521
522
523 Name = "SVDDQM_cluster6TimeGroupIdU";
524 Title = Form("SVD cluster Time Group Id %s vs cluster time for U/P Side for coarse trigger", refFrame.Data());
526 GroupIdMax);
530 Name = "SVDDQM_cluster6TimeGroupIdV";
531 Title = Form("SVD cluster Time Group Id %s vs cluster time for V/N Side for coarse trigger", refFrame.Data());
533 GroupIdMax);
537
538 Name = "SVDDQM_cluster3TimeGroupIdU";
539 Title = Form("SVD cluster Time Group Id %s vs cluster time for U/P Side for fine trigger", refFrame.Data());
541 GroupIdMax);
545 Name = "SVDDQM_cluster3TimeGroupIdV";
546 Title = Form("SVD cluster Time Group Id %s vs cluster time for V/N Side for fine trigger", refFrame.Data());
548 GroupIdMax);
552
553
554
555
556 name = str(format("SVDDQM_StripMaxBinUAll"));
557 title = str(format("SVD U-Strip MaxBin for all sensors"));
558 m_stripMaxBinUAll =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
562 name = str(format("SVDDQM_StripMaxBinVAll"));
563 title = str(format("SVD V-Strip MaxBin for all sensors"));
564 m_stripMaxBinVAll =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
568
569 name = str(format("SVDDQM_StripMaxBinU3"));
570 title = str(format("SVD U-Strip MaxBin for layer 3 sensors"));
571 m_stripMaxBinU3 =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
575 name = str(format("SVDDQM_StripMaxBinV3"));
576 title = str(format("SVD V-Strip MaxBin for layer 3 sensors"));
577 m_stripMaxBinV3 =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
581
582 name = str(format("SVDDQM_StripMaxBinU6"));
583 title = str(format("SVD U-Strip MaxBin for layer 6 sensors"));
584 m_stripMaxBinU6 =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
588 name = str(format("SVDDQM_StripMaxBinV6"));
589 title = str(format("SVD V-Strip MaxBin for layer 6 sensors"));
590 m_stripMaxBinV6 =
new TH1F(name.c_str(), title.c_str(), MaxBinBins, 0, MaxBinMax);
594
595
596 for (int i = 0; i < nSVDSensors; i++) {
597 VxdID id = gTools->getSensorIDFromSVDIndex(i);
598 int iLayer = id.getLayerNumber();
599 int iLadder = id.getLadderNumber();
600 int iSensor = id.getSensorNumber();
601 VxdID sensorID(iLayer, iLadder, iSensor);
603 string sensorDescr = str(format("%1%_%2%_%3%") % iLayer % iLadder % iSensor);
604
606
607
608
609 name = str(format("SVDDQM_%1%_FiredU") % sensorDescr);
610 title = str(format("SVD Sensor %1% Number of Fired U-Strips") % sensorDescr);
611 m_firedU[i] =
new TH1F(name.c_str(), title.c_str(), 50, 0, 50);
612 m_firedU[i]->GetXaxis()->SetTitle(
"# fired strips");
613 m_firedU[i]->GetYaxis()->SetTitle(
"count");
615 name = str(format("SVDDQM_%1%_FiredV") % sensorDescr);
616 title = str(format("SVD Sensor %1% Number of Fired V-Strips") % sensorDescr);
617 m_firedV[i] =
new TH1F(name.c_str(), title.c_str(), 50, 0, 50);
618 m_firedV[i]->GetXaxis()->SetTitle(
"# fired strips");
619 m_firedV[i]->GetYaxis()->SetTitle(
"count");
621
622
623
624 name = str(format("SVDDQM_%1%_ClustersU") % sensorDescr);
625 title = str(format("SVD Sensor %1% Number of U-Clusters") % sensorDescr);
626 m_clustersU[i] =
new TH1F(name.c_str(), title.c_str(), 20, 0, 20);
627 m_clustersU[i]->GetXaxis()->SetTitle(
"# clusters");
630 name = str(format("SVDDQM_%1%_ClustersV") % sensorDescr);
631 title = str(format("SVD Sensor %1% Number of V-Clusters") % sensorDescr);
632 m_clustersV[i] =
new TH1F(name.c_str(), title.c_str(), 20, 0, 20);
633 m_clustersV[i]->GetXaxis()->SetTitle(
"# clusters");
636
637
638
639 name = str(format("SVDDQM_%1%_ADCStripU") % sensorDescr);
640 title = str(format("SVD Sensor %1% U-Strip signal in ADC Counts, all 6 APV samples") % sensorDescr);
641 m_stripSignalU[i] =
new TH1F(name.c_str(), title.c_str(), 256, -0.5, 255.5);
645 name = str(format("SVDDQM_%1%_ADCStripV") % sensorDescr);
646 title = str(format("SVD Sensor %1% V-Strip signal in ADC Counts, all 6 APV samples") % sensorDescr);
647 m_stripSignalV[i] =
new TH1F(name.c_str(), title.c_str(), 256, -0.5, 255.5);
651 }
652
653
654
655
656 name = str(format("SVDDQM_%1%_ClusterChargeU") % sensorDescr);
657 title = str(format("SVD Sensor %1% U-Cluster Charge") % sensorDescr);
658 m_clusterChargeU[i] =
new TH1F(name.c_str(), title.c_str(), ChargeBins, 0, ChargeMax);
662 name = str(format("SVDDQM_%1%_ClusterChargeV") % sensorDescr);
663 title = str(format("SVD Sensor %1% V-Cluster Charge") % sensorDescr);
664 m_clusterChargeV[i] =
new TH1F(name.c_str(), title.c_str(), ChargeBins, 0, ChargeMax);
668
669
670
671 name = str(format("SVDDQM_%1%_ClusterSNRU") % sensorDescr);
672 title = str(format("SVD Sensor %1% U-Cluster SNR") % sensorDescr);
673 m_clusterSNRU[i] =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
677 name = str(format("SVDDQM_%1%_ClusterSNRV") % sensorDescr);
678 title = str(format("SVD Sensor %1% V-Cluster SNR") % sensorDescr);
679 m_clusterSNRV[i] =
new TH1F(name.c_str(), title.c_str(), SNRBins, 0, SNRMax);
683
684
685
686
687 name = str(format("SVDDQM_%1%_StripCountU") % sensorDescr);
688 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired U-Strip vs Strip Number") % sensorDescr);
689 m_stripCountU[i] =
new TH1F(name.c_str(), title.c_str(), 768, -0.5, 767.5);
693 name = str(format("SVDDQM_%1%_StripCountV") % sensorDescr);
694 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired V-Strip vs Strip Number") % sensorDescr);
695 m_stripCountV[i] =
new TH1F(name.c_str(), title.c_str(), 768, -0.5, 767.5);
699
700
701
702 name = str(format("SVDDQM_%1%_OnlineZSStripCountU") % sensorDescr);
703 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired U-Strip vs Strip Number") % sensorDescr);
708 name = str(format("SVDDQM_%1%_OnlineZSStripCountV") % sensorDescr);
709 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired V-Strip vs Strip Number") % sensorDescr);
714
715
716
717
719 name = str(format("SVDDQM_%1%_Strip3CountU") % sensorDescr);
720 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired U-Strip vs Strip Number for 3 samples") % sensorDescr);
725 name = str(format("SVDDQM_%1%_Strip3CountV") % sensorDescr);
726 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired V-Strip vs Strip Number for 3 samples") % sensorDescr);
731
732
733
734
735 name = str(format("SVDDQM_%1%_OnlineZSStrip3CountU") % sensorDescr);
736 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired U-Strip vs Strip Number for 3 samples") % sensorDescr);
741 name = str(format("SVDDQM_%1%_OnlineZSStrip3CountV") % sensorDescr);
742 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired V-Strip vs Strip Number for 3 samples") % sensorDescr);
747
748
749
750
751 name = str(format("SVDDQM_%1%_Strip6CountU") % sensorDescr);
752 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired U-Strip vs Strip Number for 6 samples") % sensorDescr);
757 name = str(format("SVDDQM_%1%_strip6CountV") % sensorDescr);
758 title = str(format("SVD Sensor %1% Integrated Number of ZS5 Fired V-Strip vs Strip Number for 6 samples") % sensorDescr);
763
764
765
766 name = str(format("SVDDQM_%1%_OnlineZSStrip6CountU") % sensorDescr);
767 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired U-Strip vs Strip Number for 6 samples") % sensorDescr);
772 name = str(format("SVDDQM_%1%_OnlineZSStrip6CountV") % sensorDescr);
773 title = str(format("SVD Sensor %1% Integrated Number of online-ZS Fired V-Strip vs Strip Number for 6 samples") % sensorDescr);
778 }
779
780
781
782
783 name = str(format("SVDDQM_%1%_StripCountSignalGroupIDsU") % sensorDescr);
784 title = str(format("SVD Sensor %1% Integrated NumberFired U-Strip for group Id = 0, 1, 2 & 3 vs Strip Number") % sensorDescr);
789 name = str(format("SVDDQM_%1%_StripCountSignalGroupIDsV") % sensorDescr);
790 title = str(format("SVD Sensor %1% Integrated Number of Fired V-Strip for group Id = 0, 1, 2 & 3 vs Strip Number") % sensorDescr);
795
796
797
798
799 name = str(format("SVDDQM_%1%_ClusterSizeU") % sensorDescr);
800 title = str(format("SVD Sensor %1% U-Cluster Size") % sensorDescr);
801 m_clusterSizeU[i] =
new TH1F(name.c_str(), title.c_str(), 9, 1, 10);
805 name = str(format("SVDDQM_%1%_ClusterSizeV") % sensorDescr);
806 title = str(format("SVD Sensor %1% V-Cluster Size") % sensorDescr);
807 m_clusterSizeV[i] =
new TH1F(name.c_str(), title.c_str(), 9, 1, 10);
811
812
813
814 name = str(format("SVDDQM_%1%_ClusterTimeU") % sensorDescr);
815 Title = Form("SVD Sensor %s U-Cluster Time %s", sensorDescr.c_str(), refFrame.Data());
816 m_clusterTimeU[i] =
new TH1F(name.c_str(), Title.Data(), TimeBins, TimeMin, TimeMax);
820 name = str(format("SVDDQM_%1%_ClusterTimeV") % sensorDescr);
821 Title = Form("SVD Sensor %s V-Cluster Time %s", sensorDescr.c_str(), refFrame.Data());
822 m_clusterTimeV[i] =
new TH1F(name.c_str(), Title.Data(), TimeBins, TimeMin, TimeMax);
826 }
827
828 for (int i = 0; i < nSVDChips; i++) {
829 VxdID id = gTools->getChipIDFromSVDIndex(i);
830 int iLayer = id.getLayerNumber();
831 int iLadder = id.getLadderNumber();
832 int iSensor = id.getSensorNumber();
833 int iChip = gTools->getSVDChipNumber(id);
834 int IsU = gTools->isSVDSideU(id);
835 TString AxisTicks = Form("%i_%i_%i_u%i", iLayer, iLadder, iSensor, iChip);
836 if (!IsU)
837 AxisTicks = Form("%i_%i_%i_v%i", iLayer, iLadder, iSensor, iChip);
840 }
841
842
843
844
845
846
847
849 TDirectory* dirShowAll = nullptr;
850 dirShowAll = oldDir->mkdir("SVDDQMAll");
851 dirShowAll->cd();
852
857 for (int i = 0; i < nSVDSensors; i++) {
858 VxdID id = gTools->getSensorIDFromSVDIndex(i);
859 int iLayer = id.getLayerNumber();
860 int iLadder = id.getLadderNumber();
861 int iSensor = id.getSensorNumber();
862 VxdID sensorID(iLayer, iLadder, iSensor);
864 string sensorDescr = str(format("%1%_%2%_%3%") % iLayer % iLadder % iSensor);
865
866
867
868 name = str(format("SVD_%1%_StripHitmapU") % sensorDescr);
869 title = str(format("SVD Sensor %1% Strip Hitmap in U") % sensorDescr);
873 m_hitMapU[i]->GetXaxis()->SetTitle(
"u position [pitch units]");
874 m_hitMapU[i]->GetYaxis()->SetTitle(
"timebin [time units]");
875 m_hitMapU[i]->GetZaxis()->SetTitle(
"hits");
877 name = str(format("SVD_%1%_StripHitmapV") % sensorDescr);
878 title = str(format("SVD Sensor %1% Strip Hitmap in V") % sensorDescr);
882 m_hitMapV[i]->GetXaxis()->SetTitle(
"v position [pitch units]");
883 m_hitMapV[i]->GetYaxis()->SetTitle(
"timebin [time units]");
884 m_hitMapV[i]->GetZaxis()->SetTitle(
"hits");
886
887
888
889 name = str(format("SVD_%1%_HitmapClstU") % sensorDescr);
890 title = str(format("SVD Sensor %1% Hitmap Clusters in U") % sensorDescr);
892 m_hitMapUCl[i] =
new TH1F(name.c_str(), title.c_str(), nStrips, 0, nStrips);
893 m_hitMapUCl[i]->GetXaxis()->SetTitle(
"u position [pitch units]");
896 name = str(format("SVD_%1%_HitmapClstV") % sensorDescr);
897 title = str(format("SVD Sensor %1% Hitmap Clusters in V") % sensorDescr);
899 m_hitMapVCl[i] =
new TH1F(name.c_str(), title.c_str(), nStrips, 0, nStrips);
900 m_hitMapVCl[i]->GetXaxis()->SetTitle(
"v position [pitch units]");
903 }
904 }
905
906 oldDir->cd();
907}
TH1F ** m_hitMapUCl
Hitmaps clusters for u.
TH1F ** m_clustersV
number of v clusters per event
TH1F * m_nEvents
number of events
TH1F * m_clusterSNRVAll
v SNR of clusters for all sensors
TH1F ** m_strip3SampleCountV
v strip count for 3 samples
TH1F * m_clusterTimeV456
v Time of clusters for layer 4,5,6 sensors
TH1F * m_clusterSNRUAll
u SNR of clusters for all sensors
TH1F * m_clusterChargeU3
u charge of clusters for layer 3 sensors
TH2F * m_clusterTimeGroupIdV
time group id for V side
TH1F * m_clusterSNRV3
v SNR of clusters for layer 3 sensors
TH1F * m_hitMapCountsV
Hitmaps v of Digits.
TH2F ** m_hitMapU
Hitmaps pixels for u.
TH1F ** m_onlineZSstrip6sampleCountU
u strip count (online Zero Suppression) for 6 samples
TH1F * m_clusterTimeGroupIDsL456V
v Time group id of clusters for layer 4,5,6 sensors
TH1F * m_clusterSNRGroupIDsL456U
u SNR group id of clusters for layer 4,5,6 sensors
TH1F * m_stripMaxBinU6
u MaxBin of strips for layer 6 sensors (offline Zero Suppression)
TH1F * m_clusterTimeUAll
u time of clusters for all sensors
TH1F ** m_onlineZSstrip3SampleCountV
v strip count (online Zero Suppression for 3 samples
TH1F * m_clusterTimeGroupIDsL456U
u Time group id of clusters for layer 4,5,6 sensors
TH1F * m_hitMapClCountsU
Hitmaps u of Clusters.
TH2F * m_clusterTimeFineGroupIdV
time group id for V side for fine trigger
TH1F * m_cluster6SampleTimeU3
u Time of clusters for layer 3 sensors for 6 samples
TH1F ** m_clusterSizeV
v size
TH1F * m_clusterChargeGroupIDsL3V
v charge group id of clusters for layer 3 sensors
TH1F * m_hitMapCountsU
Hitmaps u of Digits.
TH1F ** m_clusterSNRV
v SNR of clusters per sensor
TH1F ** m_clusterChargeV
v charge of clusters
TH1F * m_cluster3SampleTimeU3
u Time of clusters for layer 3 sensors for 3 samples
TH1F ** m_stripSignalU
u charge of strips
TH1F * m_clusterChargeUAll
u charge of clusters for all sensors
TH1F * m_clusterSNRGroupIDsL3U
u SNR group id of clusters for layer 3 sensors
TH1F * m_cluster3SampleTimeU456
u Time of clusters for layer 4,5,6 sensors for 3 samples
TH1F ** m_stripCountSignalGroupIDsV
V strip count for cluster time group Id = 0.
TH1F * m_clusterChargeU456
u charge of clusters for layer 4,5,6 sensors
TH1F * m_cluster3SampleTimeV456
v Time of clusters for layer 4,5,6 sensors for 3 samples
TH1F * m_clusterChargeGroupIDsL456U
u charge group id of clusters for layer 4,5,6 sensors
TH1F * m_clusterTimeV3
v Time of clusters for layer 3 sensors
TH1F ** m_stripCountU
u strip count
DBObjPtr< SVDDQMPlotsConfiguration > m_svdPlotsConfig
SVD DQM plots configuration.
TH1F ** m_clusterSNRU
u SNR of clusters per sensor
TH1F ** m_hitMapVCl
Hitmaps clusters for v.
TH1F ** m_strip3SampleCountU
u strip count for 3 samples
TH1F * m_stripMaxBinV3
v MaxBin of strips for layer 3 sensors (offline Zero Suppression)
TH1F * m_clusterTimeVAll
v time of clusters for all sensors
TH2F * m_clusterTimeCoarseGroupIdU
time group id for U side for coarse trigger
TH1F * m_clusterTimeGroupIDsL3U
u Time group id of clusters for layer 3 sensors
TH1F ** m_onlineZSstripCountV
v strip count (online Zero Suppression
TH1F ** m_stripSignalV
v charge of strips
TH1F ** m_stripCountV
v strip count
TH1F * m_clusterSNRGroupIDsL456V
v SNR group id of clusters for layer 4,5,6 sensors
TH1F * m_clusterChargeGroupIDsL456V
v charge group id of clusters for layer 4,5,6 sensors
TH1F * m_clusterChargeVAll
v charge of clusters for all sensors
TH1F ** m_stripCountSignalGroupIDsU
U strip count for cluster time group Id = 0.
TH1F ** m_clusterTimeV
v time
TH1F * m_clusterSNRU3
u SNR of clusters for layer 3 sensors
TH1F * m_clusterSNRGroupIDsL3V
v SNR group id of clusters for layer 3 sensors
TH1F * m_clusterSNRV456
v SNR of clusters for layer 4,5,6 sensors
TH1F * m_stripMaxBinUAll
u MaxBin of strips for all sensors (offline Zero Suppression)
TH1F ** m_clusterChargeU
u charge of clusters
TH1F * m_hitMapCountsChip
Hitmaps of digits on chips.
TH1F * m_cluster3SampleTimeV3
v Time of clusters for layer 3 sensors for 3 samples
TH1F * m_clusterChargeV3
v charge of clusters for layer 3 sensors
TH2F ** m_hitMapV
Hitmaps pixels for v.
TH1F * m_stripMaxBinV6
v MaxBin of strips for layer 6 sensors (offline Zero Suppression)
TH1F ** m_strip6SampleCountV
v strip count for 3 samples
TH1F * m_cluster6SampleTimeV456
v Time of clusters for layer 4,5,6 sensors for 6 samples
TH1F ** m_firedU
Fired u strips per event.
TH1F * m_clusterTimeU3
u Time of clusters for layer 3 sensors
TH1F * m_cluster6SampleTimeV3
v Time of clusters for layer 3 sensors for 6 samples
TH1F * m_clusterSNRU456
u SNR of clusters for layer 4,5,6 sensors
TH1F * m_clusterChargeGroupIDsL3U
u charge group id of clusters for layer 3 sensors
TH1F ** m_onlineZSstripCountU
u strip count (online Zero Suppression)
TH1F * m_stripMaxBinU3
u MaxBin of strips for layer 3 sensors (offline Zero Suppression)
TH1F * m_clusterTimeGroupIDsL3V
v Time group id of clusters for layer 3 sensors
TH1F * m_stripMaxBinVAll
v MaxBin of strips for all sensors (offline Zero Suppression)
TH1F * m_hitMapClCountsChip
Hitmaps of clusters on chips.
TH1F ** m_strip6SampleCountU
u strip count for 6 samples
TH1F ** m_onlineZSstrip3SampleCountU
u strip count (online Zero Suppression) for 3 samples
TH1F ** m_onlineZSstrip6sampleCountV
v strip count (online Zero Suppression for 6 samples
TH2F * m_clusterTimeGroupIdU
time group id for U side
TH1F ** m_clusterTimeU
u time
TH1F * m_clusterTimeU456
u Time of clusters for layer 4,5,6 sensors
TH1F ** m_clusterSizeU
u size
TH2F * m_clusterTimeCoarseGroupIdV
time group id for V side for coarse trigger
TH1F ** m_firedV
Fired v strips per event.
TH1F * m_clusterChargeV456
v charge of clusters for layer 4,5,6 sensors
TH1F * m_hitMapClCountsV
Hitmaps v of Clusters.
TH1F ** m_clustersU
number of u clusters per event
TH2F * m_clusterTimeFineGroupIdU
time group id for U side for fine trigger
TH1F * m_cluster6SampleTimeU456
u Time of clusters for layer 4,5,6 sensors for 6 samples
static const std::size_t c_nAPVSamples
Number of APV samples stored.
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a reference to the SensorInfo of a given SensorID.
int getVCells() const
Return number of pixel/strips in v direction.
int getUCells() const
Return number of pixel/strips in u direction.