Transfer of the initialisation of the QA Data objects in the framework; clean the...
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerRec.h
1 #ifndef AliITSQASDDDataMakerRec_H
2 #define AliITSQASDDDataMakerRec_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //
7 //  Checks the quality assurance. 
8 //  By comparing with reference data
9 //  contained in a DB
10 //
11 //
12 //  W. Ferrarese + P. Cerello Feb 2008
13 //  M.Siciliano Aug 2008 QA RecPoints and HLT mode
14
15 /* $Id$ */
16
17 #include "AliQAv1.h"
18 #include "AliITSQADataMakerRec.h"
19
20 class TObjArray;
21 class AliITSDDLModuleMapSDD;
22 class AliITSHLTforSDD;
23 class AliITSQASDDDataMakerRec: public TObject {
24
25 public:
26   AliITSQASDDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Short_t ldc = 0);
27   AliITSQASDDDataMakerRec(const AliITSQASDDDataMakerRec& qadm);
28   AliITSQASDDDataMakerRec& operator = (const AliITSQASDDDataMakerRec& qac);
29   virtual Int_t InitRaws();
30   virtual Int_t InitDigits();
31   virtual Int_t InitRecPoints();
32   virtual Int_t MakeRaws(AliRawReader *rawReader);
33   virtual Int_t MakeDigits()  {return 0;}
34   virtual Int_t MakeDigits(TTree *clustersTree);
35   virtual Int_t MakeRecPoints(TTree *clustersTree);
36   virtual void StartOfDetectorCycle();
37   virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray * list);
38
39
40   virtual ~AliITSQASDDDataMakerRec(); // dtor
41   Int_t GetOffset(AliQAv1::TASKINDEX_t task);
42   void  SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset);
43   Int_t GetTaskHisto(AliQAv1::TASKINDEX_t task);
44
45   void SetHLTMode(Bool_t khltmode=kFALSE){fHLTMode=khltmode;};
46   Bool_t GetHLTMode(){return fHLTMode;};
47   void SetHLTModeFromEnvironment();
48
49 private:
50
51   static const Int_t fgknSDDmodules = 260; // number of SDD modules
52   static const Int_t fgkmodoffset = 240;   // number of SPD modules
53   static const Int_t fgknAnode = 256;      // anode per half-module
54   static const Int_t fgknSide =2;          // side per module
55   static const Int_t fgkDDLIDshift = 0;    // necessary option until RawStream Table is complete
56   static const Int_t fgkLADDonLAY3 = 14;   // number of ladder on layer 3
57   static const Int_t fgkLADDonLAY4 = 22;   // number of ladder on layer 4
58
59   AliITSQADataMakerRec *fAliITSQADataMakerRec;// pointer to the main ctor
60   Bool_t  fkOnline;                           // online (1) or offline (0) use
61   Int_t   fLDC;                               // LDC number (0 for offline, 1 to 4 for online) 
62   Int_t   fSDDhRawsTask;                      // number of histo booked for each the Raws Task SDD
63   Int_t   fSDDhDigitsTask;                    // number of histo booked for each the RecPoints Task SDD
64   Int_t   fSDDhRecPointsTask;                 // number of histo booked for each the RecPoints Task SDD
65   Int_t   fGenRawsOffset;                     // QAchecking Raws offset       
66   Int_t   fGenDigitsOffset;                   // QAchecking RecPoints offset       
67   Int_t   fGenRecPointsOffset;                // QAchecking RecPoints offset       
68   Int_t   fTimeBinSize;                       // time bin width in number of clocks
69   AliITSDDLModuleMapSDD  *fDDLModuleMap;      // SDD Detector configuration for the decoding
70   Bool_t fHLTMode;                            // kTRUE mode C kFALSE mode A 
71                                               // Used in online mode only
72   AliITSHLTforSDD *fHLTSDD;                   // used for offline QA as the HLT mode flag
73   ClassDef(AliITSQASDDDataMakerRec,7)         // description 
74
75 };
76
77 #endif
78