@@ -248,37 +248,76 @@ void DigitsQcCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality checkRes
248248 if (mo->getName ().find (lbHistoName) != std::string::npos) {
249249 // This matches "LocalBoardsMap*"
250250 auto histo = dynamic_cast <TH2F*>(mo->getObject ());
251- if (mo->getName () == lbHistoName) {
252- // This is LocalBoardsMap and it was already scaled in the checker
253- if (!checkResult.getFlags ().empty ()) {
254- mHistoHelper .addLatex (histo, 0.12 , 0.72 , color, checkResult.getFlags ().front ().second .c_str ());
251+ if (histo) {
252+ if (mo->getName () == lbHistoName) {
253+ // This is LocalBoardsMap and it was already scaled in the checker
254+ if (!checkResult.getFlags ().empty ()) {
255+ mHistoHelper .addLatex (histo, 0.12 , 0.72 , color, checkResult.getFlags ().front ().second .c_str ());
256+ }
257+ mHistoHelper .addLatex (histo, 0.3 , 0.32 , color, fmt::format (" Quality::{}" , checkResult.getName ()));
258+ histo->SetMaximum (zcontoursLoc4.back ());
259+ histo->SetContour (zcontoursLoc4.size (), zcontoursLoc4.data ());
260+ } else {
261+ mHistoHelper .normalizeHistoTokHz (histo);
262+ histo->SetMaximum (zcontoursLoc.back ());
263+ histo->SetContour (zcontoursLoc.size (), zcontoursLoc.data ());
255264 }
256- mHistoHelper .addLatex (histo, 0.3 , 0.32 , color, fmt::format (" Quality::{}" , checkResult.getName ()));
257- histo->SetMaximum (zcontoursLoc4.back ());
258- histo->SetContour (zcontoursLoc4.size (), zcontoursLoc4.data ());
259- } else {
260- mHistoHelper .normalizeHistoTokHz (histo);
261- histo->SetMaximum (zcontoursLoc.back ());
262- histo->SetContour (zcontoursLoc.size (), zcontoursLoc.data ());
265+ mHistoHelper .updateTitleWithNTF (histo);
266+ histo->SetStats (0 );
263267 }
264- mHistoHelper .updateTitleWithNTF (histo);
265- histo->SetStats (0 );
266- } else {
267-
268- // Strips Display
269- if (mo->getName ().find (" BendHitsMap" ) != std::string::npos) {
270- // This matches both [N]BendHitsMap*
271- int maxStrip = 20 ; // 20kHz Max Display
272- auto histo = dynamic_cast <TH2F*>(mo->getObject ());
268+ } else if (mo->getName ().find (" BendHitsMap" ) != std::string::npos) { // Strips Display
269+ // This matches both [N]BendHitsMap*
270+ int maxStrip = 20 ; // 20kHz Max Display
271+ auto histo = dynamic_cast <TH2F*>(mo->getObject ());
272+ if (histo) {
273273 mHistoHelper .normalizeHistoTokHz (histo);
274274 histo->SetMaximum (zcontoursStrip.back ());
275275 histo->SetContour (zcontoursStrip.size (), zcontoursStrip.data ());
276276 histo->SetStats (0 );
277- } else if (mo->getName () == " Hits" ) {
278- auto histo = dynamic_cast <TH1F*>(mo->getObject ());
277+ }
278+ } else if (mo->getName () == " Hits" ) {
279+ auto histo = dynamic_cast <TH1F*>(mo->getObject ());
280+ if (histo) {
279281 mHistoHelper .normalizeHistoTokHz (histo);
280282 histo->SetStats (0 );
281283 }
284+ } else if (mo->getName () == " GBTRate" ) {
285+ auto histo = dynamic_cast <TH1F*>(mo->getObject ());
286+ if (histo) {
287+ // if (mHistoHelper.getNTFs() > 0)
288+ mHistoHelper .normalizeHistoTokHz (histo);
289+ histo->SetMinimum (0 .);
290+ TString XLabel[32 ] = { " 5R0" , " 5R1" , " 4R0" , " 4R1" , " 1R0" , " 1R1" , " 0R0" , " 0R1" ,
291+ " 2R0" , " 2R1" , " 3R0" , " 3R1" , " 7R0" , " 7R1" , " 6R0" , " 6R1" ,
292+ " 5L0" , " 5L1" , " 4L0" , " 4L1" , " 1L0" , " 1L1" , " 0L0" , " 0L1" ,
293+ " 2L0" , " 2L1" , " 3L0" , " 3L1" , " 7L0" , " 7L1" , " 6L0" , " 6L1" };
294+ for (Int_t i = 0 ; i < 32 ; ++i)
295+ histo->GetXaxis ()->SetBinLabel (i + 1 , XLabel[i]);
296+ histo->GetXaxis ()->SetLabelSize (0.07 );
297+ histo->GetXaxis ()->SetLabelColor (4 );
298+ }
299+ } else if (mo->getName () == " EPRate" ) {
300+ auto histo = dynamic_cast <TH1F*>(mo->getObject ());
301+ if (histo) {
302+ mHistoHelper .normalizeHistoTokHz (histo);
303+ histo->SetMinimum (0 .);
304+ histo->GetXaxis ()->SetBinLabel (1 , " CRU0(990)-EP0" );
305+ histo->GetXaxis ()->SetBinLabel (2 , " CRU0(990)-EP1" );
306+ histo->GetXaxis ()->SetBinLabel (3 , " CRU1(974)-EP0" );
307+ histo->GetXaxis ()->SetBinLabel (4 , " CRU1(974)-EP1" );
308+ histo->GetXaxis ()->SetLabelSize (0.07 );
309+ histo->GetXaxis ()->SetLabelColor (4 );
310+ }
311+ } else if (mo->getName () == " CRURate" ) {
312+ auto histo = dynamic_cast <TH1F*>(mo->getObject ());
313+ if (histo) {
314+ mHistoHelper .normalizeHistoTokHz (histo);
315+ histo->SetMinimum (0 .);
316+ histo->GetXaxis ()->SetBinLabel (1 , " CRU0 (990)" );
317+ histo->GetXaxis ()->SetBinLabel (2 , " CRU1 (974)" );
318+ histo->GetXaxis ()->SetLabelSize (0.07 );
319+ histo->GetXaxis ()->SetLabelColor (4 );
320+ }
282321 }
283322 }
284323 mHistoHelper .updateTitle (dynamic_cast <TH1*>(mo->getObject ()), mHistoHelper .getCurrentTime ());
0 commit comments