Bug #65815 was finally reproduced in data reconstruction. Now fully fixed.
[u/mrichter/AliRoot.git] / MUON / AliMUONQAIndices.h
1 #ifndef ALIMUONQAINDICES_H
2 #define ALIMUONQAINDICES_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup base
10 /// 
11 /// Definition of enums needed by the MUON QA data makers and checkers (both
12 /// tracker and trigger)
13 ///
14 /// \author Laurent Aphecetche and Diego Stocco, Subatech
15
16 namespace AliMUONQAIndices
17 {
18   /// Raw histograms indices
19   enum ERaw { 
20     kTrackerData              = 3,  ///< Accumulated data
21     kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
22     kTrackerBusPatchNofPads   = 5, ///< Number of pads per bus patch
23     kTrackerBusPatchNofManus  = 6, ///< Number of manus per bus patch
24     kTrackerBusPatchConfig    = 7, ///< Configuration of the tracker
25     kTrackerBusPatchParityErrors    =  8, ///< Parity errors during readout of the tracker
26     kTrackerBusPatchTokenLostErrors =  9, ///< Token lost errors during readout of the tracker
27     kTrackerBusPatchPaddingErrors   = 10, ///< Padding errors during readout of the tracker
28     kTrackerNofRawEventSeen         = 11, ///< Number of events seen (and used)
29     kTrackerReadoutErrors           = 12,  ///< Integrated number of errors (and events for 1st bin)
30     kTrackerDDLOccupancy            = 13, ///< DDL occupancy in percent
31     kTrackerDDLNofEvents            = 14, ///< nof of events per DDL
32     kTriggerScalersTime       = 22, ///< Trigger scalers acquisition time index
33     kTriggerScalers           = 23, ///< Trigger scalers histogram per plane index
34     kTriggerScalersDisplay    = 31, ///< Trigger scalers display histogram per plane index
35     kTriggerCalibSummary      = 40, ///< Number of responding strips/boards and noisy strips 
36     kTriggerCalibSummaryNorm  = 41, ///< Percentage of responding strips/boards and noisy strips
37     kTriggerErrorLocalXPos = 50, ///< Local board: Number of XPos Error vs Local Board Id
38     kTriggerErrorLocalYPos = 51, ///< Local board: Number of YPos Error vs Local Board Id
39     kTriggerErrorLocalDev  = 52, ///< Local board: Number of Deviation Error vs Local Board
40     kTriggerErrorLocalTriggerDec = 53, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
41     kTriggerErrorLocalLPtLSB = 54, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
42     kTriggerErrorLocalLPtMSB = 55, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
43     kTriggerErrorLocalHPtLSB = 56, ///< Local board: Number of LSB High Pt Error vs Local Board Id
44     kTriggerErrorLocalHPtMSB = 57, ///< Local board: Number of MSB High Pt Error vs Local Board Id
45     kTriggerErrorLocalTrigY  = 58, ///< Local board: Number of TrigY Error vs Local Board Id
46     kTriggerErrorLocal2RegionalLPtLSB  = 59, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
47     kTriggerErrorLocal2RegionalLPtMSB  = 60, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
48     kTriggerErrorLocal2RegionalHPtLSB  = 61, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
49     kTriggerErrorLocal2RegionalHPtMSB  = 62, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
50     kTriggerErrorOutGlobalFromInGlobal = 63, ///< Global board: Number of error vs output bit    with a re-reconstruction from Global inputs
51     kTriggerErrorOutGlobalFromInLocal = 64, ///< Global board: Number of error vs output bit  with a re-reconstruction from Local inputs
52     kTriggerErrorSummary      = 65,  ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
53     kTriggerErrorSummaryNorm  = 66,  ///< Percentage of errors for each trigger decision level
54     kTriggerErrorLocalYCopy     = 67, ///< Local board: Number of Y Copy Error vs Local Board Id
55     kTriggerErrorLocalYCopyTest = 68, ///< Local Board: Number of Y copy error tests (for normalization)
56     kTriggerErrorLocalYCopyNorm = 69, ///< Local Board: Number of Y Copy Error vs Local Board Id Normalized to the number of tests
57     kTriggeredBoards          = 70,  ///< Triggered boards histogram index
58     kTriggerBoardsDisplay     = 71,  ///< Triggered boards display histogram index
59     kTriggerReadOutErrors     = 80,  ///< Number of read-out errors
60     kTriggerReadOutErrorsNorm = 81,  ///< Percentage of read-out errors
61     kTriggerGlobalOutput      = 90,  ///< Number of Global outputs and Global algo errors
62     kTriggerGlobalOutputNorm  = 91,  ///< Percentage of Global outputs and Global algo errors
63     kTriggerRawNAnalyzedEvents= 100,  ///< Number of analyzed events per event specie
64     kTriggerLocalRatio4434           = 101,  ///< Ratio 44/34 vs Local Board Id
65     kTriggerRatio4434AllEvents       = 102,  ///< Ratio 44/34 since the beginning of the run vs Event Number
66     kTriggerRatio4434SinceLastUpdate = 103,  ///< Ratio 44/34 for the last kUpdateRatio4434 events vs Event Number
67     kTriggerNumberOf34Dec            = 104,  ///< Number of Decision in coincidence 3/4 vs Local Board
68     kTriggerNumberOf44Dec            = 105   ///< Number of Decision in coincidence 4/4 vs Local Board
69   };
70   
71   /// Rec points histograms indices
72   enum ERecPoints { 
73     kTrackerNumberOfClustersPerChamber    = 100, ///< Tracker: number of clusters per chamber
74     kTrackerClusterMultiplicityPerChMean  = 101, ///< cluster size per Ch: mean
75     kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion
76     kTrackerClusterChargePerChMean        = 103, ///< cluster charge per Ch: mean
77     kTrackerClusterChargePerChSigma       = 104, ///< cluster charge per Ch: dispersion
78     
79     kTrackerRecPoints = 105, ///< Tracker : tracker data of clusters (all and mono-cathode ones)
80     
81     kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
82     kTrackerClusterChargePerChamber       = 300, ///< Tracker: cluster charge per chamber
83     kTrackerClusterHitMapPerChamber       = 400, ///< Tracker: cluster position distribution per chamber
84     
85     kTrackerNumberOfClustersPerDE        = 1000, ///< Tracker : number of clusters per DE               
86     kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean
87     kTrackerClusterChargePerDEMean       = 1002, ///< cluster charge per DE: mean
88     
89     kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE         
90     kTrackerClusterChargePerDE       = 5000,  ///< Tracker : cluster charge per DE
91     
92     kTriggerNAnalyzedEvents           = 0, ///< Number of analyzed events per event specie
93     kTriggerRPCtrips           = 1, ///< Trips in trigger chambers
94     kTriggerRPChv              = 2  ///< Trigger chamber HV index
95     
96   };
97   
98   /// ESD histograms indices
99   enum EESD { 
100     kESDnTracks                 = 0,  ///< number of tracks
101     kESDMatchTrig               = 1,  ///< number of tracks matched with trigger
102     kESDMomentum                = 2,  ///< P distribution
103     kESDPt                      = 3,  ///< Pt distribution
104     kESDRapidity                = 4,  ///< rapidity distribution
105     kESDChi2                    = 5,  ///< normalized chi2 distribution
106     kESDProbChi2                = 6,  ///< distribution of probability of chi2
107     
108     kESDClusterHitMap           = 7,  ///< cluster position distribution in chamber i
109     kESDnClustersPerTrack       = 17, ///< number of clusters per track
110     kESDnClustersPerCh          = 18, ///< number of clusters per chamber per track
111     kESDnClustersPerDE          = 19, ///< number of clusters per DE per track
112     kESDClusterChargeInCh       = 20, ///< cluster charge distribution in chamber i
113     kESDClusterChargePerChMean  = 30, ///< cluster charge per Ch: mean
114     kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion
115     kESDClusterChargePerDE      = 32, ///< cluster charge per DE: mean
116     kESDClusterSizeInCh         = 33, ///< cluster size distribution in chamber i
117     kESDClusterSizePerChMean    = 43, ///< cluster size per Ch: mean
118     kESDClusterSizePerChSigma   = 44, ///< cluster size per Ch: dispersion
119     kESDClusterSizePerDE        = 45, ///< cluster size per DE: mean
120     
121     kESDResidualXInCh           = 46, ///< cluster-track residual-X distribution in chamber i
122     kESDResidualYInCh           = 56, ///< cluster-track residual-Y distribution in chamber i
123     kESDResidualXPerChMean      = 66, ///< cluster-track residual-X per Ch: mean
124     kESDResidualYPerChMean      = 67, ///< cluster-track residual-Y per Ch: mean
125     kESDResidualXPerChSigma     = 68, ///< cluster-track residual-X per Ch: dispersion
126     kESDResidualYPerChSigma     = 69, ///< cluster-track residual-Y per Ch: dispersion
127     kESDResidualXPerDEMean      = 70, ///< cluster-track residual-X per DE: mean
128     kESDResidualYPerDEMean      = 71, ///< cluster-track residual-Y per DE: mean
129     kESDResidualXPerDESigma     = 72, ///< cluster-track residual-X per DE: dispersion
130     kESDResidualYPerDESigma     = 73, ///< cluster-track residual-Y per DE: dispersion
131     kESDLocalChi2XInCh          = 74, ///< local chi2-X distribution in chamber i
132     kESDLocalChi2YInCh          = 84, ///< local chi2-Y distribution in chamber i
133     kESDLocalChi2XPerChMean     = 94, ///< local chi2-X per Ch: mean
134     kESDLocalChi2YPerChMean     = 95, ///< local chi2-Y per Ch: mean
135     kESDLocalChi2XPerDEMean     = 96, ///< local chi2-X per DE: mean
136     kESDLocalChi2YPerDEMean     = 97, ///< local chi2-Y per DE: mean
137     kESDLocalChi2InCh           = 98, ///< local chi2-X distribution in chamber i
138     kESDLocalChi2PerChMean      = 108, ///< local chi2 per Ch: mean
139     kESDLocalChi2PerDEMean      = 109, ///< local chi2 per DE: mean
140     
141     kESDThetaX                  = 110, ///< thetaX distribution
142     kESDThetaY                  = 111, ///< thetaY distribution
143     
144     kESDnTotClustersPerCh       = 1000, ///< total number of associated clusters per chamber
145     kESDnTotClustersPerDE       = 1001, ///< total number of associated clusters per DE
146     kESDnTotFullClustersPerDE   = 1002, ///< total number of associated clusters containing pad info per DE
147     kESDSumClusterChargePerDE   = 1003, ///< sum of cluster charge per DE
148     kESDSumClusterSizePerDE     = 1004, ///< sum of cluster size per DE
149     kESDSumResidualXPerDE       = 1005, ///< sum of cluster-track residual-X per DE
150     kESDSumResidualYPerDE       = 1006, ///< sum of cluster-track residual-Y per DE
151     kESDSumResidualX2PerDE      = 1007, ///< sum of cluster-track residual-X**2 per DE
152     kESDSumResidualY2PerDE      = 1008, ///< sum of cluster-track residual-Y**2 per DE
153     kESDSumLocalChi2XPerDE      = 1009, ///< sum of local chi2-X per DE
154     kESDSumLocalChi2YPerDE      = 1010, ///< sum of local chi2-Y per DE
155     kESDSumLocalChi2PerDE       = 1011  ///< sum of local chi2 per DE
156   };
157   
158   // Bins for summary histos
159   enum {
160     kTriggerRespStrips,    ///< Bin for % of responding trigger strips
161     kTriggerRespLocal,     ///< Bin for % of responding trigger local boards
162     kTriggerRespRegional,  ///< Bin for % of responding trigger regional boards
163     kTriggerRespGlobal,    ///< Bin for % of responding trigger global boards
164     kTriggerNoisyStrips,   ///< Bin for % of noisy trigger strips
165     kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary
166   };
167   
168   // Bins for algorithm error histos
169   enum {
170     kAlgoLocalX,             ///< Bin for % of local board X pos errors
171     kAlgoLocalY,             ///< Bin for % of local board Y pos errors
172     kAlgoLocalLUT,           ///< Bin for % of local board deviation errors
173     kAlgoLocalYCopy,         ///< Bin for % of local board Y copy errors
174     kAlgoLocalToRegional,    ///< Bin for % of local to regional errors
175     kAlgoRegional,           ///< Bin for % of regional board errors 
176     kAlgoRegionalToGlobal,   ///< Bin for % of regional to global errors 
177     kAlgoGlobalFromGlobal,   ///< Bin for % of global from global board errors 
178     kAlgoGlobalFromLocal,    ///< Bin for % of global from local board errors 
179     kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors 
180     kNtrigAlgoErrorBins      ///< Total number of bins for trigger error summary
181   };
182   
183   enum {
184     kLocalStructError,    ///< Bin for % of errors in local struct
185     kRegionalStructError, ///< Bin for % of errors in regional struct
186     kGlobalStructError,   ///< Bin for % of errors in global struct
187     kDarcStructError,     ///< Bin for % of errors in darc struct
188     kNtrigStructErrorBins ///< Total number of bins for struct error summary
189   };
190     
191   // Bins for tracker readout errors
192   enum ETrackerReadoutErrors
193   {
194     kTrackerRawNofGlitchErrors = 0, ///< Bin for number of glitch errors
195     kTrackerRawNofTokenLostErrors = 1, ///< Bin for number of token lost errors
196     kTrackerRawNofParityErrors = 2, ///< Bin for number of parity errors
197     kTrackerRawNofPaddingErrors = 3 ///< Bin for number of padding errors
198   };
199   
200 }
201
202 #endif