Make the Scan method public
[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
29 class AliMUONTrackerQADataMakerRec: public AliMUONVQADataMakerRec {
30
31 public:
32   AliMUONTrackerQADataMakerRec(AliQADataMakerRec* master);         
33   virtual ~AliMUONTrackerQADataMakerRec();
34   
35   AliMUONVTrackerData* GetTrackerData() const;
36
37   virtual void InitDigits(); 
38   virtual void InitESDs(); 
39   virtual void InitRaws(); 
40   virtual void InitRecPoints(); 
41   
42   void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
43   void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list);
44   void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
45   void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
46
47   virtual void MakeDigits(TTree* dig); 
48   virtual void MakeESDs(AliESDEvent* esd) ;
49   virtual void MakeRaws(AliRawReader* rawReader); 
50   virtual void MakeRecPoints(TTree* recpo); 
51   
52   void ResetDetectorRaws(TObjArray* list);
53   
54 private:
55
56   AliMUONQADataMakerRec* Master() const;
57   
58   void BookHistograms(AliQAv1::TASKINDEX_t task);
59
60   void FillReadoutStatus(AliMUONLogger& log, AliMUONVTrackerData* data, Int_t trigCl);
61   
62   void FillEventSize(AliRawReader* rawReader);
63   
64   void InitCommon();
65
66   void InsertTrackerData(Int_t specie, TObjArray** list, TObject* object, 
67                          Int_t indexNumber, 
68                          Bool_t replace=kFALSE);
69   
70   void ProjectTrackerData(AliMUONVTrackerData* data, 
71                           TH1& hbp,
72                           TH1& hnevents,
73                           TH1& hddl,
74                           TH1& hddlevents);
75
76   AliMUONVTrackerDataMaker* TrackerDataMaker(Int_t specie) const;
77
78   AliMUONVTrackerDataMaker* TrackerDataMaker(Int_t specie, Bool_t create);
79   
80   AliMUONQAMappingCheck* MappingCheckRecPoints(Int_t specie, Bool_t create=kFALSE);
81   
82   AliMUONVTrackerData* TrackerCalData(Int_t specie, Bool_t create=kFALSE);
83   
84   AliMUONVTrackerData* TrackerRecData(Int_t specie, Bool_t create=kFALSE);
85   
86   TObjArray* GetArray(TObjArray*& array, Bool_t create);
87
88 private:
89   /// Not implemented
90   AliMUONTrackerQADataMakerRec(const AliMUONTrackerQADataMakerRec& rhs);
91   /// Not implemented
92   AliMUONTrackerQADataMakerRec& operator=(const AliMUONTrackerQADataMakerRec& rhs);
93   
94   AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
95   AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
96   AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
97         
98   AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
99   
100   AliMUONLogger* fLogger; //!< (readout) error logger
101   
102   TH1* fBusPatchConfig; //!< bus patch configuration
103   
104   Double_t fBPxmin; //!< min bin value for bus patch
105   Double_t fBPxmax; //!< max bin value for bus patch
106   Int_t fBPnbins; //!< number of bus patch bins
107
108   TObjArray* fTrackerDataMakerArray; //!< tracker data accumulation (Raws)  
109   TObjArray* fTrackerCalDataArray; //!< tracker data accumulation (calibrated digits)  
110   TObjArray* fTrackerRecDataArray; //!< tracker data accumulation (only calibrated digits belonging to reconstructed clusters)
111   TObjArray* fMappingCheckRecPointsArray; //!< mapping cross-checker (RecPoints)  
112   
113   ClassDef(AliMUONTrackerQADataMakerRec,5)  // MUON Quality assurance data maker
114
115 };
116 #endif