]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONQADataMakerRec.h
memory leak fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
index 86ddcb6df1b11a969d6b8df49cfc54adff4c6167..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                               */
 
 ///
 
 // --- AliRoot header files ---
-class AliMUONDigitMaker;
-class AliMUONVDigitStore;
-class AliMUONVTriggerStore;
-class AliMUONVClusterStore;
-
 #include "AliQADataMakerRec.h"
 
-class AliMUONVTrackerDataMaker;
-class AliMUONRecoParam;
+class AliMUONVQADataMakerRec;
 
 class AliMUONQADataMakerRec: public AliQADataMakerRec {
 
 public:
-  AliMUONQADataMakerRec(const AliMUONRecoParam* recoParam);         
-  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 { 
-               kTrackerData           = 3,   ///< Accumulated data
-    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
-
-               kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: # of clusters per chamber
-               kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
-               kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber
-                               
-               kTrackerNumberOfClustersPerDE    = 1000, ///< Tracker : number of clusters per DE               
-               kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE             
-               kTrackerClusterChargePerDE       = 5000 ///< Tracker : cluster charge per DE
-               
-  };
-          
-  /// 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
-  };
-
-protected:
-       
-  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 InitESDs(); 
+
+  virtual void StartOfDetectorCycle(); 
+  
+  void MakeDigits();
   
+  virtual void MakeDigits(TTree* dig); 
+  virtual void MakeESDs(AliESDEvent* esd) ;
   virtual void MakeRaws(AliRawReader* rawReader); 
   virtual void MakeRecPoints(TTree* recpo); 
-  virtual void MakeESDs(AliESDEvent* esd) ;
   
-  virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
+  virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list);
+
+  virtual void ResetDetector(AliQAv1::TASKINDEX_t task);
+  
+  using AliQADataMakerRec::Add2List;
+  using AliQADataMakerRec::GetData;
+  
+  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);
 
-       virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
+       TObject* GetData(AliQAv1::TASKINDEX_t task, const Int_t index) ;
 
 private:
-       
-       void Ctor();
-  void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
-       void InitRecPointsTracker();
-       void InitRecPointsTrigger();
-       void MakeRawsTracker(AliRawReader* rawReader);
-       void MakeRawsTrigger(AliRawReader* rawReader);
-  void MakeRecPointsTracker(TTree* treeR);
-  void MakeRecPointsTrigger(TTree* treeR);
-       
-  const AliMUONRecoParam* GetRecoParam() const { return fRecoParam; }
-  
-  Bool_t  fIsInitRaws;       //!<  info if InitRaws() went ok
-  Bool_t  fIsInitRecPointsTracker;  //!<  info if InitRecPoints() went ok
-  Bool_t  fIsInitRecPointsTrigger;  //!<  info if InitRecPoints() went ok
-  Bool_t  fIsInitESDs;       //!<  info if InitESDs() went ok
+  /// Not implemented
+  AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
+  /// Not implemented
+  AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
+
+  TObjArray** GetList(AliQAv1::TASKINDEX_t taks);
   
-  AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
-  AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
-  AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
-  AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
-       
-       AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
-       
-  const AliMUONRecoParam* fRecoParam; //!< pointer to reco params
+private:
+  AliMUONVQADataMakerRec* fTracker; ///< tracker sub-qadatamaker
+  AliMUONVQADataMakerRec* fTrigger; ///< trigger sub-qadatamaker
   
-  ClassDef(AliMUONQADataMakerRec,3)  // MUON Quality assurance data maker
+  ClassDef(AliMUONQADataMakerRec,10)  // MUON Quality assurance data maker
 
 };
 #endif