- if(list->GetEntries()==0){
- AliWarning("\tAliZDCQAChecker->The list to be checked is empty!");
- test = 1.; // nothing to check
- return test;
- }
- printf("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName);
-
- TIter next(list);
- TH1 * hdata;
- Double_t meanX=0., meanY=0.;
- Double_t meanZNA=0., rmsZNA=0., meanZNC=0.;
- Double_t meanZPA=0., rmsZPA=0., meanZPC=0.;
- Double_t pmCZNA=0., pmCZNC=0., pmCZPA=0., pmCZPC=0.;
- Double_t pmQZNA=0., pmQZNC=0., pmQZPA=0., pmQZPC=0.;
- Float_t res=0.;
- Int_t digInd=0, testgood=0;
- //
- count = ntests = 0;
- //
- while((hdata = dynamic_cast<TH1 *>(next()))){
- if(hdata){
- //printf("\tAliZDCQAChecker-> checking histo %s",hdata->GetName());
- // Check HITS histos
- if(!(strncmp(hdata->GetName(),"hZNCh",5))){
- // hits histos
- meanX = hdata->GetMean(1);
- meanY = hdata->GetMean(2);
- // check if the spot is centered
- if((TMath::Abs(meanX)<0.2) && (TMath::Abs(meanY)<0.2)) res=1.;
- else res=0.5;
- test += res;
- ntests++;
- //
- //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
- }
- // Check DIGITS histos
- else{
- // [1] check response of ZNC vs. ZNA
- if(digInd==0 || digInd==1){
- if(digInd==0){
- if(hdata->GetEntries() != 0.){
- testgood=1;
- meanZNA = hdata->GetMean();
- rmsZNA = hdata->GetRMS();
- }
- }
- else{
- if(hdata->GetEntries() != 0.){
- testgood=1;
- meanZNC = hdata->GetMean();
- }
- else testgood=0;
- // check if the response m.v. of ZNA and ZNC are equal (@ 1sigma level)
- if(testgood==1){
- if(TMath::Abs(meanZNA-meanZNC)<rmsZNA) res=1.;
- else res=.5;
- testgood=0;
- test += res;
- ntests++;
- //
- //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
- }
- else res=0.;
- }
- }
- // [2] check response of ZPC vs. ZPA
- else if(digInd==2 || digInd==3){
- if(digInd==2){
- if(hdata->GetEntries() != 0.){
- testgood=1;
- meanZPA = hdata->GetMean();
- rmsZPA = hdata->GetRMS();
- }
- }
- else{
- if(hdata->GetEntries() != 0.){
- testgood=1;
- meanZPC = hdata->GetMean();
- }
- // check if the response m.v. of ZPA and ZPC are equal (@ 3sigma level)
- if(testgood==1){
- if(TMath::Abs(meanZPA-meanZPC)<(3.*rmsZPA)) res=1.;
- else res=.5;
- test += res;
- ntests++;
- testgood=0;
- //
- //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
- }
- else res=0.;
- }
- }
- // [2] check PMC responses vs. summed PMQ responses
- else if(digInd>3 && digInd<12){
- if(digInd==4) pmQZNC = hdata->GetMean();
- else if(digInd==5) pmQZNA = hdata->GetMean();
- else if(digInd==6) pmQZPC = hdata->GetMean();
- else if(digInd==7) pmQZPA = hdata->GetMean();
- else if(digInd==8){
- pmCZNC = hdata->GetMean();
- if(TMath::Abs(pmQZNC-pmCZNC)<(0.1*(pmQZNC+pmCZNC)/2)) res=1.;
- else res=0.5;
- test += res;
- ntests++;
- //
- //printf("\t %d performed tests, results %1.2f\n",ntests,test/ntests);
+ //YS Int_t beamType=0; // 0 -> protons, 1 -> ions
+ for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
+ test[specie] = 1.0 ;
+ ntests[specie] = 0 ;
+ if ( !AliQAv1::Instance()->IsEventSpecieSet(specie) )
+ continue ;
+ // ====================================================================
+ // Checks for p-p events
+ // ====================================================================
+ //if (beamType==0){
+ if ( specie == AliRecoParam::kLowMult) {
+ if(list[specie]->GetEntries()==0){
+ AliWarning("\tAliZDCQAChecker->The list to be checked is empty!"); // nothing to check
+ return test;
+ }
+ //AliDebug(AliQAv1::GetQADebugLevel(), Form("\n\tAliZDCQAChecker-> checking QA histograms for task %s\n\n",taskName));
+ TIter next(list[specie]);
+ ntests[specie] = 0;
+ TH1 * hdata;
+ while((hdata = dynamic_cast<TH1 *>(next()))){
+ if(hdata){
+ // -------------------------------------------------------------------
+ if(index == AliQAv1::kSIM){
+ //AliDebug(AliQAv1::GetQADebugLevel(), Form("\tAliZDCQAChecker-> checking histo %s",hdata->GetName()));
+ // Check DIGITS histos
+ if(!(strncmp(hdata->GetName(),"hDig",4))){
+ if(hdata->GetEntries()>0){
+ test[specie] += 1.;
+ ntests[specie]++;
+ }