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> 
#include <TNtupleD.h>

// --- Standard library ---

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

ClassImp(AliCorrQAChecker)

//__________________________________________________________________
Double_t * AliCorrQAChecker::CheckN(AliQAv1::ALITASK_t index, TNtupleD ** nData, AliDetectorRecoParam * /*recoParam*/) 
{
 // check the QA of correlated data stored in a ntuple
  
  Double_t * test = new Double_t[AliRecoParam::kNSpecies] ; 
  for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) 
    test[specie] = 0. ; 
    
  if ( index != AliQAv1::kRAW ) {
    AliWarning("Checker not implemented") ; 
    for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) 
      test[specie] = 1. ; 
    return test ; 
  }
//	if (!fRefSubDir) {
//		test = 1. ; // no reference data
//	} else {
    if ( ! nData ) {
      AliError(Form("nRawCorr not found in %s", fDataSubDir->GetName())) ; 
    } else {
      for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
        if ( !AliQAv1::Instance()->IsEventSpecieSet(specie) ) 
          continue ; 
        TObjArray * bList = nData[specie]->GetListOfBranches() ; 
        for (Int_t b = 0 ; b < bList->GetEntries() ; b++) {
          AliInfo(Form("Ntuple %s parameter name %d : %s", nData[specie]->GetName(), b, bList->At(b)->GetName())) ;  
        }
      }
    }
 // }
  return test ; 
}
//__________________________________________________________________
void   AliCorrQAChecker::Run(AliQAv1::ALITASK_t tsk, TNtupleD ** nt, AliDetectorRecoParam * recoParam) 
{
    // special run for TNtupleD
	AliDebug(AliQAv1::GetQADebugLevel(), Form("Processing %s", AliQAv1::GetAliTaskName(tsk))) ; 
  
	Double_t * rv = NULL ;
  rv = CheckN(tsk, nt, recoParam) ;
	SetQA(tsk, rv) ; 	
	
  AliDebug(AliQAv1::GetQADebugLevel(), Form("Test result of %s", AliQAv1::GetAliTaskName(tsk))) ;
	
  if (rv) 
    delete [] rv ; 
  Finish() ; 
} 

 AliCorrQAChecker.cxx:1
 AliCorrQAChecker.cxx:2
 AliCorrQAChecker.cxx:3
 AliCorrQAChecker.cxx:4
 AliCorrQAChecker.cxx:5
 AliCorrQAChecker.cxx:6
 AliCorrQAChecker.cxx:7
 AliCorrQAChecker.cxx:8
 AliCorrQAChecker.cxx:9
 AliCorrQAChecker.cxx:10
 AliCorrQAChecker.cxx:11
 AliCorrQAChecker.cxx:12
 AliCorrQAChecker.cxx:13
 AliCorrQAChecker.cxx:14
 AliCorrQAChecker.cxx:15
 AliCorrQAChecker.cxx:16
 AliCorrQAChecker.cxx:17
 AliCorrQAChecker.cxx:18
 AliCorrQAChecker.cxx:19
 AliCorrQAChecker.cxx:20
 AliCorrQAChecker.cxx:21
 AliCorrQAChecker.cxx:22
 AliCorrQAChecker.cxx:23
 AliCorrQAChecker.cxx:24
 AliCorrQAChecker.cxx:25
 AliCorrQAChecker.cxx:26
 AliCorrQAChecker.cxx:27
 AliCorrQAChecker.cxx:28
 AliCorrQAChecker.cxx:29
 AliCorrQAChecker.cxx:30
 AliCorrQAChecker.cxx:31
 AliCorrQAChecker.cxx:32
 AliCorrQAChecker.cxx:33
 AliCorrQAChecker.cxx:34
 AliCorrQAChecker.cxx:35
 AliCorrQAChecker.cxx:36
 AliCorrQAChecker.cxx:37
 AliCorrQAChecker.cxx:38
 AliCorrQAChecker.cxx:39
 AliCorrQAChecker.cxx:40
 AliCorrQAChecker.cxx:41
 AliCorrQAChecker.cxx:42
 AliCorrQAChecker.cxx:43
 AliCorrQAChecker.cxx:44
 AliCorrQAChecker.cxx:45
 AliCorrQAChecker.cxx:46
 AliCorrQAChecker.cxx:47
 AliCorrQAChecker.cxx:48
 AliCorrQAChecker.cxx:49
 AliCorrQAChecker.cxx:50
 AliCorrQAChecker.cxx:51
 AliCorrQAChecker.cxx:52
 AliCorrQAChecker.cxx:53
 AliCorrQAChecker.cxx:54
 AliCorrQAChecker.cxx:55
 AliCorrQAChecker.cxx:56
 AliCorrQAChecker.cxx:57
 AliCorrQAChecker.cxx:58
 AliCorrQAChecker.cxx:59
 AliCorrQAChecker.cxx:60
 AliCorrQAChecker.cxx:61
 AliCorrQAChecker.cxx:62
 AliCorrQAChecker.cxx:63
 AliCorrQAChecker.cxx:64
 AliCorrQAChecker.cxx:65
 AliCorrQAChecker.cxx:66
 AliCorrQAChecker.cxx:67
 AliCorrQAChecker.cxx:68
 AliCorrQAChecker.cxx:69
 AliCorrQAChecker.cxx:70
 AliCorrQAChecker.cxx:71
 AliCorrQAChecker.cxx:72
 AliCorrQAChecker.cxx:73
 AliCorrQAChecker.cxx:74
 AliCorrQAChecker.cxx:75
 AliCorrQAChecker.cxx:76
 AliCorrQAChecker.cxx:77
 AliCorrQAChecker.cxx:78
 AliCorrQAChecker.cxx:79
 AliCorrQAChecker.cxx:80
 AliCorrQAChecker.cxx:81
 AliCorrQAChecker.cxx:82
 AliCorrQAChecker.cxx:83
 AliCorrQAChecker.cxx:84
 AliCorrQAChecker.cxx:85
 AliCorrQAChecker.cxx:86
 AliCorrQAChecker.cxx:87
 AliCorrQAChecker.cxx:88
 AliCorrQAChecker.cxx:89
 AliCorrQAChecker.cxx:90
 AliCorrQAChecker.cxx:91
 AliCorrQAChecker.cxx:92
 AliCorrQAChecker.cxx:93