]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONQADataMakerRec.h
Small bug fix (which should have no influence online)
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
... / ...
CommitLineData
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#include "AliQADataMakerRec.h"
15#include "AliMUONRecoParam.h"
16
17class AliMUONDigitMaker;
18class AliMUONVDigitStore;
19class AliMUONVTriggerStore;
20class AliMUONVClusterStore;
21class AliMUONVTrackerData;
22class AliMUONVTrackerDataMaker;
23
24class AliMUONQADataMakerRec: public AliQADataMakerRec {
25
26public:
27 AliMUONQADataMakerRec();
28 AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);
29 AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
30 virtual ~AliMUONQADataMakerRec();
31
32 AliMUONVTrackerData* GetTrackerData() const;
33
34 virtual void InitRaws();
35 virtual void InitRecPoints();
36
37protected:
38
39 virtual void StartOfDetectorCycle();
40
41 virtual void InitDigits();
42 virtual void InitESDs();
43
44 virtual void MakeRaws(AliRawReader* rawReader);
45 virtual void MakeDigits(TTree* dig);
46 virtual void MakeDigits() {return;}
47 virtual void MakeRecPoints(TTree* recpo);
48 virtual void MakeESDs(AliESDEvent* esd) ;
49
50 virtual void DefaultEndOfDetectorCycle(AliQAv1::TASKINDEX_t) {}
51
52 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list);
53
54private:
55 /// Raw histograms indices
56 enum ERaw {
57 kTrackerData = 3, ///< Accumulated data
58 kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
59 kTrackerBusPatchNofPads = 5, ///< Number of pads per bus patch
60 kTrackerBusPatchNofManus = 6, ///< Number of manus per bus patch
61 kTriggerScalers = 22, ///< Trigger scalers histogram per plane index
62 kTriggerScalersDisplay = 30, ///< Trigger scalers display histogram per plane index
63 kTriggerScalersTime = 38, ///< Trigger scalers acquisition time index
64 kTriggerRPCi = 39, ///< Trigger chamber currents index
65 kTriggerRPChv = 43 ///< Trigger chamber HV index
66 };
67
68 /// Rec points histograms indices
69 enum ERecPoints {
70 kTriggerDigits = 0, ///< Trigger digits histogram per plane index
71 kTriggeredBoards = 8, ///< Triggered boards histogram index
72 kTriggerDigitsDisplay = 9, ///< Trigger digits display histogram per plane index
73 kTriggerBoardsDisplay = 17, ///< Triggered boards display histogram index
74
75 kNAnalyzedEvents = 90, ///< Number of analyzed events per event specie
76
77 kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: number of clusters per chamber
78 kTrackerClusterMultiplicityPerChMean = 101, ///< cluster size per Ch: mean
79 kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion
80 kTrackerClusterChargePerChMean = 103, ///< cluster charge per Ch: mean
81 kTrackerClusterChargePerChSigma = 104, ///< cluster charge per Ch: dispersion
82
83 kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
84 kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber
85 kTrackerClusterHitMapPerChamber = 400, ///< Tracker: cluster position distribution per chamber
86
87 kTrackerNumberOfClustersPerDE = 1000, ///< Tracker : number of clusters per DE
88 kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean
89 kTrackerClusterChargePerDEMean = 1002, ///< cluster charge per DE: mean
90
91 kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE
92 kTrackerClusterChargePerDE = 5000 ///< Tracker : cluster charge per DE
93 };
94
95 /// ESD histograms indices
96 enum EESD {
97 kESDnTracks = 0, ///< number of tracks
98 kESDMatchTrig = 1, ///< number of tracks matched with trigger
99 kESDMomentum = 2, ///< P distribution
100 kESDPt = 3, ///< Pt distribution
101 kESDRapidity = 4, ///< rapidity distribution
102 kESDChi2 = 5, ///< normalized chi2 distribution
103 kESDProbChi2 = 6, ///< distribution of probability of chi2
104
105 kESDClusterHitMap = 7, ///< cluster position distribution in chamber i
106 kESDnClustersPerTrack = 17, ///< number of clusters per track
107 kESDnClustersPerCh = 18, ///< number of clusters per chamber per track
108 kESDnClustersPerDE = 19, ///< number of clusters per DE per track
109 kESDClusterChargeInCh = 20, ///< cluster charge distribution in chamber i
110 kESDClusterChargePerChMean = 30, ///< cluster charge per Ch: mean
111 kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion
112 kESDClusterChargePerDE = 32, ///< cluster charge per DE: mean
113 kESDClusterSizeInCh = 33, ///< cluster size distribution in chamber i
114 kESDClusterSizePerChMean = 43, ///< cluster size per Ch: mean
115 kESDClusterSizePerChSigma = 44, ///< cluster size per Ch: dispersion
116 kESDClusterSizePerDE = 45, ///< cluster size per DE: mean
117
118 kESDResidualXInCh = 46, ///< cluster-track residual-X distribution in chamber i
119 kESDResidualYInCh = 56, ///< cluster-track residual-Y distribution in chamber i
120 kESDResidualXPerChMean = 66, ///< cluster-track residual-X per Ch: mean
121 kESDResidualYPerChMean = 67, ///< cluster-track residual-Y per Ch: mean
122 kESDResidualXPerChSigma = 68, ///< cluster-track residual-X per Ch: dispersion
123 kESDResidualYPerChSigma = 69, ///< cluster-track residual-Y per Ch: dispersion
124 kESDResidualXPerDEMean = 70, ///< cluster-track residual-X per DE: mean
125 kESDResidualYPerDEMean = 71, ///< cluster-track residual-Y per DE: mean
126 kESDResidualXPerDESigma = 72, ///< cluster-track residual-X per DE: dispersion
127 kESDResidualYPerDESigma = 73, ///< cluster-track residual-Y per DE: dispersion
128 kESDLocalChi2XInCh = 74, ///< local chi2-X distribution in chamber i
129 kESDLocalChi2YInCh = 84, ///< local chi2-Y distribution in chamber i
130 kESDLocalChi2XPerChMean = 94, ///< local chi2-X per Ch: mean
131 kESDLocalChi2YPerChMean = 95, ///< local chi2-Y per Ch: mean
132 kESDLocalChi2XPerDEMean = 96, ///< local chi2-X per DE: mean
133 kESDLocalChi2YPerDEMean = 97, ///< local chi2-Y per DE: mean
134 kESDLocalChi2InCh = 98, ///< local chi2-X distribution in chamber i
135 kESDLocalChi2PerChMean = 108, ///< local chi2 per Ch: mean
136 kESDLocalChi2PerDEMean = 109, ///< local chi2 per DE: mean
137
138 kESDThetaX = 110, ///< thetaX distribution
139 kESDThetaY = 111, ///< thetaY distribution
140
141 kESDnTotClustersPerCh = 1000, ///< total number of associated clusters per chamber
142 kESDnTotClustersPerDE = 1001, ///< total number of associated clusters per DE
143 kESDnTotFullClustersPerDE = 1002, ///< total number of associated clusters containing pad info per DE
144 kESDSumClusterChargePerDE = 1003, ///< sum of cluster charge per DE
145 kESDSumClusterSizePerDE = 1004, ///< sum of cluster size per DE
146 kESDSumResidualXPerDE = 1005, ///< sum of cluster-track residual-X per DE
147 kESDSumResidualYPerDE = 1006, ///< sum of cluster-track residual-Y per DE
148 kESDSumResidualX2PerDE = 1007, ///< sum of cluster-track residual-X**2 per DE
149 kESDSumResidualY2PerDE = 1008, ///< sum of cluster-track residual-Y**2 per DE
150 kESDSumLocalChi2XPerDE = 1009, ///< sum of local chi2-X per DE
151 kESDSumLocalChi2YPerDE = 1010, ///< sum of local chi2-Y per DE
152 kESDSumLocalChi2PerDE = 1011 ///< sum of local chi2 per DE
153 };
154
155private:
156 void BeautifyTrackerBusPatchOccupancy(TH1& hbp);
157
158private:
159
160 void Ctor();
161 void DisplayTriggerInfo(AliQAv1::TASKINDEX_t task);
162 Bool_t FillTriggerDCSHistos();
163 void InitRecPointsTracker();
164 void InitRecPointsTrigger();
165 void MakeRawsTracker(AliRawReader* rawReader);
166 void MakeRawsTrigger(AliRawReader* rawReader);
167 void MakeRecPointsTracker(TTree* treeR);
168 void MakeRecPointsTrigger(TTree* treeR);
169
170 /// Return reco parameters
171 const AliMUONRecoParam* GetMUONRecoParam() const { return dynamic_cast<const AliMUONRecoParam *>(fRecoParam); }
172
173 AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
174 AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
175 AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
176 AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
177
178 AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
179
180 ClassDef(AliMUONQADataMakerRec,7) // MUON Quality assurance data maker
181
182};
183#endif