51 for (
const string suffix : {
"_FromIP",
"_NotFromIP"}) {
53 TH1* hNoPXDHits =
findHist(
"TrackingERDQM" + suffix +
"/NoOfHitsInTrack_PXD");
54 if (hNoPXDHits !=
nullptr) {
55 int nTracks = hNoPXDHits->GetEntries();
56 int nTracksNoPXD = hNoPXDHits->GetBinContent(1);
58 m_monObj->setVariable(
"tracksNoPXDHit" + suffix, (
double)nTracksNoPXD / nTracks);
62 TH1* hnTracks =
findHist(
"TrackingERDQM" + suffix +
"/NoOfTracks");
63 if (hnTracks !=
nullptr) {
64 double averageNTracks = hnTracks->GetMean();
65 m_monObj->setVariable(
"nTracksPerEvent" + suffix, averageNTracks);
67 TH1* hnVXDTracks =
findHist(
"TrackingERDQM" + suffix +
"/NoOfTracksInVXDOnly");
68 if (hnVXDTracks !=
nullptr) {
69 double averageNVXDTracks = hnVXDTracks->GetMean();
70 m_monObj->setVariable(
"nVXDTracksPerEvent" + suffix, averageNVXDTracks);
72 TH1* hnCDCTracks =
findHist(
"TrackingERDQM" + suffix +
"/NoOfTracksInCDCOnly");
73 if (hnCDCTracks !=
nullptr) {
74 double averageNCDCTracks = hnCDCTracks->GetMean();
75 m_monObj->setVariable(
"nCDCTracksPerEvent" + suffix, averageNCDCTracks);
77 TH1* hnVXDCDCTracks =
findHist(
"TrackingERDQM" + suffix +
"/NoOfTracksInVXDCDC");
78 if (hnVXDCDCTracks !=
nullptr) {
79 double averageNVXDCDCTracks = hnVXDCDCTracks->GetMean();
80 m_monObj->setVariable(
"nVXDCDCTracksPerEvent" + suffix, averageNVXDCDCTracks);
87 TH1* hSVDL3VTime =
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeV3");
88 if (hSVDL3VTime !=
nullptr) {
89 int all = hSVDL3VTime->GetEntries();
93 int offtime = all - hSVDL3VTime->Integral(bin_min, bin_max);
94 double offtimeL3Hits = (double)offtime / all;
95 m_monObj->setVariable(
"offtimeL3Hits", offtimeL3Hits);
99 TH1* hSVDL456VTime =
findHist(
"SVDClsTrk/SVDTRK_ClusterTimeV456");
100 if (hSVDL456VTime !=
nullptr) {
101 int all = hSVDL456VTime->GetEntries();
105 int offtime = all - hSVDL456VTime->Integral(bin_min, bin_max);
106 double offtimeL456Hits = (double)offtime / all;
107 m_monObj->setVariable(
"offtimeL456Hits", offtimeL456Hits);
113 TH1* hAbort =
findHist(
"TrackingERDQM_FromIP/NumberTrackingErrorFlags");
114 TH1* hAbortReasons =
findHist(
"TrackingERDQM_FromIP/TrackingErrorFlagsReasons");
115 if (hAbort !=
nullptr) {
116 double nEvents = hAbort->GetEntries();
118 m_monObj->setVariable(
"abortRate", hAbort->GetMean());
119 if (hAbortReasons !=
nullptr) {
120 m_monObj->setVariable(
"abortRateUnspecifiedPR", hAbortReasons->GetBinContent(2) / nEvents);
121 m_monObj->setVariable(
"abortRateVXDTF2", hAbortReasons->GetBinContent(3) / nEvents);
122 m_monObj->setVariable(
"abortRateSVDCKF", hAbortReasons->GetBinContent(4) / nEvents);
123 m_monObj->setVariable(
"abortRatePXDCKF", hAbortReasons->GetBinContent(5) / nEvents);
124 m_monObj->setVariable(
"abortRateSpacePoint", hAbortReasons->GetBinContent(6) / nEvents);
127 for (
int i = 1; i <= 6; i++) {
128 hAbortReasons->SetBinContent(i, hAbortReasons->GetBinContent(i) / nEvents);
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.