New signature of the Check method (Yves)
[u/mrichter/AliRoot.git] / ITS / AliITSQAChecker.cxx
1 /**************************************************************************
2  * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16 /* $Id$ */
17
18 // *****************************************
19 //  Checks the quality assurance 
20 //  by comparing with reference data
21 //  W. Ferrarese Oct 2007
22 //  INFN Torino
23
24 // --- ROOT system ---
25 #include "TH1.h"
26
27 // --- AliRoot header files ---
28 #include "AliITSQAChecker.h"
29 #include "AliITSQASPDChecker.h"
30 #include "AliITSQASDDChecker.h"
31 #include "AliITSQASSDChecker.h"
32
33 ClassImp(AliITSQAChecker)
34
35 //____________________________________________________________________________
36 AliITSQAChecker::AliITSQAChecker(Bool_t kMode, Short_t subDet, Short_t ldc) :
37 AliQACheckerBase("ITS","SDD Quality Assurance Checker")
38 {
39   fkOnline = kMode; fDet = subDet; fLDC = ldc;
40   if(fDet == 0 || fDet == 1) {
41     AliDebug(1,"AliITSQAChecker::Create SPD Checker\n");
42   }
43   if(fDet == 0 || fDet == 2) {
44     AliDebug(1,"AliITSQAChecker::Create SDD Checker\n");
45   }
46   if(fDet == 0 || fDet == 3) {
47     AliDebug(1,"AliITSQAChecker::Create SSD Checker\n");
48   }
49
50 }
51
52 //__________________________________________________________________
53 AliITSQAChecker& AliITSQAChecker::operator = (const AliITSQAChecker& qac )
54 {
55   // Equal operator.
56   this->~AliITSQAChecker();
57   new(this) AliITSQAChecker(qac);
58   return *this;
59 }
60
61 //____________________________________________________________________________
62 const Double_t AliITSQAChecker::Check(AliQA::ALITASK_t index, TObjArray * list)
63 {
64
65   // Super-basic check on the QA histograms on the input list:
66   // look whether they are empty!
67   if(fDet == 0 || fDet == 1) {
68     AliDebug(1,"AliITSQAChecker::Create SPD Checker\n");
69         if(!fSPDChecker) fSPDChecker = new AliITSQASPDChecker();
70         Double_t SPDcheck = fSPDChecker->Check(index);
71   }
72   if(fDet == 0 || fDet == 2) {
73     AliDebug(1,"AliITSQAChecker::Create SDD Checker\n");
74         if(!fSDDChecker) fSDDChecker = new AliITSQASDDChecker();
75         Double_t SDDcheck = fSDDChecker->Check(index);
76   }
77   if(fDet == 0 || fDet == 3) {
78     AliDebug(1,"AliITSQAChecker::Create SSD Checker\n");
79         if(!fSSDChecker) fSSDChecker = new AliITSQASSDChecker();
80         Double_t SSDcheck = fSSDChecker->Check(index);
81   }
82   // here merging part for common ITS QA result
83   return 0;
84 }
85
86