@@ -75,72 +75,10 @@ void ReferenceComparatorCheck::endOfActivity(const Activity& activity)
7575{
7676}
7777
78- // _________________________________________________________________________________________
79- //
80- // Get the current and reference histograms from the canvas.
81- // The two histograms are returned as a std::pair
82- static std::pair<TH1*, TH1*> getPlotsFromCanvas (TCanvas* canvas, std::string& message)
83- {
84- // Get the pad containing the current histogram, as well as the reference one in the case of 1-D plots
85- TPad* padHist = (TPad*)canvas->GetPrimitive (TString::Format (" %s_PadHist" , canvas->GetName ()));
86- if (!padHist) {
87- message = " missing PadHist" ;
88- return { nullptr , nullptr };
89- }
90- // Get the pad containing the reference histogram.
91- // This pad is only present for 2-D histograms.
92- // 1-D histograms are drawn superimposed in the same pad
93- TPad* padHistRef = (TPad*)canvas->GetPrimitive (TString::Format (" %s_PadHistRef" , canvas->GetName ()));
94-
95- // Get the current histogram
96- TH1* hist = dynamic_cast <TH1*>(padHist->GetPrimitive (TString::Format (" %s_hist" , canvas->GetName ())));
97- if (!hist) {
98- message = " missing histogram" ;
99- return { nullptr , nullptr };
100- }
101-
102- // Get the reference histogram, trying both pads
103- TH1* histRef = nullptr ;
104- if (padHistRef) {
105- histRef = dynamic_cast <TH1*>(padHistRef->GetPrimitive (TString::Format (" %s_hist_ref" , canvas->GetName ())));
106- } else {
107- histRef = dynamic_cast <TH1*>(padHist->GetPrimitive (TString::Format (" %s_hist_ref" , canvas->GetName ())));
108- }
109-
110- if (!histRef) {
111- message = " missing reference histogram" ;
112- return { nullptr , nullptr };
113- }
114-
115- // return a pair with the two histograms
116- return { hist, histRef };
117- }
118-
11978static std::pair<TH1*, TH1*> getPlotsFromCanvas (TCanvas* canvas)
12079{
12180 std::string dummyMessage;
122- return getPlotsFromCanvas (canvas, dummyMessage);
123- }
124-
125- // _________________________________________________________________________________________
126- //
127- // Get the ratio histograms from the canvas
128- static TH1* getRatioPlotFromCanvas (TCanvas* canvas)
129- {
130- // Get the pad containing the current histogram, as well as the reference one in the case of 1-D plots
131- TPad* padHistRatio = (TPad*)canvas->GetPrimitive (TString::Format (" %s_PadHistRatio" , canvas->GetName ()));
132- if (!padHistRatio) {
133- return nullptr ;
134- }
135-
136- // Get the current histogram
137- TH1* histRatio = dynamic_cast <TH1*>(padHistRatio->GetPrimitive (TString::Format (" %s_hist_ratio" , canvas->GetName ())));
138- if (!histRatio) {
139- return nullptr ;
140- }
141-
142- // return a pair with the two histograms
143- return histRatio;
81+ return o2::quality_control::checker::getPlotsFromCanvas (canvas, dummyMessage);
14482}
14583
14684// Get the current and reference histograms from the canvas, and compare them using the comparator object passed as parameter
@@ -156,7 +94,7 @@ static Quality compare(TCanvas* canvas, ObjectComparatorInterface* comparator, s
15694 }
15795
15896 // extract the histograms from the canvas
159- auto plots = getPlotsFromCanvas (canvas, message);
97+ auto plots = o2::quality_control::checker:: getPlotsFromCanvas (canvas, message);
16098 if (!plots.first || !plots.second ) {
16199 return Quality::Null;
162100 }
@@ -389,7 +327,7 @@ void ReferenceComparatorCheck::beautify(std::shared_ptr<MonitorObject> mo, Quali
389327 setQualityLabel (canvas, quality);
390328
391329 // draw a double-arrow indicating the horizontal range for the check, if it is set
392- beautifyRatioPlot (moName, getRatioPlotFromCanvas (canvas), quality);
330+ beautifyRatioPlot (moName, o2::quality_control::checker:: getRatioPlotFromCanvas (canvas), quality);
393331 } else {
394332 // draw the quality label directly on the plot if the MO is an histogram
395333 auto * th1 = dynamic_cast <TH1*>(mo->getObject ());
0 commit comments