10 #include <dqm/analysis/modules/DQMHistAnalysisPlotOnly.h>
11 #include <TDirectory.h>
32 addParam(
"HistoList", m_histlist,
"histname [, canvasname]");
33 B2DEBUG(1,
"DQMHistAnalysisPlotOnly: Constructor done.");
36 TH1* DQMHistAnalysisPlotOnlyModule::GetHisto(TString histoname)
39 hh1 = findHist(histoname.Data());
41 B2DEBUG(20,
"Histo " << histoname <<
" not in memfile");
43 TDirectory* d = gROOT;
44 TString myl = histoname;
47 while (myl.Tokenize(tok, from,
"/")) {
51 if (myl.Tokenize(dummy, f,
"/")) {
52 auto e = d->GetDirectory(tok);
54 B2DEBUG(20,
"Cd Dir " << tok);
62 TObject* obj = d->FindObject(tok);
64 if (obj->IsA()->InheritsFrom(
"TH1")) {
65 B2DEBUG(20,
"Histo " << histoname <<
" found in mem");
69 B2DEBUG(20,
"Histo " << histoname <<
" NOT found in mem");
74 B2DEBUG(20,
"Histo " << histoname <<
" not found");
80 DQMHistAnalysisPlotOnlyModule::~DQMHistAnalysisPlotOnlyModule() { }
82 void DQMHistAnalysisPlotOnlyModule::initialize()
84 B2DEBUG(20,
"DQMHistAnalysisPlotOnly: initialized.");
87 for (
auto& it : m_histlist) {
90 a = TString(it.at(0).c_str());
92 if (p == kNPOS) a =
"c_" + a;
93 else a.Insert(p + 1,
"c_");
94 }
else if (it.size() == 2) {
97 TCanvas* c =
new TCanvas(a);
98 m_canvasList[it.at(0)] = c;
103 void DQMHistAnalysisPlotOnlyModule::beginRun()
105 B2DEBUG(20,
"DQMHistAnalysisPlotOnly: beginRun called.");
108 void DQMHistAnalysisPlotOnlyModule::event()
110 for (
auto& it : m_canvasList) {
113 TH1* hh1 = GetHisto(it.first.c_str());
115 B2DEBUG(10,
"Hist " << it.first.c_str() <<
" not found");
122 if (hh1->GetDimension() == 1) {
124 }
else if (hh1->GetDimension() == 2) {
127 it.second->Modified();
134 void DQMHistAnalysisPlotOnlyModule::endRun()
136 B2DEBUG(20,
"DQMHistAnalysisPlotOnly: endRun called");
140 void DQMHistAnalysisPlotOnlyModule::terminate()
142 B2DEBUG(20,
"DQMHistAnalysisPlotOnly: terminate called");