Correct treatment of tracks with pT<pTmin
[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 "AliQAv1.h"
17 #include "AliQADataMakerRec.h"
18
19 class AliITSQADataMakerRec;
20 class TObjArray;
21 class TH1F;
22
23 class AliRawReader;
24 class AliITSQADataMakerRec;
25 class AliCDBManager;
26
27 class AliITSQASSDDataMakerRec: public TObject {
28
29 public:
30   AliITSQASSDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Int_t ldc=0);  //ctor
31
32   virtual Int_t InitRaws();
33   virtual Int_t InitDigits();
34   virtual Int_t InitRecPoints();
35   virtual Int_t MakeRaws(AliRawReader *rawReader);
36   virtual Int_t MakeDigits()  {return 0;}
37   virtual Int_t MakeDigits(TTree *digitsTree);
38   virtual Int_t MakeRecPoints(TTree *clustersTree);
39   virtual void StartOfDetectorCycle();
40   virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** /*list*/);
41   virtual ~AliITSQASSDDataMakerRec(); // dtor
42
43   Int_t GetOffset(AliQAv1::TASKINDEX_t task,Int_t specie=0) const;
44   void  SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset, Int_t specie = 0);
45   Int_t GetTaskHisto(AliQAv1::TASKINDEX_t task);
46   void  ResetRawsMonitoredObjects();
47   void ResetDetector(AliQAv1::TASKINDEX_t task);
48  private:
49
50   AliITSQASSDDataMakerRec(const AliITSQASSDDataMakerRec& qadm);
51   AliITSQASSDDataMakerRec& operator = (const AliITSQASSDDataMakerRec& qac);
52   void GetOccupancyStrip(TH1 *lHisto, Int_t *occupancyMatrix); 
53   Double_t GetOccupancyModule(TH1 *lHisto, 
54                               Int_t stripside,
55                               Int_t mode,
56                               Double_t threshold); 
57   void MonitorOCDBObjects(Int_t trCl=-1);
58   void MonitorCMValues(Int_t trCl=-1);
59
60   static const Int_t fgkNumOfLDCs = 8;      //number of SSD LDCs
61   static const Int_t fgkNumOfDDLs = 16;      //number of SSD DDLs
62   static const Int_t fgkSSDMODULES = 1698;      //total number of SSD modules
63   static const Int_t fgkSSDLADDERSLAYER5 = 34; //ladders on layer 5
64   static const Int_t fgkSSDLADDERSLAYER6 = 38; //ladders on layer 6
65   static const Int_t fgkSSDMODULESPERLADDERLAYER5 = 22; //modules per ladder - layer 5
66   static const Int_t fgkSSDMODULESPERLADDERLAYER6 = 25; //modules per ladder - layer 6
67   static const Int_t fgkSSDMODULESLAYER5 = 748; //total number of SSD modules - layer5
68   static const Int_t fgkSSDMODULESLAYER6 = 950; //total number of SSD modules - layer6
69   static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
70   
71   AliITSQADataMakerRec *fAliITSQADataMakerRec;  //pointer to the main ctor
72   Bool_t  fkOnline;                             //online (1) or offline (0) use
73   Int_t   fLDC;                                 //LDC number (0 for offline, 1 to 4 for online) 
74   Int_t   fSSDRawsOffset;                       //SSD raw data plot offset
75   Int_t   fSSDRawsDAOffset;                     //SSD DA plot offset
76   Int_t   fSSDRawsCommonLevelOffset;            //Raw data QA - top level offset - histos used both online and offline 
77   Int_t   fSSDhRawsTask;                        //number of histo booked for the raws SSD task 
78   Int_t   fSSDhDigitsTask;                      //number of histo booked for the recpoints SSD task
79   Int_t   fSSDhRecPointsTask;                   //number of histo booked for the recpoints SSD task
80   Int_t   *fGenRawsOffset;                       //qachecking raws       offset
81   Int_t   *fGenDigitsOffset;                     //qachecking recpoints  offset
82   Int_t   *fGenRecPointsOffset;                  //qachecking recpoints  offset
83   TH1F   *fHistSSDRawSignalModule[fgkSSDMODULES]; //raw signal vs strip number - SSD                   
84   TH1F   *fHistSSDCMModule[2*fgkSSDMODULES]; //SSD common mode noise
85   Int_t   fOccupancyMatrix[fgkSSDMODULES][2*fgkNumberOfPSideStrips]; //occupancy values per strip
86
87   AliCDBManager *fCDBManager; //CDB manager
88
89   ClassDef(AliITSQASSDDataMakerRec,7)           // description 
90 };
91
92 #endif