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 50 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
- kTrackerBusPatchParityErrors = 8, ///< Parity errors during readout of the tracker
- kTrackerBusPatchTokenLostErrors = 9, ///< Token lost errors during readout of the tracker
- kTrackerBusPatchPaddingErrors = 10, ///< Padding errors during readout of the tracker
- kTrackerNofRawEventSeen = 11, ///< Number of events seen (and used)
- kTrackerReadoutErrors = 12, ///< Integrated number of errors (and events for 1st bin)
- kTrackerDDLOccupancy = 13, ///< DDL occupancy in percent
- kTrackerDDLNofEvents = 14, ///< nof of events per DDL
- 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 with a re-reconstruction from Global inputs
- kTriggerErrorOutGlobalFromInLocal = 64, ///< Global board: Number of error vs output bit with a re-reconstruction from Local inputs
- kTriggerErrorSummary = 65, ///< Number of errors for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global)
- kTriggerErrorSummaryNorm = 66, ///< 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
- kTriggerLocalRatio4434 = 101, ///< Ratio 44/34 vs Local Board Id
- kTriggerRatio4434AllEvents = 102, ///< Ratio 44/34 since the beginning of the run vs Event Number
- kTriggerRatio4434SinceLastUpdate = 103 ///< Ratio 44/34 for the last kUpdateRatio4434 events vs Event Number
+
+ 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
};
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
};
// Bins for tracker readout errors
- enum ETrackerReadoutErrors
+ 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
+ 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)
};
}