1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
17 // --- ROOT system ---
19 #include <TIterator.h>
22 // --- Standard library ---
24 // --- AliRoot header files ---
26 #include "AliZDCQAChecker.h"
28 ClassImp(AliZDCQAChecker)
30 //____________________________________________________________________________
31 Double_t * AliZDCQAChecker::Check(AliQAv1::ALITASK_t index, TObjArray ** list,
32 const AliDetectorRecoParam * /*recoParam*/)
34 // Checks the QA histograms on the input list:
36 Double_t * test = new Double_t[AliRecoParam::kNSpecies] ;
37 Int_t * ntests = new Int_t[AliRecoParam::kNSpecies] ;
38 const char* taskName = AliQAv1::GetAliTaskName(index);
39 printf("\n\tAliZDCQAChecker -> checking QA histos for task %s\n",taskName);
41 for(Int_t specie = 0; specie<AliRecoParam::kNSpecies; specie++){
44 //printf("\tAliZDCQAChecker -> specie %d\n\n",specie);
46 if(!AliQAv1::Instance()->IsEventSpecieSet(specie)) continue;
47 // ====================================================================
48 // Checks for p-p events
49 // ====================================================================
50 if(specie == AliRecoParam::kLowMult){
51 if(list[specie]->GetEntries()==0){
52 AliWarning("\t The list to be checked is empty!"); // nothing to check
55 //AliDebug(AliQAv1::GetQADebugLevel(), Form("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName));
56 TIter next(list[specie]);
59 Float_t res=0., percentageDiff=0.15;
60 while((hdata = dynamic_cast<TH1 *>(next()))){
62 // -------------------------------------------------------------------
63 if(index == AliQAv1::kSIM){
64 //AliDebug(AliQAv1::GetQADebugLevel(), Form("\tAliZDCQAChecker-> checking histo %s",hdata->GetName()));
66 Float_t sumZNA=0., sumZNC=0., sumZPA=0., sumZPC=0.;
67 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
68 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
69 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
70 Float_t adcCZNA=0., adcCZNC=0., adcCZPA=0., adcCZPC=0.;
71 Float_t adcQZNA=0., adcQZNC=0., adcQZPA=0., adcQZPC=0.;
72 Int_t ihitHisto=0, idigHisto=0;
74 if(!(strncmp(hdata->GetName(),"hHits",5))){
75 if(hdata->GetEntries()>0){
76 if(ihitHisto==0) sumZNC = hdata->GetMean();
77 else if(ihitHisto==1) sumZNA = hdata->GetMean();
78 else if(ihitHisto==2) sumZPC = hdata->GetMean();
79 else if(ihitHisto==3) sumZPA = hdata->GetMean();
80 else if(ihitHisto==4) pmQZNC = hdata->GetMean();
81 else if(ihitHisto==5) pmQZNA = hdata->GetMean();
82 else if(ihitHisto==6) pmQZPC = hdata->GetMean();
83 else if(ihitHisto==7) pmQZPA = hdata->GetMean();
84 else if(ihitHisto==8) pmCZNC = hdata->GetMean();
85 else if(ihitHisto==9) pmCZNA = hdata->GetMean();
86 else if(ihitHisto==10) pmCZPC = hdata->GetMean();
87 else if(ihitHisto==11) pmCZPA = hdata->GetMean();
90 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
93 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
101 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
109 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
117 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
127 // Check DIGIT HIGH GAIN CHAIN histos
128 else if(!(strncmp(hdata->GetName(),"hDig",4))){
129 if(hdata->GetEntries()>0){
130 if(idigHisto==0) sumADCZNC = hdata->GetMean();
131 else if(idigHisto==1) sumADCZNA = hdata->GetMean();
132 else if(idigHisto==2) sumADCZPC = hdata->GetMean();
133 else if(idigHisto==3) sumADCZPA = hdata->GetMean();
134 else if(idigHisto==4) pmQZNC = hdata->GetMean();
135 else if(idigHisto==5) pmQZNA = hdata->GetMean();
136 else if(idigHisto==6) pmQZPC = hdata->GetMean();
137 else if(idigHisto==7) pmQZPA = hdata->GetMean();
138 else if(idigHisto==8) pmCZNC = hdata->GetMean();
139 else if(idigHisto==9) pmCZNA = hdata->GetMean();
140 else if(idigHisto==10) pmCZPC = hdata->GetMean();
141 else if(idigHisto==11) pmCZPA = hdata->GetMean();
144 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
147 if((TMath::Abs(adcQZNC-adcCZNC)/adcCZNC)<percentageDiff)
155 if((TMath::Abs(adcQZNA-adcCZNA)/adcCZNA)<percentageDiff)
163 if((TMath::Abs(adcQZPC-adcCZPC)/adcCZPC)<percentageDiff)
171 if((TMath::Abs(adcQZPA-adcCZPA)/adcCZPA)<percentageDiff)
182 // -------------------------------------------------------------------
183 else if(index == AliQAv1::kRAW) {
184 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
185 Float_t adcCZNA=0., adcCZNC=0., adcCZPA=0., adcCZPC=0.;
186 Float_t adcQZNA=0., adcQZNC=0., adcQZPA=0., adcQZPC=0.;
189 // Check RAW HIGH GAIN CHAIN histos
190 if(hdata->GetEntries()>0){
191 if(irawHisto==0) sumADCZNC = hdata->GetMean();
192 else if(irawHisto==1) sumADCZNA = hdata->GetMean();
193 else if(irawHisto==2) sumADCZPC = hdata->GetMean();
194 else if(irawHisto==3) sumADCZPA = hdata->GetMean();
195 else if(irawHisto==4) adcQZNC = hdata->GetMean();
196 else if(irawHisto==5) adcQZNA = hdata->GetMean();
197 else if(irawHisto==6) adcQZPC = hdata->GetMean();
198 else if(irawHisto==7) adcQZPA = hdata->GetMean();
199 else if(irawHisto==8) adcCZNC = hdata->GetMean();
200 else if(irawHisto==9) adcCZNA = hdata->GetMean();
201 else if(irawHisto==10) adcCZPC = hdata->GetMean();
202 else if(irawHisto==11) adcCZPA = hdata->GetMean();
205 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
208 if((TMath::Abs(adcQZNC-adcCZNC)/adcCZNC)<percentageDiff)
216 if((TMath::Abs(adcQZNA-adcCZNA)/adcCZNA)<percentageDiff)
224 if((TMath::Abs(adcQZPC-adcCZPC)/adcCZPC)<percentageDiff)
232 if((TMath::Abs(adcQZPA-adcCZPA)/adcCZPA)<percentageDiff)
242 // -------------------------------------------------------------------
243 else if(index == AliQAv1::kREC) {
244 Float_t sumZNA=0., sumZNC=0., sumZPA=0., sumZPC=0.;
245 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
246 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
249 // Check REC HIGH GAIN CHAIN histos
250 if(hdata->GetEntries()>0){
251 if(irecHisto==0) sumZNC = hdata->GetMean();
252 else if(irecHisto==1) sumZNA = hdata->GetMean();
253 else if(irecHisto==2) sumZPC = hdata->GetMean();
254 else if(irecHisto==3) sumZPA = hdata->GetMean();
255 else if(irecHisto==4) pmQZNC = hdata->GetMean();
256 else if(irecHisto==5) pmQZNA = hdata->GetMean();
257 else if(irecHisto==6) pmQZPC = hdata->GetMean();
258 else if(irecHisto==7) pmQZPA = hdata->GetMean();
259 else if(irecHisto==8) pmCZNC = hdata->GetMean();
260 else if(irecHisto==9) pmCZNA = hdata->GetMean();
261 else if(irecHisto==10) pmCZPC = hdata->GetMean();
262 else if(irecHisto==11) pmCZPA = hdata->GetMean();
265 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
268 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
276 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
284 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
292 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
302 // -------------------------------------------------------------------
303 else if(index == AliQAv1::kESD) {
304 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
305 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
306 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
309 // Check ESD HIGH GAIN CHAIN histos
310 if(hdata->GetEntries()!=0){
311 if(esdInd==2) sumADCZNC = hdata->GetMean();
312 else if(esdInd==3) sumADCZNA = hdata->GetMean();
313 else if(esdInd==4) sumADCZPC = hdata->GetMean();
314 else if(esdInd==5) sumADCZPA = hdata->GetMean();
315 else if(esdInd==6) pmQZNC = hdata->GetMean();
316 else if(esdInd==7) pmQZNA = hdata->GetMean();
317 else if(esdInd==8) pmQZPC = hdata->GetMean();
318 else if(esdInd==9) pmQZPA = hdata->GetMean();
319 else if(esdInd==10) pmCZNC = hdata->GetMean();
320 else if(esdInd==11) pmCZNA = hdata->GetMean();
321 else if(esdInd==12) pmCZPC = hdata->GetMean();
322 else if(esdInd==13) pmCZPA = hdata->GetMean();
325 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
328 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
336 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
344 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
352 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
363 AliWarning(Form("\n\t No ZDC QA for %s task\n",taskName));
367 else AliError("AliZDCQAChecker-> No histos!!!\n");
370 // ====================================================================
371 // Checks for A-A events
372 // ====================================================================
373 else if (specie == AliRecoParam::kHighMult) {
374 if(list[specie]->GetEntries()==0){
375 AliWarning("\t The list to be checked is empty!");
378 //AliDebug(AliQAv1::GetQADebugLevel(), Form("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName));
380 TIter next(list[specie]);
383 Float_t res=0., percentageDiff=0.10;
384 while((hdata = dynamic_cast<TH1 *>(next()))){
386 //AliDebug(AliQAv1::GetQADebugLevel(), Form("\tAliZDCQAChecker-> checking histo %s",hdata->GetName()));
387 // -------------------------------------------------------------------
388 if(index == AliQAv1::kSIM){
389 Float_t meanZNA=0., meanZNC=0., meanZPA=0., meanZPC=0.;
390 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
391 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
392 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
393 Float_t adcCZNA=0., adcCZNC=0., adcCZPA=0., adcCZPC=0.;
394 Float_t adcQZNA=0., adcQZNC=0., adcQZPA=0., adcQZPC=0.;
395 Int_t hitInd=0, digInd=0;
397 if (!(strncmp(hdata->GetName(),"hHits",5))){
398 if(hdata->GetEntries()>0){
399 if(hitInd==0) meanZNC = hdata->GetMean();
400 else if(hitInd==1) meanZNA = hdata->GetMean();
401 else if(hitInd==2) meanZPC = hdata->GetMean();
402 else if(hitInd==3) meanZPA = hdata->GetMean();
403 else if(hitInd==4) pmQZNC = hdata->GetMean();
404 else if(hitInd==5) pmQZNA = hdata->GetMean();
405 else if(hitInd==6) pmQZPC = hdata->GetMean();
406 else if(hitInd==7) pmQZPA = hdata->GetMean();
407 else if(hitInd==8) pmCZNC = hdata->GetMean();
408 else if(hitInd==9) pmCZNA = hdata->GetMean();
409 else if(hitInd==10) pmCZPC = hdata->GetMean();
410 else if(hitInd==11) pmCZPA = hdata->GetMean();
413 // --- Check whether 2*|Mean ZNA - Mean ZNC|/(Mean ZNA + Mean ZNC) < percentageDiff
414 // --- and 2*|Mean ZPA - Mean ZPC|/(Mean ZPA + Mean ZPC) < 2*percentageDiff
416 if(meanZNC!=0 && meanZNA!=0){
417 if((2*TMath::Abs(meanZNC-meanZNA)/(meanZNA+meanZNC))<percentageDiff)
424 if(meanZPC!=0 && meanZPA!=0){
425 if((TMath::Abs(meanZPC-meanZPA)/(meanZPA+meanZPC))<percentageDiff)
433 // --- Check whether (mean PMQi - PMC)/PMC < percentageDiff
436 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
444 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
452 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
460 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
470 // Check DIGITS histos
471 else if (!(strncmp(hdata->GetName(),"hDig",4))){
472 if(hdata->GetEntries()>0){
473 if(digInd==0) sumADCZNC = hdata->GetMean();
474 else if(digInd==1) sumADCZNA = hdata->GetMean();
475 else if(digInd==2) sumADCZPC = hdata->GetMean();
476 else if(digInd==3) sumADCZPA = hdata->GetMean();
477 else if(digInd==4) adcQZNC = hdata->GetMean();
478 else if(digInd==5) adcQZNA = hdata->GetMean();
479 else if(digInd==6) adcQZPC = hdata->GetMean();
480 else if(digInd==7) adcQZPA = hdata->GetMean();
481 else if(digInd==8) adcCZNC = hdata->GetMean();
482 else if(digInd==9) adcCZNA = hdata->GetMean();
483 else if(digInd==10) adcCZPC = hdata->GetMean();
484 else if(digInd==11) adcCZPA = hdata->GetMean();
487 // --- Check whether 2*|Mean ZNA - Mean ZNC|/(Mean ZNA + Mean ZNC) < percentageDiff
488 // --- and 2*|Mean ZPA - Mean ZPC|/(Mean ZPA + Mean ZPC) < 2*percentageDiff
490 if(sumADCZNC!=0 && sumADCZNA!=0){
491 if((2*TMath::Abs(sumADCZNC-sumADCZNA)/(sumADCZNA+sumADCZNC))<percentageDiff)
498 if(sumADCZPC!=0 && sumADCZPA!=0){
499 if((TMath::Abs(sumADCZPC-sumADCZPA)/(sumADCZPA+sumADCZPC))<percentageDiff)
507 // --- Check whether (sumADC PMQi - PMC)/PMC < percentageDiff
510 if((TMath::Abs(adcQZNC-adcCZNC)/adcCZNC)<percentageDiff)
518 if((TMath::Abs(adcQZNA-adcCZNA)/adcCZNA)<percentageDiff)
526 if((TMath::Abs(adcQZPC-adcCZPC)/adcCZPC)<percentageDiff)
534 if((TMath::Abs(adcQZPA-adcCZPA)/adcCZPA)<percentageDiff)
545 // -------------------------------------------------------------------
546 else if(index == AliQAv1::kRAW){
547 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
548 Float_t adcCZNA=0., adcCZNC=0., adcCZPA=0., adcCZPC=0.;
549 Float_t adcQZNA=0., adcQZNC=0., adcQZPA=0., adcQZPC=0.;
552 // Check RAW HIGH GAIN CHAIN histos
553 if(hdata->GetEntries()>0){
554 if(rawInd==0) sumADCZNC = hdata->GetMean();
555 else if(rawInd==1) sumADCZNA = hdata->GetMean();
556 else if(rawInd==2) sumADCZPC = hdata->GetMean();
557 else if(rawInd==3) sumADCZPA = hdata->GetMean();
558 else if(rawInd==4) adcQZNC = hdata->GetMean();
559 else if(rawInd==5) adcQZNA = hdata->GetMean();
560 else if(rawInd==6) adcQZPC = hdata->GetMean();
561 else if(rawInd==7) adcQZPA = hdata->GetMean();
562 else if(rawInd==8) adcCZNC = hdata->GetMean();
563 else if(rawInd==9) adcCZNA = hdata->GetMean();
564 else if(rawInd==10) adcCZPC = hdata->GetMean();
565 else if(rawInd==11) adcCZPA = hdata->GetMean();
568 // --- Check whether 2*|Mean ZNA - Mean ZNC|/(Mean ZNA + Mean ZNC) < percentageDiff
569 // --- and 2*|Mean ZPA - Mean ZPC|/(Mean ZPA + Mean ZPC) < 2*percentageDiff
571 if(sumADCZNC!=0 && sumADCZNA!=0){
572 if((2*TMath::Abs(sumADCZNC-sumADCZNA)/(sumADCZNA+sumADCZNC))<percentageDiff)
579 if(sumADCZPC!=0 && sumADCZPA!=0){
580 if((TMath::Abs(sumADCZPC-sumADCZPA)/(sumADCZPA+sumADCZPC))<percentageDiff)
588 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
591 if((TMath::Abs(adcQZNC-adcCZNC)/adcCZNC)<percentageDiff)
599 if((TMath::Abs(adcQZNA-adcCZNA)/adcCZNA)<percentageDiff)
607 if((TMath::Abs(adcQZPC-adcCZPC)/adcCZPC)<percentageDiff)
615 if((TMath::Abs(adcQZPA-adcCZPA)/adcCZPA)<percentageDiff)
625 // -------------------------------------------------------------------
626 else if(index == AliQAv1::kREC){
627 Float_t sumZNA=0., sumZNC=0., sumZPA=0., sumZPC=0.;
628 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
629 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
632 // Check RAW HIGH GAIN CHAIN histos
633 if(hdata->GetEntries()>0){
634 if(recInd==0) sumZNC = hdata->GetMean();
635 else if(recInd==1) sumZNA = hdata->GetMean();
636 else if(recInd==2) sumZPC = hdata->GetMean();
637 else if(recInd==3) sumZPA = hdata->GetMean();
638 else if(recInd==4) pmQZNC = hdata->GetMean();
639 else if(recInd==5) pmQZNA = hdata->GetMean();
640 else if(recInd==6) pmQZPC = hdata->GetMean();
641 else if(recInd==7) pmQZPA = hdata->GetMean();
642 else if(recInd==8) pmCZNC = hdata->GetMean();
643 else if(recInd==9) pmCZNA = hdata->GetMean();
644 else if(recInd==10) pmCZPC = hdata->GetMean();
645 else if(recInd==11) pmCZPA = hdata->GetMean();
648 // --- Check whether 2*|Mean ZNA - Mean ZNC|/(Mean ZNA + Mean ZNC) < percentageDiff
649 // --- and 2*|Mean ZPA - Mean ZPC|/(Mean ZPA + Mean ZPC) < 2*percentageDiff
651 if(sumZNC!=0 && sumZNA!=0){
652 if((2*TMath::Abs(sumZNC-sumZNA)/(sumZNA+sumZNC))<percentageDiff)
659 if(sumZPC!=0 && sumZPA!=0){
660 if((TMath::Abs(sumZPC-sumZPA)/(sumZPA+sumZPC))<percentageDiff)
668 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
671 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
679 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
687 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
695 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
705 // -------------------------------------------------------------------
706 else if(index == AliQAv1::kESD){
707 Float_t sumADCZNA=0., sumADCZNC=0., sumADCZPA=0., sumADCZPC=0.;
708 Float_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
709 Float_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
712 // Check ESD HIGH GAIN CHAIN histos
713 if(hdata->GetEntries()!=0){
714 if(esdInd==2) sumADCZNC = hdata->GetMean();
715 else if(esdInd==3) sumADCZNA = hdata->GetMean();
716 else if(esdInd==4) sumADCZPC = hdata->GetMean();
717 else if(esdInd==5) sumADCZPA = hdata->GetMean();
718 else if(esdInd==6) pmQZNC = hdata->GetMean();
719 else if(esdInd==7) pmQZNA = hdata->GetMean();
720 else if(esdInd==8) pmQZPC = hdata->GetMean();
721 else if(esdInd==9) pmQZPA = hdata->GetMean();
722 else if(esdInd==10) pmCZNC = hdata->GetMean();
723 else if(esdInd==11) pmCZNA = hdata->GetMean();
724 else if(esdInd==12) pmCZPC = hdata->GetMean();
725 else if(esdInd==13) pmCZPA = hdata->GetMean();
728 // --- Check whether 2*|Mean ZNA - Mean ZNC|/(Mean ZNA + Mean ZNC) < percentageDiff
729 // --- and 2*|Mean ZPA - Mean ZPC|/(Mean ZPA + Mean ZPC) < 2*percentageDiff
731 if(sumADCZNC!=0 && sumADCZNA!=0){
732 if((2*TMath::Abs(sumADCZNC-sumADCZNA)/(sumADCZNA+sumADCZNC))<percentageDiff)
739 if(sumADCZPC!=0 && sumADCZPA!=0){
740 if((TMath::Abs(sumADCZPC-sumADCZPA)/(sumADCZPA+sumADCZPC))<percentageDiff)
748 // --- Check whether (sum PMQi - PMC)/PMC < percentageDiff
751 if((TMath::Abs(pmQZNC-pmCZNC)/pmCZNC)<percentageDiff)
759 if((TMath::Abs(pmQZNA-pmCZNA)/pmCZNA)<percentageDiff)
767 if((TMath::Abs(pmQZPC-pmCZPC)/pmCZPC)<percentageDiff)
775 if((TMath::Abs(pmQZPA-pmCZPA)/pmCZPA)<percentageDiff)
786 AliWarning(Form("\n\t No ZDC QA for %s task\n",taskName));
790 else AliError("\t No histos found for ZDC!!!\n");
792 } // HighMult (Pb-Pb)
793 // ====================================================================
794 // Checks for Calibration events
795 // ====================================================================
796 else if (specie == AliRecoParam::kCalib) {
797 AliWarning(Form("\n\t No check implemented in ZDC QA for %s task\n",taskName));
800 // ====================================================================
801 // Checks for cosmic events
802 // ====================================================================
803 else if (specie == AliRecoParam::kCosmic) {
804 AliWarning(Form("\n\t No check implemented in ZDC QA for %s task\n",taskName));
809 for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
810 if(ntests[specie]!=0) test[specie] = test[specie]/ntests[specie];
811 AliDebug(AliQAv1::GetQADebugLevel(), Form("\n\t ZDC QA check result = %1.2f\n",test[specie]));