Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-06-07 22:22:22

0001 AlCaRecoMatrix = {
0002                   "ALCALumiPixelsCountsExpress" : "AlCaPCCRandom",
0003                   "AlCaLumiPixelsCountsPrompt"  : "AlCaPCCZeroBias+RawPCCProducer",
0004                   # These two (AlCaPhiSym, AlCaP0) cannot run on RAW, they are just meant to run on the dedicated AlcaRAW so they do not enter the allForPrompt list
0005                   "AlCaPhiSym"                  : "",
0006                   "AlCaP0"                      : "",
0007                   "ALCAPPS"                     : "PPSCalMaxTracks", # Express producer
0008                   "AlCaPPS"                     : "PPSCalMaxTracks", # Prompt  producer
0009                   "Charmonium"                  : "TkAlJpsiMuMu",
0010                   "Commissioning"               : "HcalCalIsoTrk+HcalCalIsolatedBunchSelector+TkAlMinBias+SiStripCalMinBias",
0011                   "Cosmics"                     : "SiPixelCalCosmics+SiStripCalCosmics+TkAlCosmics0T+MuAlGlobalCosmics",
0012                   "DoubleMuon"                  : "TkAlZMuMu+TkAlDiMuonAndVertex+MuAlCalIsolatedMu",
0013                   "DoubleMuonLowMass"           : "TkAlJpsiMuMu+TkAlUpsilonMuMu", 
0014                   "DoubleMuParked"              : "MuAlCalIsolatedMu+MuAlOverlaps+TkAlZMuMu",
0015                   "EGamma"                      : "EcalESAlign+EcalUncalWElectron+EcalUncalZElectron+HcalCalIsoTrkProducerFilter+HcalCalIterativePhiSym",
0016                   "Express"                     : "SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+Hotline+SiPixelCalZeroBias",
0017                   "ExpressAlignment"            : "TkAlMinBias",
0018                   "ExpressCosmics"              : "SiStripPCLHistos+SiStripCalZeroBias+TkAlCosmics0T+SiPixelCalZeroBias",
0019                   "HcalNZS"                     : "HcalCalMinBias",
0020                   "HLTPhysics"                  : "TkAlMinBias",
0021                   "JetHT"                       : "HcalCalIsoTrkProducerFilter+TkAlJetHT",
0022                   "MET"                         : "HcalCalNoise",
0023                   "MinimumBias"                 : "SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias",
0024                   "MuOnia"                      : "TkAlUpsilonMuMu",
0025                   "MuOniaParked"                : "TkAlJpsiMuMu+TkAlUpsilonMuMu",
0026                   "NoBPTX"                      : "TkAlCosmicsInCollisions",
0027                   "SingleMuon"                  : "SiPixelCalSingleMuonLoose+SiPixelCalSingleMuonTight+TkAlMuonIsolated+MuAlCalIsolatedMu+HcalCalHO+HcalCalIterativePhiSym+HcalCalHBHEMuonProducerFilter",
0028                   "StreamExpress"               : "SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+Hotline+SiPixelCalZeroBias+SiPixelCalSingleMuon+PPSCalTrackBasedSel",
0029                   "StreamExpressHI"             : "SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+SiPixelCalZeroBias",
0030                   # These (TestEnablesTracker, TestEnablesEcalHcal) are in the AlCaRecoMatrix, but no RelVals are produced
0031                   # 'TestEnablesTracker'        : 'TkAlLAS'
0032                   # 'TestEnablesEcalHcal'       : 'HcalCalPedestal'
0033                   "ZeroBias"                    : "SiStripCalZeroBias+TkAlMinBias+SiStripCalMinBias",
0034                   }
0035 
0036 
0037 def buildList(pdList, matrix):
0038     """Takes a list of primary datasets (PDs) and the AlCaRecoMatrix (a dictinary) and returns a string with all the AlCaRecos for the selected PDs separated by the '+' character without duplicates."""
0039     alCaRecoList = []
0040     for pd in pdList:
0041         alCaRecoList.extend(matrix[pd].split("+"))
0042     # remove duplicates converting to a set
0043     alCaRecoList = set(alCaRecoList)
0044     stringList = ''
0045     for alCaReco in alCaRecoList:
0046         if stringList == '':
0047             stringList += alCaReco
0048         else:
0049             stringList += '+'+alCaReco
0050     return stringList
0051 
0052 # Update the lists anytime a new PD is added to the matrix
0053 autoAlca = { 'allForPrompt'         : buildList(['Charmonium', 'Commissioning', 'DoubleMuParked', 'DoubleMuon', 'DoubleMuonLowMass', 'EGamma', 'HLTPhysics', 'HcalNZS', 'JetHT', 'MET', 'MinimumBias', 'MuOnia', 'MuOniaParked', 'NoBPTX', 'SingleMuon', 'ZeroBias'], AlCaRecoMatrix),
0054              'allForExpress'        : buildList(['StreamExpress', 'ALCALumiPixelsCountsExpress'], AlCaRecoMatrix),
0055              'allForExpressHI'      : buildList(['StreamExpressHI'], AlCaRecoMatrix),
0056              'allForPromptCosmics'  : buildList(['Cosmics'], AlCaRecoMatrix),
0057              'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
0058 autoAlca.update(AlCaRecoMatrix)
0059 
0060 # list of AlCa sequences that have modules that do not support concurrent LuminosityBlocks
0061 AlCaNoConcurrentLumis = [
0062     'PromptCalibProd',                 # AlcaBeamSpotProducer
0063     'PromptCalibProdSiPixelAli',       # AlignmentProducerAsAnalyzer, MillePedeFileConverter
0064     'PromptCalibProdBeamSpotHP',       # AlcaBeamSpotProducer
0065     'PromptCalibProdBeamSpotHPLowPU',  # AlcaBeamSpotProducer
0066 ]