| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

makeFeeCableMap Namespace Reference


Functions

def getRpcIds
def getRpcSensorIds
def getFecChannelIds
def getAdIds
def getAdPmtIds
def getWaterVetoIds
def getWaterVetoPmtIds
def getAllPmtIds
def getFeeChannelIds
def pmtDescription
def rpcDescription
def channelDescription
def hardwareDescription
def printCableMap
def printFecCableMap

Variables

 Detector = gbl.DayaBay.Detector
 Site = gbl.Site
 DetectorId = gbl.DetectorId
 AdPmtSensor = gbl.DayaBay.AdPmtSensor
 PoolPmtSensor = gbl.DayaBay.PoolPmtSensor
 FeeChannelId = gbl.DayaBay.FeeChannelId
 HardwareId = gbl.DayaBay.HardwareId
 PmtHardwareId = gbl.DayaBay.PmtHardwareId
 FeeHardwareId = gbl.DayaBay.FeeHardwareId
 Hardware = gbl.DayaBay.Hardware
 FecChannelId = gbl.DayaBay.FecChannelId
 HardwareId = gbl.DayaBay.HardwareId
 RpcSensor = gbl.DayaBay.RpcSensor
 RpcHardwareId = gbl.DayaBay.RpcHardwareId
 FecHardwareId = gbl.DayaBay.FecHardwareId
list RpcIds
list AdIds
list WaterVetoIds

Function Documentation

def makeFeeCableMap::getRpcIds (  ) 

Definition at line 32 of file makeFeeCableMap.py.

00032                :
00033     "Return a list of the RPC Detectors"
00034     global RpcIds
00035     return RpcIds
00036 
def getRpcSensorIds():

def makeFeeCableMap::getRpcSensorIds (  ) 

Definition at line 37 of file makeFeeCableMap.py.

00037                      :
00038     "Return a map of the RPC sensors by detector"
00039     RpcRows = range(1,10)
00040     NearRpcColumns = range(1,7)
00041     FarRpcColumns = range(1,10)
00042     RpcLayers = range(1,5)
00043     RpcStrips = range(1,9)
00044     NearRpcSensors= [ [row, column, layer, strip] for row in RpcRows for column in NearRpcColumns for layer in RpcLayers for strip in RpcStrips ]
00045     FarRpcSensors= [ [row, column, layer, strip] for row in RpcRows for column in FarRpcColumns for layer in RpcLayers for strip in RpcStrips ]
00046 
00047     RpcSensorIds = {}
00048     for detector in getRpcIds():
00049         rpcSensors = []
00050         if detector.site() == Site.kFar:
00051             rpcSensors = FarRpcSensors
00052         else:
00053             rpcSensors = NearRpcSensors
00054         RpcSensorIds[detector] = [ RpcSensor(row, column, layer, strip,
00055                                            detector.site(),
00056                                            detector.detectorId())
00057                                for [row, column, layer, strip] in rpcSensors]
00058     return RpcSensorIds
00059 
def getFecChannelIds():

def makeFeeCableMap::getFecChannelIds (  ) 

Definition at line 60 of file makeFeeCableMap.py.

