]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackerQADataMakerRec.h
Major update of the way we make QA of the occupancy, and of what we
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerQADataMakerRec.h
1 #ifndef ALIMUONTRACKERQADATAMAKERREC_H
2 #define ALIMUONTRACKERQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id: AliMUONTrackerQADataMakerRec.h 35760 2009-10-21 21:45:42Z ivana $
7
8 /// \ingroup rec
9 /// \class AliMUONTrackerQADataMakerRec
10 /// \brief MUON Quality assurance data maker
11 ///
12
13 // --- AliRoot header files ---
14 #include "AliMUONVQADataMakerRec.h"
15 #include "AliMUONRecoParam.h"
16 #include "AliQAv1.h"
17
18 class AliMUONDigitMaker;
19 class AliMUONVClusterStore;
20 class AliMUONVDigitStore;
21 class AliMUONVStore;
22 class AliMUONVTrackerData;
23 class AliMUONVTrackerDataMaker;
24 class AliMUONCalibrationData;
25 class AliMUONQAMappingCheck;
26 class AliMUONLogger;
27 class AliMUONQADataMakerRec;
28 class AliRawVEvent;
29
30 class AliMUONTrackerQADataMakerRec: public AliMUONVQADataMakerRec {
31
32 public:
33   AliMUONTrackerQADataMakerRec(AliQADataMakerRec* master);         
34   virtual ~AliMUONTrackerQADataMakerRec();
35   
36   AliMUONVTrackerData* GetTrackerData() const;
37
38   virtual void InitDigits(); 
39   virtual void InitESDs(); 
40   virtual void InitRaws(); 
41   virtual void InitRecPoints(); 
42   
43   void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
44   void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list);
45   void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
46   void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
47
48   virtual void MakeDigits(TTree* dig); 
49   virtual void MakeESDs(AliESDEvent* esd) ;
50   virtual void MakeRaws(AliRawReader* rawReader); 
51   virtual void MakeRecPoints(TTree* recpo); 
52   
53   void ResetDetectorRaws(TObjArray* list);
54   
55 private:
56
57   AliMUONQADataMakerRec* Master() const;
58   
59   void BookHistograms(AliQAv1::TASKINDEX_t task);
60
61   void FillReadoutStatus(AliMUONLogger& log, AliMUONVTrackerData* data);
62   
63   void FillEventSize(const AliRawVEvent* event);
64   
65   void InitCommon();
66
67   void InsertTrackerData(Int_t specie, TObjArray** list, TObject* object, 
68                          Int_t indexNumber, 
69                          Bool_t replace=kFALSE);
70   
71   void ProjectTrackerData(AliMUONVTrackerData* data, 
72                           TH1& hbp,
73                           TH1& hnevents,
74                           TH1& hddl,
75                           TH1& hddlevents);
76
77   AliMUONVTrackerDataMaker* TrackerDataMaker(Int_t specie) const;
78
79   AliMUONVTrackerDataMaker* TrackerDataMaker(Int_t specie, Bool_t create);
80   
81   AliMUONQAMappingCheck* MappingCheckRecPoints(Int_t specie, Bool_t create=kFALSE);
82   
83   AliMUONVTrackerData* TrackerCalData(Int_t specie, Bool_t create=kFALSE);
84   
85   AliMUONVTrackerData* TrackerRecData(Int_t specie, Bool_t create=kFALSE);
86   
87   TObjArray* GetArray(TObjArray*& array, Bool_t create);
88
89 private:
90   /// Not implemented
91   AliMUONTrackerQADataMakerRec(const AliMUONTrackerQADataMakerRec& rhs);
92   /// Not implemented
93   AliMUONTrackerQADataMakerRec& operator=(const AliMUONTrackerQADataMakerRec& rhs);
94   
95   AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
96   AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
97   AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
98         
99   AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
100   
101   AliMUONLogger* fLogger; //!< (readout) error logger
102   
103   TH1* fBusPatchConfig; //!< bus patch configuration
104   
105   Double_t fBPxmin; //!< min bin value for bus patch
106   Double_t fBPxmax; //!< max bin value for bus patch
107   Int_t fBPnbins; //!< number of bus patch bins
108
109   TObjArray* fTrackerDataMakerArray; //!< tracker data accumulation (Raws)  
110   TObjArray* fTrackerCalDataArray; //!< tracker data accumulation (calibrated digits)  
111   TObjArray* fTrackerRecDataArray; //!< tracker data accumulation (only calibrated digits belonging to reconstructed clusters)
112   TObjArray* fMappingCheckRecPointsArray; //!< mapping cross-checker (RecPoints)  
113   
114   ClassDef(AliMUONTrackerQADataMakerRec,5)  // MUON Quality assurance data maker
115
116 };
117 #endif