]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSQASDDDataMakerRec.h
Fixing segfault
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerRec.h
index 76c1803dbf41705f9a72fa309fae08f127e8071b..a61b5a8331d17ac33c957221f0ab254678478cd0 100644 (file)
 //
 //
 //  W. Ferrarese + P. Cerello Feb 2008
-//  M.Siciliano Aug 2008 QA RecPoints and HLT mode
 
 /* $Id$ */
 
-#include "AliQA.h"
+#include "AliQAv1.h"
 #include "AliITSQADataMakerRec.h"
 
 class TObjArray;
 class AliITSDDLModuleMapSDD;
-class AliITSHLTforSDD;
 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 void InitRaws();
-  virtual void InitRecPoints();
-  virtual void MakeRaws(AliRawReader *rawReader);
-  virtual void MakeRecPoints(TTree *clustersTree);
+  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(AliQA::TASKINDEX_t task, TObjArray * list);
-
+  virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray * list);
+  virtual void CreateTheMap();
 
   virtual ~AliITSQASDDDataMakerRec(); // dtor
-  Int_t GetOffset(AliQA::TASKINDEX_t task);
-  Int_t GetTaskHisto(AliQA::TASKINDEX_t task);
+  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);
 
-  void SetHLTMode(Bool_t khltmode=kFALSE){fHLTMode=khltmode;};
-  Bool_t GetHLTMode(){return fHLTMode;};
-  void SetHLTModeFromEnvironment();
 
 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 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
 
@@ -56,16 +59,23 @@ private:
   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   fGenOffset;                       // QAchecking offset       
-  Int_t   fGenRawsOffset;                     // QAchecking Raws offset       
-  Int_t   fGenRecPointsOffset;                // QAchecking RecPoints offset       
+  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 fHLTMode;                            // kTRUE mode C kFALSE mode A 
-                                              // Used in online mode only
-  AliITSHLTforSDD *fHLTSDD;                   // used for offline QA as the HLT mode flag
-  ClassDef(AliITSQASDDDataMakerRec,7)         // description 
+
+  Bool_t  fkAnodeMap[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,10)         // description 
 
 };