Go to the documentation of this file.00001 AlCaRecoMatrix = {'ExpressCosmics' : 'SiStripCalZeroBias+TkAlCosmics0T',
00002 'StreamExpress' : 'SiStripCalZeroBias+TkAlMinBias+MuAlCalIsolatedMu+DtCalib',
00003 'MinimumBias' : 'SiStripCalMinBias+TkAlMinBias',
00004 'Commissioning' : 'HcalCalIsoTrk',
00005 'SingleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib',
00006 'DoubleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
00007 'MuOnia' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
00008 'SingleElectron' : 'EcalCalElectron',
00009 'DoubleElectron' : 'EcalCalElectron',
00010 'AlCaLumiPixels' : 'LumiPixels',
00011 'DoubleMuParked' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
00012 'MuOniaParked' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
00013 'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
00014
00015 'AlCaP0' : 'EcalCalPi0Calib+EcalCalEtaCalib',
00016
00017 'HcalNZS' : 'HcalCalMinBias'
00018
00019
00020 }
00021
00022 def buildList(pdList, matrix):
00023 """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."""
00024 alCaRecoList = []
00025 for pd in pdList:
00026 alCaRecoList.extend(matrix[pd].split("+"))
00027
00028 alCaRecoList = set(alCaRecoList)
00029 stringList = ''
00030 for alCaReco in alCaRecoList:
00031 if stringList == '':
00032 stringList += alCaReco
00033 else:
00034 stringList += '+'+alCaReco
00035 return stringList
00036
00037
00038 autoAlca = { 'allForPrompt' : buildList(['MinimumBias', 'Commissioning', 'SingleMu', 'DoubleMu', 'MuOnia', 'DoubleMuParked', 'MuOniaParked', 'SingleElectron', 'DoubleElectron', 'HcalNZS'], AlCaRecoMatrix),
00039 'allForExpress' : buildList(['StreamExpress'], AlCaRecoMatrix),
00040 'allForPromptCosmics' : buildList(['Cosmics'], AlCaRecoMatrix),
00041 'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
00042 autoAlca.update(AlCaRecoMatrix)