]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ITS/AliITSQASSDDataMakerRec.h
correct check for regular high and low gain channels
[u/mrichter/AliRoot.git] / ITS / AliITSQASSDDataMakerRec.h
... / ...
CommitLineData
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
20class TObjArray;
21class TH1D;
22
23class AliRawReader;
24class AliITSQADataMakerRec;
25class AliCDBManager;
26
27class AliITSQASSDDataMakerRec: public TObject {
28
29public:
30 AliITSQASSDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Int_t ldc=0); //ctor
31 AliITSQASSDDataMakerRec(const AliITSQASSDDataMakerRec& qadm);
32 AliITSQASSDDataMakerRec& operator = (const AliITSQASSDDataMakerRec& qac);
33 virtual void InitRaws();
34 virtual void InitRecPoints();
35 virtual void MakeRaws(AliRawReader *rawReader);
36 virtual void MakeRecPoints(TTree *clustersTree);
37 virtual void StartOfDetectorCycle();
38 virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list);
39 virtual ~AliITSQASSDDataMakerRec(); // dtor
40
41 Int_t GetOffset(AliQA::TASKINDEX_t task);
42 Int_t GetTaskHisto(AliQA::TASKINDEX_t task);
43
44 private:
45
46 void GetOccupancyStrip(TH1 *lHisto, Int_t *occupancyMatrix);
47 Double_t GetOccupancyModule(TH1 *lHisto,
48 Int_t stripside,
49 Int_t mode,
50 Double_t threshold);
51 void MonitorOCDBObjects();
52
53 static const Int_t fgkNumOfLDCs = 3; //number of SSD LDCs
54 static const Int_t fgkNumOfDDLs = 16; //number of SSD DDLs
55 static const Int_t fgkSSDMODULES = 1698; //total number of SSD modules
56 static const Int_t fgkSSDLADDERSLAYER5 = 34; //ladders on layer 5
57 static const Int_t fgkSSDLADDERSLAYER6 = 38; //ladders on layer 6
58 static const Int_t fgkSSDMODULESPERLADDERLAYER5 = 22; //modules per ladder - layer 5
59 static const Int_t fgkSSDMODULESPERLADDERLAYER6 = 25; //modules per ladder - layer 6
60 static const Int_t fgkSSDMODULESLAYER5 = 748; //total number of SSD modules - layer5
61 static const Int_t fgkSSDMODULESLAYER6 = 950; //total number of SSD modules - layer6
62 static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
63
64 AliITSQADataMakerRec *fAliITSQADataMakerRec; //pointer to the main ctor
65 Int_t fSSDEvent; //event counter
66 Int_t fSSDEventPerCycle; //event counter per cycle
67 Bool_t fkOnline; //online (1) or offline (0) use
68 Int_t fLDC; //LDC number (0 for offline, 1 to 4 for online)
69 Int_t fSSDRawsOffset; //SSD raw data plot offset
70 Int_t fSSDRawsDAOffset; //SSD DA plot offset
71 Int_t fSSDRawsCommonLevelOffset; //Raw data QA - top level offset - histos used both online and offline
72 Int_t fSSDhRawsTask; //number of histo booked for the raws SSD task
73 Int_t fSSDhRecPointsTask; //number of histo booked for the recpoints SSD task
74 Int_t fGenRawsOffset; //qachecking raws offset
75 Int_t fGenRecPointsOffset; //qachecking recpoints offset
76 TH1D *fHistSSDRawSignalModule[fgkSSDMODULES]; //raw signal vs strip number - SSD
77 Int_t fOccupancyMatrix[fgkSSDMODULES][2*fgkNumberOfPSideStrips]; //occupancy values per strip
78
79 AliCDBManager *fCDBManager; //CDB manager
80
81 ClassDef(AliITSQASSDDataMakerRec,5) // description
82};
83
84#endif