Modified AliMUONQADataMakerRec to add trigger information:
[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 // dummy function for simulation part
13 // to avoid circular dependencie
14
15 // --- ROOT system ---
16 class TObjArray;
17 class TArrayF;
18
19 // --- AliRoot header files ---
20 class AliMUONVTrackStore;
21 class AliMUONDigitMaker;
22 class AliMUONVDigitStore;
23 class AliMUONVTriggerStore;
24
25 #include "AliQADataMakerRec.h"
26
27 class AliMUONQADataMakerRec: public AliQADataMakerRec {
28
29 public:
30   AliMUONQADataMakerRec();         
31   AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
32   AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
33   virtual ~AliMUONQADataMakerRec();
34   
35 private:
36   /// Raw histograms indices
37   enum ERaw { 
38     kRawBusPatch           = 0,   ///< Raw bus patch histogram index
39     kRawCharge             = 1,   ///< Raw charge histogram index
40     kRawBuspatchDDL        = 2,   ///< Raw buspatch hit map histogram per DDL index
41     kTriggerScalersBP      = 22,  ///< Trigger scalers on BP histogram per chamber index
42     kTriggerScalersNBP     = 23,  ///< Trigger scalers on NBP histogram per chamber index
43     kTriggerScalersDisplay = 24   ///< Trigger scalers display histogram per chamber index
44   };
45          
46   /// Rec points histograms indices
47   enum ERecPoints { 
48     kTriggerDigitsBendPlane    = 0,  ///< Trigger digits on BP histogram index
49     kTriggerDigitsNonBendPlane = 1,  ///< Trigger digits on NBP histogram index
50     kTriggeredBoards           = 2,  ///< Triggered boards histogram index
51     kTriggerDigitsDisplay      = 3,  ///< Trigger digits display histogram per plane index
52     kTriggerBoardsDisplay      = 11  ///< Triggered boards display histogram index
53   };
54           
55   /// ESD histograms indices
56   enum EESD { 
57     kESDnTracks       = 0,  ///< ESD nTrack histogram index
58     kESDMomentum      = 1,  ///< ESD momentum histogram index
59     kESDPt            = 2,  ///< ESD Pt histogram index
60     kESDRapidity      = 3,  ///< ESD Rapidity histogram index
61     kESDClusterHitMap = 4   ///< ESD Cluster hit map histogram index
62   };
63
64   virtual void   StartOfDetectorCycle(); 
65
66   virtual void   InitRaws(); 
67   virtual void   InitRecPoints(); 
68   virtual void   InitESDs(); 
69   
70   virtual void   MakeRaws(AliRawReader* rawReader); 
71   virtual void   MakeRecPoints(TTree* recpo); 
72   virtual void   MakeESDs(AliESDEvent* esd) ;
73   virtual void   EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
74
75   void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
76   void InitDisplayHistos(AliQA::TASKINDEX_t task);
77   Bool_t AddSortedPoint(Float_t currVal, TArrayF& position, const Float_t kResetValue);
78   
79   AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
80   AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
81   AliMUONDigitMaker* fDigitMaker;  //!< pointer to digit maker
82
83   ClassDef(AliMUONQADataMakerRec,2)  // MUON Quality assurance data maker
84
85 };
86 #endif