@@ -137,6 +137,12 @@ Quality RawDataReaderCheck::check(std::map<std::string, std::shared_ptr<MonitorO
137137 result.set (setQualityResult (mVecIndexBad , mVecIndexMedium ));
138138 }
139139 mHistClassRatioPrevious = (TH1D*)h->Clone ();
140+ } else if (mo->getName () == " decodeError" ) {
141+ if (h->GetEntries () > 0 ) {
142+ result.set (Quality::Bad);
143+ } else {
144+ result.set (Quality::Good);
145+ }
140146 } else {
141147 ILOG (Info, Support) << " Unknown histo:" << moName << ENDM;
142148 }
@@ -255,6 +261,77 @@ void RawDataReaderCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality che
255261 }
256262 h->SetStats (kFALSE );
257263 h->GetYaxis ()->SetRangeUser (0 , h->GetMaximum () * 1.5 );
264+ } else if (mo->getName () == " decodeError" ) {
265+ auto * h = dynamic_cast <TH1D*>(mo->getObject ());
266+ if (checkResult != Quality::Null) {
267+ msg = std::make_shared<TLatex>(0.2 , 0.85 , Form (" Quality: %s" , (checkResult.getName ()).c_str ()));
268+ if (checkResult == Quality::Bad) {
269+ msg->SetTextColor (kRed );
270+ } else if (checkResult == Quality::Good) {
271+ msg->SetTextColor (kGreen + 1 );
272+ }
273+ msg->SetTextSize (0.03 );
274+ msg->SetNDC ();
275+ h->GetListOfFunctions ()->Add (msg->Clone ());
276+ }
277+ if (checkResult == Quality::Bad) {
278+ float initialMessagePos = 0.8 ;
279+ if (h->GetBinContent (1 ) > 0 ) {
280+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Failed to extract RDD" );
281+ msg->SetTextSize (0.03 );
282+ msg->SetNDC ();
283+ h->GetListOfFunctions ()->Add (msg->Clone ());
284+ initialMessagePos -= 0.04 ;
285+ }
286+ if (h->GetBinContent (3 ) > 0 ) {
287+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Two CTP IRs with the same ts" );
288+ msg->SetTextSize (0.03 );
289+ msg->SetNDC ();
290+ h->GetListOfFunctions ()->Add (msg->Clone ());
291+ initialMessagePos -= 0.04 ;
292+ }
293+ if (h->GetBinContent (4 ) > 0 ) {
294+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Two digits with the same ts" );
295+ msg->SetTextSize (0.03 );
296+ msg->SetNDC ();
297+ h->GetListOfFunctions ()->Add (msg->Clone ());
298+ initialMessagePos -= 0.04 ;
299+ }
300+ if (h->GetBinContent (5 ) > 0 ) {
301+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Two CTP class masks with the same ts" );
302+ msg->SetTextSize (0.03 );
303+ msg->SetNDC ();
304+ h->GetListOfFunctions ()->Add (msg->Clone ());
305+ initialMessagePos -= 0.04 ;
306+ }
307+ if (h->GetBinContent (6 ) > 0 ) {
308+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Two digits (Class Mask) with the same ts" );
309+ msg->SetTextSize (0.03 );
310+ msg->SetNDC ();
311+ h->GetListOfFunctions ()->Add (msg->Clone ());
312+ initialMessagePos -= 0.04 ;
313+ }
314+ if (h->GetBinContent (7 ) > 0 ) {
315+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " Trigger class without input" );
316+ msg->SetTextSize (0.03 );
317+ msg->SetNDC ();
318+ h->GetListOfFunctions ()->Add (msg->Clone ());
319+ initialMessagePos -= 0.04 ;
320+ }
321+ if (h->GetBinContent (8 ) > 0 ) {
322+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " CTP class mask not compatible with input class mask" );
323+ msg->SetTextSize (0.03 );
324+ msg->SetNDC ();
325+ h->GetListOfFunctions ()->Add (msg->Clone ());
326+ initialMessagePos -= 0.04 ;
327+ }
328+ if (h->GetBinContent (9 ) > 0 ) {
329+ msg = std::make_shared<TLatex>(0.2 , initialMessagePos, " CTP class not found in the digit" );
330+ msg->SetTextSize (0.03 );
331+ msg->SetNDC ();
332+ h->GetListOfFunctions ()->Add (msg->Clone ());
333+ }
334+ }
258335 } else {
259336 auto * h = dynamic_cast <TH1D*>(mo->getObject ());
260337 h->SetStats (kFALSE );
0 commit comments