1 AlCaRecoMatrix = {
'AlCaLumiPixels' :
'LumiPixels',
2 'Charmonium' :
'TkAlJpsiMuMu',
3 'Commissioning' :
'HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
4 'Cosmics' :
'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
5 'DoubleEG' :
'EcalCalZElectron+EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
6 'DoubleElectron' :
'EcalCalZElectron+EcalUncalZElectron+HcalCalIsoTrkFilter',
7 'DoubleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
8 'DoubleMuon' :
'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
9 'DoubleMuParked' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
10 'HLTPhysics' :
'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
11 'JetHT' :
'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
12 'NoBPTX' :
'TkAlCosmicsInCollisions',
13 'MET' :
'HcalCalNoise',
14 'MinimumBias' :
'SiStripCalMinBias+TkAlMinBias',
15 'MuOnia' :
'TkAlJpsiMuMu+TkAlUpsilonMuMu',
16 'MuOniaParked' :
'TkAlJpsiMuMu+TkAlUpsilonMuMu',
17 'SingleElectron' :
'EcalCalWElectron+EcalUncalWElectron+EcalCalZElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
18 'SingleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
19 'SingleMuon' :
'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym',
20 'SinglePhoton' :
'HcalCalGammaJet',
21 'ZeroBias' :
'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+EcalTrg',
22 'StreamExpress' :
'SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap+DtCalib+Hotline+LumiPixelsMinBias',
23 'StreamExpressHI':
'SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap+DtCalibHI',
24 'ExpressCosmics' :
'SiStripCalZeroBias+TkAlCosmics0T',
28 'HcalNZS' :
'HcalCalMinBias'
35 """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."""
38 alCaRecoList.extend(matrix[pd].
split(
"+"))
40 alCaRecoList = set(alCaRecoList)
42 for alCaReco
in alCaRecoList:
44 stringList += alCaReco
46 stringList +=
'+'+alCaReco
50 autoAlca = {
'allForPrompt' :
buildList([
'Charmonium',
'Commissioning',
'DoubleEG',
'DoubleElectron',
'DoubleMu',
'DoubleMuParked',
'DoubleMuon',
'HLTPhysics',
'HcalNZS',
'JetHT',
'MET',
'MinimumBias',
'MuOnia',
'MuOniaParked',
'NoBPTX',
'SingleElectron',
'SingleMu',
'SingleMuon',
'SinglePhoton',
'ZeroBias'], AlCaRecoMatrix),
51 'allForExpress' :
buildList([
'StreamExpress'], AlCaRecoMatrix),
52 'allForExpressHI' :
buildList([
'StreamExpressHI'], AlCaRecoMatrix),
53 'allForPromptCosmics' :
buildList([
'Cosmics'], AlCaRecoMatrix),
54 'allForExpressCosmics' :
buildList([
'ExpressCosmics'], AlCaRecoMatrix) }
55 autoAlca.update(AlCaRecoMatrix)