10 #include <dqm/analysis/modules/DQMHistAnalysisTracking.h>
31 addParam(
"histogramDirectoryName", m_histogramDirectoryName,
"Name of Histogram dir", std::string(
"TracksDQM"));
32 B2DEBUG(99,
"DQMHistAnalysisTracking: Constructor done.");
35 void DQMHistAnalysisTrackingModule::initialize()
39 m_cTrackingError =
new TCanvas((m_histogramDirectoryName +
"/c_TrackingError").data());
41 B2DEBUG(99,
"DQMHistAnalysisTracking: initialized.");
44 void DQMHistAnalysisTrackingModule::beginRun()
46 B2DEBUG(99,
"DQMHistAnalysisTracking: beginRun called.");
48 m_cTrackingError->Clear();
49 m_cTrackingError->SetLogz();
52 void DQMHistAnalysisTrackingModule::event()
54 if (!m_cTrackingError)
return;
56 std::string name =
"NumberTrackingErrorFlags";
58 TH1* hh1 = findHist(name);
60 hh1 = findHist(m_histogramDirectoryName, name);
65 bool error_flag =
false;
66 bool warn_flag =
false;
67 double nGood = hh1->GetBinContent(1);
68 double nBad = hh1->GetBinContent(2);
69 double ratio = (nGood > 1) ? (nBad / nGood) : 1;
70 error_flag |= (ratio > 5e-2);
71 warn_flag |= (ratio > 1e-2);
73 m_cTrackingError->cd();
76 m_cTrackingError->Pad()->SetFillColor(kRed);
77 }
else if (warn_flag) {
78 m_cTrackingError->Pad()->SetFillColor(kYellow);
79 }
else if (nBad < 10) {
80 m_cTrackingError->Pad()->SetFillColor(kGreen);
82 m_cTrackingError->Pad()->SetFillColor(kWhite);
87 m_cTrackingError->Modified();
88 m_cTrackingError->Update();