Updated SSD raw data QA code and first implementation of the SSD rec points QA code...
[u/mrichter/AliRoot.git] / ITS / AliITSQASSDDataMakerRec.h
1 #ifndef AliITSQASSDDataMakerRec_H
2 #define AliITSQASSDDataMakerRec_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*  $Id:$  */
7
8 //
9 //  Checks the quality assurance. 
10 //  By comparing with reference data
11 //  contained in a DB
12 //  -------------------------------------------------------------
13 //  W. Ferrarese + P. Cerello Feb 2008
14 //  INFN Torino
15
16 #include "AliQA.h"
17 #include "AliITSQADataMakerRec.h"
18 #include "AliQADataMakerRec.h"
19
20 class TObjArray;
21 class TH1D;
22 class AliRawReader;
23
24 class AliITSQADataMakerRec;
25
26 class AliITSQASSDDataMakerRec: public TObject {
27
28 public:
29   AliITSQASSDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Int_t ldc=0);  //ctor
30   AliITSQASSDDataMakerRec(const AliITSQASSDDataMakerRec& qadm);
31   AliITSQASSDDataMakerRec& operator = (const AliITSQASSDDataMakerRec& qac);
32   virtual void InitRaws();
33   virtual void InitRecPoints();
34   virtual void MakeRaws(AliRawReader *rawReader);
35   virtual void MakeRecPoints(TTree *clustersTree);
36   virtual void StartOfDetectorCycle();
37   virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list);
38   virtual ~AliITSQASSDDataMakerRec(); // dtor
39   inline Int_t Raws() { return fSSDhRaws; }
40   inline Int_t Recs() { return fSSDhRecs; }
41
42  private:
43
44   Double_t GetSSDOccupancyRaws(TH1 *lHisto, Int_t stripside); 
45   
46   static const Int_t fgkNumOfLDCs = 3;      //number of SSD LDCs
47   static const Int_t fgkNumOfDDLs = 16;      //number of SSD DDLs
48   static const Int_t fgkSSDMODULES = 1698;      //total number of SSD modules
49   static const Int_t fgkSSDLADDERSLAYER5 = 34; //ladders on layer 5
50   static const Int_t fgkSSDLADDERSLAYER6 = 38; //ladders on layer 6
51   static const Int_t fgkSSDMODULESPERLADDERLAYER5 = 22; //modules per ladder - layer 5
52   static const Int_t fgkSSDMODULESPERLADDERLAYER6 = 25; //modules per ladder - layer 6
53   static const Int_t fgkSSDMODULESLAYER5 = 748; //total number of SSD modules - layer5
54   static const Int_t fgkSSDMODULESLAYER6 = 950; //total number of SSD modules - layer6
55   static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
56   
57   AliITSQADataMakerRec *fAliITSQADataMakerRec;  //pointer to the main ctor
58   Int_t fSSDEvent;                              //event counter
59   Bool_t  fkOnline;                             //online (1) or offline (0) use
60   Int_t   fLDC;                                 //LDC number (0 for offline, 1 to 4 for online) 
61   Int_t   fSSDRawsOffset;               // SSD raw data plot offset
62   Int_t   fSSDhRaws;                            // number of histo booked for Raws SSD
63   Int_t   fSSDhRecs;                            // number of histo booked for Recs SSD
64   Int_t   fRawsOffset;                          // number of histo booked when SSD start
65   Int_t   fRecsOffset;                          // number of histo booked when SSD start
66  
67   TH1D *fHistSSDRawSignalModule[fgkSSDMODULES]; //raw signal vs strip number - SSD
68   ClassDef(AliITSQASSDDataMakerRec,2)           // description 
69
70 };
71
72 #endif