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 "MET" :
"HcalCalNoise",
13 "MinimumBias" :
"SiStripCalMinBias+TkAlMinBias",
14 "MuOnia" :
"TkAlJpsiMuMu+TkAlUpsilonMuMu",
15 "MuOniaParked" :
"TkAlJpsiMuMu+TkAlUpsilonMuMu",
16 "NoBPTX" :
"TkAlCosmicsInCollisions",
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)
def buildList(pdList, matrix)