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 'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
00011
00012 'AlCaP0' : 'EcalCalPi0Calib+EcalCalEtaCalib',
00013
00014 'HcalNZS' : 'HcalCalMinBias'
00015
00016
00017 }
00018
00019 def buildList(pdList, matrix):
00020 """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."""
00021 alCaRecoList = []
00022 for pd in pdList:
00023 alCaRecoList.extend(matrix[pd].split("+"))
00024
00025 alCaRecoList = set(alCaRecoList)
00026 stringList = ''
00027 for alCaReco in alCaRecoList:
00028 if stringList == '':
00029 stringList += alCaReco
00030 else:
00031 stringList += '+'+alCaReco
00032 return stringList
00033
00034
00035 autoAlca = { 'allForPrompt' : buildList(['MinimumBias', 'Commissioning', 'SingleMu', 'DoubleMu', 'MuOnia', 'SingleElectron', 'DoubleElectron', 'HcalNZS'], AlCaRecoMatrix),
00036 'allForExpress' : buildList(['StreamExpress'], AlCaRecoMatrix),
00037 'allForPromptCosmics' : buildList(['Cosmics'], AlCaRecoMatrix),
00038 'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
00039 autoAlca.update(AlCaRecoMatrix)