]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONQAIndices.h
- Adding sparse histograms to analysis
[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   /// Histogram indices common to raw and digits and/or recpoints.
19   ///
20   /// WARNING ! Those ones should not be reused anywhere else below.
21   /// Numbers from 1 to 50 are thus reserved for ECommon enum !
22   ///
23   enum ECommon {
24     kTrackerBusPatchOccupancy         =  1, ///< Bus patch occupancies
25     kTrackerBusPatchParityErrors      =  2, ///< Parity errors during readout of the tracker
26     kTrackerBusPatchTokenLostErrors   =  3, ///< Token lost errors during readout of the tracker
27     kTrackerBusPatchPaddingErrors     =  4, ///< Padding errors during readout of the tracker
28     kTrackerNofPhysicsEventsSeen      =  5, ///< Number of events seen 
29     kTrackerNofGoodPhysicsEventsUsed  =  6, ///< Number of good physics events seen (and used)
30     kTrackerBusPatchConfig            =  7, ///< Configuration of the tracker
31     kTrackerDDLOccupancy              =  8, ///< DDL occupancy in percent
32     kTrackerDDLNofEventsUsed          =  9, ///< nof of events per DDL (used) *WARNING* : same as above
33     kTrackerDDLNofEventsSeen          = 10,  ///< nof of events per DDL (seen)
34     kTrackerData                      = 11, ///< Accumulated data
35     kTrackerIsThere                   = 12, ///< whether we're making QA of tracker or not
36     kTriggerIsThere                   = 13  ///< whether we're making QA of trigger or not
37   };
38   
39   /// Raw/digits histograms indices
40   enum ERaw { 
41     
42     kTrackerReadoutStatusPerEvent     = 51, ///< as kTrackerReadoutStatus but normalized by the number of events
43     kTrackerReadoutStatus             = 52, ///< Status of readout (errors, missing pads, etc...)
44     kTrackerDDLEventSize             =  53, ///< event size per DDL
45     kTrackerDDLEventSizePerEvent     =  54, ///< event size per DDL per event
46
47     kTriggerScalersTime       = 60, ///< Trigger scalers acquisition time index
48     kTriggerScalers           = 61, ///< Trigger scalers histogram per plane index
49     kTriggerScalersDisplay    = 71, ///< Trigger scalers display histogram per plane index
50     kTriggerCalibSummary      = 80, ///< Number of responding strips/boards and noisy strips 
51     kTriggerCalibSummaryNorm  = 81, ///< Percentage of responding strips/boards and noisy strips
52     kTriggerErrorLocalXPos = 82, ///< Local board: Number of XPos Error vs Local Board Id
53     kTriggerErrorLocalYPos = 83, ///< Local board: Number of YPos Error vs Local Board Id
54     kTriggerErrorLocalDev  = 84, ///< Local board: Number of Deviation Error vs Local Board
55     kTriggerErrorLocalTriggerDec = 85, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
56     kTriggerErrorLocalLPtLSB = 86, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
57     kTriggerErrorLocalLPtMSB = 87, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
58     kTriggerErrorLocalHPtLSB = 88, ///< Local board: Number of LSB High Pt Error vs Local Board Id
59     kTriggerErrorLocalHPtMSB = 89, ///< Local board: Number of MSB High Pt Error vs Local Board Id
60     kTriggerErrorLocalTrigY  = 90, ///< Local board: Number of TrigY Error vs Local Board Id
61     kTriggerErrorLocal2RegionalLPtLSB  = 91, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
62     kTriggerErrorLocal2RegionalLPtMSB  = 92, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
63     kTriggerErrorLocal2RegionalHPtLSB  = 93, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
64     kTriggerErrorLocal2RegionalHPtMSB  = 94, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
65     kTriggerErrorOutGlobalFromInGlobal = 95, ///< Global board: Number of error vs output bit    with a re-reconstruction from Global inputs
66     kTriggerErrorOutGlobalFromInLocal = 96, ///< Global board: Number of error vs output bit  with a re-reconstruction from Local inputs
67     kTriggerErrorSummary      = 97,  ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
68     kTriggerErrorSummaryNorm  = 98,  ///< Percentage of errors for each trigger decision level
69     kTriggerErrorLocalYCopy     = 99, ///< Local board: Number of Y Copy Error vs Local Board Id
70     kTriggerErrorLocalYCopyTest = 100, ///< Local Board: Number of Y copy error tests (for normalization)
71     kTriggerErrorLocalYCopyNorm = 101, ///< Local Board: Number of Y Copy Error vs Local Board Id Normalized to the number of tests
72     kTriggeredBoards          = 102,  ///< Triggered boards histogram index
73     kTriggerBoardsDisplay     = 103,  ///< Triggered boards display histogram index
74     kTriggerReadOutErrors     = 104,  ///< Number of read-out errors
75     kTriggerReadOutErrorsNorm = 105,  ///< Percentage of read-out errors
76     kTriggerGlobalOutput      = 106,  ///< Number of Global outputs and Global algo errors
77     kTriggerGlobalOutputNorm  = 107,  ///< Percentage of Global outputs and Global algo errors
78     kTriggerRawNAnalyzedEvents= 108,  ///< Number of analyzed events per event specie
79     kTriggerLocalRatio4434           = 109,  ///< Ratio 44/34 vs Local Board Id
80     kTriggerRatio4434AllEvents       = 110,  ///< Ratio 44/34 since the beginning of the run vs Event Number
81     kTriggerRatio4434SinceLastUpdate = 111,  ///< Ratio 44/34 for the last kUpdateRatio4434 events vs Event Number
82     kTriggerNumberOf34Dec            = 112,  ///< Number of Decision in coincidence 3/4 vs Local Board
83     kTriggerNumberOf44Dec            = 113   ///< Number of Decision in coincidence 4/4 vs Local Board
84     
85   };
86   
87   /// Rec points histograms indices
88   enum ERecPoints { 
89     kTrackerNumberOfClustersPerChamber    = 100, ///< Tracker: number of clusters per chamber
90     kTrackerClusterMultiplicityPerChMean  = 101, ///< cluster size per Ch: mean
91     kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion
92     kTrackerClusterChargePerChMean        = 103, ///< cluster charge per Ch: mean
93     kTrackerClusterChargePerChSigma       = 104, ///< cluster charge per Ch: dispersion
94     
95     kTrackerRecPoints = 105, ///< Tracker : tracker data of clusters (all and mono-cathode ones)
96     
97     kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
98     kTrackerClusterChargePerChamber       = 300, ///< Tracker: cluster charge per chamber
99     kTrackerClusterHitMapPerChamber       = 400, ///< Tracker: cluster position distribution per chamber
100     
101     kTrackerNumberOfClustersPerDE        = 500, ///< Tracker : number of clusters per DE                
102     kTrackerClusterMultiplicityPerDEMean = 501, ///< cluster size per DE: mean
103     kTrackerClusterChargePerDEMean       = 502, ///< cluster charge per DE: mean
104     
105     kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE         
106     kTrackerClusterChargePerDE       = 5000,  ///< Tracker : cluster charge per DE
107     
108     kTriggerNAnalyzedEvents           = 50, ///< Number of analyzed events per event specie
109     kTriggerRPCtrips           = 51, ///< Trips in trigger chambers
110     kTriggerRPChv              = 52  ///< Trigger chamber HV index
111     
112   };
113   
114   /// ESD histograms indices
115   enum EESD { 
116     kESDnTracks                 =  50,  ///< number of tracks
117     kESDMatchTrig               =  51,  ///< number of tracks matched with trigger
118     kESDMomentum                =  52,  ///< P distribution
119     kESDPt                      =  53,  ///< Pt distribution
120     kESDRapidity                =  54,  ///< rapidity distribution
121     kESDChi2                    =  55,  ///< normalized chi2 distribution
122     kESDProbChi2                =  56,  ///< distribution of probability of chi2
123     
124     kESDClusterHitMap           =  57,  ///< cluster position distribution in chamber i
125     kESDnClustersPerTrack       =  67, ///< number of clusters per track
126     kESDnClustersPerCh          =  68, ///< number of clusters per chamber per track
127     kESDnClustersPerDE          =  69, ///< number of clusters per DE per track
128     kESDClusterChargeInCh       =  70, ///< cluster charge distribution in chamber i
129     kESDClusterChargePerChMean  =  80, ///< cluster charge per Ch: mean
130     kESDClusterChargePerChSigma =  81, ///< cluster charge per Ch: dispersion
131     kESDClusterChargePerDE      =  82, ///< cluster charge per DE: mean
132     kESDClusterSizeInCh         =  83, ///< cluster size distribution in chamber i
133     kESDClusterSizePerChMean    =  93, ///< cluster size per Ch: mean
134     kESDClusterSizePerChSigma   =  94, ///< cluster size per Ch: dispersion
135     kESDClusterSizePerDE        =  95, ///< cluster size per DE: mean
136     
137     kESDResidualXInCh           =  96, ///< cluster-track residual-X distribution in chamber i
138     kESDResidualYInCh           = 106, ///< cluster-track residual-Y distribution in chamber i
139     kESDResidualXPerChMean      = 116, ///< cluster-track residual-X per Ch: mean
140     kESDResidualYPerChMean      = 117, ///< cluster-track residual-Y per Ch: mean
141     kESDResidualXPerChSigma     = 118, ///< cluster-track residual-X per Ch: dispersion
142     kESDResidualYPerChSigma     = 119, ///< cluster-track residual-Y per Ch: dispersion
143     kESDResidualXPerDEMean      = 120, ///< cluster-track residual-X per DE: mean
144     kESDResidualYPerDEMean      = 121, ///< cluster-track residual-Y per DE: mean
145     kESDResidualXPerDESigma     = 122, ///< cluster-track residual-X per DE: dispersion
146     kESDResidualYPerDESigma     = 123, ///< cluster-track residual-Y per DE: dispersion
147     kESDLocalChi2XInCh          = 124, ///< local chi2-X distribution in chamber i
148     kESDLocalChi2YInCh          = 134, ///< local chi2-Y distribution in chamber i
149     kESDLocalChi2XPerChMean     = 144, ///< local chi2-X per Ch: mean
150     kESDLocalChi2YPerChMean     = 145, ///< local chi2-Y per Ch: mean
151     kESDLocalChi2XPerDEMean     = 146, ///< local chi2-X per DE: mean
152     kESDLocalChi2YPerDEMean     = 147, ///< local chi2-Y per DE: mean
153     kESDLocalChi2InCh           = 148, ///< local chi2-X distribution in chamber i
154     kESDLocalChi2PerChMean      = 158, ///< local chi2 per Ch: mean
155     kESDLocalChi2PerDEMean      = 159, ///< local chi2 per DE: mean
156     
157     kESDThetaX                  = 160, ///< thetaX distribution
158     kESDThetaY                  = 161, ///< thetaY distribution
159     
160     kESDnTotClustersPerCh       = 1000, ///< total number of associated clusters per chamber
161     kESDnTotClustersPerDE       = 1001, ///< total number of associated clusters per DE
162     kESDnTotFullClustersPerDE   = 1002, ///< total number of associated clusters containing pad info per DE
163     kESDSumClusterChargePerDE   = 1003, ///< sum of cluster charge per DE
164     kESDSumClusterSizePerDE     = 1004, ///< sum of cluster size per DE
165     kESDSumResidualXPerDE       = 1005, ///< sum of cluster-track residual-X per DE
166     kESDSumResidualYPerDE       = 1006, ///< sum of cluster-track residual-Y per DE
167     kESDSumResidualX2PerDE      = 1007, ///< sum of cluster-track residual-X**2 per DE
168     kESDSumResidualY2PerDE      = 1008, ///< sum of cluster-track residual-Y**2 per DE
169     kESDSumLocalChi2XPerDE      = 1009, ///< sum of local chi2-X per DE
170     kESDSumLocalChi2YPerDE      = 1010, ///< sum of local chi2-Y per DE
171     kESDSumLocalChi2PerDE       = 1011  ///< sum of local chi2 per DE
172   };
173   
174   // Bins for summary histos
175   enum {
176     kTriggerRespStrips,    ///< Bin for % of responding trigger strips
177     kTriggerRespLocal,     ///< Bin for % of responding trigger local boards
178     kTriggerRespRegional,  ///< Bin for % of responding trigger regional boards
179     kTriggerRespGlobal,    ///< Bin for % of responding trigger global boards
180     kTriggerNoisyStrips,   ///< Bin for % of noisy trigger strips
181     kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary
182   };
183   
184   // Bins for algorithm error histos
185   enum {
186     kAlgoLocalX,             ///< Bin for % of local board X pos errors
187     kAlgoLocalY,             ///< Bin for % of local board Y pos errors
188     kAlgoLocalLUT,           ///< Bin for % of local board deviation errors
189     kAlgoLocalYCopy,         ///< Bin for % of local board Y copy errors
190     kAlgoLocalToRegional,    ///< Bin for % of local to regional errors
191     kAlgoRegional,           ///< Bin for % of regional board errors 
192     kAlgoRegionalToGlobal,   ///< Bin for % of regional to global errors 
193     kAlgoGlobalFromGlobal,   ///< Bin for % of global from global board errors 
194     kAlgoGlobalFromLocal,    ///< Bin for % of global from local board errors 
195     kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors 
196     kNtrigAlgoErrorBins      ///< Total number of bins for trigger error summary
197   };
198   
199   enum {
200     kLocalStructError,    ///< Bin for % of errors in local struct
201     kRegionalStructError, ///< Bin for % of errors in regional struct
202     kGlobalStructError,   ///< Bin for % of errors in global struct
203     kDarcStructError,     ///< Bin for % of errors in darc struct
204     kNtrigStructErrorBins ///< Total number of bins for struct error summary
205   };
206     
207   // Bins for tracker readout errors
208   enum ETrackerReadoutStatus
209   {
210     kTrackerRawNofGlitchErrors = 0, ///< Bin for number of glitch errors
211     kTrackerRawNofTokenLostErrors = 1, ///< Bin for number of token lost errors
212     kTrackerRawNofParityErrors = 2, ///< Bin for number of parity errors
213     kTrackerRawNofPaddingErrors = 3, ///< Bin for number of padding errors
214     kTrackerRawNofEmptyEvents = 4, ///< Bin for number of empty events
215     kTrackerRawNofMissingBusPatchesFromConfig = 5 , ///< Bin for number of missing bus patches (in config)
216     kTrackerRawNofMissingBusPatchesFromDataStream = 6 ///< Bin for number of missing bus patches (in actual data)
217   };
218   
219 }
220
221 #endif