1 AlCaRecoMatrix = {
"AlCaLumiPixels" :
"AlCaPCCZeroBias+AlCaPCCRandom",
2 "Charmonium" :
"TkAlJpsiMuMu",
3 "Commissioning" :
"HcalCalIsoTrk+HcalCalIsolatedBunchSelector+TkAlMinBias+SiStripCalMinBias",
4 "Cosmics" :
"SiStripCalCosmics+TkAlCosmics0T+MuAlGlobalCosmics+DtCalibCosmics",
5 "DoubleEG" :
"EcalCalZElectron+EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter",
6 "DoubleMuon" :
"TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib+HcalCalLowPUHBHEMuonFilter",
8 "EGamma" :
"EcalESAlign+EcalUncalWElectron+EcalUncalZElectron+HcalCalIsoTrkFilter+HcalCalIterativePhiSym",
9 "HLTPhysics" :
"TkAlMinBias",
10 "JetHT" :
"HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter+TkAlMinBias",
11 "MinimumBias" :
"SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias",
12 "MuOnia" :
"TkAlUpsilonMuMu",
13 "NoBPTX" :
"TkAlCosmicsInCollisions",
14 "SingleElectron" :
"EcalUncalWElectron+EcalUncalZElectron+HcalCalIterativePhiSym+EcalESAlign",
15 "SingleMuon" :
"TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalHO+HcalCalIterativePhiSym+HcalCalHBHEMuonFilter+HcalCalHEMuonFilter",
16 "SinglePhoton" :
"HcalCalGammaJet",
17 "ZeroBias" :
"SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+AlCaPCCZeroBiasFromRECO",
19 "Express" :
"SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalib+Hotline+LumiPixelsMinBias+SiPixelCalZeroBias",
20 "ExpressCosmics" :
"SiStripPCLHistos+SiStripCalZeroBias+TkAlCosmics0T+DtCalibCosmics+SiPixelCalZeroBias",
21 "ExpressAlignment":
"TkAlMinBias",
23 "AlcaLumiPixelsExpress":
"AlCaPCCRandom",
28 "HcalNZS" :
"HcalCalMinBias",
32 "MET" :
"HcalCalNoise",
33 "SingleMu" :
"MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO",
34 "DoubleMu" :
"MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu",
35 "DoubleMuParked" :
"MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu",
36 "MuOniaParked" :
"TkAlJpsiMuMu+TkAlUpsilonMuMu",
37 "DoubleElectron" :
"EcalCalZElectron+EcalUncalZElectron+HcalCalIsoTrkFilter",
38 "StreamExpress" :
"SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalib+Hotline+LumiPixelsMinBias+SiPixelCalZeroBias",
39 "StreamExpressHI" :
"SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalibHI+SiPixelCalZeroBias" 43 AlCaRecoMatrix2017 = {
"AlCaLumiPixels" :
"AlCaPCCZeroBias+AlCaPCCRandom",
44 "Charmonium" :
"TkAlJpsiMuMu",
45 "Commissioning" :
"HcalCalIsoTrk+HcalCalIsolatedBunchSelector+TkAlMinBias+SiStripCalMinBias",
46 "Cosmics" :
"TkAlCosmics0T+MuAlGlobalCosmics+DtCalibCosmics",
47 "DoubleEG" :
"EcalCalZElectron+EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter",
48 "DoubleMuon" :
"TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib",
49 "HLTPhysics" :
"TkAlMinBias",
50 "JetHT" :
"HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter",
51 "MinimumBias" :
"SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias",
52 "MuOnia" :
"TkAlUpsilonMuMu",
53 "NoBPTX" :
"TkAlCosmicsInCollisions",
54 "SingleElectron" :
"EcalUncalWElectron+EcalUncalZElectron+HcalCalIterativePhiSym+EcalESAlign",
55 "SingleMuon" :
"TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalHO+HcalCalIterativePhiSym+HcalCalHBHEMuonFilter+HcalCalHEMuonFilter",
56 "SinglePhoton" :
"HcalCalGammaJet",
57 "ZeroBias" :
"SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+AlCaPCCZeroBiasFromRECO",
59 "Express" :
"SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalib+Hotline+LumiPixelsMinBias+SiPixelCalZeroBias",
60 "ExpressCosmics" :
"SiStripPCLHistos+SiStripCalZeroBias+TkAlCosmics0T+DtCalibCosmics+SiPixelCalZeroBias",
61 "ExpressAlignment":
"TkAlMinBias",
66 "HcalNZS" :
"HcalCalMinBias",
70 "MET" :
"HcalCalNoise",
71 "SingleMu" :
"MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO",
72 "DoubleMu" :
"MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu",
73 "DoubleMuParked" :
"MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu",
74 "MuOniaParked" :
"TkAlJpsiMuMu+TkAlUpsilonMuMu",
75 "DoubleElectron" :
"EcalCalZElectron+EcalUncalZElectron+HcalCalIsoTrkFilter",
76 "StreamExpress" :
"SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalib+Hotline+LumiPixelsMinBias+SiPixelCalZeroBias",
77 "StreamExpressHI" :
"SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+DtCalibHI+SiPixelCalZeroBias" 82 AlCaRecoMatrixRereco = {
'AlCaLumiPixels' :
'LumiPixels',
83 'Charmonium' :
'TkAlJpsiMuMu',
84 'Commissioning' :
'TkAlMinBias+SiStripCalMinBias+HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
85 'Cosmics' :
'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
86 'DoubleEG' :
'EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
87 'DoubleElectron' :
'EcalUncalZElectron+HcalCalIsoTrkFilter',
88 'DoubleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu+MuAlZMuMu+TkAlZMuMu+TkAlJpsiMuMu+TkAlUpsilonMuMu+HcalCalIsoTrkFilter',
89 'DoubleMuon' :
'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
90 'DoubleMuParked' :
'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
91 'HLTPhysics' :
'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
92 'JetHT' :
'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
93 'NoBPTX' :
'TkAlCosmicsInCollisions',
94 'MET' :
'HcalCalNoise',
95 'MinimumBias' :
'SiStripCalMinBias+TkAlMinBias',
96 'MuOnia' :
'TkAlUpsilonMuMu',
97 'SingleElectron' :
'EcalUncalWElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
98 'SingleMu' :
'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
99 'SingleMuon' :
'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym+HcalCalHO',
100 'SinglePhoton' :
'HcalCalGammaJet',
101 'ZeroBias' :
'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap',
102 'HcalNZS' :
'HcalCalMinBias' 106 """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.""" 109 alCaRecoList.extend(matrix[pd].
split(
"+"))
111 alCaRecoList = set(alCaRecoList)
113 for alCaReco
in alCaRecoList:
115 stringList += alCaReco
117 stringList +=
'+'+alCaReco
121 autoAlca = {
'allForPrompt' :
buildList([
'Charmonium',
'Commissioning',
'DoubleEG',
'DoubleElectron',
'DoubleMu',
'DoubleMuParked',
'DoubleMuon',
'HLTPhysics',
'HcalNZS',
'JetHT',
'MET',
'MinimumBias',
'MuOnia',
'MuOniaParked',
'NoBPTX' ,
'SingleElectron',
'SingleMu',
'SingleMuon',
'SinglePhoton',
'ZeroBias'], AlCaRecoMatrix),
122 'allForExpress' :
buildList([
'StreamExpress'], AlCaRecoMatrix),
123 'allForExpressHI' :
buildList([
'StreamExpressHI'], AlCaRecoMatrix),
124 'allForPromptCosmics' :
buildList([
'Cosmics'], AlCaRecoMatrix),
125 'allForExpressCosmics' :
buildList([
'ExpressCosmics'], AlCaRecoMatrix) }
126 autoAlca.update(AlCaRecoMatrix)
std::vector< std::string_view > split(std::string_view, const char *)
def buildList(pdList, matrix)