00060                       :
00061     "Return a list of the FEC channel IDs"
00062     nFecConnectorsPerBoard = 32
00063     #nFeeBoardsAd = 13
00064     #nFeeBoardsNearIws = 8
00065     #nFeeBoardsNearOws = 11
00066     #nFeeBoardsFarIws = 10
00067     #nFeeBoardsFarOws = 14
00068 
00069     fecIds = {}
00070     detectors = getRpcIds()
00071     rpcIds = getRpcSensorIds()
00072     for detector in detectors:
00073         nBoards = int(math.ceil( len(rpcIds[detector])
00074                                  / float(nFecConnectorsPerBoard) ) ) 
00075         fecIds[detector] = [FecChannelId(board, connector,
00076                                          detector.site(),
00077                                          detector.detectorId())
00078                             for board in range(1,nBoards+1)
00079                             for connector in range(1,nFecConnectorsPerBoard+1)]
00080 
00081     return fecIds
00082 
RpcIds = [  Detector(Site.kDayaBay, DetectorId.kRPC),

def makeFeeCableMap::getAdIds (  ) 

Definition at line 103 of file makeFeeCableMap.py.

00103               :
00104     "Return a list of the AD Detectors"
00105     global AdIds
00106     return AdIds
00107 
def getAdPmtIds():

def makeFeeCableMap::getAdPmtIds (  ) 

Definition at line 108 of file makeFeeCableMap.py.

00108                  :
00109     "Return a map of the AD PMTs by detector"
00110     AdRings = range(1,9)
00111     AdColumns = range(1,25)
00112     AdPmts8Inch = [ [ring, column] for ring in AdRings for column in AdColumns ]
00113     nCalibPmts = 6
00114     AdPmts2Inch = [ [0, calibIndex] for calibIndex in range(1,nCalibPmts + 1) ]
00115     AdPmts = AdPmts8Inch + AdPmts2Inch
00116 
00117     AdPmtIds = {}
00118     for detector in getAdIds():
00119         AdPmtIds[detector] = [ AdPmtSensor(ring, column,
00120                                            detector.site(),
00121                                            detector.detectorId())
00122                                for [ring,column] in AdPmts]
00123     return AdPmtIds
00124 
def getWaterVetoIds():

def makeFeeCableMap::getWaterVetoIds (  ) 

Definition at line 125 of file makeFeeCableMap.py.

00125                      :
00126     "Return a list of the Water Veto Detectors"
00127     global WaterVetoIds
00128     return WaterVetoIds
00129 
def getWaterVetoPmtIds():

def makeFeeCableMap::getWaterVetoPmtIds (  ) 

Definition at line 130 of file makeFeeCableMap.py.

00130                         :
00131     "Return a map of the Water Veto PMTs by detector"
00132     # Taken from:
00133     #  dybgaudi/Detector/XmlDetDesc/python/XmlDetDescGen/PoolPmtStructure/gen.py
00134     wallcounts = [9,    9,   8]
00135     nearInFin = [10,8,24,8,10,8,24,8,20]
00136     nearOutFin = [8,8,16,8,8,8,16,8,29]
00137     nearOutFout = [4,8,12,8,4,8,12,8]
00138     farInFin = [24,8,24,8,24,8,24,8,32]
00139     farOutFin = [16,8,16,8,16,8,16,8,32]
00140     farOutFout = [16,8,16,8,16,8,16,8]
00141 
00142     nearIwsPmts = []
00143     for wallNumber in range(1, wallcounts[0]+1):
00144         for wallSpot in range(1, nearInFin[wallNumber-1]+1):
00145             nearIwsPmts.append( [wallSpot, wallNumber, 1] )
00146             
00147     nearOwsPmts = []
00148     for wallNumber in range(1, wallcounts[1]+1):
00149         for wallSpot in range(1, nearOutFin[wallNumber-1]+1):
00150             nearOwsPmts.append( [wallSpot, wallNumber, 1] )
00151     for wallNumber in range(1, wallcounts[2]+1):
00152         for wallSpot in range(1, nearOutFout[wallNumber-1]+1):
00153             nearOwsPmts.append( [wallSpot, wallNumber, 0] )
00154 
00155     farIwsPmts = []
00156     for wallNumber in range(1, wallcounts[0]+1):
00157         for wallSpot in range(1, farInFin[wallNumber-1]+1):
00158             farIwsPmts.append( [wallSpot, wallNumber, 1] )
00159 
00160     farOwsPmts = []
00161     for wallNumber in range(1, wallcounts[1]+1):
00162         for wallSpot in range(1, farOutFin[wallNumber-1]+1):
00163             farOwsPmts.append( [wallSpot, wallNumber, 1] )
00164     for wallNumber in range(1, wallcounts[2]+1):
00165         for wallSpot in range(1, farOutFout[wallNumber-1]+1):
00166             farOwsPmts.append( [wallSpot, wallNumber, 0] )
00167 
00168     PoolPmtIds = {}
00169     for detector in getWaterVetoIds():
00170         poolPmts = []
00171         if detector.site() == Site.kFar:
00172             if detector.detectorId() == DetectorId.kIWS:
00173                 poolPmts = farIwsPmts
00174             else:
00175                 poolPmts = farOwsPmts
00176         else:
00177             if detector.detectorId() == DetectorId.kIWS:
00178                 poolPmts = nearIwsPmts
00179             else:
00180                 poolPmts = nearOwsPmts
00181         PoolPmtIds[detector] = [ PoolPmtSensor(wallNumber,
00182                                                wallSpot,
00183                                                inwardFacing,
00184                                                detector.site(),
00185                                                detector.detectorId())
00186                                  for [wallSpot, wallNumber, inwardFacing] in poolPmts]
00187     return PoolPmtIds
00188 
def getAllPmtIds():

def makeFeeCableMap::getAllPmtIds (  ) 

Definition at line 189 of file makeFeeCableMap.py.

00189                   :
00190     "Return all PMT IDs"
00191     pmtIds = {}
00192     pmtIds.update(getAdPmtIds())
00193     pmtIds.update(getWaterVetoPmtIds())
00194     return pmtIds
00195     
def getFeeChannelIds():

def makeFeeCableMap::getFeeChannelIds (  ) 

Definition at line 196 of file makeFeeCableMap.py.

00196                       :
00197     "Return a list of the FEE channel IDs"
00198     nFeeConnectorsPerBoard = 16
00199     #nFeeBoardsAd = 13
00200     #nFeeBoardsNearIws = 8
00201     #nFeeBoardsNearOws = 11
00202     #nFeeBoardsFarIws = 10
00203     #nFeeBoardsFarOws = 14
00204 
00205     feeIds = {}
00206     detectors = getAdIds() + getWaterVetoIds()
00207     pmtIds = getAllPmtIds()
00208     for detector in detectors:
00209         nBoards = int(math.ceil( len(pmtIds[detector])
00210                                  / float(nFeeConnectorsPerBoard) ) ) 
00211         feeIds[detector] = [FeeChannelId(board, connector,
00212                                          detector.site(),
00213                                          detector.detectorId())
00214                             for board in range(1,nBoards+1)
00215                             for connector in range(1,nFeeConnectorsPerBoard+1)]
00216 
00217     return feeIds
00218 
def pmtDescription(pmtId):

def makeFeeCableMap::pmtDescription (   pmtId  ) 

Definition at line 219 of file makeFeeCableMap.py.

00219                          :
00220     "Return a string representation of PMT ID"
00221     if pmtId.detectorId() == DetectorId.kIWS:
00222         return "%s-wall%d-spot%d" % (pmtId.detName(),
00223                                      pmtId.wallNumber(),
00224                                      pmtId.wallSpot())
00225     elif pmtId.detectorId() == DetectorId.kOWS:
00226         facing = None
00227         if pmtId.inwardFacing(): facing = "in"
00228         else: facing = "out"
00229         return "%s-wall%d-spot%d-%s" % (pmtId.detName(),
00230                                         pmtId.wallNumber(),
00231                                         pmtId.wallSpot(),
00232                                         facing)
00233     else:
00234         return "%s-ring%02d-column%02d" % (pmtId.detName(),
00235                                            pmtId.ring(),
00236                                            pmtId.column())
00237 
def rpcDescription(rpcId):

def makeFeeCableMap::rpcDescription (   rpcId  ) 

Definition at line 238 of file makeFeeCableMap.py.

00238                          :
00239     "Return a string representation of RPC ID"
00240     return "%s-row%02d-column%02d-layer%02d-strip-%02d" % (rpcId.detName(),
00241                                                            rpcId.panelRow(),
00242                                                            rpcId.panelColumn(),
00243                                                            rpcId.layer(),
00244                                                            rpcId.strip())
00245 
def channelDescription(channelId):

def makeFeeCableMap::channelDescription (   channelId  ) 

Definition at line 246 of file makeFeeCableMap.py.

00246                                  :
00247     "Return a string representation of FEE/FEC channel ID"
00248     return "%s-board%02d-connector%02d" % (channelId.detName(),
00249                                            channelId.board(),
00250                                            channelId.connector())
00251 
def hardwareDescription(hardwareId):

def makeFeeCableMap::hardwareDescription (   hardwareId  ) 

Definition at line 252 of file makeFeeCableMap.py.

00252                                    :
00253     "Return a string representation of the hardware ID"
00254     if hardwareId.type() == Hardware.kFee:
00255         return "%s-%d" % (Hardware.AsString(hardwareId.type()),
00256                           hardwareId.boardId())
00257     else:
00258         return "%s-%d" % (Hardware.AsString(hardwareId.type()),
00259                           hardwareId.id())
00260 
def printCableMap():

def makeFeeCableMap::printCableMap (  ) 

Definition at line 261 of file makeFeeCableMap.py.

00261                    :
00262     "Print a map of the cable connections"
00263     detectors = getAdIds() + getWaterVetoIds()
00264     pmtIds = getAllPmtIds()
00265     channelIds = getFeeChannelIds()
00266     pmt8inchHardwareIndex = 1
00267     pmt2inchHardwareIndex = 1
00268     boardHardwareNumber = {}
00269     nextFeeBoardNumber = 1
00270     print "#  ChannelID                    Description ElecHardwareId Description     SensorID                       Description SensorHardwareID   Description"
00271     for detector in detectors:
00272         pmtIndex = 0
00273         currentPmts = pmtIds[detector]
00274         nPmts = len(currentPmts)
00275         for channelId in channelIds[detector]:
00276             pmtId = None
00277             pmtHardwareId = None
00278             if pmtIndex < nPmts:
00279                 pmtId = currentPmts[pmtIndex]
00280                 if pmtId.detName().find("AD")>0 and pmtId.ring() == 0:
00281                     pmtHardwareId = PmtHardwareId(pmt2inchHardwareIndex,
00282                                                   Hardware.kPmt2inch)
00283                     pmt2inchHardwareIndex += 1
00284                 else:
00285                     pmtHardwareId = PmtHardwareId(pmt8inchHardwareIndex,
00286                                                   Hardware.kPmt8inch)
00287                     pmt8inchHardwareIndex += 1
00288             else:
00289                 pmtId = AdPmtSensor()
00290                 pmtHardwareId = HardwareId()
00291             boardId = channelId.boardId().fullPackedData()
00292             if not boardHardwareNumber.has_key( boardId ):
00293                 boardHardwareNumber[boardId] = nextFeeBoardNumber
00294                 nextFeeBoardNumber += 1
00295             feeHardwareId = FeeHardwareId(boardHardwareNumber[boardId],
00296                                           channelId.connector())
00297             print "%12d %30s %14d %11s %12d %33s %16d %13s" % (
00298                 channelId.fullPackedData(),
00299                 channelDescription(channelId),
00300                 feeHardwareId.fullPackedData(),
00301                 hardwareDescription(feeHardwareId),
00302                 pmtId.fullPackedData(),
00303                 pmtDescription(pmtId),
00304                 pmtHardwareId.fullPackedData(),
00305                 hardwareDescription(pmtHardwareId))
00306             pmtIndex += 1
00307 
def printFecCableMap():

def makeFeeCableMap::printFecCableMap (  ) 

Definition at line 308 of file makeFeeCableMap.py.

00308                       :
00309     "Print a map of the cable connections"
00310     detectors = getRpcIds()
00311     rpcIds = getRpcSensorIds()
00312     channelIds = getFecChannelIds()
00313     boardHardwareNumber = {}
00314     nextFecBoardNumber = 1
00315 #    print "#  ChannelID                    Description ElecHardwareId Description     SensorID                       Description SensorHardwareID   Description"
00316     for detector in detectors:
00317         rpcIndex = 0
00318         currentRpcs = rpcIds[detector]
00319         nRpcs = len(currentRpcs)
00320         for channelId in channelIds[detector]:
00321             rpcId = None
00322             rpcHardwareId = None
00323             if rpcIndex < nRpcs:
00324                 rpcId = currentRpcs[rpcIndex]
00325                 iPanel = int(math.ceil(len(channelIds)/32))
00326                 rpcHardwareId = RpcHardwareId(iPanel, rpcId.layer(), rpcId.strip())
00327             else:
00328                 rpcId = RpcSensor()
00329                 rpcHardwareId = HardwareId()
00330             boardId = channelId.boardId().fullPackedData()
00331             if not boardHardwareNumber.has_key( boardId ):
00332                 boardHardwareNumber[boardId] = nextFecBoardNumber
00333                 nextFecBoardNumber += 1
00334             fecHardwareId = FecHardwareId(boardHardwareNumber[boardId],
00335                                           channelId.connector())
00336 #            print channelId.fullPackedData(), rpcId.fullPackedData()
00337             print "%12d %30s %14d %11s %12d %33s %16d %13s" % (
00338                 channelId.fullPackedData(),
00339                 channelDescription(channelId),
00340                 fecHardwareId.fullPackedData(),
00341                 hardwareDescription(fecHardwareId),
00342                 rpcId.fullPackedData(),
00343                 rpcDescription(rpcId),
00344                 rpcHardwareId.fullPackedData(),
00345                 hardwareDescription(rpcHardwareId))
00346             rpcIndex += 1
if __name__ == "__main__":


Variable Documentation

makeFeeCableMap::Detector = gbl.DayaBay.Detector [static]

Definition at line 14 of file makeFeeCableMap.py.

makeFeeCableMap::Site = gbl.Site [static]

Definition at line 15 of file makeFeeCableMap.py.

makeFeeCableMap::DetectorId = gbl.DetectorId [static]

Definition at line 16 of file makeFeeCableMap.py.

makeFeeCableMap::AdPmtSensor = gbl.DayaBay.AdPmtSensor [static]

Definition at line 17 of file makeFeeCableMap.py.

makeFeeCableMap::PoolPmtSensor = gbl.DayaBay.PoolPmtSensor [static]

Definition at line 18 of file makeFeeCableMap.py.

makeFeeCableMap::FeeChannelId = gbl.DayaBay.FeeChannelId [static]

Definition at line 19 of file makeFeeCableMap.py.

makeFeeCableMap::HardwareId = gbl.DayaBay.HardwareId [static]

Definition at line 20 of file makeFeeCableMap.py.

makeFeeCableMap::PmtHardwareId = gbl.DayaBay.PmtHardwareId [static]

Definition at line 21 of file makeFeeCableMap.py.

makeFeeCableMap::FeeHardwareId = gbl.DayaBay.FeeHardwareId [static]

Definition at line 22 of file makeFeeCableMap.py.

makeFeeCableMap::Hardware = gbl.DayaBay.Hardware [static]

Definition at line 23 of file makeFeeCableMap.py.

makeFeeCableMap::FecChannelId = gbl.DayaBay.FecChannelId [static]

Definition at line 26 of file makeFeeCableMap.py.

makeFeeCableMap::HardwareId = gbl.DayaBay.HardwareId [static]

Definition at line 27 of file makeFeeCableMap.py.

makeFeeCableMap::RpcSensor = gbl.DayaBay.RpcSensor [static]

Definition at line 28 of file makeFeeCableMap.py.

makeFeeCableMap::RpcHardwareId = gbl.DayaBay.RpcHardwareId [static]

Definition at line 29 of file makeFeeCableMap.py.

makeFeeCableMap::FecHardwareId = gbl.DayaBay.FecHardwareId [static]

Definition at line 30 of file makeFeeCableMap.py.

list makeFeeCableMap::RpcIds [static]

Initial value:

[  Detector(Site.kDayaBay, DetectorId.kRPC),
            Detector(Site.kLingAo, DetectorId.kRPC),
            Detector(Site.kFar, DetectorId.kRPC) ]

Definition at line 83 of file makeFeeCableMap.py.

list makeFeeCableMap::AdIds [static]

Initial value:

[ Detector(Site.kDayaBay, DetectorId.kAD1),
          Detector(Site.kDayaBay, DetectorId.kAD2),
          Detector(Site.kLingAo, DetectorId.kAD1),
          Detector(Site.kLingAo, DetectorId.kAD2),
          Detector(Site.kFar, DetectorId.kAD1),
          Detector(Site.kFar, DetectorId.kAD2),
          Detector(Site.kFar, DetectorId.kAD3),
          Detector(Site.kFar, DetectorId.kAD4) ]

Definition at line 87 of file makeFeeCableMap.py.

list makeFeeCableMap::WaterVetoIds [static]

Initial value:

[ Detector(Site.kDayaBay, DetectorId.kIWS),
                     Detector(Site.kDayaBay, DetectorId.kOWS),
                     Detector(Site.kLingAo, DetectorId.kIWS),
                     Detector(Site.kLingAo, DetectorId.kOWS),
                     Detector(Site.kFar, DetectorId.kIWS),
                     Detector(Site.kFar, DetectorId.kOWS) ]

Definition at line 96 of file makeFeeCableMap.py.

| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:21:06 2011 for DataSvc by doxygen 1.4.7