]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONQAIndices.h
o add Reset function to CalPad and CalROC o Add functionality to AliTPCdataQA - Reset...
[u/mrichter/AliRoot.git] / MUON / AliMUONQAIndices.h
index f7bf9085b5e149ebed0b65d3cac61c73c8637c3d..7441ef68e40ea4bf3a730f4f5a815fafc4c97e96 100644 (file)
@@ -6,6 +6,7 @@
 
 // $Id$
 
+/// \ingroup base
 /// 
 /// Definition of enums needed by the MUON QA data makers and checkers (both
 /// tracker and trigger)
 
 namespace AliMUONQAIndices
 {
-  /// Raw histograms indices
+  /// Histogram indices common to raw and digits and/or recpoints.
+  ///
+  /// WARNING ! Those ones should not be reused anywhere else below.
+  /// Numbers from 1 to 49 are thus reserved for ECommon enum !
+  ///
+  enum ECommon {
+    kTrackerBusPatchOccupancy         =  1, ///< Bus patch occupancies
+    kTrackerBusPatchParityErrors      =  2, ///< Parity errors during readout of the tracker
+    kTrackerBusPatchTokenLostErrors   =  3, ///< Token lost errors during readout of the tracker
+    kTrackerBusPatchPaddingErrors     =  4, ///< Padding errors during readout of the tracker
+    kTrackerNofPhysicsEventsSeen      =  5, ///< Number of events seen 
+    kTrackerNofGoodPhysicsEventsUsed  =  6, ///< Number of good physics events seen (and used)
+    kTrackerBusPatchConfig            =  7, ///< Configuration of the tracker
+    kTrackerDDLOccupancy              =  8, ///< DDL occupancy in percent
+    kTrackerDDLNofEventsUsed          =  9, ///< nof of events per DDL (used) *WARNING* : same as above
+    kTrackerDDLNofEventsSeen          = 10,  ///< nof of events per DDL (seen)
+    kTrackerData                      = 11, ///< Accumulated data
+    kTrackerIsThere                   = 12, ///< whether we're making QA of tracker or not
+    kTriggerIsThere                   = 13  ///< whether we're making QA of trigger or not
+  };
+  
+  /// Raw/digits histograms indices
   enum ERaw { 
-    kTrackerData              = 3,  ///< Accumulated data
-    kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
-    kTrackerBusPatchNofPads   = 5, ///< Number of pads per bus patch
-    kTrackerBusPatchNofManus  = 6, ///< Number of manus per bus patch
-    kTrackerBusPatchConfig    = 7, ///< Configuration of the tracker
-    kTriggerScalersTime       = 22, ///< Trigger scalers acquisition time index
-    kTriggerScalers           = 23, ///< Trigger scalers histogram per plane index
-    kTriggerScalersDisplay    = 31, ///< Trigger scalers display histogram per plane index
-    kTriggerCalibSummary      = 40, ///< Number of responding strips/boards and noisy strips 
-    kTriggerCalibSummaryNorm  = 41, ///< Percentage of responding strips/boards and noisy strips
-    kTriggerErrorLocalXPos = 50, ///< Local board: Number of XPos Error vs Local Board Id
-    kTriggerErrorLocalYPos = 51, ///< Local board: Number of YPos Error vs Local Board Id
-    kTriggerErrorLocalDev  = 52, ///< Local board: Number of Deviation Error vs Local Board
-    kTriggerErrorLocalTriggerDec = 53, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
-    kTriggerErrorLocalLPtLSB = 54, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
-    kTriggerErrorLocalLPtMSB = 55, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
-    kTriggerErrorLocalHPtLSB = 56, ///< Local board: Number of LSB High Pt Error vs Local Board Id
-    kTriggerErrorLocalHPtMSB = 57, ///< Local board: Number of MSB High Pt Error vs Local Board Id
-    kTriggerErrorLocalTrigY  = 58, ///< Local board: Number of TrigY Error vs Local Board Id
-    kTriggerErrorLocal2RegionalLPtLSB  = 59, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
-    kTriggerErrorLocal2RegionalLPtMSB  = 60, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
-    kTriggerErrorLocal2RegionalHPtLSB  = 61, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
-    kTriggerErrorLocal2RegionalHPtMSB  = 62, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
-    kTriggerErrorOutGlobalFromInGlobal = 63, ///< Global board: Number of error vs output bit 
-    kTriggerErrorSummary      = 64,  ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
-    kTriggerErrorSummaryNorm  = 65,  ///< Percentage of errors for each trigger decision level
-    kTriggerErrorLocalYCopy     = 67, ///< Local board: Number of Y Copy Error vs Local Board Id
-    kTriggerErrorLocalYCopyTest = 68, ///< Local Board: Number of Y copy error tests (for normalization)
-    kTriggerErrorLocalYCopyNorm = 69, ///< Local Board: Number of Y Copy Error vs Local Board Id Normalized to the number of tests
-    kTriggeredBoards          = 70,  ///< Triggered boards histogram index
-    kTriggerBoardsDisplay     = 71,  ///< Triggered boards display histogram index
-    kTriggerReadOutErrors     = 80,  ///< Number of read-out errors
-    kTriggerReadOutErrorsNorm = 81,  ///< Percentage of read-out errors
-    kTriggerGlobalOutput      = 90,  ///< Number of Global outputs and Global algo errors
-    kTriggerGlobalOutputNorm  = 91,  ///< Percentage of Global outputs and Global algo errors
-    kTriggerRawNAnalyzedEvents= 100  ///< Number of analyzed events per event specie
+    
+    kTrackerReadoutStatusPerEvent     = 51, ///< as kTrackerReadoutStatus but normalized by the number of events
+    kTrackerReadoutStatus             = 52, ///< Status of readout (errors, missing pads, etc...)
+    kTrackerDDLEventSize             =  53, ///< event size per DDL
+    kTrackerDDLEventSizePerEvent     =  54, ///< event size per DDL per event
+
+    kTriggerScalersTime       = 60, ///< Trigger scalers acquisition time index
+    kTriggerScalers           = 61, ///< Trigger scalers histogram per plane index
+    kTriggerScalersDisplay    = 71, ///< Trigger scalers display histogram per plane index
+    kTriggerCalibSummary      = 80, ///< Number of responding strips/boards and noisy strips 
+    kTriggerCalibSummaryNorm  = 81, ///< Percentage of responding strips/boards and noisy strips
+    kTriggerErrorLocalXPos = 82, ///< Local board: Number of XPos Error vs Local Board Id
+    kTriggerErrorLocalYPos = 83, ///< Local board: Number of YPos Error vs Local Board Id
+    kTriggerErrorLocalDev  = 84, ///< Local board: Number of Deviation Error vs Local Board
+    kTriggerErrorLocalTriggerDec = 85, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id
+    kTriggerErrorLocalLPtLSB = 86, ///< Local board: Number of LSB Low Pt Error vs Local Board Id
+    kTriggerErrorLocalLPtMSB = 87, ///< Local board: Number of MSB Low Pt Error vs Local Board Id
+    kTriggerErrorLocalHPtLSB = 88, ///< Local board: Number of LSB High Pt Error vs Local Board Id
+    kTriggerErrorLocalHPtMSB = 89, ///< Local board: Number of MSB High Pt Error vs Local Board Id
+    kTriggerErrorLocalTrigY  = 90, ///< Local board: Number of TrigY Error vs Local Board Id
+    kTriggerErrorLocal2RegionalLPtLSB  = 91, ///< Local to Regional: Number of LPt LSB error vs Local Board Id
+    kTriggerErrorLocal2RegionalLPtMSB  = 92, ///< Local to Regional: Number of LPt MSB error vs Local Board Id
+    kTriggerErrorLocal2RegionalHPtLSB  = 93, ///< Local to Regional: Number of HPt LSB error vs Local Board Id
+    kTriggerErrorLocal2RegionalHPtMSB  = 94, ///< Local to Regional: Number of HPt MSB error vs Local Board Id
+    kTriggerErrorOutGlobalFromInGlobal = 95, ///< Global board: Number of error vs output bit    with a re-reconstruction from Global inputs
+    kTriggerErrorOutGlobalFromInLocal = 96, ///< Global board: Number of error vs output bit  with a re-reconstruction from Local inputs
+    kTriggerErrorSummary      = 97,  ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
+    kTriggerErrorSummaryNorm  = 98,  ///< Percentage of errors for each trigger decision level
+    kTriggerErrorLocalYCopy     = 99, ///< Local board: Number of Y Copy Error vs Local Board Id
+    kTriggerErrorLocalYCopyTest = 100, ///< Local Board: Number of Y copy error tests (for normalization)
+    kTriggerErrorLocalYCopyNorm = 101, ///< Local Board: Number of Y Copy Error vs Local Board Id Normalized to the number of tests
+    kTriggeredBoards          = 102,  ///< Triggered boards histogram index
+    kTriggerBoardsDisplay     = 103,  ///< Triggered boards display histogram index
+    kTriggerReadOutErrors     = 104,  ///< Number of read-out errors
+    kTriggerReadOutErrorsNorm = 105,  ///< Percentage of read-out errors
+    kTriggerGlobalOutput      = 106,  ///< Number of Global outputs and Global algo errors
+    kTriggerGlobalOutputNorm  = 107,  ///< Percentage of Global outputs and Global algo errors
+    kTriggerRawNAnalyzedEvents= 108,  ///< Number of analyzed events per event specie
+    kTriggerLocalRatio4434           = 109,  ///< Ratio 44/34 vs Local Board Id
+    kTriggerRatio4434AllEvents       = 110,  ///< Ratio 44/34 since the beginning of the run vs Event Number
+    kTriggerRatio4434SinceLastUpdate = 111,  ///< Ratio 44/34 for the last kUpdateRatio4434 events vs Event Number
+    kTriggerNumberOf34Dec            = 112,  ///< Number of Decision in coincidence 3/4 vs Local Board
+    kTriggerNumberOf44Dec            = 113,  ///< Number of Decision in coincidence 4/4 vs Local Board
+    kTriggerGlobalScalers            = 114,  ///< Number of L0 counts
+    kTriggerGlobalScalersNorm        = 115   ///< L0 scaler rates
     
   };
   
@@ -69,64 +100,64 @@ namespace AliMUONQAIndices
     kTrackerClusterChargePerChamber       = 300, ///< Tracker: cluster charge per chamber
     kTrackerClusterHitMapPerChamber       = 400, ///< Tracker: cluster position distribution per chamber
     
-    kTrackerNumberOfClustersPerDE        = 1000, ///< Tracker : number of clusters per DE              
-    kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean
-    kTrackerClusterChargePerDEMean       = 1002, ///< cluster charge per DE: mean
+    kTrackerNumberOfClustersPerDE        = 500, ///< Tracker : number of clusters per DE               
+    kTrackerClusterMultiplicityPerDEMean = 501, ///< cluster size per DE: mean
+    kTrackerClusterChargePerDEMean       = 502, ///< cluster charge per DE: mean
     
     kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE                
     kTrackerClusterChargePerDE       = 5000,  ///< Tracker : cluster charge per DE
     
-    kTriggerNAnalyzedEvents           = 0, ///< Number of analyzed events per event specie
-    kTriggerRPCtrips           = 1, ///< Trips in trigger chambers
-    kTriggerRPChv              = 2  ///< Trigger chamber HV index
+    kTriggerNAnalyzedEvents           = 50, ///< Number of analyzed events per event specie
+    kTriggerRPCtrips           = 51, ///< Trips in trigger chambers
+    kTriggerRPChv              = 52  ///< Trigger chamber HV index
     
   };
   
   /// ESD histograms indices
   enum EESD { 
-    kESDnTracks                 = 0,  ///< number of tracks
-    kESDMatchTrig               = 1,  ///< number of tracks matched with trigger
-    kESDMomentum                = 2,  ///< P distribution
-    kESDPt                      = 3,  ///< Pt distribution
-    kESDRapidity                = 4,  ///< rapidity distribution
-    kESDChi2                    = 5,  ///< normalized chi2 distribution
-    kESDProbChi2                = 6,  ///< distribution of probability of chi2
+    kESDnTracks                 =  50,  ///< number of tracks
+    kESDMatchTrig               =  51,  ///< number of tracks matched with trigger
+    kESDMomentum                =  52,  ///< P distribution
+    kESDPt                      =  53,  ///< Pt distribution
+    kESDRapidity                =  54,  ///< rapidity distribution
+    kESDChi2                    =  55,  ///< normalized chi2 distribution
+    kESDProbChi2                =  56,  ///< distribution of probability of chi2
     
-    kESDClusterHitMap           = 7,  ///< cluster position distribution in chamber i
-    kESDnClustersPerTrack       = 17, ///< number of clusters per track
-    kESDnClustersPerCh          = 18, ///< number of clusters per chamber per track
-    kESDnClustersPerDE          = 19, ///< number of clusters per DE per track
-    kESDClusterChargeInCh       = 20, ///< cluster charge distribution in chamber i
-    kESDClusterChargePerChMean  = 30, ///< cluster charge per Ch: mean
-    kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion
-    kESDClusterChargePerDE      = 32, ///< cluster charge per DE: mean
-    kESDClusterSizeInCh         = 33, ///< cluster size distribution in chamber i
-    kESDClusterSizePerChMean    = 43, ///< cluster size per Ch: mean
-    kESDClusterSizePerChSigma   = 44, ///< cluster size per Ch: dispersion
-    kESDClusterSizePerDE        = 45, ///< cluster size per DE: mean
+    kESDClusterHitMap           =  57,  ///< cluster position distribution in chamber i
+    kESDnClustersPerTrack       =  67, ///< number of clusters per track
+    kESDnClustersPerCh          =  68, ///< number of clusters per chamber per track
+    kESDnClustersPerDE          =  69, ///< number of clusters per DE per track
+    kESDClusterChargeInCh       =  70, ///< cluster charge distribution in chamber i
+    kESDClusterChargePerChMean  =  80, ///< cluster charge per Ch: mean
+    kESDClusterChargePerChSigma =  81, ///< cluster charge per Ch: dispersion
+    kESDClusterChargePerDE      =  82, ///< cluster charge per DE: mean
+    kESDClusterSizeInCh         =  83, ///< cluster size distribution in chamber i
+    kESDClusterSizePerChMean    =  93, ///< cluster size per Ch: mean
+    kESDClusterSizePerChSigma   =  94, ///< cluster size per Ch: dispersion
+    kESDClusterSizePerDE        =  95, ///< cluster size per DE: mean
     
-    kESDResidualXInCh           = 46, ///< cluster-track residual-X distribution in chamber i
-    kESDResidualYInCh           = 56, ///< cluster-track residual-Y distribution in chamber i
-    kESDResidualXPerChMean      = 66, ///< cluster-track residual-X per Ch: mean
-    kESDResidualYPerChMean      = 67, ///< cluster-track residual-Y per Ch: mean
-    kESDResidualXPerChSigma     = 68, ///< cluster-track residual-X per Ch: dispersion
-    kESDResidualYPerChSigma     = 69, ///< cluster-track residual-Y per Ch: dispersion
-    kESDResidualXPerDEMean      = 70, ///< cluster-track residual-X per DE: mean
-    kESDResidualYPerDEMean      = 71, ///< cluster-track residual-Y per DE: mean
-    kESDResidualXPerDESigma     = 72, ///< cluster-track residual-X per DE: dispersion
-    kESDResidualYPerDESigma     = 73, ///< cluster-track residual-Y per DE: dispersion
-    kESDLocalChi2XInCh          = 74, ///< local chi2-X distribution in chamber i
-    kESDLocalChi2YInCh          = 84, ///< local chi2-Y distribution in chamber i
-    kESDLocalChi2XPerChMean     = 94, ///< local chi2-X per Ch: mean
-    kESDLocalChi2YPerChMean     = 95, ///< local chi2-Y per Ch: mean
-    kESDLocalChi2XPerDEMean     = 96, ///< local chi2-X per DE: mean
-    kESDLocalChi2YPerDEMean     = 97, ///< local chi2-Y per DE: mean
-    kESDLocalChi2InCh           = 98, ///< local chi2-X distribution in chamber i
-    kESDLocalChi2PerChMean      = 108, ///< local chi2 per Ch: mean
-    kESDLocalChi2PerDEMean      = 109, ///< local chi2 per DE: mean
+    kESDResidualXInCh           =  96, ///< cluster-track residual-X distribution in chamber i
+    kESDResidualYInCh           = 106, ///< cluster-track residual-Y distribution in chamber i
+    kESDResidualXPerChMean      = 116, ///< cluster-track residual-X per Ch: mean
+    kESDResidualYPerChMean      = 117, ///< cluster-track residual-Y per Ch: mean
+    kESDResidualXPerChSigma     = 118, ///< cluster-track residual-X per Ch: dispersion
+    kESDResidualYPerChSigma     = 119, ///< cluster-track residual-Y per Ch: dispersion
+    kESDResidualXPerDEMean      = 120, ///< cluster-track residual-X per DE: mean
+    kESDResidualYPerDEMean      = 121, ///< cluster-track residual-Y per DE: mean
+    kESDResidualXPerDESigma     = 122, ///< cluster-track residual-X per DE: dispersion
+    kESDResidualYPerDESigma     = 123, ///< cluster-track residual-Y per DE: dispersion
+    kESDLocalChi2XInCh          = 124, ///< local chi2-X distribution in chamber i
+    kESDLocalChi2YInCh          = 134, ///< local chi2-Y distribution in chamber i
+    kESDLocalChi2XPerChMean     = 144, ///< local chi2-X per Ch: mean
+    kESDLocalChi2YPerChMean     = 145, ///< local chi2-Y per Ch: mean
+    kESDLocalChi2XPerDEMean     = 146, ///< local chi2-X per DE: mean
+    kESDLocalChi2YPerDEMean     = 147, ///< local chi2-Y per DE: mean
+    kESDLocalChi2InCh           = 148, ///< local chi2-X distribution in chamber i
+    kESDLocalChi2PerChMean      = 158, ///< local chi2 per Ch: mean
+    kESDLocalChi2PerDEMean      = 159, ///< local chi2 per DE: mean
     
-    kESDThetaX                  = 110, ///< thetaX distribution
-    kESDThetaY                  = 111, ///< thetaY distribution
+    kESDThetaX                  = 160, ///< thetaX distribution
+    kESDThetaY                  = 161, ///< thetaY distribution
     
     kESDnTotClustersPerCh       = 1000, ///< total number of associated clusters per chamber
     kESDnTotClustersPerDE       = 1001, ///< total number of associated clusters per DE
@@ -175,6 +206,17 @@ namespace AliMUONQAIndices
     kNtrigStructErrorBins ///< Total number of bins for struct error summary
   };
     
+  // Bins for tracker readout errors
+  enum ETrackerReadoutStatus
+  {
+    kTrackerRawNofGlitchErrors = 0, ///< Bin for number of glitch errors
+    kTrackerRawNofTokenLostErrors = 1, ///< Bin for number of token lost errors
+    kTrackerRawNofParityErrors = 2, ///< Bin for number of parity errors
+    kTrackerRawNofPaddingErrors = 3, ///< Bin for number of padding errors
+    kTrackerRawNofEmptyEvents = 4, ///< Bin for number of empty events
+    kTrackerRawNofMissingBusPatchesFromConfig = 5 , ///< Bin for number of missing bus patches (in config)
+    kTrackerRawNofMissingBusPatchesFromDataStream = 6 ///< Bin for number of missing bus patches (in actual data)
+  };
   
 }