]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSQADataMakerRec.h
Adding TDC channel delays to the calib object.
[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 #include "AliITSDDLModuleMapSDD.h"
25
26 class AliITSQASPDDataMakerRec;
27 class AliITSQASDDDataMakerRec;
28 class AliITSQASSDDataMakerRec;
29 class AliITSRecPoint;
30 class AliRawReader;
31 class TH2F;
32 //class AliITSDDLModuleMapSDD;
33
34 class AliITSQADataMakerRec: public AliQADataMakerRec {
35
36 friend class AliITSQASPDDataMakerRec;
37 friend class AliITSQASDDDataMakerRec;
38 friend class AliITSQASSDDataMakerRec;
39
40 public:
41   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)
42   AliITSQADataMakerRec(const AliITSQADataMakerRec& qadm);
43   AliITSQADataMakerRec& operator = (const AliITSQADataMakerRec& qac);
44   virtual Int_t GetEventSpecie() const { return AliRecoParam::AConvert(fEventSpecie); }
45   virtual void StartOfDetectorCycle();
46   virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list);
47   virtual void EndOfDetectorCycle(const char *fgDataName);
48   virtual void InitRaws();
49   virtual void InitDigits();
50   virtual void InitRecPoints();
51   virtual void InitESDs();
52   virtual void MakeRaws(AliRawReader *rawReader);
53   virtual void MakeDigits(){AliWarning("Signature not implemented. A TTree* of digits should be passed as input argument");} 
54   virtual void MakeDigits(TTree *digitsTree);
55   virtual void MakeRecPoints(TTree *clustersTree);
56   virtual void MakeESDs(AliESDEvent *esd);
57   virtual void FillRecPoint(AliITSRecPoint rcp);
58
59   virtual void ResetDetector(AliQAv1::TASKINDEX_t task);
60
61   virtual ~AliITSQADataMakerRec(); // dtor
62  Short_t GetSubDet(){return fSubDetector;};
63  Int_t GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task,Int_t specie=0);
64  Int_t GetDetTaskHisto(Int_t subdet,AliQAv1::TASKINDEX_t task);
65  TH2F *GetITSGlobalHisto(Int_t layer);
66  static Bool_t AreEqual(Double_t a1, Double_t a2);
67
68  virtual void SetRunNumber(Int_t runnumber){fRunNumber=runnumber;};
69  Int_t GetRunNumber(){return fRunNumber;};
70
71  virtual void SetEventNumber(Int_t eventnumber){fEventNumber=eventnumber;};
72  Int_t GetEventNumber() const {return fEventNumber;};
73  AliITSDDLModuleMapSDD *GetDDLSDDModuleMap();
74
75 private:
76
77   Bool_t  fkOnline;                        //online (1) or offline (0) use
78   Short_t fSubDetector;                    // subDetector: 0 (ALL), 1 (SPD), 2 (SDD), 3 (SSD)
79   Short_t fLDC;                            // number of LDC: 0 (one LDC for the whole subdetector)
80   Int_t fRunNumber;                        //run number
81   Int_t fEventNumber;                        //Event number (online mode)
82
83   AliITSQASPDDataMakerRec *fSPDDataMaker;  // SPD Data Maker 
84   AliITSQASDDDataMakerRec *fSDDDataMaker;  // SDD Data Maker 
85   AliITSQASSDDataMakerRec *fSSDDataMaker;  // SSD Data Maker 
86
87   ClassDef(AliITSQADataMakerRec,7)         // description 
88
89 };
90
91 #endif
92