From: hristov Date: Wed, 22 Sep 2010 13:05:10 +0000 (+0000) Subject: Additional fixes for report #72515: ITS QA porting request (Annalisa) X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=a113791e1ab0686743fe5f641e7b893e184047f0;hp=cabdfc37e400fc47f3f0d68dd4b7968459a1b027 Additional fixes for report #72515: ITS QA porting request (Annalisa) --- diff --git a/ITS/AliITSQASPDChecker.cxx b/ITS/AliITSQASPDChecker.cxx index 72b0e1477c6..82c7cf729a8 100644 --- a/ITS/AliITSQASPDChecker.cxx +++ b/ITS/AliITSQASPDChecker.cxx @@ -42,11 +42,6 @@ AliITSQASPDChecker::AliITSQASPDChecker() : fHighSPDValue(NULL), fImage(NULL) { - for(Int_t i=0; i<6 ; i++) { - fDisplayStatus[i] = new TPaveText(0.2,0.23,0.7,0.5,"NDC"); - fDisplayStatus[i]->SetFillColor(kGreen); - fDisplayStatus[i]->AddText("OK"); - } } //__________________________________________________________________ AliITSQASPDChecker& AliITSQASPDChecker::operator = (const AliITSQASPDChecker& qac ) @@ -62,9 +57,6 @@ if(fStepBitSPD) delete[] fStepBitSPD ; if(fLowSPDValue)delete[]fLowSPDValue; if(fHighSPDValue) delete[]fHighSPDValue; if(fImage) delete[]fImage; -for(Int_t i=0; i<6; i++){ -delete fDisplayStatus[i]; -} } //__________________________________________________________________ @@ -184,81 +176,69 @@ while ( (hdata = dynamic_cast(next())) ) { if(!histName.Contains("SPD")) continue; totalHistos++; // data format error - if(histName.Contains("SPDErrorsAll")){ - if(hdata->GetListOfFunctions()->GetEntries()<1) hdata->GetListOfFunctions()->Add(fDisplayStatus[0]); - if(hdata->Integral(0,hdata->GetNbinsX())>0){ + if(histName.Contains("SPDErrorsAll")){ + if(hdata->GetListOfFunctions()->GetEntries()<1) hdata->GetListOfFunctions()->Add(new TPaveText(0.2,0.23,0.7,0.5,"NDC")); + for(Int_t i=0; iGetListOfFunctions()->GetEntries(); i++){ TString funcName = hdata->GetListOfFunctions()->At(i)->ClassName(); if(funcName.Contains("TPaveText")){ - TPaveText *p = (TPaveText*)hdata->GetListOfFunctions()->At(i); + TPaveText *p = (TPaveText*)hdata->GetListOfFunctions()->At(i); + p->Clear(); + + if(hdata->Integral(0,hdata->GetNbinsX())>0){ Bool_t isHighMult = kFALSE; for(Int_t ieq=0; ieq<20; ieq++){ if(hdata->GetBinContent(ieq+1,17+1)>0 && hdata->GetBinContent(ieq+1,20+1)>0) isHighMult = kTRUE; } if(isHighMult) { - p->Clear(); p->SetFillColor(kOrange); p->AddText("High occupancy in a chip detected (-> errors type 17,20 and 0 are present). "); p->AddText("ONLY IF OTHER error types are present CALL the expert"); - } - else { - p->Clear(); + } else { p->SetFillColor(kRed); p->AddText("Data Format NOT OK. Please call the expert!"); } - - } - } - response = fHighSPDValue[AliQAv1::kFATAL]; - fatalProblem=kTRUE; - break; - } else { - for(Int_t i=0; iGetListOfFunctions()->GetEntries(); i++){ - TString funcName = hdata->GetListOfFunctions()->At(i)->ClassName(); - if(funcName.Contains("TPaveText")){ - TPaveText *p = (TPaveText*)hdata->GetListOfFunctions()->At(i); - p->Clear(); - p->SetFillColor(kGreen); - p->AddText("OK"); - - } - } - } - } + response = fHighSPDValue[AliQAv1::kFATAL]; + fatalProblem=kTRUE; + continue; + } // if errors + else { + p->Clear(); + p->SetFillColor(kGreen); + p->AddText("OK"); + } + } // TPaveText + } // list entries + } // data format error + // MEB error else if(histName.Contains("MEB")){ - if(hdata->GetListOfFunctions()->GetEntries()<1) hdata->GetListOfFunctions()->Add(fDisplayStatus[1]); - if(hdata->GetEntries()>0){ - for(Int_t i=0; iGetListOfFunctions()->GetEntries(); i++){ + if(hdata->GetListOfFunctions()->GetEntries()<1) hdata->GetListOfFunctions()->Add(new TPaveText(0.2,0.23,0.7,0.5,"NDC")); + + for(Int_t i=0; iGetListOfFunctions()->GetEntries(); i++){ TString funcName = hdata->GetListOfFunctions()->At(i)->ClassName(); if(funcName.Contains("TPaveText")){ TPaveText *p = (TPaveText*)hdata->GetListOfFunctions()->At(i); p->Clear(); + + if(hdata->GetEntries()>0){ p->SetFillColor(kRed); p->AddText("MEB problem could be present. Please check if SPD is in READY state."); p->AddText("If SPD is in -READY- state, please notify it to the expert."); - } - } - - - response = fHighSPDValue[AliQAv1::kFATAL]; - fatalProblem=kTRUE; - break; - } else { - for(Int_t i=0; iGetListOfFunctions()->GetEntries(); i++){ - TString funcName = hdata->GetListOfFunctions()->At(i)->ClassName(); - if(funcName.Contains("TPaveText")){ - TPaveText *p = (TPaveText*)hdata->GetListOfFunctions()->At(i); - p->Clear(); + response = fHighSPDValue[AliQAv1::kFATAL]; + fatalProblem=kTRUE; + continue; + + } else { p->SetFillColor(kGreen); p->AddText("OK"); - - } - } - } - } + } + + } // pave text + } // list + } goodHistos++; - } + } } if(!fatalProblem) response = goodHistos/totalHistos; // printf("n histos %f - good ones %f ----> ratio %f , fatal response %i\n",totalHistos,goodHistos,goodHistos/totalHistos,(Int_t)fatalProblem); diff --git a/ITS/AliITSQASPDChecker.h b/ITS/AliITSQASPDChecker.h index e8a39a215f8..b3341beb1c6 100644 --- a/ITS/AliITSQASPDChecker.h +++ b/ITS/AliITSQASPDChecker.h @@ -48,8 +48,6 @@ private: Float_t *fHighSPDValue; // lower limits for QA bit settings TCanvas ** fImage; //[AliRecoParam::kNSpecies] - TPaveText * fDisplayStatus[6]; //Online Comments for the DQM-shifter histos - ClassDef(AliITSQASPDChecker,4) // description };