]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONQADataMakerRec.h
Upgrading the raw data QA for tracker, and introducing the first
[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 // $Id$
7
8 /// \ingroup rec
9 /// \class AliMUONQADataMakerRec
10 /// \brief MUON Quality assurance data maker
11 ///
12
13 // --- AliRoot header files ---
14 class AliMUONDigitMaker;
15 class AliMUONVDigitStore;
16 class AliMUONVTriggerStore;
17 class AliMUONVClusterStore;
18
19 #include "AliQADataMakerRec.h"
20
21 class AliMUONVTrackerDataMaker;
22
23 class AliMUONQADataMakerRec: public AliQADataMakerRec {
24
25 public:
26   AliMUONQADataMakerRec();         
27   AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);   
28   AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
29   virtual ~AliMUONQADataMakerRec();
30   
31 private:
32   /// Raw histograms indices
33   enum ERaw { 
34                 kTrackerData           = 3,   ///< Accumulated data
35     kTriggerScalersBP      = 22,  ///< Trigger scalers on BP histogram per chamber index
36     kTriggerScalersNBP     = 23,  ///< Trigger scalers on NBP histogram per chamber index
37     kTriggerScalersDisplay = 24   ///< Trigger scalers display histogram per chamber index
38   };
39          
40   /// Rec points histograms indices
41   enum ERecPoints { 
42     
43                 kTriggerDigitsBendPlane    = 0,  ///< Trigger digits on BP histogram index
44     kTriggerDigitsNonBendPlane = 1,  ///< Trigger digits on NBP histogram index
45     kTriggeredBoards           = 2,  ///< Triggered boards histogram index
46     kTriggerDigitsDisplay      = 3,  ///< Trigger digits display histogram per plane index
47     kTriggerBoardsDisplay      = 11,  ///< Triggered boards display histogram index
48
49                 kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: # of clusters per chamber
50                 kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
51                 kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber
52                                 
53                 kTrackerNumberOfClustersPerDE    = 1000, ///< Tracker : number of clusters per DE               
54                 kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE             
55                 kTrackerClusterChargePerDE       = 5000 ///< Tracker : cluster charge per DE
56                 
57   };
58           
59   /// ESD histograms indices
60   enum EESD { 
61     kESDnTracks       = 0,  ///< ESD nTrack histogram index
62     kESDMomentum      = 1,  ///< ESD momentum histogram index
63     kESDPt            = 2,  ///< ESD Pt histogram index
64     kESDRapidity      = 3,  ///< ESD Rapidity histogram index
65     kESDClusterHitMap = 4   ///< ESD Cluster hit map histogram index
66   };
67
68 protected:
69         
70   virtual void StartOfDetectorCycle(); 
71
72   virtual void InitRaws(); 
73   virtual void InitRecPoints(); 
74   virtual void InitESDs(); 
75   
76   virtual void MakeRaws(AliRawReader* rawReader); 
77   virtual void MakeRecPoints(TTree* recpo); 
78   virtual void MakeESDs(AliESDEvent* esd) ;
79   
80   virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
81
82         virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
83
84 private:
85         
86         void Ctor();
87   void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
88         void InitRecPointsTracker();
89         void InitRecPointsTrigger();
90         void MakeRawsTracker(AliRawReader* rawReader);
91         void MakeRawsTrigger(AliRawReader* rawReader);
92   void MakeRecPointsTracker(TTree* treeR);
93   void MakeRecPointsTrigger(TTree* treeR);
94         
95   Bool_t  fIsInitRaws;       //!<  info if InitRaws() went ok
96   Bool_t  fIsInitRecPointsTracker;  //!<  info if InitRecPoints() went ok
97   Bool_t  fIsInitRecPointsTrigger;  //!<  info if InitRecPoints() went ok
98   Bool_t  fIsInitESDs;       //!<  info if InitESDs() went ok
99   
100   AliMUONVDigitStore*   fDigitStore; //!< pointer to digits store
101   AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
102   AliMUONDigitMaker*    fDigitMaker;  //!< pointer to digit maker
103   AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
104         
105         AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
106         
107   ClassDef(AliMUONQADataMakerRec,3)  // MUON Quality assurance data maker
108
109 };
110 #endif