Updated version of ITS QA Checker and related modifications (Melinda)
[u/mrichter/AliRoot.git] / ITS / AliITSQADataMakerRec.h
1 #ifndef AliITSQADataMakerRec_H
2 #define AliITSQADataMakerRec_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9
10 //
11 //  Checks the quality assurance. 
12 //  By comparing with reference data
13 //  contained in a DB
14 //
15 //
16 //  W. Ferrarese + P. Cerello Feb 2008
17 //
18 //  ESD QA (Tracking and primary vertex)
19 //  A. Dainese Jun 2008 
20
21 #include "AliQADataMakerRec.h"
22 #include "AliDetectorRecoParam.h"
23 #include "AliReconstructor.h"
24
25 class AliITSQASPDDataMakerRec;
26 class AliITSQASDDDataMakerRec;
27 class AliITSQASSDDataMakerRec;
28 class AliITSRecPoint;
29 class AliRawReader;
30 class TH2F;
31
32 class AliITSQADataMakerRec: public AliQADataMakerRec {
33
34 friend class AliITSQASPDDataMakerRec;
35 friend class AliITSQASDDDataMakerRec;
36 friend class AliITSQASSDDataMakerRec;
37
38 public:
39   AliITSQADataMakerRec(Bool_t kMode = kFALSE, Short_t subDet = 0, Short_t ldc = 0); // kMode = kFALSE (offline), kTRUE (online); subDet = 0 (ALL), 1 (SPD), 2 (SDD), 3 (SSD)
40   AliITSQADataMakerRec(const AliITSQADataMakerRec& qadm);
41   AliITSQADataMakerRec& operator = (const AliITSQADataMakerRec& qac);
42   virtual Int_t GetEventSpecie() const { return AliRecoParam::AConvert(fEventSpecie); }
43   virtual void StartOfDetectorCycle();
44   virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list);
45   virtual void EndOfDetectorCycle(const char *fgDataName);
46   virtual void InitRaws();
47   virtual void InitDigits();
48   virtual void InitRecPoints();
49   virtual void InitESDs();
50   virtual void MakeRaws(AliRawReader *rawReader);
51   virtual void MakeDigits(){AliWarning("Signature not implemented. A TTree* of digits should be passed as input argument");} 
52   virtual void MakeDigits(TTree *digitsTree);
53   virtual void MakeRecPoints(TTree *clustersTree);
54   virtual void MakeESDs(AliESDEvent *esd);
55   virtual void FillRecPoint(AliITSRecPoint rcp);
56
57   virtual ~AliITSQADataMakerRec(); // dtor
58  Short_t GetSubDet(){return fSubDetector;};
59  Int_t GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task,Int_t specie=0);
60  Int_t GetDetTaskHisto(Int_t subdet,AliQAv1::TASKINDEX_t task);
61  TH2F *GetITSGlobalHisto(Int_t layer);
62  Bool_t AreEqual(Double_t a1, Double_t a2);
63
64  virtual void SetRunNumber(Int_t runnumber=0){fRunNumber=runnumber;};
65  Int_t GetRunNumber(){return fRunNumber;};
66
67
68 private:
69
70   Bool_t  fkOnline;                        //online (1) or offline (0) use
71   Short_t fSubDetector;                    // subDetector: 0 (ALL), 1 (SPD), 2 (SDD), 3 (SSD)
72   Short_t fLDC;                            // number of LDC: 0 (one LDC for the whole subdetector)
73   Int_t fRunNumber;                        //run number
74
75   AliITSQASPDDataMakerRec *fSPDDataMaker;  // SPD Data Maker 
76   AliITSQASDDDataMakerRec *fSDDDataMaker;  // SDD Data Maker 
77   AliITSQASSDDataMakerRec *fSSDDataMaker;  // SSD Data Maker 
78
79   ClassDef(AliITSQADataMakerRec,6)         // description 
80
81 };
82
83 #endif
84