Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / ITS / AliITSQASSDDataMakerRec.h
CommitLineData
7ab0e0a5 1#ifndef AliITSQASSDDATAMAKERREC_H
2#define AliITSQASSDDATAMAKERREC_H
8c823e5a 3/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
3647765c 6/* $Id$ */
f91768e0 7
8c823e5a 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
4e25ac79 16#include "AliQAv1.h"
f91768e0 17#include "AliQADataMakerRec.h"
8c823e5a 18
f1b15b8d 19class AliITSQADataMakerRec;
8c823e5a 20class TObjArray;
92664bc8 21class TH1F;
88128115 22
8c823e5a 23class AliRawReader;
8c823e5a 24class AliITSQADataMakerRec;
88128115 25class AliCDBManager;
8c823e5a 26
27class AliITSQASSDDataMakerRec: public TObject {
28
29public:
30 AliITSQASSDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Int_t ldc=0); //ctor
e8c2bf0d 31
eca4fa66 32 virtual Int_t InitRaws();
33 virtual Int_t InitDigits();
34 virtual Int_t InitRecPoints();
35 virtual Int_t MakeRaws(AliRawReader *rawReader);
6252ceeb 36 virtual Int_t MakeDigits() {return 0;}
eca4fa66 37 virtual Int_t MakeDigits(TTree *digitsTree);
38 virtual Int_t MakeRecPoints(TTree *clustersTree);
8c823e5a 39 virtual void StartOfDetectorCycle();
92664bc8 40 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** /*list*/);
f91768e0 41 virtual ~AliITSQASSDDataMakerRec(); // dtor
7a0e5776 42
f1b15b8d 43 Int_t GetOffset(AliQAv1::TASKINDEX_t task,Int_t specie=0) const;
8b7e858c 44 void SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset, Int_t specie = 0);
4e25ac79 45 Int_t GetTaskHisto(AliQAv1::TASKINDEX_t task);
1b724264 46 void ResetRawsMonitoredObjects();
5af1d436 47 void ResetDetector(AliQAv1::TASKINDEX_t task);
f91768e0 48 private:
8c823e5a 49
e8c2bf0d 50 AliITSQASSDDataMakerRec(const AliITSQASSDDataMakerRec& qadm);
51 AliITSQASSDDataMakerRec& operator = (const AliITSQASSDDataMakerRec& qac);
88128115 52 void GetOccupancyStrip(TH1 *lHisto, Int_t *occupancyMatrix);
0730893d 53 Double_t GetOccupancyModule(TH1 *lHisto,
54 Int_t stripside,
55 Int_t mode,
56 Double_t threshold);
92664bc8 57 void MonitorOCDBObjects(Int_t trCl=-1);
58 void MonitorCMValues(Int_t trCl=-1);
88128115 59
457717e4 60 static const Int_t fgkNumOfLDCs = 8; //number of SSD LDCs
f91768e0 61 static const Int_t fgkNumOfDDLs = 16; //number of SSD DDLs
8c823e5a 62 static const Int_t fgkSSDMODULES = 1698; //total number of SSD modules
f91768e0 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
8c823e5a 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
f91768e0 69 static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
70
8c823e5a 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)
e85e993e 74 Int_t fSSDRawsOffset; //SSD raw data plot offset
88128115 75 Int_t fSSDRawsDAOffset; //SSD DA plot offset
e85e993e 76 Int_t fSSDRawsCommonLevelOffset; //Raw data QA - top level offset - histos used both online and offline
7a0e5776 77 Int_t fSSDhRawsTask; //number of histo booked for the raws SSD task
44ed7a66 78 Int_t fSSDhDigitsTask; //number of histo booked for the recpoints SSD task
7a0e5776 79 Int_t fSSDhRecPointsTask; //number of histo booked for the recpoints SSD task
8b7e858c 80 Int_t *fGenRawsOffset; //qachecking raws offset
4a903927 81 Int_t *fGenDigitsOffset; //qachecking recpoints offset
8b7e858c 82 Int_t *fGenRecPointsOffset; //qachecking recpoints offset
92664bc8 83 TH1F *fHistSSDRawSignalModule[fgkSSDMODULES]; //raw signal vs strip number - SSD
84 TH1F *fHistSSDCMModule[2*fgkSSDMODULES]; //SSD common mode noise
e85e993e 85 Int_t fOccupancyMatrix[fgkSSDMODULES][2*fgkNumberOfPSideStrips]; //occupancy values per strip
86
88128115 87 AliCDBManager *fCDBManager; //CDB manager
8c823e5a 88
4a903927 89 ClassDef(AliITSQASSDDataMakerRec,7) // description
8c823e5a 90};
91
92#endif