diff --git a/DataQuality/DCSCalculator2/python/subdetectors/tile.py b/DataQuality/DCSCalculator2/python/subdetectors/tile.py index 7540ef7eb2b06c5c168c3311c5c1013811130077..ac3f6c416b349e791e9692b856f8da5c5db9590d 100644 --- a/DataQuality/DCSCalculator2/python/subdetectors/tile.py +++ b/DataQuality/DCSCalculator2/python/subdetectors/tile.py @@ -7,7 +7,7 @@ from .lib import (DCSC_DefectTranslate_Subdetector, DCSC_Variable, WHITE, BLACK, GREY, RED, YELLOW, GREEN = None, -1, 0, 1, 2, 3 TILBA, TILBC, TIEBA, TIEBC = 232, 233, 234, 235 -N_CHANNELS_PER_MODULE = 90 +N_CHANNELS_PER_MODULE = [90]*148+[64]*14+[60]+[64]*66+[60]+[64]*46 from itertools import product @@ -101,14 +101,15 @@ class Tile_NoHighVoltage(DCSC_Variable_With_Mapping): def too_many_nohv(iov): """ Read the TileCalib blob to determine what problems are present. - If all channels appear to have (2002, No HV), then count this module - (containing 90 channels) as being OUT OF CONFIG. + If all ADCs appear to have (2002, No HV), then count this module + as being OUT OF CONFIG. Number of ADCs is 45*2 for LBA/LBC partitions + 32*2 for most of the modules in EBA/EBC partitions and 30*2 for EBA15 and EBC18 """ if not iov.TileCalibBlob: return False nbad, ngood, naffected, problems = iov.TileCalibBlob if problems: log.debug("Tile problems %i %r", iov.channel, problems) - return problems.get((2002, 'No HV'), 0) >= N_CHANNELS_PER_MODULE + return problems.get((2002, 'No HV'), 0) >= N_CHANNELS_PER_MODULE[iov.channel] iovs = iovs.empty(iov for iov in iovs if too_many_nohv(iov))