new functionality and new class added
[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     
68   };
69   
70   /// Rec points histograms indices
71   enum ERecPoints { 
72     kTrackerNumberOfClustersPerChamber    = 100, ///< Tracker: number of clusters per chamber
73     kTrackerClusterMultiplicityPerChMean  = 101, ///< cluster size per Ch: mean
74     kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion
75     kTrackerClusterChargePerChMean        = 103, ///< cluster charge per Ch: mean
76     kTrackerClusterChargePerChSigma       = 104, ///< cluster charge per Ch: dispersion
77     
78     kTrackerRecPoints = 105, ///< Tracker : tracker data of clusters (all and mono-cathode ones)
79     
80     kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
81     kTrackerClusterChargePerChamber       = 300, ///< Tracker: cluster charge per chamber
82     kTrackerClusterHitMapPerChamber       = 400, ///< Tracker: cluster position distribution per chamber
83     
84     kTrackerNumberOfClustersPerDE        = 1000, ///< Tracker : number of clusters per DE               
85     kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean
86     kTrackerClusterChargePerDEMean       = 1002, ///< cluster charge per DE: mean
87     
88     kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE         
89     kTrackerClusterChargePerDE       = 5000,  ///< Tracker : cluster charge per DE
90     
91     kTriggerNAnalyzedEvents           = 0, ///< Number of analyzed events per event specie
92     kTriggerRPCtrips           = 1, ///< Trips in trigger chambers
93     kTriggerRPChv              = 2  ///< Trigger chamber HV index
94     
95   };
96   
97   /// ESD histograms indices
98   enum EESD { 
99     kESDnTracks                 = 0,  ///< number of tracks
100     kESDMatchTrig               = 1,  ///< number of tracks matched with trigger
101     kESDMomentum                = 2,  ///< P distribution
102     kESDPt                      = 3,  ///< Pt distribution
103     kESDRapidity                = 4,  ///< rapidity distribution
104     kESDChi2                    = 5,  ///< normalized chi2 distribution
105     kESDProbChi2                = 6,  ///< distribution of probability of chi2
106     
107     kESDClusterHitMap           = 7,  ///< cluster position distribution in chamber i
108     kESDnClustersPerTrack       = 17, ///< number of clusters per track
109     kESDnClustersPerCh          = 18, ///< number of clusters per chamber per track
110     kESDnClustersPerDE          = 19, ///< number of clusters per DE per track
111     kESDClusterChargeInCh       = 20, ///< cluster charge distribution in chamber i
112     kESDClusterChargePerChMean  = 30, ///< cluster charge per Ch: mean
113     kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion
114     kESDClusterChargePerDE      = 32, ///< cluster charge per DE: mean
115     kESDClusterSizeInCh         = 33, ///< cluster size distribution in chamber i
116     kESDClusterSizePerChMean    = 43, ///< cluster size per Ch: mean
117     kESDClusterSizePerChSigma   = 44, ///< cluster size per Ch: dispersion
118     kESDClusterSizePerDE        = 45, ///< cluster size per DE: mean
119     
120     kESDResidualXInCh           = 46, ///< cluster-track residual-X distribution in chamber i
121     kESDResidualYInCh           = 56, ///< cluster-track residual-Y distribution in chamber i
122     kESDResidualXPerChMean      = 66, ///< cluster-track residual-X per Ch: mean
123     kESDResidualYPerChMean      = 67, ///< cluster-track residual-Y per Ch: mean
124     kESDResidualXPerChSigma     = 68, ///< cluster-track residual-X per Ch: dispersion
125     kESDResidualYPerChSigma     = 69, ///< cluster-track residual-Y per Ch: dispersion
126     kESDResidualXPerDEMean      = 70, ///< cluster-track residual-X per DE: mean
127     kESDResidualYPerDEMean      = 71, ///< cluster-track residual-Y per DE: mean
128     kESDResidualXPerDESigma     = 72, ///< cluster-track residual-X per DE: dispersion
129     kESDResidualYPerDESigma     = 73, ///< cluster-track residual-Y per DE: dispersion
130     kESDLocalChi2XInCh          = 74, ///< local chi2-X distribution in chamber i
131     kESDLocalChi2YInCh          = 84, ///< local chi2-Y distribution in chamber i
132     kESDLocalChi2XPerChMean     = 94, ///< local chi2-X per Ch: mean
133     kESDLocalChi2YPerChMean     = 95, ///< local chi2-Y per Ch: mean
134     kESDLocalChi2XPerDEMean     = 96, ///< local chi2-X per DE: mean
135     kESDLocalChi2YPerDEMean     = 97, ///< local chi2-Y per DE: mean
136     kESDLocalChi2InCh           = 98, ///< local chi2-X distribution in chamber i
137     kESDLocalChi2PerChMean      = 108, ///< local chi2 per Ch: mean
138     kESDLocalChi2PerDEMean      = 109, ///< local chi2 per DE: mean
139     
140     kESDThetaX                  = 110, ///< thetaX distribution
141     kESDThetaY                  = 111, ///< thetaY distribution
142     
143     kESDnTotClustersPerCh       = 1000, ///< total number of associated clusters per chamber
144     kESDnTotClustersPerDE       = 1001, ///< total number of associated clusters per DE
145     kESDnTotFullClustersPerDE   = 1002, ///< total number of associated clusters containing pad info per DE
146     kESDSumClusterChargePerDE   = 1003, ///< sum of cluster charge per DE
147     kESDSumClusterSizePerDE     = 1004, ///< sum of cluster size per DE
148     kESDSumResidualXPerDE       = 1005, ///< sum of cluster-track residual-X per DE
149     kESDSumResidualYPerDE       = 1006, ///< sum of cluster-track residual-Y per DE
150     kESDSumResidualX2PerDE      = 1007, ///< sum of cluster-track residual-X**2 per DE
151     kESDSumResidualY2PerDE      = 1008, ///< sum of cluster-track residual-Y**2 per DE
152     kESDSumLocalChi2XPerDE      = 1009, ///< sum of local chi2-X per DE
153     kESDSumLocalChi2YPerDE      = 1010, ///< sum of local chi2-Y per DE
154     kESDSumLocalChi2PerDE       = 1011  ///< sum of local chi2 per DE
155   };
156   
157   // Bins for summary histos
158   enum {
159     kTriggerRespStrips,    ///< Bin for % of responding trigger strips
160     kTriggerRespLocal,     ///< Bin for % of responding trigger local boards
161     kTriggerRespRegional,  ///< Bin for % of responding trigger regional boards
162     kTriggerRespGlobal,    ///< Bin for % of responding trigger global boards
163     kTriggerNoisyStrips,   ///< Bin for % of noisy trigger strips
164     kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary
165   };
166   
167   // Bins for algorithm error histos
168   enum {
169     kAlgoLocalX,             ///< Bin for % of local board X pos errors
170     kAlgoLocalY,             ///< Bin for % of local board Y pos errors
171     kAlgoLocalLUT,           ///< Bin for % of local board deviation errors
172     kAlgoLocalYCopy,         ///< Bin for % of local board Y copy errors
173     kAlgoLocalToRegional,    ///< Bin for % of local to regional errors
174     kAlgoRegional,           ///< Bin for % of regional board errors 
175     kAlgoRegionalToGlobal,   ///< Bin for % of regional to global errors 
176     kAlgoGlobalFromGlobal,   ///< Bin for % of global from global board errors 
177     kAlgoGlobalFromLocal,    ///< Bin for % of global from local board errors 
178     kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors 
179     kNtrigAlgoErrorBins      ///< Total number of bins for trigger error summary
180   };
181   
182   enum {
183     kLocalStructError,    ///< Bin for % of errors in local struct
184     kRegionalStructError, ///< Bin for % of errors in regional struct
185     kGlobalStructError,   ///< Bin for % of errors in global struct
186     kDarcStructError,     ///< Bin for % of errors in darc struct
187     kNtrigStructErrorBins ///< Total number of bins for struct error summary
188   };
189     
190   
191 }
192
193 #endif