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+HcalCalHBHEMuonFilter',
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'
36 AlCaRecoMatrixRereco = {
'AlCaLumiPixels' :
'LumiPixels',
37 'Charmonium' :
'TkAlJpsiMuMu',
38 'Commissioning' :
'TkAlMinBias+SiStripCalMinBias+HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
39 'Cosmics' :
'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
40 'DoubleEG' :
'EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
41 'DoubleElectron' :
'EcalUncalZElectron+HcalCalIsoTrkFilter',
42 'DoubleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu+MuAlZMuMu+TkAlZMuMu+TkAlJpsiMuMu+TkAlUpsilonMuMu+HcalCalIsoTrkFilter',
43 'DoubleMuon' :
'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
44 'DoubleMuParked' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
45 'HLTPhysics' :
'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
46 'JetHT' :
'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
47 'NoBPTX' :
'TkAlCosmicsInCollisions',
48 'MET' :
'HcalCalNoise',
49 'MinimumBias' :
'SiStripCalMinBias+TkAlMinBias',
50 'MuOnia' :
'TkAlUpsilonMuMu',
51 'SingleElectron' :
'EcalUncalWElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
52 'SingleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
53 'SingleMuon' :
'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym+HcalCalHO',
54 'SinglePhoton' :
'HcalCalGammaJet',
55 'ZeroBias' :
'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap',
56 'HcalNZS' :
'HcalCalMinBias'
60 """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."""
63 alCaRecoList.extend(matrix[pd].
split(
"+"))
65 alCaRecoList = set(alCaRecoList)
67 for alCaReco
in alCaRecoList:
69 stringList += alCaReco
71 stringList +=
'+'+alCaReco
75 autoAlca = {
'allForPrompt' :
buildList([
'Charmonium',
'Commissioning',
'DoubleEG',
'DoubleElectron',
'DoubleMu',
'DoubleMuParked',
'DoubleMuon',
'HLTPhysics',
'HcalNZS',
'JetHT',
'MET',
'MinimumBias',
'MuOnia',
'MuOniaParked',
'NoBPTX',
'SingleElectron',
'SingleMu',
'SingleMuon',
'SinglePhoton',
'ZeroBias'], AlCaRecoMatrix),
76 'allForExpress' :
buildList([
'StreamExpress'], AlCaRecoMatrix),
77 'allForExpressHI' :
buildList([
'StreamExpressHI'], AlCaRecoMatrix),
78 'allForPromptCosmics' :
buildList([
'Cosmics'], AlCaRecoMatrix),
79 'allForExpressCosmics' :
buildList([
'ExpressCosmics'], AlCaRecoMatrix) }
80 autoAlca.update(AlCaRecoMatrix)