]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONQADataMakerRec.h
memory leak fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
index a4b9f3ad7a45d6dd9b60a13f1dd6bc106e456c62..899d1a2636b557c21ad4d46fbcf4898c601435e6 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef AliMUONQADataMakerRec_H
-#define AliMUONQADataMakerRec_H
+#ifndef ALIMUONQADATAMAKERREC_H
+#define ALIMUONQADATAMAKERREC_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
@@ -9,81 +9,61 @@
 /// \class AliMUONQADataMakerRec
 /// \brief MUON Quality assurance data maker
 ///
-//  Author Christian Finck
 
 // --- AliRoot header files ---
-class AliMUONVTrackStore;
-class AliMUONDigitMaker;
-class AliMUONVDigitStore;
-class AliMUONVTriggerStore;
-
-// --- ROOT system ---
-class TObjArray;
-class TArrayF;
-
 #include "AliQADataMakerRec.h"
 
+class AliMUONVQADataMakerRec;
+
 class AliMUONQADataMakerRec: public AliQADataMakerRec {
 
 public:
-  AliMUONQADataMakerRec();         
-  AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
-  AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
+  AliMUONQADataMakerRec(Bool_t tracker=kTRUE, Bool_t trigger=kTRUE);         
   virtual ~AliMUONQADataMakerRec();
-  
-private:
-  /// Raw histograms indices
-  enum ERaw { 
-    kRawBusPatch           = 0,   ///< Raw bus patch histogram index
-    kRawCharge             = 1,   ///< Raw charge histogram index
-    kRawBuspatchDDL        = 2,   ///< Raw buspatch hit map histogram per DDL index
-    kTriggerScalersBP      = 22,  ///< Trigger scalers on BP histogram per chamber index
-    kTriggerScalersNBP     = 23,  ///< Trigger scalers on NBP histogram per chamber index
-    kTriggerScalersDisplay = 24   ///< Trigger scalers display histogram per chamber index
-  };
-         
-  /// Rec points histograms indices
-  enum ERecPoints { 
-    kTriggerDigitsBendPlane    = 0,  ///< Trigger digits on BP histogram index
-    kTriggerDigitsNonBendPlane = 1,  ///< Trigger digits on NBP histogram index
-    kTriggeredBoards           = 2,  ///< Triggered boards histogram index
-    kTriggerDigitsDisplay      = 3,  ///< Trigger digits display histogram per plane index
-    kTriggerBoardsDisplay      = 11  ///< Triggered boards display histogram index
-  };
-          
-  /// ESD histograms indices
-  enum EESD { 
-    kESDnTracks       = 0,  ///< ESD nTrack histogram index
-    kESDMomentum      = 1,  ///< ESD momentum histogram index
-    kESDPt            = 2,  ///< ESD Pt histogram index
-    kESDRapidity      = 3,  ///< ESD Rapidity histogram index
-    kESDClusterHitMap = 4   ///< ESD Cluster hit map histogram index
-  };
 
-  virtual void   StartOfDetectorCycle(); 
+  /// Return tracker sub-qadatamaker
+  AliMUONVQADataMakerRec* Tracker() const { return fTracker; }
+  /// Return trigger sub-qadatamaker
+  AliMUONVQADataMakerRec* Trigger() const { return fTrigger; }
+  
+  virtual void InitDigits(); 
+  virtual void InitESDs(); 
+  virtual void InitRaws(); 
+  virtual void InitRecPoints(); 
 
-  virtual void   InitRaws(); 
-  virtual void   InitRecPoints(); 
-  virtual void   InitESDs(); 
+  virtual void StartOfDetectorCycle(); 
+  
+  void MakeDigits();
   
-  virtual void   MakeRaws(AliRawReader* rawReader); 
-  virtual void   MakeRecPoints(TTree* recpo); 
-  virtual void   MakeESDs(AliESDEvent* esd) ;
-  virtual void   EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
+  virtual void MakeDigits(TTree* dig); 
+  virtual void MakeESDs(AliESDEvent* esd) ;
+  virtual void MakeRaws(AliRawReader* rawReader); 
+  virtual void MakeRecPoints(TTree* recpo); 
+  
+  virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list);
 
-  void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
-  Bool_t InitDisplayHistos(AliQA::TASKINDEX_t task);
-  Bool_t AddSortedPoint(Float_t currVal, TArrayF& position, const Float_t kResetValue);
+  virtual void ResetDetector(AliQAv1::TASKINDEX_t task);
   
-  Bool_t  fIsInitRaws;       //!<  info if InitRaws() went ok
-  Bool_t  fIsInitRecPoints;  //!<  info if InitRecPoints() went ok
-  Bool_t  fIsInitESDs;       //!<  info if InitESDs() went ok
+  using AliQADataMakerRec::Add2List;
+  using AliQADataMakerRec::GetData;
   
-  AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
-  AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
-  AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
+  Int_t Add2List(TH1 * hist, const Int_t index, AliQAv1::TASKINDEX_t task, const Bool_t expert, const Bool_t image, const Bool_t saveForCorr);
+
+       TObject* GetData(AliQAv1::TASKINDEX_t task, const Int_t index) ;
 
-  ClassDef(AliMUONQADataMakerRec,2)  // MUON Quality assurance data maker
+private:
+  /// Not implemented
+  AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
+  /// Not implemented
+  AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
+
+  TObjArray** GetList(AliQAv1::TASKINDEX_t taks);
+  
+private:
+  AliMUONVQADataMakerRec* fTracker; ///< tracker sub-qadatamaker
+  AliMUONVQADataMakerRec* fTrigger; ///< trigger sub-qadatamaker
+  
+  ClassDef(AliMUONQADataMakerRec,10)  // MUON Quality assurance data maker
 
 };
 #endif