Modifications to get a much more explicit report on token lost readout errors for...
[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
17 class AliMUONDigitMaker;
18 class AliMUONVClusterStore;
19 class AliMUONVDigitStore;
20 class AliMUONVStore;
21 class AliMUONVTrackerData;
22 class AliMUONVTrackerDataMaker;
23 class AliMUONCalibrationData;
24 class AliMUONQAMappingCheck;
25 class AliMUONLogger;
26
27 class AliMUONTrackerQADataMakerRec: public AliMUONVQADataMakerRec {
28
29 public:
30   AliMUONTrackerQADataMakerRec(AliQADataMakerRec* master);         
31   virtual ~AliMUONTrackerQADataMakerRec();
32   
33   AliMUONVTrackerData* GetTrackerData() const;
34
35   virtual void InitDigits(); 
36   virtual void InitESDs(); 
37   virtual void InitRaws(); 
38   virtual void InitRecPoints(); 
39   
40   void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list);
41   void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list);
42   void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list);
43
44   /// Empty implementation 
45   void EndOfDetectorCycleDigits(Int_t, TObjArray**) {}
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   void InsertTrackerData(Int_t specie, TObjArray** list, TObject* object, 
57                          Int_t indexNumber, Bool_t replace=kFALSE);
58
59   void FillErrors(AliMUONLogger& log);
60   
61 private:
62   /// Not implemented
63   AliMUONTrackerQADataMakerRec(const AliMUONTrackerQADataMakerRec& rhs);
64   /// Not implemented
65   AliMUONTrackerQADataMakerRec& operator=(const AliMUONTrackerQADataMakerRec& rhs);
66   
67   AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
68   AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
69   AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
70         
71   AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation (Raw)
72   
73   AliMUONQAMappingCheck* fMappingCheckRecPoints; //!< mapping cross-checker (RecPoints)
74   
75   AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
76   
77   AliMUONLogger* fLogger; //!< (readout) error logger
78   
79   static Double_t fgkRawNofEvents; //!< x-position to fill kTrackerReadoutErrors with nof events
80   
81   ClassDef(AliMUONTrackerQADataMakerRec,3)  // MUON Quality assurance data maker
82
83 };
84 #endif