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