ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/


/* $Id$ */

/*
  Checks the quality assurance. 
  By comparing with reference data
  Y. Schutz CERN July 2007
*/

// --- ROOT system ---
#include <TClass.h>
#include <TH1F.h> 
#include <TH1I.h> 
#include <TIterator.h> 
#include <TKey.h> 
#include <TFile.h> 

// --- Standard library ---

// --- AliRoot header files ---
#include "AliLog.h"
#include "AliQAv1.h"
#include "AliQAChecker.h"
#include "AliPHOSQAChecker.h"

ClassImp(AliPHOSQAChecker)

//__________________________________________________________________

AliPHOSQAChecker & AliPHOSQAChecker::operator = (const AliPHOSQAChecker &)
{
  Fatal("operator =", "not implemented");
  return *this;
}

//____________________________________________________________________________
void AliPHOSQAChecker::Check(Double_t * test, AliQAv1::ALITASK_t task, TObjArray ** list, const AliDetectorRecoParam * /* recoParam */) 
{
  // Performs a basic checking
  // Compares all the histograms in the list

  for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
    test[specie] = 1.0;
    if ( !AliQAv1::Instance()->IsEventSpecieSet(specie) ) 
      continue ; 
    // checking for empty histograms
    // if (CheckEntries(list[specie]) == 0)  {
    //   AliWarning("histograms are empty");
    //   test[specie] = 0.4;//-> Corresponds to kWARNING see AliQACheckerBase::Run
    // }
  
    // checking raw data
    if(task == AliQAv1::kRAW){
      if(AliRecoParam::ConvertIndex(specie) == AliRecoParam::kCalib    ||
         AliRecoParam::ConvertIndex(specie) == AliRecoParam::kHighMult ||
         AliRecoParam::ConvertIndex(specie) == AliRecoParam::kLowMult  ||
	 AliRecoParam::ConvertIndex(specie) == AliRecoParam::kDefault) {
	// list[specie]->Print();
	TH1F *hHighNtot = (TH1F*)list[specie]->At(13);
	if (hHighNtot!=0) {
	  if (hHighNtot->GetMean() < 1000) test[specie]=1;
	}
	else test[specie]=0.1;
      }
    }

    //default check response. It will be changed when reasonable checks will be considered
    else test[specie] = 0.7 ; // /-> Corresponds to kINFO see AliQACheckerBase::Run 
  } // species loop
}
 AliPHOSQAChecker.cxx:1
 AliPHOSQAChecker.cxx:2
 AliPHOSQAChecker.cxx:3
 AliPHOSQAChecker.cxx:4
 AliPHOSQAChecker.cxx:5
 AliPHOSQAChecker.cxx:6
 AliPHOSQAChecker.cxx:7
 AliPHOSQAChecker.cxx:8
 AliPHOSQAChecker.cxx:9
 AliPHOSQAChecker.cxx:10
 AliPHOSQAChecker.cxx:11
 AliPHOSQAChecker.cxx:12
 AliPHOSQAChecker.cxx:13
 AliPHOSQAChecker.cxx:14
 AliPHOSQAChecker.cxx:15
 AliPHOSQAChecker.cxx:16
 AliPHOSQAChecker.cxx:17
 AliPHOSQAChecker.cxx:18
 AliPHOSQAChecker.cxx:19
 AliPHOSQAChecker.cxx:20
 AliPHOSQAChecker.cxx:21
 AliPHOSQAChecker.cxx:22
 AliPHOSQAChecker.cxx:23
 AliPHOSQAChecker.cxx:24
 AliPHOSQAChecker.cxx:25
 AliPHOSQAChecker.cxx:26
 AliPHOSQAChecker.cxx:27
 AliPHOSQAChecker.cxx:28
 AliPHOSQAChecker.cxx:29
 AliPHOSQAChecker.cxx:30
 AliPHOSQAChecker.cxx:31
 AliPHOSQAChecker.cxx:32
 AliPHOSQAChecker.cxx:33
 AliPHOSQAChecker.cxx:34
 AliPHOSQAChecker.cxx:35
 AliPHOSQAChecker.cxx:36
 AliPHOSQAChecker.cxx:37
 AliPHOSQAChecker.cxx:38
 AliPHOSQAChecker.cxx:39
 AliPHOSQAChecker.cxx:40
 AliPHOSQAChecker.cxx:41
 AliPHOSQAChecker.cxx:42
 AliPHOSQAChecker.cxx:43
 AliPHOSQAChecker.cxx:44
 AliPHOSQAChecker.cxx:45
 AliPHOSQAChecker.cxx:46
 AliPHOSQAChecker.cxx:47
 AliPHOSQAChecker.cxx:48
 AliPHOSQAChecker.cxx:49
 AliPHOSQAChecker.cxx:50
 AliPHOSQAChecker.cxx:51
 AliPHOSQAChecker.cxx:52
 AliPHOSQAChecker.cxx:53
 AliPHOSQAChecker.cxx:54
 AliPHOSQAChecker.cxx:55
 AliPHOSQAChecker.cxx:56
 AliPHOSQAChecker.cxx:57
 AliPHOSQAChecker.cxx:58
 AliPHOSQAChecker.cxx:59
 AliPHOSQAChecker.cxx:60
 AliPHOSQAChecker.cxx:61
 AliPHOSQAChecker.cxx:62
 AliPHOSQAChecker.cxx:63
 AliPHOSQAChecker.cxx:64
 AliPHOSQAChecker.cxx:65
 AliPHOSQAChecker.cxx:66
 AliPHOSQAChecker.cxx:67
 AliPHOSQAChecker.cxx:68
 AliPHOSQAChecker.cxx:69
 AliPHOSQAChecker.cxx:70
 AliPHOSQAChecker.cxx:71
 AliPHOSQAChecker.cxx:72
 AliPHOSQAChecker.cxx:73
 AliPHOSQAChecker.cxx:74
 AliPHOSQAChecker.cxx:75
 AliPHOSQAChecker.cxx:76
 AliPHOSQAChecker.cxx:77
 AliPHOSQAChecker.cxx:78
 AliPHOSQAChecker.cxx:79
 AliPHOSQAChecker.cxx:80
 AliPHOSQAChecker.cxx:81
 AliPHOSQAChecker.cxx:82
 AliPHOSQAChecker.cxx:83
 AliPHOSQAChecker.cxx:84
 AliPHOSQAChecker.cxx:85