1 AlCaRecoMatrix = {
'ExpressCosmics' :
'SiStripCalZeroBias+TkAlCosmics0T',
2 'StreamExpress' :
'SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+DtCalib+Hotline',
3 'StreamExpressHI':
'SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+DtCalibHI',
4 'MinimumBias' :
'SiStripCalMinBias+TkAlMinBias',
5 'Commissioning' :
'HcalCalIsoTrk',
6 'SingleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib',
7 'DoubleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
8 'MuOnia' :
'TkAlJpsiMuMu+TkAlUpsilonMuMu',
9 'SingleElectron' :
'EcalCalWElectron+EcalUncalWElectron',
10 'DoubleElectron' :
'EcalCalZElectron+EcalUncalZElectron',
11 'AlCaLumiPixels' :
'LumiPixels',
12 'DoubleMuParked' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
13 'MuOniaParked' :
'TkAlJpsiMuMu+TkAlUpsilonMuMu',
14 'Cosmics' :
'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
18 'HcalNZS' :
'HcalCalMinBias'
24 """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."""
27 alCaRecoList.extend(matrix[pd].
split(
"+"))
29 alCaRecoList = set(alCaRecoList)
31 for alCaReco
in alCaRecoList:
33 stringList += alCaReco
35 stringList +=
'+'+alCaReco
39 autoAlca = {
'allForPrompt' :
buildList([
'MinimumBias',
'Commissioning',
'SingleMu',
'DoubleMu',
'MuOnia',
'DoubleMuParked',
'MuOniaParked',
'SingleElectron',
'DoubleElectron',
'HcalNZS'], AlCaRecoMatrix),
40 'allForExpress' :
buildList([
'StreamExpress'], AlCaRecoMatrix),
41 'allForExpressHI' :
buildList([
'StreamExpressHI'], AlCaRecoMatrix),
42 'allForPromptCosmics' :
buildList([
'Cosmics'], AlCaRecoMatrix),
43 'allForExpressCosmics' :
buildList([
'ExpressCosmics'], AlCaRecoMatrix) }
44 autoAlca.update(AlCaRecoMatrix)