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