]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSQASDDDataMakerRec.h
New survey data for V0A (Lizardo)
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerRec.h
index b2e631655df4d1c2341d36d217cdd04e87cf4334..0958b668f8a5b6a14b6481f692cf2995531f1d54 100644 (file)
@@ -1,72 +1,79 @@
-#ifndef AliITSQASDDDataMakerRec_H\r
-#define AliITSQASDDDataMakerRec_H\r
-/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-//\r
-//  Checks the quality assurance. \r
-//  By comparing with reference data\r
-//  contained in a DB\r
-//\r
-//\r
-//  W. Ferrarese + P. Cerello Feb 2008\r
-\r
-/* $Id$ */\r
-\r
-#include "AliQA.h"\r
-#include "AliITSQADataMakerRec.h"\r
-class TObjArray;\r
-class TH1D;\r
-class TProfile2D;\r
-class AliRawReader;\r
-class AliITSgeomTGeo;\r
-class AliITSDDLModuleMapSDD;\r
-\r
-class AliITSQADataMakerRec;\r
-\r
-class AliITSQASDDDataMakerRec: public TObject {\r
-\r
-public:\r
-  AliITSQASDDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Short_t ldc = 0);\r
-  AliITSQASDDDataMakerRec(const AliITSQASDDDataMakerRec& qadm);\r
-  AliITSQASDDDataMakerRec& operator = (const AliITSQASDDDataMakerRec& qac);\r
-  virtual void InitRaws();\r
-  virtual void InitRecPoints();\r
-  virtual void MakeRaws(AliRawReader *rawReader);\r
-  virtual void MakeRecPoints(TTree *clustersTree);\r
-  virtual void StartOfDetectorCycle();\r
-  virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list);\r
-  virtual ~AliITSQASDDDataMakerRec(); // dtor\r
-  Int_t GetOffset() { return fGenOffset; }\r
-  Int_t GetTaskHisto() { return fSDDhTask; }\r
-\r
-private:\r
-\r
-  static const Int_t fgknSDDmodules = 260; //number of SDD modules\r
-  static const Int_t fgkmodoffset = 240;   //number of SPD modules\r
-  static const Int_t fgknAnode = 256;      //anode per half-module\r
-  static const Int_t fgknSide =2;          //side per module\r
-  static const Int_t fgkeqOffset = 256;    //DDL offset\r
-  static const Int_t fgkDDLidRange = 24;   //number of DDL:so DDL range is 257-280\r
-  static const Int_t fgkDDLIDshift = 0;    //necessary option until RawStream Table is complete\r
-  static const Int_t fgkLADDonLAY3 = 14;   //number of ladder on layer 3\r
-  static const Int_t fgkLADDonLAY4 = 22;   //number of ladder on layer 4\r
-\r
-  AliITSQADataMakerRec *fAliITSQADataMakerRec;//pointer to the main ctor\r
-  Bool_t  fkOnline;                        //online (1) or offline (0) use\r
-  Int_t   fLDC;                            //LDC number (0 for offline, 1 to 4 for online) \r
-  Int_t   fSDDhTask;                       // number of histo booked for each Task SDD\r
-  Int_t   fGenOffset;                         // qachecking offset       \r
-  Int_t   fTimeBinSize;                                                // time bin width in number of clocks\r
-  AliITSDDLModuleMapSDD  *fDDLModuleMap;// SDD Detector configuration for the decoding\r
-/*\r
-  TProfile2D *fModuleChargeMap[2*fgknSDDmodules];//module map\r
-  TProfile2D *fModuleChargeMapFSE[2*fgknSDDmodules];//module map for one event \r
-*/ \r
-  ClassDef(AliITSQASDDDataMakerRec,4)      // description \r
-\r
-};\r
-\r
-#endif\r
-\r
-\r
+#ifndef AliITSQASDDDataMakerRec_H
+#define AliITSQASDDDataMakerRec_H
+/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//
+//  Checks the quality assurance. 
+//  By comparing with reference data
+//  contained in a DB
+//
+//
+//  W. Ferrarese + P. Cerello Feb 2008
+
+/* $Id$ */
+
+#include "AliQAv1.h"
+#include "AliITSQADataMakerRec.h"
+
+class TObjArray;
+class AliITSDDLModuleMapSDD;
+class AliITSQASDDDataMakerRec: public TObject {
+
+public:
+  AliITSQASDDDataMakerRec(AliITSQADataMakerRec *aliITSQADataMakerRec, Bool_t kMode = kFALSE, Short_t ldc = 0);
+  AliITSQASDDDataMakerRec(const AliITSQASDDDataMakerRec& qadm);
+  AliITSQASDDDataMakerRec& operator = (const AliITSQASDDDataMakerRec& qac);
+  virtual Int_t InitRaws();
+  virtual Int_t InitDigits();
+  virtual Int_t InitRecPoints();
+  virtual Int_t MakeRaws(AliRawReader *rawReader);
+  virtual Int_t MakeDigits()  {return 0;}
+  virtual Int_t MakeDigits(TTree *clustersTree);
+  virtual Int_t MakeRecPoints(TTree *clustersTree);
+  virtual void StartOfDetectorCycle();
+  virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray * list);
+
+
+  virtual ~AliITSQASDDDataMakerRec(); // dtor
+  Int_t GetOffset(AliQAv1::TASKINDEX_t task);
+  void  SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset, Int_t specie = 0);
+  Int_t GetTaskHisto(AliQAv1::TASKINDEX_t task);
+
+private:
+
+       void AnalyseBNG();                       // Analyse ROOT files with baselines, noise, gains
+       void AnalyseINJ();                                              // Analyse ROOT files with drift speed
+       void AnodeStatus();                                             // Check Anode Status changes (0 = bad, 1 = good)
+       void AnalyseHistos(Int_t type);                         // Analyse Histos type: 1 = Baseline, 2 = Noise (Uncorrected), 3 = Noise (Common Mode), 4 = Noise (Corrected), 5 = Gain, 6 = Drift Speed
+  static const Int_t fgknSDDmodules = 260; // number of SDD modules
+  static const Int_t fgkmodoffset = 240;   // number of SPD modules
+  static const Int_t fgknAnode = 256;      // anode per half-module
+  static const Int_t fgknSide =2;          // side per module
+  static const Int_t fgkDDLIDshift = 0;    // necessary option until RawStream Table is complete
+  static const Int_t fgkLADDonLAY3 = 14;   // number of ladder on layer 3
+  static const Int_t fgkLADDonLAY4 = 22;   // number of ladder on layer 4
+
+  AliITSQADataMakerRec *fAliITSQADataMakerRec;// pointer to the main ctor
+  Bool_t  fkOnline;                           // online (1) or offline (0) use
+  Int_t   fLDC;                               // LDC number (0 for offline, 1 to 4 for online) 
+  Int_t   fSDDhRawsTask;                      // number of histo booked for each the Raws Task SDD
+  Int_t   fSDDhDigitsTask;                    // number of histo booked for each the RecPoints Task SDD
+  Int_t   fSDDhRecPointsTask;                 // number of histo booked for each the RecPoints Task SDD
+  Int_t   *fGenRawsOffset;                     // QAchecking Raws offset       
+  Int_t   *fGenDigitsOffset;                   // QAchecking RecPoints offset       
+  Int_t   *fGenRecPointsOffset;                // QAchecking RecPoints offset       
+  Int_t   fTimeBinSize;                              // time bin width in number of clocks
+  AliITSDDLModuleMapSDD  *fDDLModuleMap;      // SDD Detector configuration for the decoding
+
+  Bool_t fAnodeMap[fgknSDDmodules][fgknSide][fgknAnode];  // Array of anode status 1 = ok, 0 = bad
+  Int_t   fGoodAnodes;
+  Int_t   fBadAnodes;
+  Int_t   fGoodAnodesCurrent;
+  Int_t   fBadAnodesCurrent;
+  ClassDef(AliITSQASDDDataMakerRec,9)         // description 
+
+};
+
+#endif
+