Another histos for lumi
[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
14 /* $Id$ */
15
16 #include "AliQAv1.h"
17
18 class AliITSQADataMakerRec;
19 class AliITSCalibrationSDD;
20 class TObjArray;
21 class AliITSDDLModuleMapSDD;
22 class AliRawReader;
23
24 class AliITSQASDDDataMakerRec: public TObject {
25
26 public:
27   AliITSQASDDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Short_t ldc = 0);
28   AliITSQASDDDataMakerRec(const AliITSQASDDDataMakerRec& qadm);
29   AliITSQASDDDataMakerRec& operator = (const AliITSQASDDDataMakerRec& qac);
30   virtual Int_t InitRaws();
31   virtual Int_t InitDigits();
32   virtual Int_t InitRecPoints();
33   virtual Int_t MakeRaws(AliRawReader *rawReader);
34   virtual Int_t MakeDigits()  {return 0;}
35   virtual Int_t MakeDigits(TTree *clustersTree);
36   virtual Int_t MakeRecPoints(TTree *clustersTree);
37   virtual void StartOfDetectorCycle();
38   virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list);
39   virtual void CreateTheMap();
40   virtual void CreateTheCalibration();
41   virtual void InitCalibrationArray();
42
43   virtual ~AliITSQASDDDataMakerRec(); // dtor
44   Int_t GetOffset(AliQAv1::TASKINDEX_t task,Int_t specie=0)const;
45   void  SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset, Int_t specie = 0);
46   Int_t GetTaskHisto(AliQAv1::TASKINDEX_t task);
47   Int_t GetNumberOfEvents(AliQAv1::TASKINDEX_t task, Int_t trigCl=-1);
48   virtual void ResetDetector(AliQAv1::TASKINDEX_t task);
49   AliITSDDLModuleMapSDD* GetDDLSDDModuleMap()const{return fDDLModuleMap; };
50
51 private:
52
53   static const Int_t fgknSDDmodules = 260; // number of SDD modules
54   static const Int_t fgkmodoffset = 240;   // number of SPD modules
55   static const Int_t fgknAnode = 256;      // anode per half-module
56   static const Int_t fgknSide =2;          // side per module
57   //static const Int_t fgkDDLIDshift = 0;    // necessary option until RawStream Table is complete
58   static const Int_t fgkLADDonLAY3 = 14;   // number of ladder on layer 3
59   static const Int_t fgkLADDonLAY4 = 22;   // number of ladder on layer 4
60   static const Int_t fgkTotalNumberSDDAnodes = 512; //total number of the anodes of a SDD modules
61   static const Int_t fgkNumberOfSDDAnodesperSide =256; //number of the anodes of an half SDD modules
62
63   AliITSQADataMakerRec *fAliITSQADataMakerRec; // pointer to the main ctor
64   Bool_t  fkOnline;                            // online (1) or offline (0) use
65   Int_t   fLDC;                                // LDC number (0 for offline, 1 to 4 for online) 
66   Int_t   fSDDhRawsTask;                       // number of histo booked for each the Raws Task SDD
67   Int_t   fSDDhDigitsTask;                     // number of histo booked for each the RecPoints Task SDD
68   Int_t   fSDDhRecPointsTask;                  // number of histo booked for each the RecPoints Task SDD
69   Int_t   fOnlineOffsetRaws;                                    // index for starting online histograms for Raws
70   Int_t   fOnlineOffsetRecPoints;                                       // index for starting online histograms for RecPoints
71   Int_t   *fGenRawsOffset;                     // QAchecking Raws offset       
72   Int_t   *fGenDigitsOffset;                   // QAchecking RecPoints offset       
73   Int_t   *fGenRecPointsOffset;                // QAchecking RecPoints offset       
74   Int_t   fTimeBinSize;                        // time bin width in number of clocks
75   AliITSDDLModuleMapSDD  *fDDLModuleMap;       // SDD Detector configuration for the decoding
76   TObjArray *fCalibration;                     //Array of Calibration Object
77   TObjArray *fHistoCalibration;                //Array of the Calibration histograms for the normalization
78
79   ClassDef(AliITSQASDDDataMakerRec,13)         // description 
80
81 };
82
83 #endif
84