]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONQADataMakerRec.h
In AliMUONQADataMakerRec:
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
1 #ifndef AliMUONQADataMakerRec_H
2 #define AliMUONQADataMakerRec_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /// \ingroup rec
7 /// \class AliMUONQADataMakerRec
8 /// \brief MUON Quality assurance data maker
9 ///
10 //  Author Christian Finck
11
12 // --- AliRoot header files ---
13 class AliMUONVTrackStore;
14 class AliMUONDigitMaker;
15 class AliMUONVDigitStore;
16 class AliMUONVTriggerStore;
17
18 // --- ROOT system ---
19 class TObjArray;
20 class TArrayF;
21
22 #include "AliQADataMakerRec.h"
23
24 class AliMUONQADataMakerRec: public AliQADataMakerRec {
25
26 public:
27   AliMUONQADataMakerRec();         
28   AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
29   AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
30   virtual ~AliMUONQADataMakerRec();
31   
32 private:
33   /// Raw histograms indices
34   enum ERaw { 
35     kRawBusPatch           = 0,   ///< Raw bus patch histogram index
36     kRawCharge             = 1,   ///< Raw charge histogram index
37     kRawBuspatchDDL        = 2,   ///< Raw buspatch hit map histogram per DDL index
38     kTriggerScalersBP      = 22,  ///< Trigger scalers on BP histogram per chamber index
39     kTriggerScalersNBP     = 23,  ///< Trigger scalers on NBP histogram per chamber index
40     kTriggerScalersDisplay = 24   ///< Trigger scalers display histogram per chamber index
41   };
42          
43   /// Rec points histograms indices
44   enum ERecPoints { 
45     kTriggerDigitsBendPlane    = 0,  ///< Trigger digits on BP histogram index
46     kTriggerDigitsNonBendPlane = 1,  ///< Trigger digits on NBP histogram index
47     kTriggeredBoards           = 2,  ///< Triggered boards histogram index
48     kTriggerDigitsDisplay      = 3,  ///< Trigger digits display histogram per plane index
49     kTriggerBoardsDisplay      = 11  ///< Triggered boards display histogram index
50   };
51           
52   /// ESD histograms indices
53   enum EESD { 
54     kESDnTracks       = 0,  ///< ESD nTrack histogram index
55     kESDMomentum      = 1,  ///< ESD momentum histogram index
56     kESDPt            = 2,  ///< ESD Pt histogram index
57     kESDRapidity      = 3,  ///< ESD Rapidity histogram index
58     kESDClusterHitMap = 4   ///< ESD Cluster hit map histogram index
59   };
60
61   virtual void   StartOfDetectorCycle(); 
62
63   virtual void   InitRaws(); 
64   virtual void   InitRecPoints(); 
65   virtual void   InitESDs(); 
66   
67   virtual void   MakeRaws(AliRawReader* rawReader); 
68   virtual void   MakeRecPoints(TTree* recpo); 
69   virtual void   MakeESDs(AliESDEvent* esd) ;
70   virtual void   EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
71
72   void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
73   Bool_t InitDisplayHistos(AliQA::TASKINDEX_t task);
74   Bool_t AddSortedPoint(Float_t currVal, TArrayF& position, const Float_t kResetValue);
75   
76   Bool_t  fIsInitRaws;       //!<  info if InitRaws() went ok
77   Bool_t  fIsInitRecPoints;  //!<  info if InitRecPoints() went ok
78   Bool_t  fIsInitESDs;       //!<  info if InitESDs() went ok
79   
80   AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
81   AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
82   AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
83
84   ClassDef(AliMUONQADataMakerRec,2)  // MUON Quality assurance data maker
85
86 };
87 #endif